USB 2.0 Streaming using FPGAs

Hi All,

I was wondering if its possible to stream data at 480Mbps from a PC to a USB 2.0 port on a FPGA development board and send the data out of a SMA port on the board. The XUPV2P board has an onboard USB 2.0 and SMA ports. Can this board be used for this application?

Thanks, Billu

Reply to
billu
Loading thread data ...

It's possible, but transfer rate depends from USB chipset.

Reply to
g.bernocchi

Any ideas/pointers on how i can get started on a setup like this. So, the USB 2.0 on the XUPV2P might not be able to support 480Mbps. What USB chipset can I use to get the maximum transfer rate, and how would I interface the chipset w/ the PC/FPGA?

- Thx

Reply to
billu

I would look at the Xilinx ML403 eval board. I don't remember the speed of the USB but it does have ethernet 10/100/1000 trimode and a a Vertex 4 (and a bunch of other I/O's.) It runs about $500 US

The product brief doe not say what speed the 3 USB ports run at. Here is the link.

formatting link
W-V4-ML403-USA

Reply to
Nitro

In article , "billu" writes: |> Any ideas/pointers on how i can get started on a setup like this. So, |> the USB 2.0 on the XUPV2P might not be able to support 480Mbps. What |> USB chipset can I use to get the maximum transfer rate, and how would |> I interface the chipset w/ the PC/FPGA?

You won't get 480Mbs, regardless of the USB chip. 320 to 400 is the limit, it's very fragile and requires a lot of "care" on the PC-side. For a start have a look at the EZUSB2-chips made by Cypress. They have an easy interface bus for such transfers.

If you want reliable transfers for longer periods over USB: Forget it, you have been warned...

--
         Georg Acher, acher@in.tum.de
         http://www.lrr.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

The USB2 port on the XUPV2P board is only designed as a USB programming cable replacement for the purpose of configuring the FPGA. It is actually possible to work around this (look for the xup programming tool), but I guess it will be a lot of work to actually get it working on the XUPV2P board.

/Andreas

Reply to
Andreas Ehliar

Thx for everyones replies. The reason we are looking into FPGA based solutions is b/c we would preferably like a SMA output (since our modules have a SMA interface). The Cypress EZUSB2 output interface is convenient (not fast enough), but its not compatible with our RF module.

Assum> In article , "billu"

writes:|> Any ideas/pointers on how i can get started on a setup like this. So,

Reply to
billu

Try looking up the USRP.

That uses a Cypress chip connected to a Cyclone II and appears to work reasonably well, although there are plenty of caveats with USB :(

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
Reply to
Daniel O'Connor

The EZUSB FX2 Slave fifo interface is (i.e. can be configured as) 16 bit @

48MHz, which is faster than USB2. The FX2 won't be a bottleneck on a USB2 system, though you're likely to need the FPGA anyway to do your format conversion.

As other people have said, it will be the PC which is more likely to limit you, though that's not as much of a problem as it used to be when USB first came out.

Will

Reply to
Will Dean

What's your requirements regarding: * Throughout * Latency * Ease of use * Ubiquity

Reply to
pbFJKD

I'ved used the FX2 with a FPGA for several projects and it has worked well, but... it always take more work than I expect.

is

25 to 30 MB/sec, ie, 240 Mbits/sec. This is far below the 480Mb raw data rate, but I think it's hard to get a lot better than this given the s/ w driver overhead, etc.

If you project *requires* a data rate near 480Mb/sec, you are probably doomed from the start to failure.

I hope someone has expererience (and tips) that show me to be wrong!

John Providenza

Reply to
johnp

And the Windows XP latency can be several seconds.

-- Tim

Reply to
Tim

With that solution you will also be limited to a maximum rate of 30MHz which means you may see a data rate of 15Mbs if your lucky.

---Matthew Hicks

Reply to
Matthew Hicks

I would expect to be able to do data OUT in the high 30s of MB/s without much problem but you do need to do big writes, and probably have lots of them overlapped and queued.

Of course there's always the possibility that part of your USB capacity has been reserved by interrupt or isoch devices, too.

Like you, I find that the FX2 can require a fair amount of sweat and tears to get it working, though I have done enough different products with it now that I can usuaully find a reasonably example of how to set it up...

Anybody who needs an absolutely unstoppable stream of data at 480MB/s should certainly be avoiding a general-purpose desktop OS running a bus at 100% of its theoretical capacity.

Will

Reply to
Will Dean

Thx for everyones input.

It looks like the PC is going to be the real bottleneck in the whole setup. So assuming a maximum data rate of around 240 Mbits/sec, whats the best way to interface the PC data stream with the SMA interface. This is what came to my mind. Cypress FX2 board takes in a data stream from the PC, and the slave fifo interface sends the data to the FPGA. The FPGA takes in the data and sends it out through the SMA MGTs. Is this reasonable? Any pointers on working with FX2-FPGA board setups. Can a Xilinx ML321 board be used?

As far as requirements: * Throughout: Maximum possible data rate * Latency: Would like it to be small, but not critical * Ease of use: Somewhat important, but not the driving factor * Ubiquity: Again somewhat important, b/c we would like to communicate between PC-PC or PC-Smartphone using a USB port.

Really appreciate every> johnp wrote:

Reply to
billu

It's USB1.1 only - 12Mbps max.

John

Reply to
John Williams

Yes, based on their reported success I'm being very tempted to order some of the Digilent NEXYS boards which pair the cypress chip with an XC3S1000 FPGA. There are some other boards around like the Xylo at FPGA4FUN, but this is the best deal I've seen so far from a vendor that won't require trying to talk the purchasing department into playing with paypal.

Anyone used the NEXYS board?

As for the OP's needed SMA connector - it's a connector for crying out loud. Worry about the board functionality, you can patch any connector you want on there. I think digilent even sells a BCD connector you can plug into one of the expansion ports, and get a BCD to SMA adapater somewhere.

Reply to
cs_posting

What are the requirements of the application at a high level?

You need to move data from a PC (hard drive, memory, algorithmically generated...) to some device (?) using _______ protocol / physical layer interface..? Minimum data bandwidth from the PC to the device is ________? The device will (not?) communicate/handshake back to the PC using said protocol? etc.

-RB

Reply to
Dn38517

If you can be without USB, why not try 1 Gbps Ethernet or Firewire1394 ..?

Reply to
pbFJKD

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.