02-17-2009 07:11 AM
Hello, I have a few advanced questions to ask and I will try and explain them as much as possible.
I have a PCI-6255 and two SCB-68s connected via shielded cable. I have various signals going wired into these SCBs. Some are low voltages like .5V and some are 5V, others 9V. What I am noticing is that if I have a switch that toggles 5V to a channel, say AI20, and channel AI19 is reading .5V when this switch is off, when I flip the switch ON (5V to AI20) AI19 will read .6V only when I am at sampling at >1000Hz AND if the number of channels I am reading is greater than ~10. I am set up for RSE mode. It seems there is a balancing point between number of channels and sampling rate that is creating unwanted crosstalk or noise. 80 Channels reading at 10KHz will produce noise, however reading only one channel at 10KHz will not produce noise or crosstalk.
This leads me to ask a number of questions.
(1) How does the DAQ card poll channels from the SCB. Does it read everything on the SCB then give you only the channels you setup in the DAQ task? Or does it only read the channels you ask from the SCB?
(2) I know the DAQ card charges a capacitor in order to read each channel, is there a chance that a high frequency will cause "pieces" of a high voltage channel (>5V) to affect a low signal (<1V)?
(3) Does National Instruments know about this problem of not being able to accurately read greater than 10 channels at high frequencyes over 1000Hz?
(4) Perhaps I am overpushing the specs and limits of this board by reading 22 channels at 10KHz?
(5) Should we switch to Differential mode?
(6) Will spacing the channels out on the SCB help this issue?
If anyone has answers to any of these questions I would greatly appreciate the answer as this problem is mind boggling. I am working with electrical engineers and technicians and they believe the issue is I am reading too fast for the DAQ card. However, 22 channels at 10KHz appears to be well below the stress point of the card.
02-17-2009 08:27 AM
Thanks for posting. You have some good questions. I'd like to ask you a question about your source and try to shed some light on what you are seeing. What are the source impedances for your various signals?
Your question #2 makes the point that because there is a capacitance at the input to the DAQ device, that maybe that capacitor holds a little bit of the voltage from the previous measurement and brings it into the next measurement. You're right. It can. And you're right to note that if you go slower, then you will have less crosstalk. Whenever you take a measurement between two channels, that input capacitor needs to change voltage from the first channel to the second channel. Lets call the voltage change Vc. For a capacitor Q (charge) = C (capacitance) * V (voltage). So to get a change in voltage equal to Vc, you need enough charge to equal C * Vc. The smaller the C, the faster the voltage change can happen.
Another way to increase the speed is to increase the rate at which the charge builds up on the capacitor. Or to put it another way, if you speed up the rate that charge comes from your source, then it's going to take less time for the capacitor to charge, and therefore it's going to take less time to settle. The lower your source impedance, the faster it can supply charge to the input capacitor. The higher your source impedance, the slower it can supply charge to the input cap.
Since you seem to be experiencing about 0.1V of crosstalk from your 0.5V signal to your 5V signal. Thats about 0.1V/5V = 20k ppm. Take a look at page 2 of the specifications for the graphs of "Settling Error Versus Time for Different Source Impedances." It's my hunch that you have a fairly high source impedance.
In regard to question #6, although it might be worth trying, I doubt that you will see improvement by spacing out the signals on the PCB. However, if the issue is settling time, then you will see improvement if there is less of a delta from one channel to the next.
Hopefully we can find a good way to improve settling time for the system, if that is indeed the issue.
02-17-2009 10:21 AM
Thanks for your reply. You are affirming what I have been told by coworkers. I am sort of the middleman between their wiring and electornic system and the computer. I will ask them about their system impedance, although I recall them saying that they have a very low impedance system. Perhaps they're wrong. Ha.
I'll post when I have an answer.
02-18-2009 06:52 AM
We have been unable to eliminate this problem. However, in ths process of troubleshooting I discovered some interesting facts. At first we were getting crosstalk on channel AI24. Channels AI23 and AI25 had nothing wired to them and were not being read. I noticed when I DID read AI23, AI24, and AI25, the crosstalk lessened. This gets back to the capacitor charging. It seems forcing the DAQ card to read an empty channel before it will "reset" the capacitor charge a little bit. This is when we came up with shorting out the channel before (Ai23) AI24 and forcing a read of AI23. With this combination, the crosstalk is gone.
Very interesting stuff.... anyone have any thoughts on this?
02-18-2009 11:11 AM
This would be a good place to start: How Do I Eliminate Ghosting From My Measurements?
The article recommends against scanning a grounded channel, but I disagree. Even if the error is greater doing that, it's more predictable and thus more correctable. You could also scan an analog output if you were able to set that closer to the anticipated measurement voltage.
You can configure your 6255 to measure internal channels like ground and the analog outputs without any external connections, but doing so might not discharge the entire capacitance the way grounding an external channel does.