Q10100 Optimizing signal quality in multiplexed channels
What can I do to maintain quality when I must sample many analog input channels quickly using MSXB037 analog expansion boards?
MSXB037 analog expansion board give a low cost per channel by placing a minimum amount of hardware between your signal source and the Data Acquisition Processor on-board signal multiplexers. There are two principal drawbacks:
-
Your signal sources need to be clean and low impedance, to drive the signal lines firmly. Pay close attention to the signal conditioning.
-
Multiplexing operations tend to introduce transients, related primarily to capacitance of the signal lines. These transients can disrupt measurements if they have insufficient time to settle. Avoid unnecessary switching operations, and allow extra settling time.
The MSXB037 boards are banks of 16 inputs (or 8 differential input pairs). Multiplexing operations switch the entire group of channels onto the 16 DAP input pins simultaneously when any of the signals in the group is addressed in your input channel list. This introduces a burst of switching transient noise. To introduce a minimum of this noise into your signal lines, configure your input sampling list to process all of the channels from one MSXB037 board before proceeding to the next one.
As a rule of thumb, when using MSXB037 boards, you should try to operate at 1/2 of the maximum sampling rate of the DAP board or slower. This is not a firm limit; the board will go as fast as the DAP board, but the faster you try to go, the more your measurement quality degrades, and you will capture more of the residual transient effects. Anticipating this, you can try one of the following strategies:
-
Configure your input sampling so that the first signal you capture after switching to another MSXB037 board is less critical, so that extra noise or reduced accuracy for this signal is irrelevant to your application.
Example: IDEFINE VeryFast CHANNELS 16 // MSXB037 board #1, noisy channel first SET Ipipe0 D8 40 // Thermocouple, always noisy SET Ipipe1 D9 // Other channels follow ... (6 more differential channels similarly defined) // MSXB037 board #2, noisy channel first SET Ipipe8 D16 40 // Thermocouple, always noisy SET Ipipe9 D17 // Other channels follow ... (6 more differential channels similarly defined) TIME 2.50 // 2.5 microseconds, very fast rate END
-
After switching to channels on a different MSXB037 board, sample the first signal from this board twice. The first capture will include the worst switching noise, so discard it. The rest of the measurements for this board will be cleaner.
Example: IDEFINE EvenFaster CHANNELS 34 // MSXB037 board #1, use channels Ipipe(1..16) SET Ipipe0 S0 // Ignore this, probably inaccurate SET Ipipe1 S0 // Use this and the following 15 SET Ipipe2 S1 ...(14 more single-ended channels here) SET Ipipe16 S15 // Last channel on board #1 // MSXB037 board #2, use channels Ipipe(18..33) SET Ipipe17 S16 // Ignore this, probably inaccurate SET Ipipe18 S16 // Use this and the following 15 SET Ipipe19 S17 ...(14 more single-ended channels here) SET Ipipe33 S31 // Last channel on board #2 TIME 2.00 // 2.0 microseconds, pushing rate limits END PDEFINE SendAll // Send 32 retained channels to PC host for logging COPY(Ipipe(1..16,18..33), $BinOut) END
L-----
See knowledge base article Q10073 for more information about signal conditioning.