Link here

24/7 Data Acquisition Wildcard Users Guide

Up to 7 channels of 24-bit resolution analog-to-digital conversion with software-programmable pre-amplification and digital filtering

The 24/7 Data Acquisition Wildcard gives you the ability to amplify and sample low level signals at various conversion rates directly from transducers using a sigma-delta technique. With it you can accurately measure signals down to microvolt levels. Its state-of-the-art analog-to-digital converter (ADC) is the Analog Devices' AD7714, providing 24 bits of resolution with no missing codes performance. Its internal amplifier allows you to programmatically set the full scale input ranges from 20 mV to 2.5 V for unipolar conversions, and ± 20 mV to ± 2.5 V for differential conversions.

The 24/7 Data Acquisition Wildcard is a complete analog front end that performs all signal conditioning and conversion for an instrumentation system of up to seven input channels that are configurable in ten different ways. It is particularly useful for accurate millivolt or microvolt measurements from sensors such as pressure sensors, bridge transducers, strain gauges, or platinum resistance thermometers. It may also be used for measuring thermocouples, but Mosaic's Thermocouple Wildcard can provide much more accurate cold junction compensation.

This Wildcard also provides three general purpose digital inputs. The DA 24/7 is ideal for data acquisition and instrument control applications.

See also → 



Specifications are summarized in the following table.

24-7 Data Acquisition Wildcard Specifications
Input Channels: 4 fully differential or 7 pseudo-differential (with a common signal return)
Resolution: 24-bits ( 0 – 16,777,216 counts), sigma-delta conversion
Programmable Gain: Precisely 1, 2, 4, 8, 16, 32, 64 or 128, software selectable, corresponding to full scale input ranges of 20 mV to 2.5 V for unipolar conversions, and ± 20 mV to ± 2.5 V for differential conversions.
Input Common Mode Voltage Range: –30 mV to +5.030 V in unbuffered mode
+50 mV to +3.50V in buffered mode
Both inputs of a differential pair must lie within the input common mode voltage range.
Input Differential Full Scale Voltage: Unipolar: +2.5V FS
Quasi-Bipolar: ± 2.5V FS
True Bipolar: ± 20 mV FS around ground
Monotonicity: 24 bits at up to 60 Hz data rate
Linearity: 0.0015% FS at up to 60 Hz data rate
Noise Rejection: DC Common Mode: > 90 dB
Normal Mode at 50/60 Hz: >100 dB
Common Mode at 50/60 Hz: >150 dB
Noise and Accuracy: 2.7 μV RMS effective input noise, 21 bits max effective resolution
Sample Rate: Automatically samples at a programmable rate from 4.8 Hz to 1010 samples/sec, or manually down to 0 Hz.
Digital Filter: Integral digital filter sets a programmable high frequency cutoff. Filter cut-off, resolution and conversion rate are mutually determined, for example as,
Data      Filter    Effective
Rate      Cutoff    Resolution 
 10 Hz     2.6 Hz    21.5 bits 
 30 Hz     7.9 Hz    20  
100 Hz    26.0 Hz    18.5  
500 Hz   131.0 Hz    13

Conversion rate can be chosen to place filter notches at noise harmonics. A data rate of 10 samples/sec excludes noise at 50 and 60 Hz and their harmonics. Filter settling time is <4 conversion periods.

Voltage Reference or Excitation: 2.5 V ± 0.005V ±7 ppm/°C precision reference for use internally and externally, supplies up to 10 ma; or 3.0 V ± 0.005V ±7 ppm/°C precision power source, supplies up to 10 ma, available for sensor excitation.
Input Protection: Protection to ± 2000 V electrostatic discharge and ± 70 V continuous
Calibration Modes: Automated Full Scale and Zero Self Calibration and System Calibration
Digital Inputs: Three general purpose digital inputs with 10Kohm pull-down resistors
Power: Requires VDD=+5 V at 70 mA., and V+RAW=5.5 to 26V at 5 mA max (1.5 mA typ). Up to an additional 10 mA current may be drawn from V+RAW as it is optionally supplied to external devices from the 2.5 or 3.0 V reference.
Weight: 19 gram
Size: 2" x 2.5" x 0.365" (50.8mm x 63.5mm x 9.3mm)
Special power requirement
This Wildcard requires 6 Volts or greater to be present on the V+Raw power rail. The V+Raw rail should not be greater than 26 Volts. If you are using the Docking Panel or Power Dock, the V+Raw rail is connected for you.

If you are not using a dock, you will need to connect V+Raw yourself. For the QCard: see QCard Appendix B. For the PDQ Board: see Appendix B Power Header.

High-level software routines allow you to initialize, calibrate, configure, and control the 24/7 Data Acquisition Wildcard. Once commanded to start converting, the analog to digital converter continually samples and converts at a fixed rate. You can read the output once, or store each sequential conversion to a memory buffer. You must sample one channel at a time; changing channels requires restarting the conversion process with a different channel specified.

Block diagram of the 24-bit high resolution analog input data acquisition system
Fig. 1  Block diagram of the high resolution data acquisition system, showing its 24-bit sigma delta analog to digital converter with digital low pass filter and programmable gain amplifier. Analog inputs and reference voltages for sensor excitation are accessed on its field header.

The above figure diagrams the WildCard. Signals are taken from the Field Bus on the left. The eight inputs may be configured in four pairs, for four differential input channels, or they may be configured as seven pseudo-differential inputs with the eighth line acting as a common return. Power and reference voltages are provided to the field header for your use. You can configure the converter to use the 2.5 volt internal reference, or to take its reference from the field header.

Many sensors and measurement methods produce an output that is ratiometric; that is, an output proportional to a reference signal or that is accompanied by its own full scale reference signal. You can accurately measure these by providing an appropriate reference voltage to the reference inputs on the field header.

Communication with the WildCard is via the SPI serial lines and is handled transparently by the supplied driver routines.

This document describes, step by step, how to use the 24/7 Data Acquisition Wildcard. It will show you how to:

  • Power up and connect to the Wildcard;
  • Configure and use the available hardware; and,
  • Call the pre-coded software drivers to initialize, calibrate, configure, and obtain samples from the Wildcard.

The last sections of this document provide an example code listing, a glossary, and the complete schematics of the 24/7 Data Acquisition Wildcard. If after reading this document you have further questions, please consult this data sheet for the AD7714, which can also be found on the Analog Devices website.

Please take time to read through the example programs that illustrate how to effectively use the pre-coded software drivers. There are many subtleties involved with using the 24/7 Data Acquisition Wildcard that are highlighted in the example code.


Inside the AD7714 24-bit A/D chip

AD7714 functional block diagram showing input multiplexers, programmable gain amplifier, and sigma-delta A/D converter with digital filter
Fig. 2  Functional block diagram of the AD7714 24-bit analog to digital converter. The input channels are further protected and multiplexed on the Data Acquisition Wildcard. (from the AD7714 datasheet)

Connecting to the 24/7 Data Acquisition Wildcard

Connectors are not keyed
The Wildcard bus does not have keyed connectors. Be sure to insert the module so that all pins are connected. The Wildcard bus and the Analog I/O Wildcard can be permanently damaged if the connection is done incorrectly.

To start using the 24/7 Data Acquisition Wildcard, follow these simple steps:

  1. With the power off, connect the 24/7 Data Acquisition Wildcard to your controller by connecting the Wildcard Bus of the 24/7 Data Acquisition Wildcard (labeled Wildcard Bus) to Module Port 0 of your controller. Caution: The 24/7 Data Acquisition Wildcard or your controller can be permanently damaged if the connection is done incorrectly.
  2. Be sure the jumper shunt for J1 is not installed on the 24/7 Data Acquisition Wildcard. With the jumper shunt not installed, the reference voltage for the analog to digital converter is set to 2.5 volts.
  3. Be sure the jumper shunts for J2 and J3 are not installed on the 24/7 Data Acquisition Wildcard. With both jumper shunts not installed, the address of the Wildcard is set to 0. you can use addresses 0 through 7, except on QScreen or Handheld controllers which reserve address 0 – on them you can use addresses 1 through 7 (install J2 with the Wildcard on Module Port 0 for address 1).
  4. Turn on the power to the controller; this automatically powers the 24/7 Data Acquisition Wildcard.
  5. Connect Field 1 (Pin 22) to AGND (Pin 21). This is most easily done if you use a Screw Terminal Wildcard to provide screw terminal connections for the Field Header.
  6. Connect Field 0 (Pin 24) to a known voltage between 0 and 2.5 Volts.
  7. Compile, load and run the first demonstration program with the development environment for the controller you are using. This program:
    • Initializes the wildcard
    • Configures the wildcard to use the on-board reference voltage
    • Calibrates and configures channel CH_0_1
    • Takes one 24 bit bipolar sample with a gain of one
    • Prints the voltage to the terminal
    • Returns a success flag.

Once the hardware and software are properly configured, you can obtain high-resolution samples with the pre-coded high level driver routines.



The 24/7 Data Acquisition Wildcard consists of:

  • the AD7714, a high resolution signal conditioning analog to digital converter;
  • two low-power, low-dropout regulators that supply power for the digital and analog circuitry;
  • a high precision voltage reference;
  • 12 precision analog switches to electrically protect the analog inputs of the A/D converter chip from excessive voltage;
  • three general purpose digital inputs; and,
  • seven analog input channels.

Using the on-board reference

The 24/7 Data Acquisition Wildcard has an on-board 2.5 V voltage reference that is accurate to +/- 0.005 V. This reference is available for use by sensors requiring a reference or producing a proportionate output. It can supply up to 10 ma. The reference voltage is available on pins 7 (REF+) and 13 (REF-) on H2 of the 24/7 Data Acquisition Wildcard. To use the on-board reference voltage for analog to digital conversions call Use_Onboard_Ref. You can also use your own external reference voltage by connecting an external voltage to pins 9 (FDREF+) and 11 (FDREF-) of H2 and calling Use_External_Ref. Be sure that FDREF+ is always greater than FDREF- for correct operation of the analog to digital converter.

The recommended reference voltage for the analog to digital converter is 2.5 V. The 24/7 Data Acquisition Wildcard is functional with external reference voltages from 2.5 volts down to 1 volt but with degraded performance as the output noise will, in terms of LSB size, be larger. If jumper J1 is installed, the reference voltage that appears on the REF+ output pin is changed to 3.0 V, which exceeds the specified reference input voltage by 0.5 volt. DO NOT USE THIS 3.0 VOLTS AS A REFERENCE VOLTAGE! That is, if jumper J1 is installed do not call Use_Onboard_Ref or connect REF+ and REF- to FDREF+ and FDREF-. The 3.0 V option is useful for powering external sensors and transducers and provides up to 10 mA of current. Figure 2 shows a typical application of 3.0 V option with an RTD. The 2 KΩ resistor drops the 3V sufficiently so that only a maximum of 2.5V appears across the 10 KΩ reference resistor. The resistance of the 100 Ω RTD is then measured in proportion to the 10 KΩ reference resistor.

Circuit schematic showing the use of the 3.0 volt reference to drive excitation voltage to an external sensor for high accuracy measurement.
Fig. 2  Typical use of the 3.0 V reference option to provide excitation for an external sensor, in this case a 100 Ω platinum RTD (Resistive Temperature Device).

Reading the digital inputs

The 24/7 Data Acquisition Wildcard has three TTL compatible CMOS digital inputs DIN-1 (pin 5), DIN-2 (pin 6), and DIN-3 (pin 3) on the Field Bus header (H2). You can read the digital inputs by calling Read_Digital_IO.


Choosing the analog input channels

The 24/7 Data Acquisition Wildcard features four fully differential, or seven pseudo-differential, overvoltage-protected, high-impedance analog input channels. Pseudo Differential operation indicates that multiple channels share the same signal return, FIELD7 (pin 10 of H2), as described below. The 10 different input options are outlined in Table 1.

The analog inputs are protected from electrostatic discharges of up to ±2000 volts and continuous voltages of up to ±70 volts by the resistors and analog switches in series with the analog inputs of the analog to digital converter. You can connect your transducer signals to the Field Bus (H2 on the 24/7 Data Acquisition Wildcard) either through a ribbon cable or a screw terminal expansion board that breaks out the signals to screw terminal blocks. Shield the connecting wires for optimal performance.

Analog Input Connection Options
Associated Constant Analog Input + Analog Input Conversion Type
CH_0_7 FIELD0 (Pin 24) FIELD7 (Pin 10) Pseudo Differential
CH_1_7 FIELD1 (Pin 22) FIELD7 (Pin 10) Pseudo Differential
CH_2_7 FIELD2 (Pin 20) FIELD7 (Pin 10) Pseudo Differential
CH_3_7 FIELD3 (Pin 18) FIELD7 (Pin 10) Pseudo Differential
CH_4_7 FIELD4 (Pin 16) FIELD7 (Pin 10) Pseudo Differential
CH_5_7 FIELD5 (Pin 14) FIELD7 (Pin 10) Pseudo Differential
CH_6_7 FIELD6 (Pin 12) FIELD7 (Pin 10) Pseudo Differential
CH_0_1 FIELD0 (Pin 24) FIELD1 (Pin 22) Fully Differential
CH_2_3 FIELD2 (Pin 20) FIELD3 (Pin 18) Fully Differential
CH_4_5 FIELD4 (Pin 16) FIELD5 (Pin 14) Fully Differential
CH_6_7 FIELD6 (Pin 12) FIELD7 (Pin 10) Fully Differential

Fully Differential vs Pseudo-differential

There is a subtle difference between fully differential and pseudo-differential conversion modes:

  • In fully differential mode, the converter's eight input lines are paired together as four separate, independent differential pairs. Each pair converts a differential signal in the range of -.030V to +5.030V (called the common mode range). That means that for each pair either input can be anywhere within that voltage range, and the result is the signed difference between the two inputs.
  • In pseudo-differential mode, one of the converter's eight input line is designated as a common signal return for the other seven lines. Again, the voltage on all eight input lines can lie anywhere within the common mode range of the converter, that is, -.030V to +5.030V. But the voltage measured on each of the seven inputs is measured with respect to the common signal return. That is, the voltage converted is the signed voltage difference between the input and the common return.

    Often it is very useful to have the flexibility of measuring with respect to a reference other than ground. For example, the output of a set of remote sensors may be referred to its ground, but because of ground loops in the power circuitry the sensors’ ground might be displaced from the measurement system's ground. Pseudo-differential mode, with the common channel input connected to the remote ground, allows you to measure all the sensors with respect to their ground reference, despite the uncontrolled offset.


Setting the programmable gain

The gain range of each channel is 1 to 128 allowing the input full scale range to be user-selectable from 0-2.5V to 0-20 mV respectively for unipolar signals, or a quasi-bipolar range of +/- 2.5 V or less, or a genuine bipolar range of +/- 20 mV. In all cases, the common mode range of the inputs is nominally 0-5V (precisely -30 mV to +5.03 V). If the input buffer is activated, the common mode range of the inputs is reduced, becoming +50 mV to +3.5V.


Input protection

In order to protect the AD7714 chip, which otherwise could be easily damaged by excessive input voltages, the 24/7 WildCard includes input protection circuitry. Protection resistors of 2.2K ohms are placed in series with each analog and reference input, and analog switches isolate the AD7714 inputs. In addition to providing additional input channels, the analog switches in conjunction with a zener protection circuit prevent over and under voltages from reaching the AD7714. The inputs are protected to ±70V continuously and up to ±2000V electrostatic discharges.


Allowable input impedance

In unbuffered mode there are gain errors owing to the interplay between input impedance, your source resistance and capacitance, and the source resistance and capacitance contributed by protection circuitry we add. Components and transducers with high source impedances connected to the analog inputs will introduce gain errors. Tables XII and XIII in the AD7714 data sheet show the maximum allowable source impedance for there to be no 16- and 20-bit gain errors. These tables are reproduced here:

low error high accuracy analog input

low error analog input

In order to protect the inputs (to ±2000V ESD and ±70V continuously) we add protection resistors and use analog switches and other circuitry to clamp the inputs – these add a base level of source impedance. The 2.2k protection resistors and the analog switches add additional resistance and capacitance to the inputs, decreasing the amount of allowable impedance listed in Tables XII and XIII. The resistance added is 2.2Kohms and the capacitance added is 22 pF on each line. Looking at Table XII you are allowed a total of 9.6 Kohm of source resistance and 50 pf for no 16-bit errors when using gains of 8-128. Because the protection circuit contributes 2.2K you are really allowed only up to 7.4 K.

To allow higher source impedances than those listed in Tables XII and XIII, the analog to digital converter has a buffered mode that buffers the input signal through a unity gain amplifier. The buffered mode operation provides zero gain error at the price of a small dc offset voltage of 2.2 μV. This offset voltage is generated by a 1 nA offset current from the buffer amplifier through the 2.2 kΩ protection resistor that is in series with the inputs to the analog to digital converter. To calculate the maximum offset voltage your transducer will generate, use Equation 1.

OffsetVoltage(μV) = 2.2μV + TransducerSourceImpedance * 1nA

There are also input errors contributed by the analog switches. They contribute a maximum of 2.5 nA leakage current at 85 degC. Their leakage is probably insignificant at room temperature. Nevertheless that leakage current times the source resistance will give you an input error (which can be calibrated away at a constant temperature).

To use the buffered mode call Buffer_On and to stop using the buffered mode call Buffer_Off. Note that in the buffered mode, the input common mode voltage range is limited to +50 mV to +3.5 V.

Our own measurements of the input offsets in the unbuffered mode are provided in the following table:

Uncalibrated measured input offset voltage in μV (BUFFER OFF)
1-2 1.8 3.8 3.1 3.5
1-2 -0.3 3.1 3.7 2.8
1-2 4.5 3.1 3. 3.1
3-4 -9.5 0.22 -0.17 -0.5
3-4 0.3 0.26 -0.2 -0.6
3-4 -1.5 0 -0.3 -0.36
5-6 0.6 -1.2 -1.6 -1.4
5-6 -6.6 -1.2 -1.2 -1.9
5-6 -1.2 -2. -1.1 -1.2

This table was generated by shorting all of the inputs of the AD7714 chip to analog ground. These should be used as a guide for the magnitude of the uncalibrated input offsets – actual values will change from component to component.


Converter noise and effective resolution

The AD7714 data sheet provides the effective resolution of a conversion as a function of gain and sampling frequency in Table Ia (for unbuffered mode) and Table III (for buffered mode) of the AD7714 data sheet. The noise voltages shown on the data sheet result from noise generated internally to the AD7714 chip itself – approximately 1.5 microvolts RMS at a 10 Hz sample rate and Gain of 1. The additional circuitry attached to the inputs of the chip contributes additional noise, effectively doubling the noise at low gains. Our own measurements of the RMS noise show that it is increased to approximately 2.7 microvolts at a 10 Hz sample rate and Gain of 1. The noise contribution of the additional circuitry diminishes at greater gains so that the noise figure is dominated by the internally generated noise.

Our own measurements of the 24-7 Wildcard Board's output noise (as μVRMS) are shown in the following table. Each cell of the table below was calculated by first performing a self calibration and then averaging 100 samples in bipolar mode at 10 Hz. Three sets of measurements were taken for each channel at each gain and the results averaged.

Measured RMS noise in microvolts
BUFFER OFF 1-2 3.0 0.64 0.38 0.25
BUFFER OFF 1-2 2.5 0.66 0.38 0.28
BUFFER OFF 1-2 2.7 0.69 0.40 0.29
BUFFER OFF 3-4 2.5 0.72 0.35 0.31
BUFFER OFF 3-4 2.7 0.60 0.37 0.23
BUFFER OFF 3-4 2.5 0.65 0.39 0.29
BUFFER OFF 5-6 2.7 0.61 0.42 0.34
BUFFER OFF 5-6 3.0 0.67 0.52 0.34
BUFFER OFF 5-6 2.6 0.67 0.42 0.34
BUFFER ON 1-2 3.0 0.44 0.38 0.27
BUFFER ON 1-2 2.5 0.43 0.34 0.31
BUFFER ON 1-2 2.6 0.41 0.36 0.32
BUFFER ON 3-4 2.6 0.43 0.42 0.28
BUFFER ON 3-4 2.6 0.44 0.33 0.30
BUFFER ON 3-4 2.4 0.40 0.38 0.25
BUFFER ON 5-6 2.5 0.39 0.34 0.24
BUFFER ON 5-6 2.5 0.44 0.38 0.23
BUFFER ON 5-6 2.2 0.47 0.42 0.26

It should be noted that chip's data sheet defines noise and resolution using RMS noise voltages, not peak-to-peak output noise numbers. Peak-to-peak noise numbers can be up to 6.6 times the RMS numbers while effective resolution numbers based on peak-to-peak noise can be 2.5 bits below the effective resolution based on RMS noise as quoted in the data sheet's tables.


Other sources of noise and offset error

Thermocouple junctions formed by the connection of dissimilar metals anywhere in the source circuit cause small errors. Junction potentials and Seebeck voltages are each a few microvolts per degree centigrade. So, unless extreme care is taken to cancel or compensate their effects they can be significant. The A/D's system calibration feature can compensate these at a single temperature, but it's hard to compensate them over a wide temperature range.


Tips for measuring small voltages

When measuring small voltages with the 24-Bit A/D Wildcard you should use twisted pairs of wires between the signals and the analog inputs of the Wildcard. Try to keep the wires as short as possible to reduce the noise that will be coupled into the A/D converter. You should also be aware of the thermocouple effect that can add microvolts of temperature dependent offset to a signal. It is difficult to completely prevent thermocouple effects, but a few precautions can minimize them. Whenever possible use twisted pair wires of the same type extending from the voltage to be measured and terminated at the field I/O connector.

To accurately measure small voltages, use the System Offset Calibration. The different calibration options will be covered in detail in the Software Section. The System Offset Calibration requires you to short the field inputs of the Wildcard together (at the sensor) during the calibration sequence to remove any offsets between the field inputs of the Wildcard and the inputs of the A/D Converter. Offsets can be as great as 100 microvolts if a System Offset Calibration is not performed.


Addressing the 24/7 WildCard using wildcard select jumpers

Address Jumper Settings
Wildcard Port Wildcard Address Installed Jumper Shunts
0 0 None
0 1 J2
0 2 J3
0 3 J2 and J3
1 4 None
1 5 J2
1 6 J3
1 7 J2 and J3
Note:<block indent>Address 0 is not available on the QScreen or Handheld. Use addresses 1 through 7 instead.</block>

The Wildcard Select Jumpers, labeled J2 and J3, select a 2-bit code that sets a unique address (0-7) on the Wildcard port of the Wildcard Bus on the controller board. Each Wildcard port on the Wildcard Bus can accommodate up to 4 Wildcards. Wildcard Port 0 on the Wildcard Bus provides access to Wildcards 0-3 while Wildcard Port 1 provides access to Wildcards 4-7. Two Wildcards on the same port cannot have the same address (jumper settings). The above table shows the possible jumper settings and the corresponding addresses.



The following section describes the high-level software routines that initialize, calibrate, configure, and command the 24/7 Data Acquisition Wildcard. Once the 24/7 Data Acquisition Wildcard is commanded to start converting, it continually samples and converts at a fixed rate. You can read the output once or store each sequential conversion to a memory buffer. Only one channel is sampled at a time; selecting a new channel requires restarting a conversion.

The software routines use global variables to store the current Wildcard and channel information. Thus all of the 24/7 Data Acquisition Wildcard software routines are non-re-entrant and only a single task in a multitasking application can use a 24/7 Data Acquisition Wildcard.

Please take time to read through the example programs. The examples illustrate how to effectively use the pre-coded software drivers. Many subtleties involved with using the 24/7 Data Acquisition Wildcard are highlighted in the example code.

The following steps and corresponding routines are required to obtain a sample from the 24/7 Data Acquisition Wildcard:

  1. Initialize the 24/7 Data Acquisition Wildcard using Init_AD24.
  2. Specify the reference voltage by calling Use_Onboard_Ref or Use_External_Ref.
  3. Calibrate, configure, and start converting samples from a channel with Start_Conversion. Start_Conversion will first calibrate the chip using whichever calibration scheme you specify, then continuously sample and convert samples at a fixed rate. Calibration will take several output periods, during which no output is available, after which outputs can be read anytime and will be updated at the fixed output rate.
  4. Fetch one or more samples from the converter chip by executing AD24_Sample or AD24_Multiple. AD24_Sample returns with the most recently acquired sample, and AD24_Multiple stores a series of samples to an array in memory.
  5. You can change channels or sample rate without doing a recalibration by executing Start_Conv_With_Values. It will reset the converter, delay for three output periods, then update its output each output period at the specified output rate.

Each step is described in detail in the next four sections.


Initializing the card

To initialize the 24/7 Data Acquisition Wildcard, call Init_AD24. This configures the Wildcard for communication via the controller's Serial Peripheral Interface (SPI), starts the controller's Timeslicer, and performs a reset (Reset_AD24) that disconnects all of the analog inputs from the AD7714 and resets its digital filter, analog modulator, and registers.


Specifying the reference voltage

Once the Wildcard is initialized, you must choose what type of reference voltage to use. To use the on-board 2.5 V reference voltage, simply call Use_Onboard_Ref and make sure the jumper shunt on J1 is not installed. If an external reference voltage is required, connect the reference voltage to FDREF+ (pin 9 on H2) and FDREF- (pin 11 on H2) and call Use_External_Ref. These two routines connect the specified reference voltage to the reference input on the analog to digital converter. Be sure to only use 1.0 to 2.5 volts as an external reference voltage and be sure that FDREF+ is more positive with respect to FDREF-.


Calibrating and starting a conversion

After you initialize the 24/7 Data Acquisition Wildcard and specify the reference voltage, you can calibrate, configure, and start converting samples using Start_Conversion. An alternative routine, Start_Conv_With_Values, allows you to forgo the calibration process and use already determined calibration coefficients instead. Each of these routines are discussed in turn.

To use any of the channels listed in Table 1, the channel must first be calibrated. You should also perform a calibration whenever the temperature or supply voltage changes significantly, or whenever you change the gain, sample frequency, or polarity options. Start_Conversion calibrates the analog to digital converter with the specified options and calibration type and initiates continuous sampling and conversion. Start_Conversion requires seven parameters to configure the sample frequency, gain, calibration type, polarity, resolution, burnout current option, and channel: each of which is discussed in detail in the following paragraphs. Start_Conversion also performs extensive error checking on each parameter to ensure that each option is valid. Table 3 lists the possible error codes returned by Start_Conversion.

   Error Codes Returned By Start Conversion   
Error Code Description
-1 Start Conversion Successful
1 Invalid Gain
2 Invalid Frequency
3 Invalid Calibration Type
4 Invalid Channel
5 Invalid Synchronization Option
6 Invalid Burnout Current Option
7 Invalid Resolution
8 Invalid Polarity
9 Timeout Error

Starting a conversion with predetermined calibration coefficients

Once you calibrate a channel using Start_Conversion, you do not have to repeat the calibration unless the temperature or power supply voltage changes. To start a conversion without a calibration use Start_Conv_With_Values. This routine allows you to quickly switch back and forth between channels without recalibrating the channel each time. Start_Conv_With_Values requires nine parameters: the full scale calibration values, zero scale calibration values, sample frequency, gain, polarity, resolution, burnout current option, synchronization option, and channel.

To call Start_Conv_With_Values you need valid calibration coefficients. You can obtain these coefficients by calling Read_Zero_Cal and Read_FS_Cal after Start_Conversion is called. Be sure to save all seven parameters that specify the channel information (such as the gain, resolution, and sample frequency) along with the calibration values. See the example program in the Example Code Section for an example application using Start_Conv_With_Values to obtain and store 10 samples to an array from four channels.

No error checking is done in Start_Conv_With_Values to minimize the time required to switch from one channel to another and because error checking would already have been done by Start_Conversion.

The following sections describe the parameters required by Start_Conversion and Start_Conv_With_Values.


Calibration options

The calibration option is only required by Start_Conversion and not by Start_Conv_With_Values. The 24/7 Data Acquisition Wildcard has two basic calibration options, a self calibration and a system calibration. A self calibration performs a calibration that sets the analog to digital converter's zero point and gain by internally shorting its inputs. A system calibration performs the same calculations as a self calibration but uses voltages at the analog field inputs for the zero and full scale points. All together there are seven calibration options that are variations on a self or system calibration.

Figure 3 displays the different calibration options and their relationship to the two different calibration types. The left side of the figure shows the four different types of self calibration options while the right side shows the three different types of system calibration options. The bottom level contains the four basic calibration options while the top level shows the higher-level calibration options that simply call the basic calibration options in different ways.

Calibration options for the AD7714 24-bit resolution A/D (analog to digital converter) showing full scale and zero scale system and internal calibration methods.
Fig. 3  Calibration options for the AD7714 24-bit resolution analog to digital converter showing relationships among full scale and zero scale, system-wide and self (internal), calibration methods.

The following table summarizes the calibration options and the associated constants that you must pass to Start_Conversion as well as their execution times. Each calibration option is discussed in the following sections.

Calibration Options
Calibration Type Duration of Calibration* Associated Constant
Full Self Calibration 10 x sample period SELF_CAL
Zero Scale Self Calibration 7 x sample period ZERO_SELF_CAL
Full Scale Self Calibration 7 x sample period FS_SELF_CAL
Background Calibration 6 x sample period BACKGND_CAL
Zero Scale System Calibration 5 x sample period ZERO_SYS_CAL
Full Scale System Calibration 5 x sample period FS_SYS_CAL
System Offset Calibration 10 x sample period SYS_OFFSET_CAL
* The duration of the calibration operations are rounded up from the times listed in
   Table XI of the data sheet to account for the pipe line delay as specified in the data sheet.
  • Full self-calibration

    A self calibration sets the analog to digital converters zero point and gain by internally shorting its inputs. A Full Self Calibration performs both Zero-Scale Self Calibration, that sets the analog to digital converter's zero point, and a Full-Scale Self Calibration, that sets the analog to digital converter's gain. Either of these may also be performed separately from a Full Self Calibration. However, a Full-Scale Self Calibration should not be performed unless the analog to digital converter already has valid zero-scale coefficients.

    The zero-scale coefficients are loaded by calling Start_Conv_With_Values, performing a Full Self Calibration, or performing a Zero-Scale Self Calibration.

    You can perform a self-calibration in separate steps after a Full Self Calibration for additional offset or gain calibrations. Calibrating one of the parameters, either offset or gain, does not affect the other parameter.

  • Background calibration

    A Background Calibration interleaves the calibration procedure with the normal conversion sequence. In background calibration mode, the analog to digital converter provides continuous zero-scale self-calibrations; it does not provide any full-scale calibrations. When invoked, the background calibration mode performs a Zero Scale Self Calibration after every sample, reducing the sampling frequency by a factor of six. Its advantage is that the analog to digital converter is continually performing offset calibrations and automatically updating its zero-scale calibration coefficients. As a result, the effects of temperature drift, supply sensitivity, and time drift on zero-scale errors are automatically removed.

    Because the background calibration does not perform full-scale calibrations, a Full Self Calibration should be performed before starting a background calibration. Removal of the offset drift in this mode leaves gain drift as the only source of error not removed. Typical gain drift with temperature for the AD7714 is 0.2 ppm/degree C. The synchronization option discussed below should not be used when a Background Calibration is operating.

  • System calibration

    A system calibration performs the same calculations as a self calibration but uses voltages at the analog field inputs for the zero and full scale points. Full system calibration requires a two-step process, a Zero Scale System Calibration followed by a Full Scale System Calibration. A Full Scale System Calibration should not be performed unless the analog to digital converter has valid zero-scale coefficients. The zero-scale coefficients are loaded by calling Start_Conv_With_Values or by performing a Zero Scale System Calibration.

    The input voltages used for both system calibrations must be applied to the 24/7 Data Acquisition Wildcard before the calibration is initiated and remain stable until the calibration is complete. In unipolar mode, the system calibration is performed between the two endpoints of the transfer function; in the bipolar mode, it is performed between midscale (zero differential voltage) and positive full scale.

    You can perform a system-calibration in separate steps for additional offset or gain calibrations. Calibrating one of the parameters, either offset or gain, does not affect the other parameter.

  • System offset calibration

    The System Offset Calibration is a variation of both the system calibration and self-calibration. In this case, the zero-scale point is determined with a Zero Scale System Calibration and the full-scale calibration is performed with a Full Scale Self Calibration. The zero-scale point must be applied to the analog field inputs before the calibration is initiated and remain stable until the calibration is complete.

    Whenever you use a system calibration mode, there are limits on how much the offset and span can be adjusted. The positive full-scale calibration limit is ≥ 1.05 x VREF/GAIN. This allows the input range to go 5% above the nominal range so that the digital to analog converter will still operate correctly with a positive full-scale voltage beyond the nominal. For more information on span and offset limits, see page 25 of the data sheet.


Choosing the sample rate

The 24/7 Data Acquisition Wildcard supports a wide range of sample rates from 4.8 to approximately 1010 samples per second (sps). The sample frequency is specified as an integer (frequency integer in this document) from 19 to 4000 and provided as an input parameter to Start_Conversion or Start_Conv_With_Values. The equation shows the relationship between the frequency integer, n, and the sample frequency (in sps or Hz).

Gain and Sample Frequency Effective Resolution

where n is the frequency integer whose value ranges from 19 to 4000. The sample period is equal to the multiplicative inverse of the sample frequency. The following table lists some of the available sample frequencies, in particular showing the available integer sample frequencies attainable.

Some representative sample frequencies
(You may set the integer n to any value from 19 to 4000)
Integer n Sample Rate (sps) Integer n Sample Rate (sps)
4000 4.8 200 96
3999 4.801 192 100
3998 4.802 160 120
3840 5 150 128
3200 6 128 150
2400 8 120 160
1920 10 100 192
1600 12 96 200
1280 15 80 240
1200 16 75 256
960 20 64 300
800 24 60 320
768 25 50 384
640 30 48 400
600 32 40 480
480 40 32 600
400 48 30 640
384 50 25 768
320 60 24 800
300 64 21 914.3
256 75 20 960
240 80 19 1010.5

Changing the sampling frequency as well as the gain impacts resolution. The following table, taken from the manufacturers datasheet, shows the effect of the sampling frequency and gain on the effective resolution.

Effect of Gain and Sample Frequency on Effective Resolution
Sample Frequency in Hz Accuracy as an Effective Resolution In Bits
Gain of 1 Gain of 8 Gain of 32 Gain of 128
10 22.5 (21.5)* 21.5 20.0 18.0 (16.5)*
60 20.0 19.5 18.0 16.0
240 15.5 15.5 15.5 14.5
960 11.0 (10.5)* 11.0 10.5 10.5 (11.0)*
* Values in parentheses indicate our own measurements of the effective resolution.

In the above table, the sample frequencies are rounded to the nearest whole number and values in parentheses indicate our own measurements of the effective resolution. The analog to digital converter internally adds approximately 1 μV of noise on its analog inputs. This limits the accuracy of the converter at different sample frequencies. The table shows that the other components on the Wildcard (including the analog switches and protection circuitry), together with noise from the attached processor board, add roughly an additional 1 μV of noise to the analog to digital converter.

The 24/7 Data Acquisition Wildcard has a built in low pass filter that exhibits a first notch filter frequency equal to the sample frequency and a –3 dB frequency equal to about one quarter of the sample frequency (0.262 x sample frequency). At the sample frequency and integer multiples of the sample frequency, the filter attenuates input signals by more than 100 dB. For example, if 10 Hz is used as the sample frequency, there are deep notches at 50 Hz and 60 Hz that will significantly attenuate all differential and common-mode noise, as shown in the following figure.

Graph of the AD7714’s low pass filter response for a 10 Hz sampling rate.
Fig. 4  The 24-bit high resolution data acquisition system's built-in low pass filter removes 50 and 60 Hz noise with very deep notches, when using a sample rate of 10 samples/sec.

The AD7714’s digital filter is a low-pass filter with a (sinx/x)3 response (also called sinc3). The response of the filter is similar to that of an averaging filter but with a sharper roll-off. The output rate for the digital filter (i.e., the sample rate) corresponds with the positioning of the first notch of the filter’s frequency response, with notches of this (sinx/x)3 filter repeated at multiples of the first notch.

Figure 5 shows the general low-pass response of a sinc3 filter. The computations that generated the graph are available to you in this spreadsheet.

Response of a ^3 low pass filter
Fig. 5  The A/D's low pass filter has deep notches at integer multiples of the sample frequency, and in between the attenuation is always greater than -60⋅LOG(πF).

Setting the gain

The gain option is specified as a constant to Start_Conversion or Start_Conv_With_Values. Valid constants are GAIN_1, GAIN_2, GAIN_4, GAIN_8, GAIN_16, GAIN_32, GAIN_64, or GAIN_128. Saturation will occur if the absolute value of the input signal multiplied by the gain is greater than 2.5 volts.


Choosing bipolar or unipolar conversion

Passing the UNIPOLAR or BIPOLAR constant to Start_Conversion or Start_Conv_With_Values sets the polarity option for the Wildcard. The 24/7 Data Acquisition Wildcard accepts either unipolar or bipolar input voltage ranges. Bipolar input ranges do not imply that the part can handle negative voltages below –20 mV on its analog inputs! The input channels are arranged in pairs with an Analog In + and Analog In -. As a result, the voltage to which the unipolar and bipolar signals on the Analog In + input are referenced is the voltage on the respective Analog In - input. For example, if Analog In – is +2.5 V and the Wildcard is configured for unipolar operation with a gain of 2 and a reference voltage of +2.5 V, the input voltage range on the Analog In + input is +2.5 V to +3.75 V. If Analog In – is +2.5 V and the Wildcard is configured for bipolar mode with a gain of 2 and a reference voltage of +2.5 V, the analog input range on the Analog In + input is +1.25 V to +3.75 V (i.e., 2.5 V +/- 1.25 V).


Specifying 16- or 24-bit resolution

The 24/7 Data Acquisition Wildcard has two resolution settings: 16 and 24 bit. The 16 bit resolution option is used when the constant WORD_16BIT is passed to Start_Conversion or Start_Conv_With_Values. The 24 bit option is used when the constant WORD_24BIT is passed to Start_Conversion or Start_Conv_With_Values. Changing the resolution only changes the data size; it does not affect the conversion process.


Using the burnout current option

The analog to digital converter contains two 1 μA currents, one source current from the analog power supply to the current Analog In + and one sink from Analog In – to analog ground. The currents are either both on or both off depending on the constant, BO_ON or BO_OFF, that is passed to Start_Conversion or Start_Conv_With_Values. You can use these currents to see if a transducer has burned out or gone open-circuit before attempting to take measurements on that channel. If the transducer becomes an open-circuit with the burnout currents on, the input voltage will be measured at or near full scale. If the transducer becomes a short circuit with the burnout currents on, the input voltage will be measured as a small, but usually non-zero value. The small, non-zero voltage results from the burnout current flowing through 2kΩ input protection resistors on the board, to produce about 2 millivolts in each signal line.

You should use the burnout option intermittently to test the integrity of the attached sensor, but you should not attempt a measurement with it on. If you perform a measurement the value read will be the sum of the actual input voltage plus voltage offsets proportional to the burnout current and the input protection resistances.


Synchronizing conversions

The synchronization option allows you to reset the modulator and the digital filter of the analog to digital converter without affecting any other settings such as gain, channel, polarity, or calibration values. This allows conversions to be started at a precisely known time. To start a synchronous conversion, pass FSYNC_ON to Start_Conv_With_Values or call Sync, which synchronizes the conversion through a hardware pin. A valid sample will be available 3 sample periods (3/sample frequency) later. For example, if the sample frequency is 10 Hz, the channel has already been calibrated, and Sync is called, the next sample will be available after 300 ms (3 / 10 Hz). The synchronization option should not be used when a Background Calibration is operating.


Specifying the source channels

The software driver routines accept a predefined constant to select the desired source channel. See the section labeled Choosing the analog input channels above for the meaning of each predefined constant.


Obtaining a sample

Once the 24/7 Data Acquisition Wildcard has been initialized, calibrated, and configured, you can take one or more samples using AD24_Sample or AD24_Multiple. Irrespective of the resolution option chosen, the samples are returned as 32-bit (4 byte) values. AD24_Sample acquires a single sample by polling the analog to digital converter. If a sample is not available within a timeout period, an error is returned. The timeout period is calculated by Equation 3.

sample timing analog equation

Equation 3: Calculation of the Timout Value

The calibration delay is based on the calibration option and is listed in Table 4 as the "Duration of Calibration". The timeout period allowed is always great enough to account for the filter settling time (pipeline delay) after a channel is changed. If a timeout occurs, the timeout error flag is placed in the least significant byte of the returned 32-bit value. A 32-bit value is used to allow an error flag to be returned with data regardless of the resolution (16 or 24 bits). See Figure 3 for a diagram of the data format.


Figure 3: 32 Bit Value Returned By AD24_Sample

For a16 bit sample, WWWWWWWW is the most significant byte, XXXXXXXX is the least significant byte, YYYYYYYY is 0, and ZZZZZZZZ is the timeout flag. For a 24 bit sample, WWWWWWWW is the most significant byte, XXXXXXXX is the next significant byte, YYYYYYYY is the least significant byte, and ZZZZZZZZ is the timeout flag.

To obtain multiple samples, you can use AD24_Multiple. This routine acquires up to 8192 samples and stores the samples as sequential 32 bit values in memory within a timeout period or a false flag is returned. This routine sets up an interrupt service routine to obtain the multiple samples. The interrupt service routine (ISR) runs at more than twice the sample frequency to eliminate clock variations between the 24/7 Data Acquisition Wildcard and the controller board and to guarantee that a sample is not missed even if the ISR is delayed up to 1/2 a sample period (or one full ISR period). Equation 4 shows how the ISR period is calculated.

ISR timing equation

Equation 4: Calculation of the ISR Period

The interrupt latency delay is composed of 200 μs for the time to update the analog to digital converter's data register with sample values, 10 μs of interrupt latency delay, and 50 μs to read the data ready line when the ISR is entered. You can also use this equation to calculate the maximum time the ISR can be delayed or the SPI used without missing a sample. The 24/7 Data Acquisition Wildcard uses the SPI to communicate with the controller board. You can create other tasks or routines that use the SPI as long as they do not use the SPI longer than one ISR period. For example to guarantee that a sample is not missed at a sample rate of 10 Hz, the maximum time another interrupt can take or routine can use the SPI is approximately 50 ms (0.04987 = ((1/10) - 0.00026) / 2).


Single- and multi-channel sampling

While the AD7714 provides a simple method of continuous sampling of one channel, it's trickier to use for many channels. If set to convert a single channel then left alone, it just happily samples away, at a constant rate, and you can read the most recent result anytime. That's the easiest way to operate it. But, sampling from several channels is more involved, because the converter has to be restarted when the channel is changed, the proper calibration coefficients have to be loaded in when it is restarted, and there is a three output period 'lock-out" time after changing channels before a valid output is ready.


Continuous sampling from a single channel

The simplest operation of the WildCard occurs when you need to continuously sample a single channel. Once the convertr starts, via either Start_Conversion or Start_Conv_With_Values it converts a precisely controlled rate, controlled by an onboard crystal. Start_Conversion invokes a calibration procedure, as described above, that takes several output periods to complete. During this "lock-out" time an output is not available. If started using Start_Conv_With_Values, and the channel is changed from the prior channel, the A/D also has a three period lockout time during which an output is not available, so that its internal digital filter can fully settle. If AD24_Sample is called during these lock-out times it will wait (calling PAUSE to allow multitasking) until the first output value is ready.

After the calibration is completed or the digital filter settles, the output register is updated at the rate you specify. Calling AD24_Sample always returns the most recently available sample. For just a few microseconds during the update of the output register the register can not be read, so AD24_Sample waits briefly during that time for the new output value. If called any other time AD24_Sample returns immediately with the most recent value, which remains available for the rest of the output period, until the next update.

You have great latitude in when you call AD24_Sample to read the output. If the converter is sampling every 100 msec, you can call AD24_Sample anytime during each 100 msec period to read the output value giving you great immunity to timing jitter. If you time your call to AD24_Sample shortly after each output becomes available, then your call to AD24_Sample will be immune to delays (caused by other tasks hogging the machine) as long as 100 msec before it would miss reading an output. The timing of the A/D samples is precise, being controlled by a crystal time base on the WildCard, even if the timing of reading the output is imprecise.


Sequential sampling from several channels

It is often the case that you may want to sequentially sample from several different input channels. In that case you must restart the converter to change channels using either Start_Conversion or Start_Conv_With_Values. Start_Conversion will do a specified calibration on the new channel, while Start_Conv_With_Values saves a little time by forgoing the calibration. If you do an initial calibration of each channel using Start_Conversion you can then use Start_Conv_With_Values to obtain each subsequent sample from the channels by passing the channel-specific calibration coefficients to Start_Conv_With_Values.

If you use Start_Conv_With_Values the converter restarts 2.34 milliseconds after Start_Conv_With_Values begins, then converts at the specified rate. So if for each sample you change the channel you will be restarting the timing of the converter for that channel. In this case the timing of when the sample is taken depends entirely on when you call Start_Conv_With_Values. Consequently, you'll definitely need a software clock to time it.

Unlike an analog filter that settles fully only in infinite time, the AD7714's internal digital filter settles in finite time. It takes exactly three output periods to fully settle by flushing its queue. So for a full-scale step change in the input that occurs asynchronously with the operation of the part, the next three outputs will not have settled, just as you'd expect of any low pass filter, but the fourth is guaranteed to be fully settled.

When changing channels, the part restarts (exactly 2.34 milliseconds after you tell it to using Start_Conv_With_Values) and the chip's input modulator and digital filter also restart so the output settling time is exactly three times the output data period. Because the part "knows" you won't want corrupted data after switching channels, as the new channel's voltage is likely to be very different from the old channel's, the chip doesn't update the output data register until the settling time of the filter has fully elapsed. So after requesting a sample on a new channel, the driver routine, AD24_Sample, will wait while reading the data ready line and not return until three data periods have elapsed. It will then return with your first valid data point. So it is throwing away the invalid samples for you. (page 22 of the AD7714 datasheet discusses this, last paragraph under "Filter Characteristics") Because this dead time is an appreciable time for the processor we designed AD24_Sample to operate in a multitasking environment. It pauses, allowing other tasks to run while it's waiting for the A/D to finish its job.

Sampling from multiple channels is slower
For the same programmed sample rate, the converter is much slower, by a factor of three, if you change channels between each conversion than if you just let it run on the same channel.

The net result of all this is that the effective throughput of the A/D is considerably slower if you change the channel for each sample because it goes through three output update cycles, throwing away the data, before it returns with the first valid data point. That's the bad news; the good news is that those sample periods the digital filter takes to settle are merely the price we pay for the noise filtering characteristics of the filter. There are deep notches at each harmonic of the output data rate, and you can choose that data rate to provide good immunity to common noise sources such as 50 and 60 Hz.

Changing channels for each sample also puts the onus on you for controlling the timing of the samples. Any jitter in the timing of the call to Start_Conversion or *Start_Conv_With_Values will be reflected in an uncertainty in the timing of the A/D sample. It is generally easy to design your software so that this jitter is inconsequential, but it is a consideration you must keep in mind.


Forth and C example programs

There are three example programs written in both the C and Forth languages for your use. You can start with one of these as a template when building your application. They functionally mirror their Forth counterparts.


Connector pin-outs

Pin-outs of the two connectors on the 24/7 Data Acquisition Wildcard are presented below. To locate the connectors on the board, consult the white silk-screened labels located near each connector. Pin 1 and pin 24 are identified on each side and on each connector.

Several signals on the Wildcard Bus have compound names to suggest multiple functions. For example, SEL0/XMIT+ is a signal that can be used as a Wildcard select line or the RS485 positive transmit line. The underlined signals are used by the 24/7 Data Acquisition Wildcard while the signals with an asterisk are not.

You will generally not need to concern yourself with the Wildcard Bus signals. You will need to connect your input signals to the Field Header. Signals FIELD0 through FIELD7 provide the four fully differential or seven pseudo-differential inputs. DIN-1, DIN-2 and DIN-3 are the three digital inputs.

H3: Wildcard Bus

Signal Pins Signal
GND – 1 2 – +5V (at 70 ma.)
*/IRQ – 3 4 – V+RAW (5.5-26V at <10 ma)
           SEL1/XMIT- – 5 6 – SEL0/XMIT+
/RESET– 9 10 –SCK
/MOD.CS– 1112 –16MHZ*
E– 1314 –R//W*
/OE– 1516 –/WE
AD7– 1718 –AD6
AD5– 1920 –AD4
AD3– 2122 –AD2
AD1– 2324 –AD0

H2: Field Header

Signal Pins Signal
GND– 1 2 –+5V
DIN-3– 3 4 –V+RAW (5.5-26V)
DIN-1– 5 6 –DIN-2
REF+– 7 8 –VAN
           FDREF+– 9 10 –FIELD7
FDREF-– 11 12 –FIELD6
REF-– 13 14 –FIELD5
AGND– 15 16 –FIELD4
AGND– 17 18 –FIELD3
AGND– 19 20 –FIELD2
AGND– 21 22 –FIELD1
AGND– 23 24 –FIELD0

Wildcard schematic

This page is about: High Resolution 24-bit Data Acquisition System & Analog-to-digital Converter with Software Programmable Gain Amplifier (PGA) and Anti-aliasing Filter – The 24/7 Data Acquisition Wildcard gives you the ability to amplify and sample low level signals directly from transducers using sigma-delta conversion. Its state-of-the-art 24-bit resolution ADC, Analog Devices AD7714, provides 24-bits resolution with no missing codes performance. Built-in programmable gain amplifier enables accurate measurement of millivolt and microvolt signals, as from pressure transducers, bridges, strain gauges and thermocouples.