New to ADC's, newbie question

Hello,

I have a project I'm working on where I need to interface 12 sensors to an ADC.... these sensors need to be sampled as 500k samples per second.... I've found some ADC's on mouser that have 12 inputs at

1MSPS.... but what I'm not clear on is, do I have to divide that 1MSPS by 12, cause I have 12 things connected to it (in which case I need to keep looking cause that's only 83.3k samples per second) or when they say it's a 1MSPS ADC is that for all the channels?

Much thanks!

Reply to
panfilero
Loading thread data ...

I'm thinking the answer is "yes" I would be dividing that 1MSPS by my input channels, and they're MUX'ed and that the solution would be to get a faster ADC.... like a 20MSPS one and run my sensors through a MUX before feeding it into a single input ADC? Would this be the right approach?

Reply to
panfilero

This depends on the ADC and you have to read the datasheet, but you are right, usually they are advertising the speed of one channel.

Maybe less expensive would be to buy 12 ADCs with 500 kSPs (or 6 ADCs with two inputs and 1 MSPs etc.), because 20 MSPs could be more expensive, but this depends on how much bits you need.

But why 20 MSPs? 500 kSPs and 12 channels results in 6 MSPs. Some problems: If you use an external MUX, it has to be fast (=expensive), and the settling time of your system (MUX+ADC) must be lower than the aquisation time, which could be a problem, if you sample one channel with 0 and then the next one with full scale input.

Another problem: How do you plan to process the input? Assuming 8 bit resolution, you'll need to process 6 MB/s, for which you'll need at least some bigger microcontroller, maybe with DMA controller for multiple SPI interfaces for streaming the ADC data into memory, so that you have some more spare time to do something useful with the data.

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

h

s:

Thanks for the reply, I just threw 20MSPS out there cause I've been seeing those on digikey and mouser.... but yes 6MSPS or faster. But, working with ADC's is new to me, and if configuring such a fast chip with a mux would potentially lead to some potential complications then I'll go with the 12 ADCs approach. price isn't too much of an issue, but keeping potential problem away is. I would like to send out my data as SPI and interface with a microcontroller.

If I go the 12 ADC route, then I would still need to MUX all these outputs wouldn't I? Then send this to be proccessed somehow.... I'm still looking into that part....

thanks again.

Reply to
panfilero

If you know analog electronics and if you can calculate input capacitance, slew rate etc., then you can use an external mux. But maybe you can find a chip with an internal MUX to avoid 12 ADCs, because it will be more difficult to connect them all to your processing unit than one or two chips with higher SPI rate.

You'll need a fast microcontroller. If you need 8 bit ADCs, then you'll need 48 MBit/s. Some of the high end Atmel chips supports this, but if you need to program the MUX over the same SPI write, you'll need higher speed, but this depends on the ADC.

For SPI usually you can select one by one ADC with the chipselect input and wire together all SDA and SCL pins. But this could be a problem because of the higher capacitance for 12 ADCs, so 50 MHz could be a problem.

If price is not a problem, I would buy a FPGA starter kit and feed 12 SPI inputs in parallel, because then you don't have a speed problem and you have all data in parallel (depends on your application, if you need this). Inside the FPGA you can do some "hardwired" parallel precalculations on the data to reduce the size and then you can do more with it with an embedded CPU, like Nios (Altera) or MicroBlaze (Xilinx). Transfering over Ethernet should be possible, too.

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

The answer will be on the data sheet.

Graham

Reply to
Eeyore

AMEN !

Graham

Reply to
Eeyore

What sort of signals?

John

Reply to
John Larkin

Trying to cleanly MUX 12 channels into one at a 20MHz switching rate would be a bear -- and a 20MSPS ADC is generally a lot more expensive than a 500kSPS one, and is less accurate and more noisy even if you can find one with the same nominal bit count.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott

While you're learning about ADCs, sooner or later you'll learn that nearly every ADC has a certain number of bits of precision that come from the engineering department, and a few more that come from marketing.

You need to scrutinize the data sheet closely to figure out what the effective number of bits is for you (and if you go by the manufacturer's ENOB remember that they're specifying the number to sell chips, not to make your product successful).

Knowing just how many bits you _really_ need isn't always as easy or obvious as you'd like, nor is knowing how many bits in an ADC are _really_ good. Worse, both of those numbers can vary depending on what you're doing with the data and what you need the device to do.

Have fun.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott

"Trying to cleanly MUX 12 channels into one at a 20MHz switching rate would be a bear"

I think that's my answer, I don't want to deal with any bears, if an experienced person calls it a bear... it's gonna be something a whole lot worse for me, I'll stick with the multiple ADCs at 500k... thanks!

Reply to
panfilero

Jesus, You must of been released from the psycho ward and put back into civilization!

I haven't seen you in a while! ;)

Reply to
Jamie

PS

to

y

Where are you storing the 6M bytes / s data? You would need a fat micro and fast pipe to a PC/server.

If money is no object, I would suggest a FPGA with Cortex M1 core,

128Mx32 DDR SDRAM and PCIe.
Reply to
linnix

It is one right approach, another would be to use 6 of those ADCs and

6 2:1 muxes, or to use 12 of those ADCs. What levels of resolution, repeatability, and accuracy do you need to maintain? Faster ADCs usually have lower bits or higher cost as an added tradeoff.
Reply to
JosephKK

Indeed. If OP has more than 8 bits at 500 ksamp/s the memory issue becomes significant, especially for long record lengths. 16 bit ADCs at 500 ksamp/s are not unheard of. Calibration becomes an issue as well for 12 ADCs.

Reply to
JosephKK

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.