ADC mux charge injection on commercial DAQ boards

Sep 30, 2007 4 Replies

Hi:



A couple years ago at work our computer programmer specified Data Translations DT3010-268 boards for our lab's high speed data acquisition tasks. I was assigned the task of building a BNC breakout panel for all the DT3010's signal ins/outs.



This didn't involve any electronics design, but rather just wiring. I made a 4 layer PCB anyway to keep analog and digital signals over respective ground planes, and since multiple labs had to be equipted like this, it was more efficient than hand wiring each one.



Since I knew there are always gotchas with these off-the-shelf boards, I designed in 7-pin SIL sockets near each analog input BNC to accept a future analog input buffer module, in case it would be needed. I put in buffer sockets for analog outs and the digital IOs too. Then I just jumpered them all for the installation.



This seemed like a good compromise rather than building buffers into each channel by default, which would have made the board design and assembly take much longer than just a simple PCB wiring harness.



As anticipated there were troubles. When they started evaluating the performance of the DT3010, they found that as sample rates increase, the digitized signals incur very large errors. Some commercial calibration instruments such as Keithley Source Meters cannot drive the DT3010 inputs under any circumstances and get correct readings.



I got involved and scoped around until I concluded that the DT3010 directly multiplexes the sample voltage holding capacitor from one channel to another. This cap appears to be in the range of 120pF. So as the board switches channels, the prior channel's voltage gets ejected out of the input BNC of the next input. The settling time thus depends on the combination of the cable length and impedance leading to the board, and whatever driver is feeding that cable. Typical instrument voltage outputs can't settle fast enough (about 600ns from mux switch to hold) to give accurate readings.



The two labs using these new boards worked around the problems and other tasks took priority over building buffers, until a few days ago. Now we have a lab that simply can't get measurements done with the present level of performance. The scientist has been running at the lowest possible sample rates and using as few channels as possible to get reasonable data. But now he needs something better, so I built analog input buffers consisting of a LT1167A instrumentation amp for the inputs, followed by a LT1220 fast settling opamp in simple follower configuration to feed the DT3010 inputs.



I am fairly confident this buffer will solve the problem when I assemble and test it next week.



But I told the programmer who continually specifies Data Translations products that I think the DT3010 is "broken" for not including input buffers on each channel to isolate the sampling capacitor from the outside world.



He became very agitated and said that it's not broken because all the other makers do the same thing (which I am not certain about). That logic escapes me in any case. He did agree when I rephrased it as, "the DT3010 is a cheap-sh** design" But then he went on to accuse me of having too high standards (which he then insulted with further use of the sh** word).



I simply stated that I have a lab that is broken and can't record data at the DT3010's specifications, and that I am going to fix it. He cannot answer the question of how to fix it himself, because he isn't able to design analog circuits. But he accuses me of having too high standards and that I over design everything by 10x simply because I think that a DAQ system should work as advertised.



Actually, if I had not designed in the hooks to allow inserting analog buffers into my PCBs, I would be faced with having to re-do the entire panel, or building another box containing analog buffers.



The programmer also stated that for every job he does, his goal is to do the absolute minimum work to get something working. And if 90% of the time there aren't problems which come back to him, then he has done too much. The consequence of this is that the expensive lab time and the time of scientists get expended in finding and solving problems. But he takes credit for getting jobs done (which really aren't "done" at all) very quickly and efficiently.



I have the opposite philosophy. I spend a large amount of time in my workshop designing things to be nearly perfect before delivery to the lab, because I believe it is my job to use my time to find and resolve the problems before installation so that precious lab time isn't wasted. I have never received a complaint that it took too long, only compliments that my stuff works perfectly.



This difference of view has now led to quite a bitter state of conflict between us, which is unfortunate. I'm not sure how it will play out. I am pissed because now I fear this guy has bad-mouthed my work in the past as taking too long to complete and over-engineered. So he makes himself look like he's prolific and I'm not. But I'm the one who winds up with the job to make his partially functional work reach full functionality. And I get put down for doing it "too well."



I maintain my position that the DT3010-268 is "broken." Would you agree or disagree? Should it be the job of the customer of a commercial DAQ board to have to build analog input buffers on every channel before the board can be used to specification for any other than "battery" voltage sources located a few inches from it's inputs?



Good day!



_____________________ Christopher R. Carlen crobc@bogus-remove-me.sbcglobal.net SuSE 9.1 Linux 2.6.5

All CMOS multiplexers kick out charge when they switch, plus whatever signal is loaded onto whatever downstream capacitance there is, in the ADC front end, gets switched between channels, too. So the inputs are hardly simple, passive loads.

Lots of opamps go nuts when hit by a mux spike, and can take a long time to recover. They may rectify the spike somehow, and then a high sample rate winds up creating a big DC offset.

The easiest fix is a series R-C just ahead of the mux; something like

100 ohms, which most opamps can drive, and as much C as the signal bandwidth can stand, some number of nF at least. The charge injection can be treated as an average DC current, which produces an offset error into the 100 ohm resistor, so this can have problems, too, especially at very low signal levels.

Another trick is to select a dummy channel, grounded or Vcc/2, between active channels. That keeps channel-channel crosstalk down.

People who design data acquisition boards should at least use very low charge-injection mux's (as opposed to very cheap ones) and buffer properly downstream, to keep the crosstalk capacitance low.

Nowadays, you might almost as easily go with an ADC per channel.

John

This is more than just a design philosophy difference. It's driven by some fundament real and percieved difference between software and hardware.

Software is a lot more malleable and flexible (especially over time) than hardware. As a result software jobs often never finish, there is always one more small feature to add or a 'simple' way to have the SW work around a HW limitation. In addition because of the perceived simplicity of changing the SW, the specifications for SW are often fuzzy, incompletely thought out and more grandiose than is necessary to do the required job. These characteristics of SW specifications make it a good idea to complete SW that does the most useful and important fraction of the job and have used before attempting to finish. Often the rest of the specified functionality is unnecessary or completely different functionality will be more useful.

This should be a lot less true for a well established product area, but I would expect it to be true in spades for a laboratory environment.

Now what he does deliver should have the goal of being bug free, but there are a lot of advantages to delivering short of being functionaly complete. A good design will be done with an eye to exapnding capabilities in the future, an excellent design will succed in having a sufficiently general base that future modifications fit in cleanly, an exceptional design will be so simple and clean that it doesn't require changes since additional functionality can be built out of the existing functionality.

Working in hardware you don't have the same luxury of incrementally adding feature ad-infinitum and you will usually have a more solid specification to start from.

That is unfortunate. The forces driving one disciple should not be imported into another.

Sympathise, but disagree.

Their job is to specify what the inputs are including frequency capability and drive requirements. Yours is to determine how to translate from your source characteristics to their input characteristics.

Robert

Posted via a free Usenet account from http://www.teranews.com

Well said.

Yes. In my case the specs are rarely quantitatively stated when I'm initially told what the job is. I then work with the PIs to pin it down or else make some reasonable guesses based on understanding what they are up to. I tend to err on the side of making it somewhat better than necessary. But more pertinent is that since their very frequent tendency is to make substantial changes to the requirements after 50-90% of the work has been done, this forces me to try to anticipate these changes and to plan hardware that can easily be adapted to a range of unforseen modes of operation. This can be very time consuming. But I have more experiences where this paid off than ones where I have regrets.

So yes, this is much easier to do with software which is why I am trying to employ uCs and PLDs in everything I do except for the absolutely essential analog stuff.

Well you've provided an interesting insight into the situation. Much appreciated.

Fair enough. When you put it that way I don't think it's that much of a disagreement. Looking at the specs of the DT3010:

formatting link

indicates that the inputs are spec-ed as 100Mohm, 10pF off/100pF on. That doesn't explicitly state what will happen in use, that actually the

100pF on is not at the same voltage as the 10pF off, which means charge injection will occur.

I would be very disinclined (based on my philosophy) to make a board for market like this, without input buffers. I know it would add cost, but

16-32 extra op amps on a $2000 board would be a fair price to pay for the benefit of being able to advertize the product as such and to write a white paper about how your signals won't be read correctly when you connect a competitor's board to real-world sources without spending a several $1000s in time/materials to have an electronics tech. or engineer make you an analog buffer amp for each channel.

I have at least one board which is built more like I would expect, a

16-channel simultaneous sampling DAQ from Innovative Integrations (a DSP solutions vendor). That one has almost exactly the same input conditioning on each channel as I am going to be sticking on my DT3010s.

Oh well,

Good day!

_____________________ Christopher R. Carlen crobc@bogus-remove-me.sbcglobal.net SuSE 9.1 Linux 2.6.5

Hi Chris, Welcome to the real world. A decade ago, I was on a 'big' project that was broken into a Hardware side, and a Software Side. On the hardware side there were four of us: Our boss, who know project management (and management in general) better than anyone else I have ever seen; An engineer who was officially labled as Documentation; another engineer who was labled as QA; and me, labled as Senior Hardware Engineer. The Software side had at least 15 programmers and system administrators, of which 8 of them came and went during the time I was there, not to mention the 8 documentation clerks.

During the nine months I was on the project (it was a virtual company - only the managers and about three software guys were actual employees, the rest of us were contractors) the hardware group was always on time, never had any problems (at least that upper management ever saw) and we were on budget. The software group was always 30 to 60 days behind schedule, was way over budget, and complained at every meeting to management about their troubles.

I left because they 'fired' the entire hardware group, and spent the next year 'persuading' the hardware manager to quit. (They finally had to fire him, big severence and all...) They felt that he must have been padding his budget and schedule too much since he never had any problems!

They promoted the software manager...

Charlie

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required