STM32 IIC电量计LTC2944

1 描述

LTC2944 可在便携式产品应用中测量电池充电状态、电池电压、电池电流及其自身温度。宽输入电压范围允许使用高达 60V 的多节电池。精密库仑反向积分电流通过电池正极端子与负载或充电器之间的检测电阻器。 电压、电流和温度由内部 14 位无延迟 ΔΣ™ ADC 测量。测量结果存储在内部寄存器中,可通过板载 I 2C/SMBus 接口访问。 LTC2944 针对所有四个测量量都具有可编程的高阈值和低阈值。如果超过编程阈值,该器件将使用 SMBus 警报协议或通过在内部状态寄存器中设置标志来传达警报。该LTC2944只需要一个低阻值检测电阻器即可设置测量的电流范围。

STM32 IIC电量计LTC2944_第1张图片

2 操作

2.1 概述

LTC2944是一款电池电量计,设计用于端电压为3.6V至60V的多节电池。它测量电池充电和放电、电池电压、电流和自身温度。 精密模拟库仑计数器通过电池正极端子与负载或充电器之间的检测电阻器对电流进行积分。电池电压、电池电流和硅温度由内部ADC测量。

库仑计数器

电荷是电流的时间积分。该LTC2944通过监测检测电阻两端产生的电压来测量电荷。将 SENSE+ 和 SENSE– 之间的差分电压应用于自动归零差分模拟积分器以推断电荷。 当积分器输出斜坡上升到 REFHI 或 REFLO 电平时,切换 S1、S2、S3 和 S4 以反转斜坡方向(图 2)。通过观察开关的状况和斜坡方向,确定极性。 这种方法还显著降低了模拟积分器对失调的影响,如差分失调电压部分所述。 可编程预分频器可有效将积分时间提高 M 倍,可编程范围为 1 至 4096。在预分频器的每个下溢或溢流处,累积电荷寄存器 (ACR) 值递增或递减一个计数。累积电荷的值通过 I2C 接口读取。

Voltage, Current and Temperature ADC

该LTC2944包括一个 14 位无延迟 ΔΣ 模数转换器,具有内部时钟和电压基准电路。 该ADC可用于监控SENSE端的电池电压或流过检测电阻的电池电流,或转换片内温度传感器的输出。 电压、电流和温度的转换通过 I2C 接口对控制寄存器进行编程来触发。该LTC2944包括扫描模式,每 10 秒执行一次电压、电流和温度转换测量。在每次转换结束时,相应的寄存器都会更新,转换器进入休眠状态,以较大限度地减小静态电流。 温度传感器产生与温度成正比的电压,斜率为2mV/K,在27°C时产生600mV的电压。

Power-Up Sequence

当 SENSE+ 上升到大约 3.3V 的阈值以上时,LTC2944 将产生一个内部上电复位 (POR) 信号,并将所有寄存器设置为默认状态。 在默认状态下,库仑计数器处于活动状态,而电压、电流和温度ADC关闭。累积充电寄存器设置为中间电平(7FFFh),所有低阈值寄存器设置为0000h,所有高阈值寄存器设置为FFFFh。启用警报模式,并将库仑计数器预缩放因子 M 设置为 4096。
STM32 IIC电量计LTC2944_第2张图片

3 应用信息

LTC2944寄存器映射如表1所示。该LTC2944通过检测电阻器对电流进行积分,测量电池电压、电流和温度,并将结果存储在可通过 I2C 访问的内部 16 位寄存器中。可以对每个测量量的上限和下限进行编程。LTC2944持续监控这些限值,并在超过限值时在状态寄存器中设置一个标志。如果启用了警报模式,则 ALCC 引脚将拉至低电平。
STM32 IIC电量计LTC2944_第3张图片
充电、电压、电流和温度警报的状态在表 2 所示的状态寄存器中报告。
STM32 IIC电量计LTC2944_第4张图片
每次电压、电流或温度转换后,转换结果都会与相应的阈值寄存器进行比较。如果超过阈值寄存器中的值,则设置相应的位 A[6]、A[4] 或 A[1]。 每次模拟积分器增加或减少预分频器时,都会将累积电荷寄存器(ACR)与电荷阈值进行比较。如果 ACR 值超过阈值寄存器值,则设置相应的位 A[3] 或 A[2]。如果累积电荷寄存器 (ACR) 溢出或下溢,则设置位 A[5]。每次溢流或下溢时,ACR 都会滚动并恢复集成。 如果在工作期间,SENSE+ 引脚上的电压降至 3.5V 以下而未达到 POR 电平,则设置状态寄存器 A[0] 的欠压锁定 (UVLO) 位。库仑计数器的模拟部分关闭,同时保留数字寄存器值。电源电压恢复后,库仑计数器恢复积分在累积充电寄存器中存储值,但在 SENSE+ < 3.5V 时,它错过了任何电荷流动。 所有状态寄存器位在主机读取后被清除,但如果仍满足相应的警报条件,则可能会在下一次温度、电压或电流转换或电荷积分后重新置位。

Control Register (B)

LTC2944的操作通过对控制寄存器进行编程来控制。表 3 显示了 8 位控制寄存器 B[7:0] 的组织结构。
STM32 IIC电量计LTC2944_第5张图片
STM32 IIC电量计LTC2944_第6张图片

Power Down B[0]

将 B[0] 设置为 1 可关断LTC2944的模拟部分,从而将电流消耗降至 15μA (典型值)以下。管理 I2C 通信的电路保持工作状态,并保留寄存器中的值。请注意,当 B[0] 为 1 时,不会测量任何流过的电荷,并且任何低于累积电荷寄存器 1LSB 的电荷信息都会丢失。

Alert/Charge Complete Configuration B[2:1]

ALCC引脚是由控制寄存器配置的双功能引脚。通过将位 B[2:1] 设置为 [10](默认值),ALCC 引脚配置为遵循 SMBus 协议的警报引脚。在这种配置中,如果四个测量量(电荷、电压、电流、温度)之一超过其上限或低阈值,或者如果累积电荷寄存器的值溢出或下溢,则ALCC被拉低。主设备启动的警报响应过程在ALCC引脚上重置警报。如果ALCC引脚的配置在因报警情况而被拉低时发生更改,则该器件将继续将ALCC拉低,直到主机发出成功的报警响应程序(ARA)。有关详细信息,请参阅警报响应协议部分。 将控制位 B[2:1] 设置为 [01] 可将 ALCC 引脚配置为数字输入。在此模式下,ALCC引脚上的低电平输入向LTC2944指示电池已满,并且累积充电寄存器设置为最大值FFFFh。
如果既不需要警报功能,也不需要充电完成功能,则位 B[2:1] 应设置为 [00]。然后,ALCC引脚被禁用,并应通过一个10k电阻连接到I2C总线的电源。 避免将 B[2:1] 设置为 [11],因为它会同时启用警报和充电完成模式。

Choosing RSENSE

为了达到库仑计数器的指定精度,SENSE+ 和 SENSE– 之间的差分电压必须保持在 ±50mV 以内。当输入信号高达300mV时,LTC2944将保持工作,但不能保证库仑计数器的精度。 外部检测电阻RSENSE的所需值由VSENSE的最大输入范围和应用的最大电流决定:
在这里插入图片描述
外部检测电阻值的选择会影响库仑计数器的增益。对于相同的电流,较大的检测电阻在 SENSE+ 和 SENSE– 之间提供更大的差分电压,从而实现更精确的库仑计数。由累积电荷的最低有效位(qLSB)(寄存器C,D)表示的电荷量等于:
STM32 IIC电量计LTC2944_第7张图片
当预分频器设置为默认值 M = 4096 时。 请注意,1mAh = 3.6C(库仑)。 在电池容量 (QBAT) 与最大电流 (IMAX) 相比非常大的应用中,选择 RSENSE = 50mV/IMAX 是不够的:
在这里插入图片描述
对于具有大电池的低电流应用,根据RSENSE = 50mV/IMAX选择RSENSE会导致qLSB小于QBAT/216,并且16位累积充电寄存器可能会在电池耗尽之前下溢或在充电过程中溢出。在本例中,选择的最大 RSENSE 为:
在这里插入图片描述
在最大电流为 IMAX = 100mA 的示例应用中,计算 RSENSE = 50mV/IMAX 将导致检测电阻为 500mΩ。这给出了34μAh的qLSB,累积充电寄存器可以表示QBAT = 34μAh•65535 = 2228mAh的最大电池容量。如果电池容量较大,则必须降低RSENSE。例如,如果使用容量为7200mAh的电池,则RSENSE应降至150mΩ。

Choosing Coulomb Prescaler M B[5:3]

如果电池容量 (QBAT) 与最大电流 (IMAX) 相比较小,则预分频器值 M 应从其默认值 (4096) 更改。 在这些电池体积小但最大电流较高的应用中,qLSB相对于电池容量可能会变得非常大。例如,如果电池容量为100mAh,最大电流为1A,则标准公式导致选择50mΩ的检测电阻值,结果为:
在这里插入图片描述
电池容量仅相当于294 qLSB,累计充电寄存器的利用率不到0.5%。 在这种情况下,为了保持数字分辨率,LTC2944包括一个可编程的预分频器。降低预分频器因子M可降低qLSB,从而更好地将累积充电寄存器与电池容量相匹配。可以在 1 和默认值 4096 之间选择预缩放因子 M。然后,电荷LSB变为:
在这里插入图片描述

你可能感兴趣的:(STM32学习,stm32,嵌入式硬件,单片机)