LTC2422 - 1-/2-Channel 20-Bit µPower No Latency Delta Sigma ADCs in MSOP-10

Features

  • 20-Bit ADCs in Tiny MSOP-10 Packages
  • 1- or 2-Channel Inputs
  • Single Supply 2.7V to 5.5V Operation
  • Low Supply Current (200µA) and Auto Shutdown
  • Automatic Channel Selection (Ping-Pong) (LTC2422)
  • No Latency: Digital Filter Settles in a Single Conversion Cycle
  • 8ppm INL, No Missing Codes
  • 4ppm Full-Scale Error
  • 0.5ppm Offset
  • 1.2ppm Noise
  • Zero Scale and Full Scale Set for Reference and Ground Sensing
  • Internal Oscillator—No External Components Required
  • 110dB Min, 50Hz/60Hz Notch Filter
  • Reference Input Voltage: 0.1V to VCC
  • Live Zero—Extended Input Range Accommodates 12.5% Overrange and Underrange
  • Pin Compatible with LTC2401/LTC2402

Typical Application

LTC2422 Typical Application
LTC2422 Typical Application

Description

The LTC®2421/LTC2422 are 1- and 2-channel 2.7V to 5.5V micropower 20-bit analog-to-digital converters with an integrated oscillator, 8ppm INL and 1.2ppm RMS noise. These ultrasmall devices use delta-sigma technology and a new digital filter architecture that settles in a single cycle. This eliminates the latency found in conventional DeltaSigma converters and simplifies multiplexed applications.

Through a single pin, the LTC2421/LTC2422 can be configured for better than 110dB rejection at 50Hz or 60Hz ±2%, or can be driven by an external oscillator for a user defined rejection frequency in the range 1Hz to 120Hz. The internal oscillator requires no external frequency setting components.

These converters accept an external reference voltage from 0.1V to VCC. With an extended input conversion range of –12.5% VREF to 112.5% VREF (VREF = FSSET – ZSSET), the LTC2421/LTC2422 smoothly resolve the offset and overrange problems of preceding sensors or signal conditioning circuits.

The LTC2421/LTC2422 communicate through a 2- or 3-wire digital interface that is compatible with SPI and MICROWIRE™ protocols.

 

Packaging

For complete and up to date package information and drawings, please refer to our packaging page

MSOP-10

LTC2422 Package Drawing
LTC2422 Package Drawing

Order Info

Package Variations and Pricing

Part Number Package Pins Temp Price (1-99) Price (1k)* RoHS Data
LTC2422CMS MSOP 10 C $5.55 $4.50 View
LTC2422CMS#PBF MSOP 10 C $5.55 $4.50 View
LTC2422CMS#TR MSOP 10 C $4.51 View
LTC2422CMS#TRPBF MSOP 10 C $4.51 View
LTC2422IMS MSOP 10 I $6.25 $5.05 View
LTC2422IMS#PBF MSOP 10 I $6.25 $5.05 View
LTC2422IMS#TR MSOP 10 I $5.11 View
LTC2422IMS#TRPBF MSOP 10 I $5.11 View
Buy NowRequest Samples
* The USA list pricing shown is for BUDGETARY USE ONLY, shown in United States dollars (FOB USA per unit for the stated volume), and is subject to change. International prices may differ due to local duties, taxes, fees and exchange rates. For volume-specific price or delivery quotes, please contact your local Linear Technology sales office or authorized distributor.

Demo Boards

Linear Technology offers many demo boards free of charge to qualified customers. Contact your local sales office or distributor to inquire about a demo board. Certain demo boards are also available for sale via credit card on this website. Demo boards are for evaluation purposes only. It remains the customer’s responsibility to verify proper and reliable operation in the actual end application.

Part Number Description Price Documentation
DC2026A-KIT DC2026A with DC934A Demo Board | Linduino One Isolated Arduino-Compatible Demonstration Board with LTC2607/LTC2422 (DC934A) Demo Board. $125.00
DC2026B-KIT DC2026B with DC934A | Linduino One Isolated Arduino-Compatible Demonstration Board with LTC2607/LTC2422 (DC934A) Demo Board. $125.00
Buy Now
Click here to view our complete list of demo boards

Applications

  • Weight Scales
  • Direct Temperature Measurement
  • Gas Analyzers
  • Strain Gauge Transducers
  • Instrumentation
  • Data Acquisition
  • Industrial Process Control

Product Notifications

Please login to your MyLinear account for notifications of datasheet updates, new document releases and LTspice model announcements for your favorite products. If you do not have a MyLinear account you may Sign Up Now.

Forgot your password? Click here.
Need help? Email mylinear@linear.com with questions and comments.

Design Tools

Linduino

Linduino is an Arduino compatible platform for developing and distributing firmware libraries and code for SPI and I²C-compatible integrated circuits. The Linduino One board interfaces to more than 300 QuikEval demonstration cards, supporting a variety of product types including analog-to-digital converters (ADCs)digital-to-analog converters (DACs)power monitors, and more. Firmware libraries for individual devices are written in C and designed to be portable to a wide variety of processors and microcontrollers. Each library has a demonstration program that can be uploaded to the Linduino One platform to allow the circuit and software to be quickly and easily verified.

Click here for more information on Linduino

Code

Linduino is Linear Technology's Arduino compatible system for developing and distributing firmware libraries and example code for Linear Technology’s integrated circuits. The code below can be downloaded or copied and pasted into your project. Please visit the Linduino Home Page for demo board, manual and setup information.

This part is Code Supported: There is example code available for this part. The code below may rely on other drivers available in the full library.

Download LTC2422 Linduino .CPP File

/*!
LTC2422: 1-/2-Channel 20-Bit uPower No Latency Delta-Sigma ADC in MSOP-10

@verbatim

The LTC2421/LTC2422 are 1- and 2-channel 2.7V to 5.5V micropower 20-bit analog- 
to-digital converters with an integrated oscillator, 8ppm INL and 1.2ppm RMS 
noise. These ultrasmall devices use delta-sigma technology and a new digital 
filter architecture that settles in a single cycle. This eliminates the latency 
found in conventional delta-sigma converters and simplifies multiplexed 
applications. Through a single pin, the LTC2421/LTC2422 can be configured for 
better than 110dB rejection at 50Hz or 60Hz +/-2%, or can be driven by an 
external oscillator for a user defined rejection frequency in the range 1Hz to 
120Hz. The internal oscillator requires no external frequency setting 
components. 

@endverbatim

http://www.linear.com/product/LTC2422

http://www.linear.com/product/LTC2422#demoboard

REVISION HISTORY
 $Revision: 1922 $
 $Date: 2013-09-07 08:48:00 -0700 (Sat, 07 Sep 2013) $

Copyright (c) 2013, Linear Technology Corp.(LTC)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of Linear Technology Corp.

The Linear Technology Linduino is not affiliated with the official Arduino team.
However, the Linduino is only possible because of the Arduino team's commitment
to the open-source community.  Please, visit http://www.arduino.cc and
http://store.arduino.cc , and consider a purchase that will help fund their
ongoing work.
*/

//! @defgroup LTC2422 LTC2422: 1-/2-Channel 20-Bit uPower No Latency Delta-Sigma ADC in MSOP-10

/*! @file
    @ingroup LTC2422
    Library for LLTC2422: 1-/2-Channel 20-Bit uPower No Latency Delta-Sigma ADC in MSOP-10
*/

#include 
#include 
#include "Linduino.h"
#include "LT_I2C.h"
#include "LT_SPI.h"
#include "LTC2422.h"
#include 

uint8_t LTC2422_EOC_timeout(uint8_t cs, uint16_t miso_timeout)
// Checks for EOC with a specified timeout (ms)
{
  uint16_t timer_count = 0;             // Timer count for MISO
  output_low(cs);                       //! 1) Pull CS low
  while (1)                             //! 2) Wait for SDO (MISO) to go low
  {
    if (input(MISO) == 0) break;        //! 3) If SDO is low, break loop
    if (timer_count++>miso_timeout)     // If timeout, return 1 (failure)
    {
      output_high(cs);                  // Pull CS high
      return(1);
    }
    else
      delay(1);
  }
  output_high(cs);                      // Pull CS high
  return(0);
}

// Read ADC code from the LTC2422. Does not wait for end-of-conversion.
// To automatically wait for conversion to complete, use the LTC2422_EOC_timeout before this function..
void LTC2422_adc_read(uint8_t cs, uint8_t *adc_channel, int32_t *code)
{
  LT_union_int32_4bytes data, command;      // LTC2422 data

  command.LT_int32 = 0x00000000; 

  spi_transfer_block(LTC2422_CS, command.LT_byte , data.LT_byte, (uint8_t)3);
  if(data.LT_byte[2] & 0x40) // Obtains Channel Number
  {
    *adc_channel = 1;
  }
  else
  {
    *adc_channel = 0;
  }
  data.LT_byte[2] &= 0x3F;                  // Clear channel bit here so code to voltage function doesn't have to.
  data.LT_byte[3] = 0x00;                   // Make sure MS Byte is zero, data is right-justified.
  *code = data.LT_int32;                    // Return data
}

// Calculates the voltage given the ADC code and lsb weight.
float LTC2422_code_to_voltage(int32_t adc_code, float LTC2422_lsb)
{
  float adc_voltage;
  adc_code -= 0x00200000;                         //! 1) Subtract offset
  adc_voltage=((float)adc_code)*LTC2422_lsb;      //! 2) Calculate voltage from ADC code and lsb
  return(adc_voltage);
}

// Calculates the lsb weight from the given reference voltage.
void LTC2422_calculate_lsb(float LTC2422_reference_voltage, float *LTC2422_lsb)
{
  *LTC2422_lsb = LTC2422_reference_voltage/(1048575);        //! 1) Calculate the LSB, ref_voltage /(2^20-1)
}


Download LTC2422 Linduino Header File

/*!
LTC2422: 1-/2-Channel 20-Bit uPower No Latency Delta-Sigma ADC in MSOP-10

@verbatim

The LTC2421/LTC2422 are 1- and 2-channel 2.7V to 5.5V micropower 20-bit analog- 
to-digital converters with an integrated oscillator, 8ppm INL and 1.2ppm RMS 
noise. These ultrasmall devices use delta-sigma technology and a new digital 
filter architecture that settles in a single cycle. This eliminates the latency 
found in conventional delta-sigma converters and simplifies multiplexed 
applications. Through a single pin, the LTC2421/LTC2422 can be configured for 
better than 110dB rejection at 50Hz or 60Hz +/-2%, or can be driven by an 
external oscillator for a user defined rejection frequency in the range 1Hz to 
120Hz. The internal oscillator requires no external frequency setting 
components. 

SPI DATA FORMAT (MSB First):

            Byte #1                            Byte #2

Data Out :  !EOC CH SIG EXR D19 D18 D17 D16   D15  D14  D13  D12  D11  D10 D9  D8
Data In  :  X    X   X   X   X   X   X   X     X    X    X    X    X    X   X   X

Byte #3
D7 D6 D5 D4 D3 D2 D1 D0
X  X  X  X  X  X  X  X

!EOC : End of Conversion Bit (Active Low)
CH   : Channel Indicator Bit (0 - CH0 , 1 - CH1)
SIG  : Sign Bit (1-data positive, 0-data negative)
EXR  : Extebded Input Range Indicator Bit
Dx   : Data Bits

Example Code:

Read Channel 0.

    uint16_t miso_timeout = 1000;
    if(LTC2422_EOC_timeout(LTC2422_CS, miso_timeout))        // Check for EOC
        return; // Handle exception if timeout exceeded without EOC
    LTC2422_adc_read(LTC2422_CS, &adc_channel, &adc_code);  // Read ADC

    if(adc_channel != 0)
    {
        if(LTC2422_EOC_timeout(LTC2422_CS, miso_timeout))    // Check for EOC
            return; // Handle exception if timeout exceeded without EOC
        LTC2422_adc_read(LTC2422_CS, &adc_channel, &adc_code); // Reads the ADC again if the first reading was not CH0
    }
    adc_voltage = LTC2422_code_to_voltage(adc_code, LTC2422_lsb);

@endverbatim

http://www.linear.com/product/LTC2422

http://www.linear.com/product/LTC2422#demoboard

REVISION HISTORY
$Revision: 1920 $
$Date: 2013-09-07 08:36:24 -0700 (Sat, 07 Sep 2013) $

Copyright (c) 2013, Linear Technology Corp.(LTC)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of Linear Technology Corp.

The Linear Technology Linduino is not affiliated with the official Arduino team.
However, the Linduino is only possible because of the Arduino team's commitment
to the open-source community.  Please, visit http://www.arduino.cc and
http://store.arduino.cc , and consider a purchase that will help fund their
ongoing work.
*/

/*! @file
    @ingroup LTC2422
    Library Header File for LTC2422: 1-/2-Channel 20-Bit uPower No Latency Delta-Sigma ADC in MSOP-10
*/

#ifndef LTC2422_H
#define LTC2422_H

#include 

//! Define the SPI CS pin
#ifndef LTC2422_CS
#define LTC2422_CS QUIKEVAL_CS
#endif

const float LTC2422_TYPICAL_lsb = 4.7683761E-6; //!< The LTC2422 typical least significant bit value with 5V full-scale

//! Checks for EOC with a specified timeout
//! @return success or failure on timeout
uint8_t LTC2422_EOC_timeout(uint8_t cs,           //!< Chip Select pin 
                            uint16_t miso_timeout //!< Timeout (ms)
                           );

//! Read ADC code from the LTC2422. Does not wait for end-of-conversion.
//! To automatically wait for conversion to complete, use the LTC2422_EOC_timeout before this function.
//! @return void
void LTC2422_adc_read(uint8_t cs,           //!< Chip Select pin 
                      uint8_t *adc_channel, //!< Returns channel number read.
                      int32_t *code        //!< Returns the ADC code read.
                     );

//! Calculates the voltage given the ADC code and lsb weight.
//! @return calculated voltage (based on ADC code and lsb weight).
float LTC2422_code_to_voltage(int32_t adc_code,    //!< ADC code read from LTC2422.
                              float LTC2422_lsb     //!< LSB weight (determined by reference voltage).
                             );

//! Calculates the lsb weight from the given reference voltage.
//! @return Void
void LTC2422_calculate_lsb(float LTC2422_reference_voltage, //!< Measured reference voltage.
                           float *LTC2422_lsb               //!< Overwritten with the lsb weight in volts.
                          );

#endif  //  LTC2422_H

Technical Support