FPGARelated.com
Forums

Virtex5 FPGA Board and USB interface

Started by XSterna June 17, 2008
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
> If some people could help me in this, I would be very grateful :)
Have a look at the FTDI vinculum, it takes most of the work out of accessing USB sticks. Nial
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):
http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/42517517c02b9374

Regards,
-- Hauke D
> -- 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
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.
On 18 juin, 17:24, biancim...@gmail.com wrote:
> 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.
I just understand that ! It's a shame but I don't have the choice ...
> 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.
I am going to read more about Slave FIFO, but it seems to be quite complicated. Thank you for your help ! X