a
The ARM we are using can do 16 bits at 150KSPS, but he/she may/may not need it.
The MUX we are using has 3 to 4 mV cross talk, so it is a mixer rather than a mux for 10mV signal. I don't see how it can be done without 32 pre-amps.
a
The ARM we are using can do 16 bits at 150KSPS, but he/she may/may not need it.
The MUX we are using has 3 to 4 mV cross talk, so it is a mixer rather than a mux for 10mV signal. I don't see how it can be done without 32 pre-amps.
Not trying to insult you, but what you are asking could be a very challenging project, even for us. 16 bits of 10mV is in the uV range. Doing 32 channels of them is a serious layout job. What kind of 70Hz signals are they? How do you know that you don't have to way oversample it. There are lots of possible unknowns and issues. It just does not sound like you can handle it alone.
CMOS muxes has no offset if not carrying current.
32 inputs are just 4x74HC4051. Really no big deal :-)Right now we're doing exactly this, with a 24bits ADS1259 ADC, no amplifier (= no offset). Ok, just a 4052 mux. Works like a charm.
Really no big deal, apart some layout issues that have to be carefully handled...
Sounds like an EEG digitizer to me. These can be bought.
That might well be the case based on the requirements.
In that case, the DC offsets are not so critical, but getting rid of the mains hum and harmonics is quite critical.
In an EEG application, individual sensor wires are typically going to a concentrator box and then by flat or round cable to some bed side instrument. With 32 channels that cable is going to be thick and unflexible. With current SMDs, the concentrator box could hold 32 differential amplifiers (eight quad op-amps) and possibly also a mux to reduce the bed side cable thickness.
Alternative, use four cable assemblies with 8 channels each, thus each concentrator box could have only three ICs, two quad op-amps and 8 input mux. At the other end a uC with four real (non-multiplexed) ADCs could nicely handle the cable assemblies.
Oversampling would most likely be needed to handle the hum (with harmonics) in a digital notch filter, but oversampling makes it also possible to use 14 or even 12 bit ADCs and still get 16 bit resolution at the limited 70 Hz bandwidth.
Fred wrote
What about Ron resistance and cross talk. I looked into 74HC4051 data sheet but could not find any info about cross talk?
jess
I don't know. May be we are reading different datasheets. In my version, I got 140mV control signals to output and -50dB between switches (input) crosstalks. Did you say you are measuring 10mV signals?
Are you doing RS485?
Jamie
I don't know what you mean by RS485. The OP wants to measures 32 channels of 10mV at 16 bits. With -50dB (1 to 300) crosstalk on the mux, He/She would likely get less than 9 bits resolutions.
Plus charge injection ;-) ...Jim Thompson
I was looking at the signal levels that were quoted.
Ignore me, I am just a hick from the foot hills of Maine. USA, where we were raised in a barn, used out houses when available, Sears catalogs and the hand pump in the house for water, when we had water to prime it with, other wise we needed to get some from the stream behind the house where the kitchen sink just emptied into. Yes, that was fun if you didn't step in the slime and slip while approaching the stream.
Thinks were not so bad though. We did have a cast iron combination heat and cook stove and plenty of back up furniture to bust up in the winter time when we needed to stoke the fire. Grandma really knew how to make corn biscuits from our summer garden and break into the canned goods she spent most of the last part of the summer prepping.
Jamie
Hi,
I am doing some theoretical design work for my PhD work. Its about designing an EEG machine. The input signal is in the range of between
10microVolt and 100microVolt. The desired Number of Channels is 32, sampling rate is 12KHz and resolution is 16 bit. So, Data Rate will be 16 x 32 x 12K = 6.1Mbits. I have not found any parts yet. But the ideas are as follows 1) To get 4 eight channel multiplexers and than interface them to four independent ADCs. The four independent ADCs will be interfaced to a micro. via four SPI buses, simultaneously downloading the data.2) Get Four 8 channel ADCs and interfaced them to a micro.via 4 SPI buses. ( I have not found the appropiate ADC yet, any suggestions)
I am unable to see which idea is more efficent and faster than the other.
I do need preamps in both cases. But I do know how much gain (and how to calculate it ) I need and how should I deal with the noise issues etc. and how to design the ampifier stage with or without multiplexer option. Need some solid advice here! I do know that 1LSB will be equal to (100microVolt) / 65535 = 1.5nVolt. I will be using 3.3 Volts battery.
Choosing a micro. is another problem. If I suppose that it requires ten cycles to move a bit from one channel than it requires 61MCycle to move 6.1Mbits into the RAM and if I am using 4 ADCs with paralllel four SPI buses than it will require approximately 16 Mega Cycles to move 6.1Mbits. Am I correct? Does it mean that I need a micro. that runs at 16 or greater than 16 MHz clock. I am looking into micro chip's PIC32MX795F512H. Its a 80MHz micro.
I am thinking of storing the data into Dual Port RAM of size at least
7Mbit. Processor A running greater than 16 MHz will write the data into the DPR and processor B running at 100MHz will read simulataneously and send the data to the PC via bluetooth. Now, bluetooth 2.0 supports 2.1Mbits / sec, I think that it will not support that kind of data rate. May be bluetooth 3.0 will support this kind of data rates. Need some advice here!I have found the AD7685 ADC from Analog devices but its one channel. It would be great to find somethinig like this for eight channels.
Thanks jess
Off hand.
The 7608 is 18 bits
Jamie
We use HC4051s to mux thermocouples. There's no significant DC offset or DC crosstalk. There will be some AC crosstalk, but if you are measuring millivolts you have to expect noise, from all sorts of places, and the usual answer is to digitize slowly or take a lot of samples and average.
If you drive a high impedance opamp, Ron errors are nil.
Autozeroing is a good idea: occasionally mux in zero volts, digitize, subtract from the real signal samples. That takes out all sorts of offsets.
John
AD7699 is cool. It's a 16-bit ADC with an 8-channel mux built in. SPI interface. Each channel would need its own preamp, which isn't a bad idea anyhow.
Expect the low N bits to be noise, where N is five or eight or something. You'll need to do some digital filtering.
Consider a faster ARM chip maybe.
See above.
John
the
But look at the price, $17 ea. You can get an ARM (at least 4 channels at 16 bits) for less than that. Yes, the trick is to pre-amp upto power rails, to minimize effect of noises. PCB layouts would be critical as well. Band pass filters won't hurt either. I am working on 6 channels 16 bits signals, with Darlington and Low Noise Amp for each signal before hitting the mux.
We pay about $11 for AD7699s in modest quantities.
An ARM with a 16 bit ADC inside? Are they any good? We use an NXP ARM with a 12-bit ADC inside, and it's not very good. We have to calibrate every one, a full linearization table, to get to 0.1%.
John
e o g
Freescale Cortex M4 claims 14 bits typical in 16 bits format. Even 14 bits would not be easy to do anyway.
Should be less than $10 in qty.
Y'all may want to take a look at ST's STM32F10x M3 line. Their 12-bit ADC peripheral includes a software-initiated self-cal routine to account for internal capacitor bank variations, a nice touch.
Just starting the design cycle to replace a processor on a board that had a really crappy 10-bit ADC. It was functional but looking at the graphs made my teeth hurt. This one should be much less pain-inducing.
The post-conversion DMA to your own destination array is nice. There's also a second, separate ADC2 peripheral (which I'm not using) that can be used with ADC1 for simultaneous sampling on two pins. Good stuff.
What is your requirement for timing between the channels ? Usually EEG uses simultaneous sampling.
Option number 1 requires you to do the T/H for each channel on your own.
Option number 2 allows for using readily available 8-channel simultaneous sampling ADCs. They typically have internal T/H for each channel and MUX to 1 or 2 ADCs.
Regarding the ADC speed, by doing a lowpass filtering in the frontend and oversampling you may gain a few extra bits.
100uV with 16 bits is 'challenging' (=basically impossible) with EEG. Check out any reasonable amplifier for you frequqency band of interest. 1/f noise is a serious problem in EEG, as is getting enough CMRR to get ri of 50/60Hz artifacts.Also, depending on your electrodes, you will appreciate huge input impedance, as any impbalance in the electrode impedance is easily converted to differential mode signal if the input impedance is low. I always aim for >> 100M.
For multichannel EEG amplifiers, you really should study what Coen Metting van Rijn of Biosemi has published on the subject.
As a practical hint, check out TLC2264.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required