Analog mhultiplexing

Hello all

Does using analog multiplexing require any particular considertaions to be taken care of? I have a circuit with a 12 bit ADC,ADS1286.The input is in mV(steady inputs right now), which is fed to the ADC through an amplifier(gain=100).Using PIC16f877A microcontroller. Now all was fine(variation of +/-1 LSB) when the input was directly connected to the amplifier. Sometime back,I put a multiplexer (cd4097),to make it multi channel.(change of channel every second).After which,the readings have been going beserk(variation of around 20,no specific pattern). Tried keeping the multiplexer channel steady,.i.e.gave the input to just 1 channel,read once per second.No effect. This is the code I am using to slect the multiplexer channel ;PORTE connected to channel select pins A,B,C of 4097 ;spi_interface_port=PORTC ;RC0 connected to INH of 4097 clrf PORTE banksel TRISE clrf TRISE ;set PORTE as output clrf STATUS bcf spi_interface_port,bit0;get the INH pin low to enable the chip nop ;settling time nop movlw b'00000001';select channel 1 movwf PORTE nop;settling time nop So,I would like to know whether there are any particular issues regarding analog multiplexing,taht ahould be considered,and I have missed??

Thanks.

Reply to
sandeepa
Loading thread data ...

Might be charge injection.

All IC analog mux's inject charge when they switch. A current spike is shot out of most all pins on the chip, and thet can do weird things to surrounding circuits. CD4xxx and HC4xxx are pretty bad... 10's of picocolombs maybe. There are some parts around with lower injection, in the 1 pc range.

I did a board that had 8 opamp signal conditioners feeding a mux/adc. When the mux selected a channel, the opamp output would jump many millivolts, then slew back to the correct value over many us.

A mux can also carry charge from the old channel's signal level to the new one.

Passive isolation, maybe even just a series R, can help. Get in there with a scope and poke around.

John

Reply to
John Larkin

From your post, it sounds as if the ADC output variations are probably noise coupling from the analog mux's power supply over to the input. It could also be cross-channel coupling -- when you manually force the mux to select just one input, try feeding the same signal to all the other inputs and see what happens.

Since your input is in the mV range, with a 12 bit ADC you're talking LSBs that represent microvolts of signals. That's low enough that you need to be very careful! Unfortunately, an oscilloscope really won't help you much here -- you'll never see that level of noise. If you can get ahold of a spectrum analyzer you'll probably be able to "track down" your noise source quickly (you might be surprised how much noise is on your power supply, for instance).

You can just average the input over many samples if your ADC is fast enough, but this of course is a band-aid fix to the problem rather than really fixing it.

---Joel Kolstad

Reply to
Joel Kolstad

Hi.

By "no effect" do you mean "the 20 count variation went away" or "there was no effect upon the variation"?

....

In addition to the comments others have made, I suggest that the variation may be a symptom of a preexisting vulnerability. If your anti-aliasing filter is set too high, (or nonexistent), the changes you made to get the MUX in place may have raised the digital noise level getting into the ADC input. Unless that is taken down by the anti-aliasing filter, it would be converted via aliasing to (apparently) lower frequencis because that ADC has a much higher sampling bandwidth than its conversion rate.

--
--Larry Brasfield
email: donotspam_larry_brasfield@hotmail.com
Above views may belong only to me.
Reply to
Larry Brasfield

Thanks everyone for the replies.

So an anti-aliasing filter is a must here?Will look more into it in the morning.

By "no effect",I mean,no change in the variations,i.e the variations stayed as before. If not the CD4xxxx series,which mux would you suggest for this sort of an application?

Thanks.

Reply to
sandeepa

You are welcome, from all of us I am sure.

If your signals come from the outside world, an anti-aliasing filter is very likely to be necessary. All the more so since it appears you care about accuracy better than 20 counts. Depending on how you plan to multiplex the inputs, you might even want separate LPFs on some inputs.

That indicates that charge injection was not the problem, assuming that your "gave the input to just 1 channel,read once per second" means the MUX controls were unchanging.

I doubt changing the MUX is the right solution. At your sampling rate, with more attention paid to the design of the input circuit, anti-alias filter, and ADC buffer, that old MUX could do fine. That effort is probably necessary even if you use a modern, lower charge injecting MUX.

--
--Larry Brasfield
email: donotspam_larry_brasfield@hotmail.com
Above views may belong only to me.
Reply to
Larry Brasfield

As already mentioned it could be noise, charge injection, power supply ripple feeding through or all of the above. Best would be to post a schematic somewhere for us to look at. A lot of details will affect the performance, for example impedances etc.

As for muxes you can design really quiet ones with arrays such as the SD5400. But they are expensive and also very fickle with respect to ESD. One sneeze and the chip may be gone. Also, it may not be necessary in this application to use such a hot rod device.

Regards, Joerg

formatting link

Reply to
Joerg

You did connect the '4097's INHIBIT line to ground, right? :>)

Are you powering the multiplexer from your 5V suppy? The cd4097's Ron is a rather high 500 ohms typ (1050 max) with a 5V supply, so its output signal line is more susceptible to pickup. Many of us like the 74hc4051 because it has a much lower ON resistance.

--
 Thanks,
    - Win
Reply to
Winfield Hill

There you go again, idiot- shooting your mouth off with a bunch of gibberish because you don't know what you're doing. Unfortunately for pretentious, pseudo-intellectuals like you, simple minded generalities don't cut it in most applications- and this explains why you are a career failure. You're not even close on this one- better for you to just stay out of the thread.

Reply to
Fred Bloggs

You did connect the '4097's INHIBIT line to ground, right? :>)

This time its not something as silly as that(I wish)....

Using the same 5V supply on the 4097.The max. ON resistance did seem a little high,You think tahst the reason for so much variation?Also,I couldnt find the hc version of 4097,is there one?

Have been doinga few things for the last 2 days.First I took the mains off and used a battery.The readings didnt change.

Just now,took off the amplifier(INA118) as well.Gave a steady input directly to the ADC.This time got an absolutely steady reading.Even the small variation that I was getting with the amplifier arent there any more. I had thought 118 was a good choice,is it not?

Since the ADC by itself gives stable readings,can I say that I do not have layout problems?(I have followed the practices given in all the app. notes for using 12 bit ADCs.) What caps would you all suggest?I have put decoupling caps on all the powe pins. Where is this noise coming from?

Please help. Thanks.

Reply to
sandeepa

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.