ADS1120 备忘

ADS1120 是一个小型、低功耗、16-bit、ΔΣ 模数转换器(ADC):

  • 内置 PGA(1~128)
  • 内置参考基准(2.048V)
  • 内置温度传感器
  • 内置 2 个已配对的可编程电流源
  • SPI 通讯接口,使用 模式 1 ,通过 4 个寄存器配置

多路复用器

有了多路复用器,就可以测量 4 个单端信号,或者 2 个差分信号,或者1个差分信号加上 2 个单端信号。
在这里插入图片描述

配置寄存器 0 的 bit[7:4] 用于配置多路复用器。
在这里插入图片描述
在芯片内部,有静电放电二极管(ESD)保护模拟输入。为了防止 ESD 二极管导通,须确保输入电压为 AVSS-0.3V ~ AVDD+0.3V 之间。如果输入电压有可能超过这个范围,需要加入外部肖特基钳位二极管或者串入电阻(限制输入电流),根据数据表提供的绝对最大值,引脚能承受的最大电流为 10mA。TI 更推荐使用肖特基二极管钳位。

低噪声 PGA

增益为 1 - 128。
为了保证 PGA 的线性操作,输入信号必须满足特定条件
PGA 的输出不能达到电源轨,在接近电源轨的 200mV 范围内,内部放大器就开始饱和,变得非线性。
条件1 :
V C M ( M I N ) ≥ A V S S + 0.2 V + 1 2 G a i n ∗ V I N ( M A X ) V_{CM(MIN)} ≥ AVSS + 0.2V + \frac{1}{2}Gain*V_{IN(MAX)} VCM(MIN)AVSS+0.2V+21GainVIN(MAX)
且:
V C M ( M I N ) ≥ A V S S + 1 4 ( A V D D − A V S S ) V_{CM(MIN)} ≥ AVSS + \frac{1}{4}(AVDD-AVSS) VCM(MIN)AVSS+41(AVDDAVSS)
条件2:
V C M ( M A X ) ≤ A V D D − 0.2 V − 1 2 G a i n ∗ V I N ( M A X ) V_{CM(MAX)}≤ AVDD - 0.2V - \frac{1}{2}Gain*V_{IN(MAX)} VCM(MAX)AVDD0.2V21GainVIN(MAX)
这就是 PGA 的 共模电压要求,其中:

  • VIN(MAX) :差分最大输入电压

另外数据手册给出了 PGA 共模电压的图解法,分别是增益为 1 和增益 为 16 的图解:
在这里插入图片描述
举例说明:
假设一个应用:

  • AVDD = 3.3V
  • AVSS = 0V
  • 增益(gain) = 16
  • 使用外部参考基准,Vref = 2.5V

易知绝对最大输入电压范围为:±2.5V / 16 = ±0.156V
但是这个应用用不到这么大的输入电压范围,使用的VIN(MAX) = ±0.1V,那么根据上面的公式(条件 1 和条件 2 )可以算出输入共模电压需满足:1.0V ≤ VCM ≤ 2.3V
图43 给出一个极限输入极限例子,这个例子中,放大器 A2 的输出已经达到了极限值,如果电压再稍微波动一点,放大器 A2 就会饱和,在设计电路时要避免这种情况,保留一定的余量。
在这里插入图片描述
PGA 可以旁路掉。
通过配置寄存器 0 来旁路掉 PGA。旁路掉 PGA 后:

  • 增益为 1- 4
  • 共模输入电压不再受条件 1 和条件 2 的限制,变为:AVSS - 0.1V ≤ VCM ≤ AVDD + 0.1V
  • 可以测量单端信号,AINP = VIN、AINN = AVSS

旁路 PGA 后,设备使用带缓冲的开关电容获得增益(1、2、4),尽管使用了缓冲器,也不可避免的对输入产生了影响,根据数据手册给出的图示:
(不同温度下,各输入口的绝对最大电流和绝对最大电压关系图)
在这里插入图片描述
(不同温度情况下,各输入口的差分最大电流和差分最大电压关系图)
在这里插入图片描述
从这两张图上可以看出:

  • 额外输入电流在 nA 级别
  • 如果信号源的输出阻抗大,需要外部缓冲放大器,但是外部有源缓冲器一般会引入噪声,也会引入偏移和增益误差。在高精度应用场合需要综合考虑所有因素。
  • 如果要减少这种电流影响,优先选择 AIN0 和 AIN1 !!!

数字滤波器

使用 线性相位有限脉冲响应(FIR)数字滤波器
数据转换速率为 5 或者 20 SPS 时,可以对 50Hz 或者 60Hz 或者 50Hz 和 60Hz 进行谐波抑制。需要手动开启,在配置寄存器 2 中的 50/60[1:0] 位:
在这里插入图片描述

数字滤波器的效果可能跟文字反映的不太符合,它只是针对特定的频率进行高效抑制,这个频率范围还非常窄,其它频率范围抑制效果有限
开启 50Hz 抑制效果图,左图是整体效果,右图是 50Hz 附近的放大图:
在这里插入图片描述
数据转换速率为90、175、330、600、1K 和 2K SPS 时,仍具有数字滤波功能,只是不能针对 50Hz60Hz 进行谐波抑制。
数据转换速率越高,数字滤波器效果越差,比如下面展示了转换速率为 90 SPS 和 175 SPS 时的滤波效果图:
在这里插入图片描述

输出数据速率

数据速率在配置寄存器 1 中设置,使用 DR[2:0] 位:
在这里插入图片描述
数据速率取决于操作模式,操作模式有三种:NormalDuty-cycleTurbo 。不同模式下的数据速率:
在这里插入图片描述
注:本表提供的数据速率是使用内部晶振或者外部 4.096MHz 时钟的前提下得出的。如果使用 4.096MHz 以外的外部时钟,本表中的数据需要和外部时钟频率成等比缩放。

参考电压

内部集成低飘移 2.048V 参考源。芯片的参考电压可以选择外部参考源、内部参考源和模拟电压(AVDD - AVSS)。根据配置寄存器 2 的 VREF[1:0] 来选择。
在这里插入图片描述
上电后、退出掉电模式或者从外部参考源切换到内部参考源,最多只需 25us ,内部参考源就能充分稳定。

激励电流源

芯片内部集成两路已匹配的激励电流源,一般用于 RTD 温度采集。电流源可以输出不同的电流,使用配置寄存器 2 的 IDAC[2:0] 来选择:
在这里插入图片描述
编程输出电流后,需要最多 200us 的时间启动。

电流源可以从任意模拟引脚输出电流,这需要手动配置,配置寄存器 3 的 I1MUX[2:0]I2MUX[2:0] 用于选择输出引脚:
在这里插入图片描述
必须注意电流源有电压限制,IDAC 驱动的负载电压必须 ≤ AVDD - 0.9 V !否则输出电流精度不能保证。
TI 推荐先编程输出电流,再配置电流输出引脚。

失调校准

内部多路复用器可以将 PGA 的两个输入短路到 (AVDD + AVSS) / 2 ,此时可以测量和校准失调电压。方法是在这种情况下获取多个读数,求平均值然后存储起来,称为校准值,后续真实测量读数减去这个校准值。

转换模式

  1. 单次转换模式
    在单次转换模式,仅在发出 START/SYNC 命令后,设备才执行 1 次转换,并将该值存储在内部数据缓冲器中,然后进入低功耗状态。在低功耗状态下,内部振荡器和所有模拟电路(激励电流源除外)均关闭。
    此外,对任意配置寄存器的写操作也会开始新的转换。当转换正在进行时,向任意寄存器的写动作都相当于发出了新的 START/SYNC 命令:停止当前转换并重启单个新的转换。
  2. 连续转换模式
    在连续转换模式下,设备连续的执行转换。当一个转换完成,设备将转换结果保存到内部数据缓冲区,然后立即开始新的转换。可以随时读取数据,而不必担心数据损坏,并始终反映最近完成的转换。
    启动连续转换的步骤为:将配置寄存器 1 的 CM 位置一,然后跟着发出 START/SYNC 命令。在发出 START/SYNC 命令最后一个 SCLK 下降沿后的 210 * tCLK(Normal 模式和 Duty-cycle 模式)或者 114 * tCLK (Turbo 模式)时间后,第一次转换开始。(使用内部晶振时,210 个时钟大约 52.5 us)
    当转换正在进行时,向任意寄存器的写动作会重启当前转换。TI 推荐在设置 CM 位为 1 后,总是立即发送一个 START/SYNC 命令。

编程

串行接口

使用 SPI 接口通讯。使用模式 1(CPOL = 0,CPHA = 1)。
CS 引脚低有效,为高时,串行接口复位:忽略 SCLK 引脚、DOUT/DRDY 引脚高阻。如果没有和其它设备共享 SPI 总线,CS 引脚可以设置为常低。
SCLK 引脚在空闲时为低电平。在 SCLK 的下降沿,设备锁存 DIN 上的状态,在SCLK 的上升沿,设备向 DOUT/DRDY 引脚 输出新的状态。
SPI超时:这个特性尤其适用于 CS 引脚直连到地的情况。

  • Normal 模式和 Duty-cycle 模式下,超过 13955 * tMOD 时,SPI超时发生。在这种情况下,tMOD = 256KHz,所以这个超时时间约为 54.5 毫秒。
  • Turbo 模式下,超过 27910 * tMOD 时,SPI超时发生。在这种情况下,tMOD = 512KHz,所以这个超时时间也是约为 54.5 毫秒。

数据格式

以二进制补码的形式提供 16 bits 数据。
1 LSB = +FS / 215

命令

共 6 个不同的命令:
在这里插入图片描述

  • RESET:复位命令。发送复位命令后至少等待 50us + 32 * tCLK 时间后,再发送其它命令。(使用内部晶振时或外部4.096MHz时钟时,32 个 tCLK 为 8us。
  • START/SYNC:启动转换命令。单次转换模式下,用于启动单次转或者在转换期间重启单次转换。连续转换模式下,必须发送一次该命令启动连续转换,在转换期间发送该命令重启连续转换。
  • POWERDOWN:掉电命令。设备进入掉电模式后,内部所有模拟组件掉电、低侧开关打开、两个激励电流源关闭,但保持所有寄存器的值。如果在转换期间发出掉电命令,则在当前转换完成后,再进入掉电模式。一旦发出 START/SYNC 命令,所有模拟组件恢复到以前的状态。
  • RDATA:读数据命令。读取最近的转换结果。
  • RREG:读配置寄存器命令。读取寄存器 rr 起始的 nn + 1 个寄存器。
  • WREG:写配置寄存器命令。向寄存器 rr 起始的 nn + 1 个寄存器写入数据。寄存器将在最后一个 SCLK 下降沿更新新的配置。

比率式 RTD 当前电阻值推导

三线制比率计原理框图为:
在这里插入图片描述
芯片内部激励电流源流过测温电阻 RRTD和参考电阻 RREF,容易得出测温电阻 RRTD上的电压 VRTD 为:
V R T D = R R T D ∗ I I D A C 1 V_{RTD} = R_{RTD} * I_{IDAC1} VRTD=RRTDIIDAC1
容易得出参考电阻 RREF上的电压 VREF 为:
V R E F = R R E F ∗ ( I I D A C 1 + I I D A C 2 ) V_{REF} = R_{REF} * (I_{IDAC1} + I_{IDAC2} ) VREF=RREF(IIDAC1+IIDAC2)
所以,对于当前测温电阻 RRTD,ADC 当前码值 CodeRTD为:
C o d e R T D = V R T D ∗ G a i n V R E F ∗ C o d e F U L L Code_{RTD} = \frac{V_{RTD} * Gain}{V_{REF} } * Code_{FULL} CodeRTD=VREFVRTDGainCodeFULL
其中:

  • Gain 为 PGA 增益
  • CodeFULL 为 ADC 满量程码值

将 VRTD 和 VREF 的值带入上面公式:
C o d e R T D = R R T D ∗ I I D A C 1 ∗ G a i n R R E F ∗ ( I I D A C 1 + I I D A C 2 ) ∗ C o d e F U L L Code_{RTD} = \frac{R_{RTD} * I_{IDAC1} * Gain}{R_{REF} * (I_{IDAC1} + I_{IDAC2} ) } * Code_{FULL} CodeRTD=RREF(IIDAC1+IIDAC2)RRTDIIDAC1GainCodeFULL
假设 IIDAC1 等于 IIDAC2 ,则上式可以简化为:
C o d e R T D = R R T D ∗ G a i n 2 ∗ R R E F ∗ C o d e F U L L Code_{RTD} = \frac{R_{RTD} * Gain}{2 * R_{REF} } * Code_{FULL} CodeRTD=2RREFRRTDGainCodeFULL
可以得出 RTD 当前阻值 RRTD
R R T D = 2 ∗ R R E F ∗ C o d e R T D G a i n ∗ C o d e F U L L R_{RTD} = \frac{2 * R_{REF} * Code_{RTD}}{Gain * Code_{FULL} } RRTD=GainCodeFULL2RREFCodeRTD

3 线 RTD 测量计算

测量范围:-100℃ ~ 200℃,PT100 铂电阻的阻值变化范围为:59.57 Ω ~ 177.13 Ω。

TI 建议 PGA 的共模电压设置在模拟供电电压的一半,这里使用 3.3V 供电,因此共模电压可以设置为 1.65V。则参考电阻为:

RREF = VREF / (IIDAC1 + IIDAC2) = 1.65V / 1mA = 1.65 kΩ

这里取 RREF = 1.6 kΩ。设置 IIDAC1 = IIDAC2 = 500 uA。
则 VIN(MAX) = VRTD(200℃) = RRTD(200℃) * IIDAC1 = 177.13 * 500uA = 88.565 mV

最大增益 GainMAX = VREF / VIN(MAX) = 1.6 V / 88.565 mV = 18.06, 所以设置增益为 16。

PGA 需满足共模电压范围:
V C M ( M I N ) ≥ A V S S + 0.2 V + 1 2 G a i n ∗ V I N ( M A X ) = 0 V + 0.2 V + 1 2 ∗ 16 ∗ 88.565 m V = 908.52 m V V_{CM(MIN)} ≥ AVSS + 0.2V + \frac{1}{2}Gain*V_{IN(MAX)} = 0V + 0.2V + \frac{1}{2} * 16 * 88.565 mV = 908.52 mV VCM(MIN)AVSS+0.2V+21GainVIN(MAX)=0V+0.2V+211688.565mV=908.52mV
且:
V C M ( M I N ) ≥ A V S S + 1 4 ( A V D D − A V S S ) = 0 V + 1 4 ( 3.3 V − 0 V ) = 825 m V V_{CM(MIN)} ≥ AVSS + \frac{1}{4}(AVDD-AVSS) = 0V + \frac{1}{4} (3.3 V - 0V) = 825 mV VCM(MIN)AVSS+41(AVDDAVSS)=0V+41(3.3V0V)=825mV
条件2:
V C M ( M A X ) ≤ A V D D − 0.2 V − 1 2 G a i n ∗ V I N ( M A X ) = 3.3 V − 0.2 V − 1 2 ∗ 16 ∗ 88.565 m V = 2.39 V V_{CM(MAX)}≤ AVDD - 0.2V - \frac{1}{2}Gain*V_{IN(MAX)} = 3.3V - 0.2V - \frac{1}{2} * 16 * 88.565 mV = 2.39 V VCM(MAX)AVDD0.2V21GainVIN(MAX)=3.3V0.2V211688.565mV=2.39V
所以输入到 PGA 的共模电压必须满足: 908.52 mV ≤ VCM ≤ 2.39 V,这是硬性规定,原因可以参考 低噪声 PGA 一节。

本例实际输入共模电压是(假设 PT100 线阻为 15 Ω):
VCM(MIN) = VREF + (IIDAC1 + IIDAC2) * RLEAD3 + IIDAC2 * RLEAD2 + RRTD(-100℃) * IIDAC1 / 2 = 1.6 V + 0 V + 0 V + 14.89 mV = 1.615 V
注:计算 VCM(MIN) 时,线阻应假设为 0 欧姆,以获得最小值。

VCM(MAX) = VREF + (IIDAC1 + IIDAC2) * RLEAD3 + IIDAC2 * RLEAD2 + RRTD(200℃) * IIDAC1 / 2 = 1.6 V + 15 mV + 7.5mV + 14.89 mV = 1.667 V
注:计算VCM(MAX) 时,线阻应假设为 15 欧姆,以获得最大值。

通过计算可知 VCM 满足共模电压要求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值