5-Channel ADC 2MSPS to USB

Thread Starter

AWitt

Joined May 11, 2016
14
hi engineers and tinkers,

I am looking for a 5 Channel ADC with 2 MSPS (not strictly, can also be more) that I can connect to my computer via USB to process sensor signals in real time.
The input voltage range for each channel should be around +/- 10 Volts.
Now I assume USB 2.0 has a maximum usable data rate of ~ 40 MB/s = 320 Mbit/s. So in theory I can easily have a resolution of 16 bits then but I am really not sure what practical problems I could encounter.

Another question is, if I can programm the ADC such that it only samples data and transfers it if there is a signal present on one certain and fixed channel (e.g. Channel 1). There I would have to set a threshold for channel 1 and once it is exceeded the sampling on all channels and the data transmission occurs. After a certain time, say 0.5 ms, the ADC should wait for another signal on channel 1 and stop the processing.

Do you know if there is a simple ADC board which I can buy for this application?

Gracias!
 

MrChips

Joined Oct 2, 2009
21,624
There is no ADC that interfaces to USB. The data output from an ADC and the USB protocol are two completely different beasts.
You will need a processor to format the ADC data for transmission via USB. The protocol you choose for USB transmission is another matter.

Your simplest solution would be to get a myDAQ system from National Instruments.

Edit: Sorry, myDAQ only does 2 channels to a max of 200ksps.
 

Thread Starter

AWitt

Joined May 11, 2016
14
There is no ADC that interfaces to USB. The data output from an ADC and the USB protocol are two completely different beasts.
You will need a processor to format the ADC data for transmission via USB. The protocol you choose for USB transmission is another matter.

Your simplest solution would be to get a myDAQ system from National Instruments.

Edit: Sorry, myDAQ only does 2 channels to a max of 200ksps.
Thank you for writing.
Yes I am looking for an ADC board which has all ICs already in place because I do not know how to design a PCB with MPU, ADC, Memory, etc. from scratch. Also how big of a project that'd be.
 

Thread Starter

AWitt

Joined May 11, 2016
14
An off-the-shelf data acquisition system with those requirements does not come cheap.You may want to revise your specifications downwards.

For example, NI USB-6361 with 16-channel 1MS/s comes in around US$2000.

http://sine.ni.com/nips/cds/view/p/lang/en/nid/209073#

Wow, I thought I could get that much cheaper. What component is blowing up the price so much? If I buy a standard USB sound card with 192 kHz ADC and multiple inputs that can get as cheap as 30 USD. Basically I only need about 10 times the sampling rate of such device. The frequency range of my input signals is within the audio spectrum so the signal conditioning of a sound card shouldn't be an issue aswell.
 

nsaspook

Joined Aug 27, 2009
7,467
Wow, I thought I could get that much cheaper. What component is blowing up the price so much?
This is about $38 if you buy 250 or more. http://www.mouser.com/ds/2/405/ads8412-440636.pdf

Consumer grade technologies and economics of scale. The NI type products are precision devices not tuned to one specific application like audio. Maybe a mass produced USB scope or data-logger product will work as a frontend.
 
Last edited:

MrChips

Joined Oct 2, 2009
21,624
nsaspook is correct. There is no single component that will drive the price so high. The price goes up with sampling rate. As you push above 1MS/s the price is going to grow exponentially. What you are paying for is R&D, system design and engineering. National Instruments is the creator of Labview. What you get is specialty engineering with the ability to interface with well established functional software. NI might not sell lots of hardware. They have to play the price-versus-volume game.

To get your price down you have to downgrade your sampling rate. For audio signals you need only 44.1kHz.

If you want consumer, hobbyist, low cost digitizers, search ebay for 8-channel ADC. They go for under US$20.
No software support - "Some assembly required".
 

shteii01

Joined Feb 19, 2010
4,644
Yeah, a little stroll down to digi-key did not show any evaluation boards or individual chips that can do what you are asking.
One interesting thing is that since you want +/-10V input signal, before you feed this signal to ADC, you can shift it up so that instead you will have 0 to 20V signal, this might make it easier to find something. You will likely still need to build a custom circuit, but at least you will be spending 500 USD instead of 2000 USD.
 

hugeone

Joined May 15, 2016
7
If you can program ARM processors buy Discovery board from ST. Three ADCs 2+MSPS each 18 channels. Built in full speed usb interface & USB Vcom interface. Easy to program, high performance (esp F4 or F7 series). Price about 20GBP.
 

shteii01

Joined Feb 19, 2010
4,644
The input range doesn't matter. When you condition your signal, you map it to whatever range your ADC requires.
Ah, so you want to shrink the signal and loose the precision. Yes, it definitely something OP can choose to do. They have not chosen yet.
 

Thread Starter

AWitt

Joined May 11, 2016
14
thank you for the answers so far, I am somewhat confused now though... the Discovery board ST F4 for example only costs around 30 USD despite the high sampling rate and various other features. That is a little bit less than the aforementioned 500 and 2000 USD.

If you can program ARM processors buy Discovery board from ST. Three ADCs 2+MSPS each 18 channels. Built in full speed usb interface & USB Vcom interface. Easy to program, high performance (esp F4 or F7 series). Price about 20GBP.
The straight forward solution seems to be programming such board accordingly although I read the "simple ADC use" is quite complex.
Can I expect to get a solid grasp on that within a week as a decent C coder?
 

MrChips

Joined Oct 2, 2009
21,624
I can do it in a day but that is only because I work with STM32F4 daily.
For someone now starting out with ST Discovery you would need a lot of help and code examples to get it going in a week.
Besides, you still need to build some front-end amplifiers to meet your ±10V input specification.
Then you still have to figure out your serial/USB protocol and what you are going to do with the data at the PC receiving end.
 

NorthGuy

Joined Jun 28, 2014
611
Since it has only 3 ADCs and you need 5, you'll need two of them. Some effort will come to interconnection unless you want 2 separate USB devices.

Also, with 6 samples coming every us, you'll get only 28 processor clocks (if at 168MHz), which you must utilize to move your sample to USB. Some of these 28 clocks will have to be used for other things you're doing. You will probably need to use DMA to free the processor somehow.

USB is not a slouch neither. You will have to pack your 6 samples plus 4 samples received from the other board into packets and pass them to the USB controller in a timely fashion not to cause any delays with USB. You probably will need to inter-slice samples and also add some overhead so that you could parse this on PC. You're looking at 10 x 12 = 120 bits = 15 bytes + overhead = 16 bytes every us. This is 10 clocks per byte minus whatever you have already expended for handling ADC and receiving samples from the other board.

I would classify it as hard work, which might be possible if you're a good programmer and take on it with courage and dedication.
 

hugeone

Joined May 15, 2016
7
Only DMA. you can't poll it. It is actually quite straightforward. I suggest to program it on bare registers instead of using HAL libraries, as they have to huge overhead.

@NorthGuy it is not 15 bytes but 20. 12 bit sample occupy 2 bytes 2 bytes will be transferred by DMA. There is no need to pack them.
 
Last edited:

hugeone

Joined May 15, 2016
7
I work on very similar project -Nucleo board oscilloscope and function generator
It is in an early developing stage but you can see first results here:
 
Top