LTC2380-24 - 具集成型数字滤波器的 24 位、1.5Msps / 2Msps、低功率 SAR ADC

特点

  • 保证 24 位,无漏失码
  • ±0.5ppm INL (典型值)
  • 具实时平均功能的集成型数字滤波器
  • 低功率:28mW ( 2Msps)
  • 在 1.5Msps 时的 100dB SNR (典型值)
  • 30.5sps 时的 145dB 动态范围 (典型值)
  • fIN = 2kHz 时的 117dB THD (典型值)
  • 50Hz/60Hz 抑制
  • 数字增益压缩 (DGC)
  • 保证工作至 85ºC
  • 单 2.5V 电源
  • 全差分输入范围高达 ±5V
  • 具菊链模式的 1.8V 至 5V SPI 兼容型串行 I/O
  • 16 引脚 MSOP 封装和 4mm x 3mm DFN 封装

典型应用

LTC2380-24 Typical Application
LTC2380-24 Typical Application

描述

LTC®2380-24 是一款低噪声、低功率、高速 24 位逐次逼近型寄存器 (SAR) ADC,其具有一个集成型数字平均滤波器。LTC2380-24 采用一个 2.5V 工作电源,具有一个 ±VREF 全差分输入范围,且 VREF 的变化范围从 2.5V 至 5.1V。LTC2380-24 仅消耗 28mW 功率,并实现了 ±3.5ppm INL (最大值) 和无漏失码 (在 24 位)。

LTC2380-24 具有一个易用的集成型数字平均滤波器,该滤波器能够对 1 至 65536 个转换结果进行实时平均,并显著地把动态范围从 101dB (在 1.5Msps) 改善至 145dB (在 30.5sps)。不需要单独的编程接口或配置寄存器。

高速 SPI 兼容型串行接口支持 1.8V、2.5V、3.3V 和 5V 逻辑,同时还拥有一种菊链模式。LTC2380-24 在转换操作之间自动断电,从而减少了较低采样速率条件下的功率耗散。

封装

如需了解完整与最新的封装信息及图例,请查阅我们的封装网页

器件型号 封装 Code 温度 封装图 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


LTC2380-24 Package Drawing
LTC2380-24 Package Drawing

订购信息

  • 以 PBF 结尾的器件型号表示这些是无铅型器件。如需了解有关含铅涂层器件的信息,请与凌力尔特公司联系。

  • 型号当中包含 TR 或 TRM 的器件分别采用卷带装500 片微型卷带装的形式进行装运。

  • 如需了解更多的细节,请查阅我们一般订购信息或产品数据手册。

各种封装型式和定价

器件型号 封装 温度 价格 (以 1 ~ 99 片为批量) 价格 (以 1000 片为批量) * 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
购买要求提供样品

* 美国价目表所列之价格仅供预算之用,单位为美元 (针对规定批量的美国 FOB 单价),随时可能变更。国际销售价格有可能因为地方税额、费用和汇率而有所不同。如需了解特定批量的价格或货运报价,请您与凌力尔特当地的销售办事处或授权分销商联系

演示电路板

凌力尔特的演示电路板可免费提供给合资格的客户,请您与当地的销售办事处或分销商联系,申请获取演示电路板。另外,某些演示电路板也可通过信用卡在此网站上购买。演示电路板仅供评估之用。器件在实际终端应用中的正确与可靠运作的验证仍然是客户的责任。

器件型号 描述 价格 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
购买

Companion Boards

器件型号 描述 价格 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
购买
点击这里查看我们的演示板完整列表

应用

  • 地震学
  • 能源勘探
  • 医疗成像
  • 高速数据采集
  • 工业过程控制
  • ATE (自动测试设备)

产品通知

请登录您的 MyLinear 帐户,以获得数据表更新通知、新文档发布、以及针对您喜爱产品的 LTspice 模型通告。 如果您还没有 MyLinear 帐户,可以立即 注册

忘记密码吗? 请单击这里
需要帮助吗? 如果有任何问题或意见,请发送电子邮件至 mylinear@linear.com

设计工具

Linduino

Linduino 是一款可兼容 Arduino 的平台,其用于开发和分配用于 SPI 和 I2C 兼容型集成电路的固件库和代码。Linduino One 电路板可连接 300 多款 QuikEval 演示板卡并支持多种产品类型,包括模数转换器 (ADC)数模转换器 (DAC)功率监视器等等。用于个别器件的固件库采用 C 语言编写并专为可移植到众多的处理器和微控制器而设计。每个固件库具有一种演示程序,此演示程序可上载至 Linduino One 平台以简便快捷地完成电路和软件的验证。

点击这里以了解 Linduino 的更多相关信息

 

LinearLabTools

LinearLabTools 是Matlab 和 Python 程序的集合,可对凌力尔特数据转换器评估板提供直接访问。用于数据转换器的评估板通常将插入一块配套的控制器板,然后连接至一台运行用于模数转换器之 PScope 或用于数模转换器之 LTDACgen 等凌力尔特 GUI 程序的主计算机。该 GUI 允许实施基本性能测量,但其并非专为运行任意测试序列或与其他硬件进行通信而设计,而这常常是客户在评估一款针对其特有应用的器件时所需要的。LinearLabTools 使得客户能够采用他们自己的软件,像控制任何其他测试设备一样地控制凌力尔特的数据转换器演示板。

LinearLabTools 程序包还包含各种不同的应用示例、仿真和演示混合信号原理的教学程序。

点击这里以了解更多信息并下载软件。

代码

Linduino 是凌力尔特的 Arduino 兼容型系统,适用于开发和分发针对凌力尔特集成电路的固件库和代码范例。下面的代码程序可以下载或者“拷贝并粘贴”到您的设计方案之中。请访问 Linduino 主页以获取演示板、手册和设置信息。

该器件得到了代码支持: 提供了可用于该器件的代码示例。下面的代码有可能依存于完整库中提供的其他驱动程序。

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);
}

技术支持