ZHDA340 October   2026 BQ21080 , BQ21088 , BQ25180 , BQ25186 , BQ25188 , BQ25190

 

  1.   1
  2.   2
  3.   商标

简介

在具有可拆卸可充电电池的应用中,系统需要知道电池是否已连接。检测这一点并不像读取 BAT 引脚上的电压那样简单。开路电池保护器 IC 可能会使已连接的电池看起来像未连接,而存储在 BAT 引脚电容上的残余电荷可能会使未连接的电池看起来像已连接。本应用简介描述了如何使用 BQ2519x 和 BQ2518x 线性电池充电器 IC 上可用的寄存器,在软件中实现电池移除检测。

未连接电池时的行为

此实现利用了当 VIN 已连接、充电已启用且未连接电池时发生的重复充电周期。图 1 显示了由此产生的 VBAT 行为:

  1. BAT 引脚电容器充电至电池调节电压 VBATREG。
  2. 充电终止,BATFET (Q4) 关断。
  3. 由于 BAT 引脚上的漏电流和负载,BAT 引脚电容器开始放电。
  4. VBAT 降至再充电阈值以下,触发一个再充电周期并启用充电。
  5. 该循环重复。
 未连接电池且充电已启用时的 BAT 引脚电压和充电状态中断图 1 未连接电池且充电已启用时的 BAT 引脚电压和充电状态中断

该周期会导致充电状态位 (CHG_STAT) 在“正在充电”和“充电完成”之间交替。每次充电状态发生变化时,/INT 引脚上都会发出中断,从而产生重复的充电状态中断。

电池移除检测序列

主机可以利用当输入源已连接、充电已启用且电池已断开时发生的重复充电状态中断,来启动一个检查电池是否已连接的序列。在禁用充电后,主机通过在 BUVLO 中断发生后读取 BUVLO_STAT 位,检查 BAT 引脚电压是否降至电池欠压锁定 (BUVLO) 阈值以下。在未连接电池时,BAT 引脚电容会放电至 BUVLO 阈值以下。然而,低电池电压也可能触发 BUVLO。通过将 BUVLO 阈值降低到最低设置并检查 BUVLO_STAT 位是否保持清零,通常可以将低电池电压与断开电池区分开来。以下序列检查这些条件,并可用于检测电池是否已连接:

 电池移除检测序列图 2 电池移除检测序列
  1. 在 VIN 有效 (VIN_PGOOD_STAT=1) 且充电已启用时,监控重复的充电状态中断。在每次中断时,读取状态位和标志位。如果 CHG_STAT 在“正在充电”和“充电完成”之间变化,然后在大约 50ms 内又变回,则继续执行步骤 2。将恒流充电和恒压充电均视为“正在充电”。
  2. 使用充电禁用位禁用充电。屏蔽充电状态中断,同时保持 BUVLO 中断启用。
  3. 在未连接电池时,BAT 引脚电压降至 BUVLO 阈值以下后会发生 BUVLO 中断。在图 4 所示的 EVM 波形中,此延迟约为 40ms,但取决于 BAT 引脚电容和负载,并且可以在 PCB 上测量。
  4. 读取 BUVLO_STAT 以确认器件进入了 BUVLO。如果在大约 100ms 内未检测到 BUVLO,则恢复正常设置,启用充电,并重新开始监控。否则,继续执行步骤 5。
  5. 将 BUVLO 阈值设置为最低值,然后再次读取 BUVLO_STAT。
  6. 如果在降低 BUVLO 后,BUVLO_STAT 清零并保持清零大约 100ms,则表明电池已连接。例如,将 BUVLO 阈值从 3.0V 降低到 2.0V,可使 2.5V 电池清除 BUVLO。恢复正常的 BUVLO 阈值和中断设置,启用充电,并重新开始监控。
  7. 如果在降低 BUVLO 后的大约 100ms 内,BUVLO_STAT 保持有效或再次变为有效,则电池存在状态尚未确认。电池可能不存在、被保护器 IC 断开,或低于最低 BUVLO 阈值。保持充电禁用,并将 BUVLO 阈值保持在最低设置。

电池移除检测伪代码如下所示:

Monitor battery:
    Read CHG_STAT on each charger interrupt while VIN is valid and charging is enabled.
    Treat constant-current and constant-voltage as CHARGING.

If two CHARGING ↔ CHARGE_DONE transitions occur
within around 50ms:
  Disable charging immediately.
  Mask charge-status interrupts; keep BUVLO interrupts enabled.
  Wait for BUVLO_STAT, up to around 100ms.

  If BUVLO is not detected:
    Report removal not confirmed.
    Restore normal settings and enable charging.
    Reset monitoring.
  Otherwise:
    Set BUVLO to its minimum threshold.

    If BUVLO_STAT is clear and remains clear
    for around 100ms:
      Report battery present.
      Restore normal settings and enable charging.
      Reset monitoring.
    Otherwise:
      Report battery presence not confirmed.
      Leave charging disabled and BUVLO at its minimum setting.
表 1 示例时序
时间间隔 时间
两次“正在充电”↔“充电完成”转换之间的最长时间 50ms
禁用充电后等待 BUVLO 的时间 100ms
将 BUVLO 降低到最低设置后检查 BUVLO 是否保持清零的时间 100ms

这些示例时序必须根据应用中的 BAT 引脚电容和负载进行调整。

 电池移除检测波形图 3 电池移除检测波形
 电池移除检测波形(放大图)图 4 电池移除检测波形(放大图)

禁用充电的 I2C 事务可以在图 4 中的 SDA 线路上看到。大约 40ms 后,一个 BUVLO 中断脉冲表明 BUVLO 状态已发生变化。此延迟会随 BAT 引脚上的有效电容而变化,因此请在 PCB 上确认时序。

电池重新连接

此方法适用于重新连接的电池电压高于最低 BUVLO 阈值,并且任何电池保护器都允许电池电压到达 BAT 引脚的情况。在电池存在状态未确认后,主机可以定期读取 BUVLO_STAT,同时保持充电禁用且 BUVLO 阈值处于最低设置。当电池重新连接并使 BAT 引脚电压升至 BUVLO 上升阈值以上时,BUVLO_STAT 清零。然后,主机可以恢复正常的 BUVLO 阈值和中断设置,启用充电,并重新开始监控。由于退出 BUVLO 不会产生 BUVLO 中断,因此需要轮询。图 5 显示了电池移除和重新连接,在主机读取到 BUVLO_STAT 已清零后启用充电。

 电池移除和重新连接波形图 5 电池移除和重新连接波形

电池保护器恢复

此方法还通过电池保护器检测电池重新连接。如果电池电压低于保护器的欠压保护 (UVP) 阈值,保护器会关断其放电 FET,以防止电池进一步放电。在放电 FET 关断的情况下,电池电压无法到达 BAT 引脚,因为放电 FET 体二极管会阻止电流从电池流向 BAT 引脚。因此,主机需要启用充电足够长时间,以使电池充电至 UVP 恢复阈值以上,并允许保护器开启放电 FET。保护器的恢复条件可在其数据表中找到。

在示例实现中,在电池存在状态未确认后,主机保持充电禁用,并继续检查电池是否重新连接。如果在一段时间后未检测到电池且 VIN 仍然有效,则主机恢复正常的 BUVLO 阈值和充电状态中断设置,然后启用充电一段时间,以便电池保护器有机会从 UVP 恢复。在此恢复时间之后,主机在启用充电的情况下恢复电池移除监控。如果未发生重复的“充电完成”至“充电完成”转换,则表明电池已连接并保持 BAT 引脚电压。在此示例中,电池保护器为 BQ29700,其 UVP 阈值为 2.8V,恢复迟滞为 100mV,因此 UVP 恢复阈值为 2.9V。图 6 展示了主机启用充电后电池保护器 UVP 恢复的示例。

 电池保护器 UVP 恢复波形图 6 电池保护器 UVP 恢复波形

总结

本应用简介描述了如何在 BQ2519x 和 BQ2518x 线性电池充电器 IC 上的软件中实现电池移除检测。该方法还支持电池重新连接和电池保护器恢复。