Fast USB interface chip capable of 40Mb/s - Page 1
Forum section: electronics / projects

author: MadManMarkAu
author_rank: Newbie
timestamp: February 08, 2012, 01:45:15 am
content: I asked this question to Dave on YouTUBE, and he directed me to ask this question here.I have a project I'm working on that requires me to send two 16-bit analog sample streams to my computer at rates up to (and preferably greater than) 10 mega-samples per second per stream. I'm looking for a USB interface chip that will allow me to send as much data to the host computer as possible, but I'm having difficulty finding any chips to do so.The only USB interface chips I can find are USB-to-serial devices for people who want to quickly throw in USB connectivity to their small device, or USB On-The-Go power charging chips.Obviously, these serial devices will not handle the data throughput I need. I can decrease the data rate/bit width if need be, but not to the point where a serial interface device will become a viable option.This is for a software defined radio project for digital and analog communication on HAM radio. The rest of the circuit is already under design, so I don't need any help with that.Any pointers in the right direction would be greatly appreciated.As an addendum to the question above, if anyone has any documentation, examples or tutorial stuff to help me get started with this USB interface, this would also be appreciated.Thanks.

author: joelby
author_rank: Frequent Contributor
timestamp: February 08, 2012, 02:26:01 am
content: You could try one of the Cypress FX2LP USB controllers, which implement Hi-Speed USB (480 Mb/s). Your 40 MB/s is probably too close or higher than the theoretical bandwidth limit, though (I've heard of 25 MB/s being achieved with the FX2LP).I would recommend just using gigabit Ethernet. I've built a four channel, 14-bit 65 MSPS SDR and can easily get over 800 Mbit/sec using an FPGA.

author: Unknown
author_rank: Unknown
timestamp: February 08, 2012, 02:28:08 am
content: What about the FT2232H? Performance should be OK if you use the parallel interface. Some of the larger 32-bit MCUs (eg. some ARM Cortex M3s) also offer USB full speed. Some of the Cypress USB SoCs should also be able to do it.

author: MadManMarkAu
author_rank: Newbie
timestamp: February 08, 2012, 04:58:20 am
content: I thought 40MB/s was getting dangerously close to the USB maximum. I can drop the bit width to 8 bit and save 20MB/s without losingtoomuch sensitivity.I've seen gigabit ethernet used before, but I didn't want to go down that path. I wanted something USB controlled/powered, but Gb ethernet is still my fallback.The FX2LP range looks like it might do what I'm looking for. It would be great to use one of the USB enabled FPGAs (change config for different projects) but the learning curve seems pretty steep and I don't know enough about DSP to implement DDCs and FIR filters on them myself (doing it in software is another matter, that's easy).I have a couple of chips in mind that are designed to work together and will do the ADC/DDC/FIR operations easily. I'd prefer to use an FPGA, but I simply don't have the expertise to design and implement the logic myself, yet.

author: joelby
author_rank: Frequent Contributor
timestamp: February 08, 2012, 05:09:23 am
content: I don't think there are any FPGAs that have in-built USB - most development boards use an external FTDI, FX2LP, or PIC18 chip, and many of these are only set up for low speed data transfers. You could even consider using two FX2LP chips into two different USB host ports on your PC (perhaps with an additional USB PCI card), some basic compression, or do the rate conversion prior to the PC.FPGA vendors have some good DSP tools. With Xilinx System Generator (not free) you can drag and connect filters, DUC/DDCs, and FFTs around on a page, or in HDL designs you can implement the same sorts of blocks using the CORE Generator (free). There is a pretty massive learning curve, though. If you do need more information on this route, feel free to ask - it's what I'm supposed to be doing all day at the moment and I think it's lots of fun.

author: Wartex
author_rank: Frequent Contributor
timestamp: February 08, 2012, 11:45:10 pm
content: I like how everyone pretends that 3 Gbps USB3.0 doesn't exist.

author: Unknown
author_rank: Unknown
timestamp: February 09, 2012, 12:05:23 am
content: So which USB 3.0 interface IC would you recommend instead of the FTDI/FX2LP USB 2.0 chips?

author: joelby
author_rank: Frequent Contributor
timestamp: February 09, 2012, 12:19:34 am
content: I haven't found any standalone USB 3.0 controllers yet - give it a couple more years, I guess!USB 3.0 transceivers are probably restricted to FPGA applications at the moment - the 32-bit wide PIPE interface runs at 250 MHz SDR. For very high speed data transfer applications with an FPGA, you might want to consider using PCI-Express instead of USB 3.0, since endpoint blocks are built in to some FPGA families anyway.

author: Zad
author_rank: Super Contributor
timestamp: February 09, 2012, 04:03:44 am
content: I have a similar design on my books at the moment. I'm going with a Cortex M3 from ST running at 168MHz. Lots of digital filtering is done beforehand by an FPGA though, that really helps reduce the load.

author: deephaven
author_rank: Frequent Contributor
timestamp: February 09, 2012, 08:43:57 am
content: Take a look at the Netchip (now PLX) NET2272

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: February 09, 2012, 10:25:14 am
content: FTDI's high speed chips (FT232H FT2232H FT4323H) are by far the easiest solution for high speed USB, as they have done all the driver work for you , and provide a variety of simple interfaces, including 60MHz parallel 8-bit bus.For an integrated solution, look at NXPs LPC18xx series which has hi-speed USB host and device, plus lots of RAM for buffering.