0
\$\begingroup\$

We are trying to realize a simple processor in silicon by using semiconductor IP cores. And one part is to have a USB port interfaced using UART. I have been looking into some semiconductor IP cores that I can use to interface USB using UART and I've found this project to be useful.

I've studied this project and the codes behind it and understood how UART works. The UART serves just an interface between the processor/FPGA and USB but I was wondering if I plan to interface a USB Flash drive, how would I show that it's working? That the USB UART interface that I borrowed from an IP Core is working and that I can transmit and receive data to the USB Flash drive?

edit: I think my question should be first: What are good examples of things that can be easily interfaced using UART and that can also be easily tested and verified? Also, I should be looking for a controller, I guess.

\$\endgroup\$
  • \$\begingroup\$ No. It's a UART. That's why it says "UART" and not "Host interface". \$\endgroup\$ – Ignacio Vazquez-Abrams Oct 10 '16 at 8:33
  • \$\begingroup\$ You'll need (a) a "host interface", which should be on the processor bus or nearby such as AMBA/AXI/PCIe, (b) a USB host software stack running on the processor and (c) an implementation of FAT running on the processor. Then you can read and write files on the USB stick. USB is not really for beginners. \$\endgroup\$ – pjc50 Oct 10 '16 at 10:22
  • \$\begingroup\$ "What are good examples of..." questions are not on topic here. \$\endgroup\$ – Chris Stratton Oct 10 '16 at 10:38
1
\$\begingroup\$

And one part is to have a USB port interfaced using UART.

This is, frankly, a highly questionable design. USB does not map well onto an asynchronous serial stream, and most UARTs will have difficulty running at a speed suitable for even USB 1.1 (12 Mbit/sec). More importantly, using a UART here does not solve any real design problem; the complexity of a USB controller does not lie in its interface with the host processor.

I have been looking into some semiconductor IP cores that I can use to interface USB using UART and I've found this project to be useful.

That project does not implement any aspect of USB. (The name is incorrect.) It's simply a UART, and not even a particularly good one -- the author's notes indicate that they were unable to get it to work reliably above 115.2 kBaud. It cannot be used to interface with a USB device.

\$\endgroup\$
  • \$\begingroup\$ "That project does not implement any aspect of USB. (The name is incorrect.) It's simply a UART" Yes, thanks for pointing this out and affirming my speculations that this is just an implementation for UART. What are things that can easily be interfaced using UART? \$\endgroup\$ – Batibot323 Oct 10 '16 at 9:38
  • 2
    \$\begingroup\$ Other devices that have a UART interface. \$\endgroup\$ – Ignacio Vazquez-Abrams Oct 10 '16 at 9:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.