Virtex5 FPGA Board and USB interface

Dear all,

I am working on a project where I need to store datas on the Flash memory of my FPGA board. I would like to do it with the USB interface but it is much more complicated than I could thought.

I don't have any experience on USB management but in my "dream" I would like to be able to connect an USB flash drive to the FPGA, and be able to then copy 2 files on the usb flash drive to the flash memory of the FPGA Board.

I have begin to read about the Cypress CY7C68013A-100AC which is the controller provided with my FPGA board, but I could not really understand how I can make my plan working.

Since my flash memory is interface by the FPGA, I assume I have to code something in the FPGA. But in an other hand, the management of the USB seems to be done by configurating the 8051 inside the controller.

In fact, I don't really know how to interface the USB to the flash memory of the Board. I also assume the "file management" of the Flash USB drive should be manage by the USB controller, but how command it by the FPGA ...

Here are my problems, and you can maybe see that I am a little bit lost.

If some people could help me in this, I would be very grateful :)

X
Reply to
XSterna
Loading thread data ...

Have a look at the FTDI vinculum, it takes most of the work out of accessing USB sticks.

Nial

Reply to
Nial Stewart

Hi,

Check out this thread, I think it contains some information that might be useful to you (not specific to the Cypress chip, but some good stuff on accessing USB sticks in general):

formatting link

Regards,

-- Hauke D

Reply to
Hauke D

Thank you for you help, I am going to read it carefully

About the vinculum, thank you for the tip but I have to use the FPGA board I have with the Cypress controller.

If anyone else has advices, don't hesitate :)

X
Reply to
XSterna

The cypress controller you mentioned (68013a) is a nice peripheral controller, but it is unfortunately not a host. Cypress does have a range of easy to use host chips, but this is not one of them (and last I checked none of them were high speed). Connecting a flash drive (which is also a 'peripheral' or 'device') requires a host interface. The cypress chip, however could be easily used to download files from a PC or other portable host.

The easiest way to interface the 68013a to a host is simply to configure it in Slave FIFO mode, such that you merely monitor the levels of the various endpoints, and read off the data. The endpoints as well as the operating state are configured by the onboard microcontroller. The configuration can be done via an external EEPROM if your board has one, or by downloading over USB and 'renumerating'.

We use this chip as a cheap interface for a monitoring application, just by filling up the fifos as we receive the data.

Hope this helps.

Reply to
biancimass

I just understand that ! It's a shame but I don't have the choice ...

I am going to read more about Slave FIFO, but it seems to be quite complicated. Thank you for your help !

X
Reply to
XSterna

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.