EmbeddedRelated.com
Forums

multiplexing ADC

Started by rektide October 6, 2006
Is there any way to multiplex highspeed ADC's?  I'm looking at playing
with accelerometers, and so far the best I can figure out is a ADC to
every single accelerometer.  Which is silly, they'd be generating
n-devices worth of data but my microcontroller would probably only be
able to stream in one or two devices at best (bw limitation).  Seems
like one or two ADC's would be best.

Uh, I did have one idea... relays.  :/  My power budget would be better
running all those ADC's.

rektide

rektide wrote:
> > Is there any way to multiplex highspeed ADC's? I'm looking at > playing with accelerometers, and so far the best I can figure out > is a ADC to every single accelerometer. Which is silly, they'd be > generating n-devices worth of data but my microcontroller would > probably only be able to stream in one or two devices at best (bw > limitation). Seems like one or two ADC's would be best.
High speed, not easy. However you can do the input multiplexing digitally by one comparator per channel and a DAC. You need to write the software for successive approximation ADC conversion, picking the appropriate comparator to control. The critical speed limitation is the settling time for the DAC. The DAC drives one side of all the comparators (needs to be stiff enough, and the comparators need reasonably high input impedance). Then you feed the other sides of the comparators from the input anti-aliasing filters. No sample and hold needed, the result will be a value that was present sometime during the conversion cycle. -- Some informative links: <news:news.announce.newusers <http://www.geocities.com/nnqweb/> <http://www.catb.org/~esr/faqs/smart-questions.html> <http://www.caliburn.nl/topposting.html> <http://www.netmeister.org/news/learn2quote.html> <http://cfaj.freeshell.org/google/>
In article <45270D7D.BE3E5659@yahoo.com>, cbfalconer@yahoo.com says...
> rektide wrote: > > > > Is there any way to multiplex highspeed ADC's? I'm looking at > > playing with accelerometers, and so far the best I can figure out > > is a ADC to every single accelerometer. Which is silly, they'd be > > generating n-devices worth of data but my microcontroller would > > probably only be able to stream in one or two devices at best (bw > > limitation). Seems like one or two ADC's would be best. > > High speed, not easy. However you can do the input multiplexing > digitally by one comparator per channel and a DAC. You need to > write the software for successive approximation ADC conversion, > picking the appropriate comparator to control. The critical speed > limitation is the settling time for the DAC. > > The DAC drives one side of all the comparators (needs to be stiff > enough, and the comparators need reasonably high input impedance). > Then you feed the other sides of the comparators from the input > anti-aliasing filters. No sample and hold needed, the result will > be a value that was present sometime during the conversion cycle. > >
Seems like a lot of bother. There are plenty of SPI-connected ADCs out there that could handle 4 channels at 5KHz each. I guess it all depends on what the OP means by 'high speed'. Most of the MEM accelerometers don't have a bandwidth much beyond 2.5KHz in any case. It's also possible to get the Analog Devices accelerometers with pulse-width output---in which case you don't even need the ADC. Mark Borgerson
Mark Borgerson wrote:
> cbfalconer@yahoo.com says... >> rektide wrote: >>> >>> Is there any way to multiplex highspeed ADC's? I'm looking at >>> playing with accelerometers, and so far the best I can figure out >>> is a ADC to every single accelerometer. Which is silly, they'd be >>> generating n-devices worth of data but my microcontroller would >>> probably only be able to stream in one or two devices at best (bw >>> limitation). Seems like one or two ADC's would be best. >> >> High speed, not easy. However you can do the input multiplexing >> digitally by one comparator per channel and a DAC. You need to >> write the software for successive approximation ADC conversion, >> picking the appropriate comparator to control. The critical speed >> limitation is the settling time for the DAC. >> >> The DAC drives one side of all the comparators (needs to be stiff >> enough, and the comparators need reasonably high input impedance). >> Then you feed the other sides of the comparators from the input >> anti-aliasing filters. No sample and hold needed, the result will >> be a value that was present sometime during the conversion cycle. > > Seems like a lot of bother. There are plenty of SPI-connected > ADCs out there that could handle 4 channels at 5KHz each. > I guess it all depends on what the OP means by 'high speed'. > Most of the MEM accelerometers don't have a bandwidth much > beyond 2.5KHz in any case. > > It's also possible to get the Analog Devices accelerometers with > pulse-width output---in which case you don't even need the > ADC.
The advantage is that no analog switching is required. You can control all the noise pickup once and for all. I used to present all the comparator outputs on one 8 bit port. With a bit of care you can make the conversion time a constant. -- Some informative links: <news:news.announce.newusers <http://www.geocities.com/nnqweb/> <http://www.catb.org/~esr/faqs/smart-questions.html> <http://www.caliburn.nl/topposting.html> <http://www.netmeister.org/news/learn2quote.html> <http://cfaj.freeshell.org/google/>

rektide wrote:

> Is there any way to multiplex highspeed ADC's?
Certainly. It is not a problem to share the ADC with the total sample rate of up to 1M aproximately. I'm looking at playing
> with accelerometers, and so far the best I can figure out is a ADC to > every single accelerometer. Which is silly, they'd be generating > n-devices worth of data but my microcontroller would probably only be > able to stream in one or two devices at best (bw limitation). Seems > like one or two ADC's would be best.
Make sure of the two things: * The ADC is the real sampling ADC, not delta-sigma. * The timeconst of the analog path through the mux with the all associated circuitry should be at least 10 times faster then the sample rate.
> > Uh, I did have one idea... relays. :/ My power budget would be better > running all those ADC's.
The best analog muxes are done by Maxim, next is ADI. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
rektide wrote:
> Is there any way to multiplex highspeed ADC's? I'm looking at playing > with accelerometers, and so far the best I can figure out is a ADC to > every single accelerometer. Which is silly, they'd be generating > n-devices worth of data but my microcontroller would probably only be > able to stream in one or two devices at best (bw limitation). Seems > like one or two ADC's would be best. > > Uh, I did have one idea... relays. :/ My power budget would be better > running all those ADC's. > > rektide >
What's 'highspeed'? Particularly in terms of samples/sec. Just what technique you use depends partially on the converter you need to use. Cheers PeteS