USB 2.0 Max Steady speed

Hi,
I am trying to do a school project that requires a steady USB speed of
350Mbits/sec or more (close to USB max of 480Mbps) for operation . I found this board interesting and am wondering whether it can support such high speed consistently?

Thanks,
S.

No, it does not.

What’s the highest steady USB rate it can support?

We get about 32 MB/s to the FPGA and 19 MB/s from the FPGA on a particular Windows XP host. There are many factors that affect sustained rates, however. In particular, the design of your HDL and buffering strategies, the operating system, and the OS load at the time all affect transfer rates.

We get about 32 MB/s to the FPGA and 19 MB/s from the FPGA on a particular Windows XP host. There are many factors that affect sustained rates, however. In particular, the design of your HDL and buffering strategies, the operating system, and the OS load at the time all affect transfer rates.

Do you mean 32 MB as in 256Mbits/s and 19MB as in 152Mbits/s? Will there be a design with a USB controller which can drive data in highspeed? I’m looking for a application for digital mixer which needs continuous high-speed data for multiple audio ports.

Yes, that’s what I mean.

What do you mean by “drive data in highspeed” ? If you mean USB’s definition of High Speed, then the current design already does.

Low-speed is 1.5Mbps. Full-speed is 12Mbps. High-Speed is 480Mbps. Note that this is the signaling rate and is not achievable in practice. There is an age-old disparity between signaling rate and achievable transfer rate.

FrontPanel-3 (our latest firmware) achieves up to 38MBps in both directions. (of course, the speed you achieve is dependent on a number of factors)

Very similar issue. I need real-time data capture at 16.5 MBps for 5 to 10 minutes. I assume that this will require some buffering on the board to deal with PC latency issues.

Is there an OpanKelly board and software configuration that can support this?

@gilherbeck - Our XEM3005, XEM3010, and XEM3050 all have performance which make your requirement possible.

The keys to achieving good transfer rates have been discussed many times in this form:

  1. Use buffering on the FPGA. The block RAM may not be enough. You’ll want to consider using the SDRAM.

  2. The PC is a question mark. It may block USB transfers for certain periods when other (higher-priority) items come up. (see #1)

  3. Low latency and high transfer rate are at odds in any system – from cache memory at the chip-level to internet protocols. Our modules are no exception.

In a real-time acquisition application I’m achieving a maximum, steady-state speed of about 18MB/s. I’m using Python APIs on a Mac OSX system and I’m storing the data on the PC hard-drive (I’m using the xem3010)

Is there something I can do to improve the performance or I’m already close to the system limit? I ask that because I read on the manual that you measured a maximum speed of about 38.1MB/s. Like you did I’m transfering 8MB of data at the time with a data block size of 1024bytes.

Thanks

@fabrguer – For optimal performance, you should be using a compiled language like C/C++. These are closest to the API implementation and will offer the best performance.

Yes I agree that a compiled language may give better performances.
However we’ll stay with Python language for the near future because all the software we developed so far is made with it.

Just wanted to know if I’m far from the maximum achievable speed with my configuration or not. From your answer I would say that I’m close to the top speed achievable with Python. Am I right?

Thank you again

@fabrguer- We don’t have benchmarks for Python, so honestly don’t know the maximum transfer rate there. If you’re really pushing for optimal performance, we suggest C/C++ (or the DLL directly) and the Windows platform.