LTC2380-24 - 24-Bit, 1.5Msps/2Msps, Low Power SAR ADC with Integrated Digital Filter
Features
- Guaranteed 24-Bits No Missing Codes
- ±0.5ppm INL (Typ)
- Integrated Digital Filter with Real-Time Averaging
- Low Power: 28mW at 2Msps
- 100dB SNR (Typ) at 1.5Msps
- 145dB Dynamic Range (Typ) at 30.5sps
- –117dB THD (Typ) at fIN = 2kHz
- 50Hz/60Hz Rejection
- Digital Gain Compression (DGC)
- Guaranteed Operation to 85°C
- Single 2.5V Supply
- Fully Differential Input Range Up to ±5V
- 1.8V to 5V SPI-Compatible Serial I/O with Daisy- Chain Mode
- 16-Lead MSOP and 4mm × 3mm DFN Packages
Typical Application
Description
The LTC®2380-24 is a low noise, low power, high speed 24-bit successive approximation register (SAR) ADC with an integrated digital averaging filter. Operating from a 2.5V supply, the LTC2380-24 has a ±VREF fully differential input range with VREF ranging from 2.5V to 5.1V. The LTC2380- 24 consumes only 28mW and achieves ±3.5ppm INL maximum and no missing codes at 24 bits.
The LTC2380-24 has an easy to use integrated digital averaging filter that can average 1 to 65536 conversion results real-time, dramatically improving dynamic range from 101dB at 1.5Msps to 145dB at 30.5sps. No separate programming interface or configuration register is required.
The high speed SPI-compatible serial interface supports 1.8V, 2.5V, 3.3V and 5V logic while also featuring a daisychain mode. The LTC2380-24 automatically powers down between conversions, reducing power dissipation at lower sampling rates.
Packaging
For complete and up to date package information and drawings, please refer to our packaging page
| Part Number | Package | Code | Temp | Package Drawing |
RoHS |
|---|---|---|---|---|---|
| LTC2380CDE-24#PBF | 4x3 DFN-16 | DE | C | 05-08-1732 | Yes |
| LTC2380CDE-24#TRPBF | 4x3 DFN-16 | DE | C | 05-08-1732 | Yes |
| LTC2380CMS-24#PBF | MS-16 | MS | C | 05-08-1669 | Yes |
| LTC2380CMS-24#TRPBF | MS-16 | MS | C | 05-08-1669 | Yes |
| LTC2380IDE-24#PBF | 4x3 DFN-16 | DE | I | 05-08-1732 | Yes |
| LTC2380IDE-24#TRPBF | 4x3 DFN-16 | DE | I | 05-08-1732 | Yes |
| LTC2380IMS-24#PBF | MS-16 | MS | I | 05-08-1669 | Yes |
| LTC2380IMS-24#TRPBF | MS-16 | MS | I | 05-08-1669 | Yes |
Order Info
- Part numbers ending in PBF are lead free. Solder plated terminal finish (SnPb) versions are non-standard and special terms and conditions and pricing applies if available. Please contact LTC marketing for information.
- Part numbers containing TR or TRM are shipped in tape and reel or 500 unit mini tape and reel, respectively
- Please refer to our general ordering information or the product datasheet for more details
Package Variations and Pricing
| Part Number | Package | Temp | Price (1-99) |
Price (1k)* |
RoHS | |
|---|---|---|---|---|---|---|
| LTC2380CDE-24#PBF | 4x3 DFN-16 | C | $45.64 | $31.95 | Yes | |
| LTC2380CDE-24#TRPBF | 4x3 DFN-16 | C | $32.01 | Yes | ||
| LTC2380CMS-24#PBF | MS-16 | C | $45.64 | $31.95 | Yes | |
| LTC2380CMS-24#TRPBF | MS-16 | C | $32.01 | Yes | ||
| LTC2380IDE-24#PBF | 4x3 DFN-16 | I | $52.50 | $36.75 | Yes | |
| LTC2380IDE-24#TRPBF | 4x3 DFN-16 | I | $36.81 | Yes | ||
| LTC2380IMS-24#PBF | MS-16 | I | $52.50 | $36.75 | Yes | |
| LTC2380IMS-24#TRPBF | MS-16 | I | $36.81 | Yes | ||
| Buy Now • Request Samples | ||||||
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 |
|---|---|---|---|
| DC2289A-A | LTC2380-24 Demo Board | 24-Bit, 2Msps Fully Differential Input SAR ADC with Integrated Filter (req DC590, DC2026 or DC890) | $200.00 | |
| Buy Now | |||
Companion Boards
| Part Number | Description | Price | Documentation |
|---|---|---|---|
| DC2026C | Linduino One Isolated USB Demo Board: An Arduino- and QuikEval-Compatible Code Development Platform | $75.00 | |
| DC590B | Isolated USB Serial Controller for Linear Technology QuikEval-Compatible Demo Boards | $50.00 | |
| DC890B | USB Data Acquisition Controller, for PScope Evaluation Kits (up to 250Mbps, CMOS/LVDS) | $300.00 | |
| Buy Now | |||
Applications
- Seismology
- Energy Exploration
- Medical Imaging
- High Speed Data Acquisition
- Industrial Process Control
- ATE
People Who Viewed This Product Also Viewed
- LTC6655 - 0.25ppm Noise, Low Drift Precision References
- LT5400 - Quad Matched Resistor Network
- LT3042 - 20V, 200mA, Ultralow Noise, Ultrahigh PSRR RF Linear Regulator
- LT1028 - Ultra Low Noise Precision High Speed Op Amps
- LTC2378-20 - 20-Bit, 1Msps, Low Power SAR ADC with 0.5ppm INL
- LTC2440 - 24-Bit High Speed Differential Delta Sigma ADC with Selectable Speed/Resolution
- LT4320/LT4320-1 - Ideal Diode Bridge Controller
- LTC2057/LTC2057HV - High Voltage, Low Noise Zero-Drift Operational Amplifier
- LT3080 - Adjustable 1.1A Single Resistor Low Dropout Regulator
- LTC2983 - Multi-Sensor High Accuracy Digital Temperature Measurement System
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.
LinearLabTools
LinearLabTools is a collection of Matlab and Python programs that provide direct access to Linear Technology’s data converter evaluation boards. An evaluation board for a data converter will typically plug into an accompanying controller board, which is then connected to a host computer running a Linear supplied GUI program such as PScope for Analog-to-Digital converters or LTDACgen for Digital-to-Analog converters. The GUI allows basic performance measurements to be made, but it is not designed to run arbitrary sequences of tests or communicate with other hardware, as is often required by customers when evaluating a part for their own application. LinearLabTools allows customers to control Linear’s data converter demo boards as they would any other piece of test equipment, using their own software.
The LinearLabTools package also contains various application examples, simulations, and educational programs that demonstrate mixed signal concepts.
Click here for more information and to download the software
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 LTC2380-24 - DC2289A.ino
/*!
LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
@verbatim
@endverbatim
http://www.linear.com/product/LTC2380-24
REVISION HISTORY
$Revision: 4437 $
$Date: 2015-12-01 08:26:42 -0800 (Tue, 01 Dec 2015) $
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 LTC2380-24
*/
#include <stdint.h>
#include "Linduino.h"
#include "LT_SPI.h"
#include "UserInterface.h"
#include "LT_I2C.h"
#include <SPI.h>
#include "LTC2380_24.h"
#ifndef LTC2380_CNV
#define LTC2380_CNV QUIKEVAL_CS
#endif
// Function Declaration
void print_title(); // Print the title block
void print_prompt();
void menu_1_read_input();
void menu_2_select_gain_compression();
void configureCNV();
// Global variables
static uint8_t LTC2380_dgc = 0; //!< Default set for no gain compression
float LTC2380_vref = 10;
float voltage;
//! Initialize Linduino
void setup()
{
quikeval_SPI_init(); // Configure the spi port for 4MHz SCK
quikeval_SPI_connect(); // Connect SPI to main data port
Serial.begin(115200); // Initialize the serial port to the PC
configureCNV();
print_title();
print_prompt();
}
//! Repeats Linduino loop
void loop()
{
uint16_t user_command;
if (Serial.available())
{
user_command = read_int(); // Read the user command
if (user_command != 'm')
Serial.println(user_command); // Prints the user command to com port
switch (user_command)
{
case 1:
menu_1_read_input();
break;
case 2:
menu_2_select_gain_compression();
break;
default:
Serial.println(" Invalid Option");
break;
}
Serial.println();
print_prompt();
}
}
//! Read Input voltage
//! @return void
void menu_1_read_input()
{
int32_t adc_code; // The LTC2380 code
float adc_voltage;
int16_t cycles;
LTC2380_read(&adc_code, &cycles);
adc_voltage = LTC2380_code_to_voltage(adc_code, LTC2380_dgc, LTC2380_vref); // Convert the received code to voltage
Serial.print("\n24-bit decimal data: 0x ");
Serial.println(adc_code & 0xFFFFFF, HEX);
Serial.print("Voltage calculated: ");
Serial.print(adc_voltage);
Serial.println(" V");
Serial.print("No:of averaging cycles: ");
Serial.println(cycles + 1);
Serial.println();
}
//! Select gain compression
//! @return void
void menu_2_select_gain_compression()
{
uint8_t user_command;
Serial.println(F(" 0 = No Gain Compression"));
Serial.println(F(" 1 = Gain Compression"));
Serial.print(F(" Enter a Command, based upon the position of jumper JP6: "));
user_command = read_int(); // Read user input
Serial.println(user_command); // Prints the user command to com port
switch (user_command)
{
case 0:
Serial.println(F(" No Gain compression"));
LTC2380_dgc = 0;
break;
case 1:
Serial.println(F(" Gain compression"));
LTC2380_dgc = 1;
break;
default:
{
Serial.println(" Invalid Option");
return;
}
break;
}
}
//! Prints main menu.
void print_prompt()
{
Serial.println(F("*************************"));
Serial.println(F("1-Read ADC Input"));
Serial.println(F("2-Select No Gain Compression / Gain Compression (default is no compression)"));
Serial.print(F("Enter a command:"));
}
//! Prints the title block when program first starts.
void print_title()
{
Serial.println();
Serial.println(F("*****************************************************************"));
Serial.println(F("* DC2289A Demonstration Program *"));
Serial.println(F("* *"));
Serial.println(F("* This program demonstrates how to read data *"));
Serial.println(F("* from LTC2380-24 bit part. *"));
Serial.println(F("* *"));
Serial.println(F("* Set the baud rate to 115200 and select the newline terminator.*"));
Serial.println(F("* *"));
Serial.println(F("*****************************************************************"));
}
//! Function to configure CNV pin as an output
void configureCNV()
{
DDRB = DDRB | B00000100; // Setting PB2 (CS) as output, connected to CNV pin.
}
Download LTC2380-24 - Linduino Header File
/*!
LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
@verbatim
@endverbatim
http://www.linear.com/product/LTC2380-24
REVISION HISTORY
$Revision: 4437 $
$Date: 2015-12-01 08:26:42 -0800 (Tue, 01 Dec 2015) $
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 LTC2380-24
Header for LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
*/
#ifndef LTC2380_H
#define LTC2380_H
#include <SPI.h>
//! Define the SPI CS pin
#ifndef LTC2380_CS
#define LTC2380_CS QUIKEVAL_CS
#endif
//! @name LTC2380 Channel Address
//! @{
// Channel Address
#define LTC2380_ADDRESS 0x00
//!@}
//! Reads the LTC2380 and returns 32-bit data in 2's complement format
//! @return void
void LTC2380_read(int32_t *ptr_adc_code, //!< Returns code read from ADC (from previous conversion)
int16_t *ptr_cycles
);
//! Calculates the LTC2380 input voltage given the binary data and lsb weight.
//! @return Floating point voltage
float LTC2380_code_to_voltage(int32_t adc_code, //!< Raw ADC code
uint8_t gain_compression,
float vref //!< Reference voltage
);
#endif // LTC2380_H
Download LTC2380-24 - Linduino.CPP File
/*!
LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
@verbatim
@endverbatim
http://www.linear.com/product/LTC2380-24
REVISION HISTORY
$Revision: 4437 $
$Date: 2015-12-01 08:26:42 -0800 (Tue, 01 Dec 2015) $
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 LTC2380-24 LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
/*! @file
@ingroup LTC2380-24
Library for LTC2380-24: Low Noise, High Speed, 24-Bit SAR ADC With Digital Filter
*/
#include <Arduino.h>
#include <stdint.h>
#include "Linduino.h"
#include "LT_SPI.h"
#include "LTC2380_24.h"
#include <SPI.h>
#include "UserInterface.h"
// Reads from a SPI LTC2380-XX device that has no configuration word and a 32 bit output word in 2's complement format.
void LTC2380_read(int32_t *ptr_adc_code, int16_t *ptr_cycles)
{
int N;
int negative;
Serial.print("\nEnter the number of CNV pulses: ");
while (Serial.available());
N = read_int();
while (N--) // PB2 (CS) pin is connected to CNV pin.
{
PORTB |= B00000100; // Pull CNV pin high
__asm__("nop\n\t");
PORTB &= B11111011; // Pull CNV pin low
__asm__("nop\n\t");
}
LT_union_int16_2bytes cycles; // LTC2380 data and command
cycles.LT_uint16 = 0; // Set to zero, not necessary but avoids random data in scope shots.
// Form a four byte object to hold four bytes of data
LT_union_int32_4bytes data; //instantiate the union
data.LT_byte[3] = 0;
data.LT_byte[2] = 0;
data.LT_byte[1] = 0;
data.LT_byte[0] = 0;
data.LT_byte[2] = spi_read(0);
data.LT_byte[1] = spi_read(0);
data.LT_byte[0] = spi_read(0);
cycles.LT_byte[1] = spi_read(0);
cycles.LT_byte[0] = spi_read(0);
negative = (data.LT_byte[2] & 0x80) != 0;
if (negative)
{
data.LT_byte[3] = 0xFF;
}
*ptr_adc_code = data.LT_int32;
*ptr_cycles = cycles.LT_int16;
return;
}
// Calculates the voltage corresponding to an adc code in 2's complement, given the reference voltage (in volts)
float LTC2380_code_to_voltage(int32_t adc_code, uint8_t gain_compression, float vref)
{
float voltage;
if (gain_compression == 1)
vref = 0.8*vref;
voltage = (float)adc_code;
voltage = voltage / (pow(2,24)-1); //! 2) This calculates the input as a fraction of the reference voltage (dimensionless)
voltage = voltage * vref; //! 3) Multiply fraction by Vref to get the actual voltage at the input (in volts)
return(voltage);
}
Technical Support
- For immediate technical assistance, contact your local sales office or distributor or call 1-800-4-LINEAR (US customers only) or 408-432-1900.
- For less urgent requests, please complete our Technical Support Request Form. Please allow 2-3 business days for reply.
