Data Acquisition (DAQ) and Control from Microstar Laboratories

Knowledge Base: Input

  • See the list of other topics for category Input

Q10100 Optimizing signal quality in multiplexed channels

Tags: Help, multiple channels, multiplexing, sampling, capture rate, analog expansion, MSXB037

Applies to: High rate applications using analog input expansion input 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:

  1. 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
    
  2. 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.