The ADS122C04 is a precision, 16-bit, analog-to-digital converter (ADC) that offers many integrated features to reduce system cost and component count in applications measuring small sensor signals. The device features two differential or four single-ended inputs through a flexible input multiplexer (MUX), a low-noise, programmable gain amplifier (PGA), two programmable excitation current sources, a voltage reference, an oscillator, and a precision temperature sensor.
The device can perform conversions at data rates up to 2000 samples-per-second (SPS) with single-cycle settling. At 20 SPS, the digital filter offers simultaneous 50-Hz and 60-Hz rejection for noisy industrial applications. The internal PGA offers gains up to 128. This PGA makes the ADS112C04 ideally suited for applications measuring small sensor signals, such as resistance temperature detectors (RTDs), thermocouples, thermistors, and resistive bridge sensors.
-
MUX (input selection): The input can be selected from AIN0, AIN1, AIN2, AIN3, or AVSS. The MUX output is AINp(+) and AINn(-). The AVSS can only be selected for AINn(-) for single-ended measures. Also, a temperature sensor can be used as an input: temperature_sensor
-
PGA: The programmable gain amplifier can be configured to amplify the incoming signal. The system also uses a switched-capacitor to set the gain. Gain description.
-
Programmable current source (IDAC): There are 2 current sources that can set a current to the AINx pins and to REFP and REFN pins. They can be use to sense RTDs (resistance temperature detector).
-
Reference MUX: The analog reference voltage can be selected from 3 different sources: build-in regulated source of 2.048v, REFP/REFN(analog external reference value), AVDD/AVSS(analog circuit power source).
-
Two pins for configuring I2C address: address
-
Pin for indicating is data ready (~DRDY)
The main ADS112C04 driver is provided by Texas Instruments as an example code: code.zip
This repository implements a library for the ADS112C04. The characteristics of the driver are:
- Full TDD developed.
- Doxygen comments. The interface is declared on ads112c04_api.h. The file ads112c04_defines.h have the data types used as a documented guide.