ZHCAEH1A November   2019  – September 2024 ADS1018 , ADS1018-Q1 , ADS1118 , ADS1118-Q1

 

  1.   1
  2.   2
  3.   商标

输入测量 AINP 和 AINN 输入 数字输出 ADS1118
PGA[2:0] = 000,FSR = ±6.144V 0V 至 5V

-26667 至 26667

97D5h 至 682Bh

电源
VDD GND
5V 0V

设计说明

许多应用要求在尽可能小的空间内进行大量测量。本电路文档介绍了一个 8 通道测量系统,该系统使用四个带串行外设接口 (SPI) 的超小型 ADS1118 器件。这些器件具有精确的内部电压基准,可作为 16 位差分模数转换器 (ADC) 针对多个输入范围进行编程。系统中的 ADC 高度可配置,可针对不同的数据速率和电压范围进行配置,甚至可用于警报功能。此外,所有模拟输入均可单独配置,从而打造一个具有单端输入测量功能的 16 通道测量系统。ADS1118 采用超小型 1.5mm × 2.0mm X2QFN 封装,在电路板上占用的空间非常小。此电路可用于 PLC 模拟输入模块实验室仪表工厂自动化 等应用。

设计说明

  1. ADS1118 具有一个差分 ADC。当 AINN 高于 AINP 时,测量结果为负值,并以二进制补码表示法报告。
  2. ADC 模拟输入的工作范围介于大地和 VDD 之间,即使将满标量程 (FSR) 设置为大于 VDD 的电压也是如此。例如,当 FSR 设置为 ±6.144V 且 VDD 设置为 5V 时,所有模拟输入均限制为 0V 至 5V。大于电源电压的 FSR 可防止 ADC 在工作范围内进行任何测量时超出量程。
  3. 有了内部基准,ADS1118 器件无需分压器即可利用内部基准方便地测量自身电源。
  4. 对电源使用电源去耦电容器。必须使用连接到 GND 的至少为 0.1μF 的电容器对 VDD 进行去耦。有关电源建议的详细信息,请参阅 ADS1118 具有内部基准和温度传感器且兼容 SPI 的超小型、低功耗 16 位 ADC 数据表。
  5. 如果可能,使用 C0G (NPO) 陶瓷电容器进行输入滤波。这些电容器中使用的电介质在电压、频率和温度变化时提供最稳定的电气性能。由于尺寸的原因,这可能并不总是实用,X7R 电容器是下一个最佳选择。
  6. 如果可以接受较低分辨率,可在类似的系统中设置 ADS1018 ADC。这些 12 位 ADC 可实现更快的数据速率和更低的成本。
  7. ADS1118 器件采用 SPI 通信。如果需要 I2C 接口,可以使用 ADS1115 ADC,它具有类似的功能。此外,如果可以使用分辨率较低的 ADC,则可以替换 ADS1015TLA2024 器件。有关更多详细信息,请参阅具有 16 个单端通道和 I2C 接口的精密测量电路
  8. 该测量系统可由 16 个单端通道(而不是八个差分通道)或差分通道和单端通道的不同组合构成。该系统还具有可扩展性,并且器件和通道更少。
  9. ADS1118 ADC 用于单冲转换模式。在这种运行模式下,每次转换都会启用器件,然后断电。单独使用所有四个器件的总功耗与在连续转换中使用单个器件的总功耗相同。
  10. ADS1118 ADC 具有精确的内部温度传感器,该传感器也可用于附加测量。有关该测量的更多详细信息,请参阅 ADS1118 数据表。

配置器件

  1. 使用四条 CS 线路设置 SPI 以单独选择器件。

    此电路使用四个多路复用的 ADS1118 ADC 来测量八个不同的通道。为此,四个器件必须使用不同的 CS 线路,每个器件的 CS 线路各不相同。其余的 SPI 线路(DIN、DOUT/DRDY 和 SCLK)与所有器件共享。

  2. 使用多路复用器循环使用每个模拟输入。

    ADS1118 ADC 具有一个多路复用器,用于测量多个通道。在此设计中,系统会循环使用每个器件的每个模拟输入。虽然可以进行单端测量,但图中显示,该系统通过循环使用所有模拟输入来进行差分测量。

    可通过下表所示的配置寄存器来配置器件。在配置寄存器中,MUX[2:0] 为 ADC 选择 AINP 和 AINN 节点,并设置每个器件的输入通道。下表中的设置展示了差分测量的设置。如 ADS1118 数据表中所示,可以使用设置 MUX[2:0] = 100 至 111 来进行单端测量。

    输入测量 ADC 输入 器件输入选择
    通道 1 MUX[2:0] = 000 AINP = AIN0,AINN = AIN1
    通道 2 MUX[2:0] = 011 AINP = AIN2,AINN = AIN3

    循环使用器件的全部四个通道后,系统会选择下一个器件并重复该循环。

  3. 确定每个模拟输入测量的工作范围。

    ADS1118 器件具有用于精确测量的内部基准和可扩展的测量增益。在本电路文档中,显示的测量值均为差分值。当 AINN 高于 AINP 时,测量值为负。可选择单端测量。但由于 ADS1118 器件是用作差分测量的 16 位 ADC,因此单端测量只有 15 位分辨率。

    ADS1118 ADC 可设置为 FSR(满标量程)的六种设置之一。这相当于在 ADC 前端安装了一个可编程增益放大器。配置寄存器的 FSR[2:0] 位的设置范围为 ±0.256V 至 ±6.144V。如前所述,即使 FSR 设置为大于 VDD 的电压,ADC 模拟输入的工作范围也介于大地和 VDD 之间。例如,当 FSR 设置为 ±6.144V 且 VDD 设置为 5V 时,模拟输入限制为 0V 至 5V。

    FSR 设置允许进行各种不同的测量,从温度传感器或电流采样电阻等小电压测量,到无需分压器即可测量自身电源的较大电压测量 ADC。ADS1118 FSR 的设置如下表所示。

    输入测量 AINN 和 AINP 输入 数字输出 ADS1118
    PGA[2:0] = 000,FSR = ±6.144V 0V 至 5V 97D5h 至 682Bh
    PGA[2:0] = 001,FSR = ±4.096V 0V 至 4.096V 8000h 至 7FFFh
    PGA[2:0] = 010,FSR = ±2.048V 0V 至 2.048V 8000h 至 7FFFh
    PGA[2:0] = 011,FSR = ±1.024V 0V 至 1.024V 8000h 至 7FFFh
    PGA[2:0] = 100,FSR = ±0.512V 0V 至 0.512V 8000h 至 7FFFh
    PGA[2:0] = 101–111,FSR = ±0.256V 0V 至 0.256V 8000h 至 7FFFh

    作为差分测量,当 AINN 输入高于 AINP 输入时,ADC 会报告负值。用二进制补码表示法报告负值结果。

  4. 设置数据速率。

    可根据器件内部振荡器将 ADS1118 ADC 配置为八种数据速率之一。此数据速率具有 ±10% 的容差。数据速率由 DR[2:0] 位设置,如下表所示。

    数据速率设置 数据速率
    DR[2:0] = 000 8SPS
    DR[2:0] = 001 16SPS
    DR[2:0] = 010 32SPS
    DR[2:0] = 011 64SPS
    DR[2:0] = 100 128SPS
    DR[2:0] = 101 250SPS
    DR[2:0] = 110 475SPS
    DR[2:0] = 111 860SPS

    所选数据速率为 128SPS,这是 ADS1118 ADC 的默认设置。该数据速率是可用的最快速率,对于所有 FSR 设置,可提供优于一个 LSB 的噪声性能。

配置寄存器设置

配置寄存器会设置 ADC 的操作模式和配置。配置包括前面各节中描述的所有设置。在 16 个位之间使用九个字段来配置器件。下表显示了配置寄存器字段描述以及位名称和位置、读写用法和复位值。

15 14 13 12 11 10 9 8
SS MUX[2:0] PGA[2:0] 模式
R/W-1h R/W-0h R/W-2h R/W-1h
7 6 5 4 3 2 1 0
DR[2:0] TS_MODE PULL_UP_EN NOP[1:0] 保留
R/W-4h R/W-0h R/W-0h R/W-0h R-1h

SS 位启动单冲转换。MUX[2:0] 位将输入多路复用器设置为循环执行不同的测量。MODE 位会将器件设置为单冲转换模式。DR[2:0] 位会设置器件的数据速率。其余字段用于本设计中未使用的 ADC 比较器设置。有关配置寄存器的详细信息,请参阅 ADS1118 具有内部基准和温度传感器且兼容 SPI 的超小型、低功耗 16 位 ADC 数据表。

例如,一个 ADC 设置为使用连接到 VDD 的 AIN0 测量其自身的接地电源。FSR 设为 ±6.144V,数据速率为 128SPS。下表展示了配置寄存器字段的设置。

字段 设置 说明
15 OS 1 开始转换
14:12 MUX[2:0] 000 差分输入测量,AINP – AINN = AIN0 – AIN1,选择第一个通道
11:9 PGA[2:0] 000 FSR = ±6.144V,将 ADC 设置为能够测量 0V 至 VDD 的整个电源范围
9 模式 1 单冲转换模式下的运行
7:5 DR[2:0] 100 数据速率 = 128SPS
4 TS_MODE 0 测量模拟输入,而不是温度传感器
3 PULL_UP_EN 0 禁用 DOUT/DRDY 上的内部上拉电阻器
2:1 NOP[1:0] 01 将 01 写入这些位,以确保器件写入配置寄存器
0 保留 1 始终向该位写入 1

结合字段描述中的这些位,配置寄存器值为 1000 0001 1000 0011 或 8183h。

通道循环

若要循环使用 ADS1115 系统的每个通道,需逐一启动每个通道的转换过程,等待转换完成,然后读回数据。然后,开始下个通道的转换过程。在移动到下一个 ADC 之前,对两个差分输入通道重复每次测量。对系统中的所有四个 ADC 重复此测量,即可循环使用所有通道。

使用关联的 CS 线路与器件进行通信。四个器件均有自己的 CS 线路用于启用 SPI。带配置寄存器读回功能的 32 位数据传输周期可用于启动转换。下图展示了该通信。

在 ADS1118 器件不与其他器件共享串行总线的系统中,CS 可保持低电平。如果 CS 处于低电平,则 DOUT/DRDY 置为低电平,以指示新数据可用。

对于这种方法,使用了 32 个 SCLK。通信是全双工的,这意味着数据在从器件时钟输出的同时,也会时钟输入到器件中。写入配置寄存器后,器件开始新的转换。

在写入配置寄存器时,32 个 SCLK 会在 DOUT/DRDY 上时钟输出数据。前 16 位时钟输出上一次转换的数据,后 16 位时钟输出配置寄存器的内容并验证新的配置寄存器写入。

然后,主器件等待转换完成。在本示例中,ADS1118 器件设置为默认数据速率 128SPS。该器件使用内部振荡器,因此数据速率存在一些变化。为确保在 ADC 完成转换后读取器件,微控制器需等待转换完成所需的最长时间。该等待时间是标称数据周期加上 10%(用以补偿器件的内部振荡器变化)。对于每次单冲转换,ADC 唤醒时间都额外增加 20µs。使用以下公式计算总等待时间。

Wait time = nominal data period + 10% + 20µs

例如,如果器件以 128SPS 运行,则标称数据周期为 7.82ms。所需的等待时间为:

Wait time = (7.82ms × 1.1) + 20µs = 8.62ms

可以通过监控 DOUT/DRDY 线路来读取数据,而无需像之前计算的那样等待这一最长时间。完成转换后,DOUT/DRDY 由高电平转换为低电平。该转换可用作中断,指示数据已就绪,可从器件时钟输出。32 位数据传输周期使监控 DOUT/DRDY 更容易。通过读回配置寄存器,DOUT/DRDY 在传输周期结束时被强制为高电平。这样就很容易找到从高电平到低电平的转换。如果 DOUT/DRDY 为低电平,则数据就绪指示为窄 8µs 脉冲。

测量转换

输入电压的转换基于 ADC 的满标量程 (FSR) 设置。FSR 由配置寄存器中的 PGA[2:0] 位进行设置。

Output Code = 215 × [(VAINP – VAINN) / (positive FSR)]
Input Voltage = VAINP – VAINN = (Output Code) × (positive FSR) / (215)

用二进制补码表示法报告负读数。例如,十进制中的 –1 报告为 FFFFh,负满标量程读数报告为 8000h。

如前所述,16 位 ADS1118 ADC 可替换为 12 位 ADS1018 ADC。对于这些器件,数据格式为 12 位,右侧填充了四位零。满标量程读数为 7FFh,从 DOUT/DRDY 读取时为 7FF0h。

ADS1118 器件还有一个可随时测量的板载精密温度传感器。有关温度转换的详细信息,请参阅 ADS1118 数据表。

伪代码示例

以下伪代码序列显示了从四个器件的每个通道设置转换并在每次转换后收集数据所需的步骤。它还包括连接到 ADC 的微控制器的设置。

对于每个通道,微控制器同时设置 ADC 配置并启动转换。微控制器会等待转换完成,等待足够的时间以完成转换以及内部振荡器频率的任何变化。然后从转换寄存器中读取数据。继续循环使用每个器件的每个通道。该设置假设采用之前的配置,转换等待时间的数据速率设置为 128SPS。


Configure the SPI interface of the microcontroller to SPI mode 1 (CPOL = 0, CPHA =1);
Conversions from two channels of device 1:
{
  Set CS1 to the device low;
    Send 32 SCLKs, Write 8183h, 0000h; // start conversion Channel 1, AIN0-AIN1
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 32 SCLKs, Write B183h, 0000h; // start conversion Channel 2, AIN2-AIN3, Read Channel 1
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 16 SCLKs; // read Channel 2
  Set CS1 to the device high;
}
Conversions from two channels of device 2:
{
  Set CS2 to the device low;
    Send 32 SCLKs, Write 8183h, 0000h; // start conversion Channel 3, AIN0-AIN1
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 32 SCLKs, Write B183h, 0000h; // start conversion Channel 4, AIN2-AIN3, Read Channel 3
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 16 SCLKs; // read Channel 4
  Set CS2 to the device high;
}
Conversions from two channels of device 3:
{
  Set CS3 to the device low;
    Send 32 SCLKs, Write 8183h, 0000h; // start conversion Channel 5, AIN0-AIN1
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 32 SCLKs, Write B183h, 0000h; // start conversion Channel 6, AIN2-AIN3, Read Channel 5
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 16 SCLKs; // read Channel 6
  Set CS3 to the device high;
}
Conversions from two channels of device 4:
{
  Set CS4 to the device low;
    Send 32 SCLKs, Write 8183h, 0000h; // start conversion Channel 7, AIN0-AIN1
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 32 SCLKs, Write B183h, 0000h; // start conversion Channel 8, AIN2-AIN3, Read Channel 7
    Wait 8.62ms or for the DOUT/DRDY line to return low
    Send 16 SCLKs; // read Channel 8
  Set CS4 to the device high;
}

布局示例

下图展示了四个 ADS1118 器件之一的示例布局。使用 0402 电阻器和电容器添加差分 RC 输入滤波。生成的布局约为 280mil × 340mil。

 示例布局示例布局

设计中采用的器件

器件 主要特性 链路 其他可能的器件
ADS1118 ADS1118 具有内部基准、振荡器和温度传感器且兼容 SPI 的超小型、低功耗、16 位 ADC 具有 PGA、振荡器、基准电压、温度传感器和 SPI 的 16 位、860SPS、4 通道 Δ-Σ ADC

精密 ADC