主题中讨论的其他器件: BQ25157、BQ25190
工具与软件:
您好!
我将在一个紧凑的便携式设备中使用 BQ25120A、该设备具有内置的3.7V 锂电池、不带开/关开关。 因此、由于使用的微控制器没有硬件复位引脚、因此我通过 LS/LDO 为电子设备供电(作为 LS 和连接到 SYS 的 VINLS 运行)、以便仍然可以通过控制引脚 LSCTRL 短暂关闭 LS 来复位电子设备。 为此、LSCTRL 连接到/RESET 引脚、而连接到 SYS 的上拉电阻器可确保 LS/LDO 始终与 SYS 一起打开、除非通过连接到/MR 的按钮手动触发 RESET:

我发现 LS/LDO 存在问题、当电池电压(BAT)下降时、LS/LDO 有时会在 SYS 之前过早关闭、即使它仍然远高于 BUVLO 阈值。
这种行为是否有解释? 根据数据表、我预计 LS/LDO 将始终跟随 SYS。
让我更详细地解释一下:
PMIC 的基本设置如下:
- V_SYS = 3.2V
- LS/LDO = LS (无 LDO、所有 LS_LDO_x 位均已置位)→V_LSLDO 跟随 V_SYS /V_VDD
- EN_LS_LDO = 0→LS/LDO 仅由 LSCTRL 引脚控制、以确保始终可通过/RESET (或/MR)触发复位。
- BUVLO = 2.6V
可用电池电压范围:3.0V 至4.2V
电池具有集成保护电路模块、当其电压低于2.8V 时、该模块会切断电池
使用上述设置执行器件测试、我有时会注意到 LS/LDO 输出出现异常行为。
为了更有效地解决问题、我将电池更换为实验室电源、以便更轻松地更改 V_BAT 电压。 未将电压源连接至 VIN (仅限电池)。
以下示波器图像显示了以下信号与施加的电池电压的关系:
- CH1 (黄色):V_LSLDO
- CH2 (绿色):LSCTRL
- CH3 (蓝色):V_BAT (施加的电池电压)
- CH4 (品红色):V_SYS (V_VDD)

当增加电池电压(蓝色)时、一旦电池电压超过默认的3V BUVLO 阈值、V_SYS (品红色)和 V_LSLDO (黄色)就会打开至1.8V。 我知道、根据 PMIC 数据表中的表11、这是预期行为、因为 VIN 无效。
在器件微控制器启动初始化期间、它还配置 PMIC 并将 V_SYS 输出编程为3.2 V、将 BUVLO 编程为2.6 V
将 V_SYS 设置为3.2V 且 V_BAT 仍在上升后、可以看到 V_SYS (品红色)正在尝试达到预期的更高电压。 有趣的是、V_LLSLDO 跟随 V_SYS 很短的时间(不明显可见)、然后完全关闭、直到再次打开、据称是因为 V_SYS 最终达到所需的值3.2V。这种行为是意外行为、因为 LSCTRL (绿色)始终保持高于所需的输入高电平阈值0.75 * V_SYS、我在数据表中没有找到在这些情况下 V_LSLDO 不应遵循 V_SYS 的说明。
然后、再次降低电池电压、无论编程的 V_SYS 电压如何、V_SYS 和 V_LSDO 也会下降、但会保持开启状态、直到 V_BAT 达到2.6V BUVLO 阈值。 一旦 V_BAT < BUVLO、V_SYS 和 V_LSLDO 就会同时切换、如数据表中的表11所示。
现在、我来看示波器屏幕截图中的第二个启动序列:V_BAT 增加速度快于首次、尽管 V_SYS 未完全达到所需的3.2V 电平(V_BAT 似乎不足以满足这一要求)、但 V_LSLDO 在将 V_SYS 编程为3.2V 后仍然保持开启的原因似乎是这样的。
真正的灾难现已到来:
突然、随着 V_BAT 进一步下降、V_LLSLDO 关闭、而 V_SYS 和 LSCTRL 保持开启。 V_SYS 最终也被关闭、但这首先需要 V_BAT 降至2.6V BUVLO 阈值以下。
根据 PMIC 的数据表、人们预计 V_LSLDO 会跟随 V_SYS、而当 V_BAT 降至2.6V 以下时、两个电源也会同时关闭。但是、在这种情况下、V_LSLDO 会在没有任何可识别的原因的情况下关闭、并且微控制器会意外复位。
我尝试了一些不同的设置、例如将 V_SYS 编程为仅3.0V 而不是3.2V、并选择2.2V 而不是2.6V 的 BUVLO 阈值:不过、这仅更改了信号的开关电平、而不会改变 V_LSLDO 输出的不需要的独立关断:

不要混淆:在此图中、CH2 (绿色)显示的是电池电流、而不是 LSCTRL 信号。
我最后发现、软启用 LS/LDO 可解决该问题:
有趣的是、设置 EN_LS_LDO 位= 1可防止 V_LSLDO 在 V_BAT 下降时过早关闭。 在这种情况下、V_LSLDO 一直跟随 V_SYS、直至 V_BAT 降至低于 BUVLO 阈值、并且 V_SYS /V_LSLDO 一起关闭。 但是、使用 EN_LS_LDO = 1不是器件的可行解决方案、因为在这种情况下、输入 LSCTRL 将变为非活动状态、并且在挂起的情况下无法再复位微控制器。 根据 LS/LDO 是通过 LSCTRL 引脚运行还是通过寄存器位 EN_LS_LDO 运行、LS/LDO 的行为为何会有所不同、这一点尚不清楚。
问题:
- 这种行为是否符合您的预期?
- 我是否在数据表中遗漏了能解释 V_LSDO 为什么过早关闭(即不与 V_SYS 一起关闭)的内容?
- 是否有权变措施可以确保仅当 V_BAT 降至低于 BUVLO 阈值时才始终关闭 V_LSLDO、即使 LS/LDO 仅根据预期通过 LSCTRL 进行控制也是如此?
- V_BAT 和 V_SYS 之间的压降在250mV 至400mV 范围内是否正常? 这对我来说似乎比较高。 能否对其进行优化、例如通过选择不同的2.2 µH 电感器进行优化?
- 特别是在低温条件下、由于电池特性发生变化、电池电压也可能低于3.6V、并且该电压仍处于电池允许的范围内。 在这些情况下、PMIC 应能够处理 V_SYS 可能无法达到所需的编程电平、然后轻松地设置为尽可能高的电平而不出现错误。 V_SYS 似乎就是这种情况、但 V_LSLDO 并非每种情况都是如此! 您对此有什么评论吗?
- 是否有任何可比较紧凑的 PMIC 通过降压/升压转换器生成输出电压、从而减轻对电池电压的依赖?
我希望我已经以一种可以理解的方式解释了 V_LSLDO 的特殊行为、并且该问题有一个很好的解决方案。
谢谢、此致、
Matthias