This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ25120A:诊断和处理故障状态

Guru**** 2439710 points
Other Parts Discussed in Thread: BQ25120

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/665780/bq25120a-diagnosing-and-handling-fault-status

器件型号:BQ25120A
主题中讨论的其他器件:BQ25120

我正在围绕 BQ25120报告的状态实施一些固件逻辑、并对其行为有一些疑问。 当我的设备位于充电器上时,当状态寄存器= 0xC1和故障/故障屏蔽寄存器= 0x0F 时,我们间歇性地达到故障状态

似乎故障正在自行清除(尽管它在5秒后再次设置),因此我们看到它从“正在充电”和“故障”状态来回跳动。 我们将轮询状态寄存器并以2秒的间隔轮询电池电压。 在轮询电池电压时(即使在充电器上)、我们会暂时禁用并重新启用充电。 我不确定我们的电池电压轮询例程是否与问题相关。

寄存器 默认值 配置说明
0x01 0x0F 0bxxxx0000 屏蔽故障(仅中断?)
0x02 0x00 0b1xxx1000 禁用 TS_EN 和 EN_INT
0x04 0x92 0x0E 8mA 终止电流、启用充电电流终止
0x05 0x7C 0x78 VBREG=4.22V
0x08 0x2C 0b011010xx 针对复位的15s 定时器调整、输出功能为电压偏移按钮、复位后进入高阻态
0x09 0x3B 0x0A 300mA 限值、BUVLO = 2.8V
0x0B 0x8E 0x4A 启用 VINDPM、计时器减慢、禁用安全计时器

以下是我的问题:

  • 在我们的配置和状态/故障寄存器的状态下、我如何了解故障原因? 故障寄存器中的所有故障位都已清除、状态寄存器中的两个故障位(RESET_FAULT 和定时器)也都已清除。 我们禁用了安全计时器。
  • 您可能已经注意到故障和故障屏蔽寄存器中的屏蔽位已设置。 是否有人可以确认这些位用于屏蔽中断(而不是故障本身)? 鉴于我们所看到的情况,我对此并不清楚。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Behrooze、

    当您在寄存器0x00上读取0xC1时、是否在后续寄存器上看到任何其他故障读取?

    此外、我还将澄清即将发生的故障的数据表(随附预览)

    您能否增大 ILIM 以确保其与 ILIM 无关?

    此致、

    Gautham Ramachandran

    电池充电器应用

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gautham、

    感谢您的回答。 您能否说明您希望我报告哪些寄存器值? 正如我在初始 POST 中提到的、故障/故障屏蔽寄存器(0x01)在发生故障时的值为0x0F。

    故障发生时、是否应该读取除0x01以外的其他寄存器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Behrooze、

    我不确定您是否在故障显示后立即读取了0x01。

    更改 ILIM 是否有任何进展?


    此致、
    Gautham
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gautham、

    是的、在故障状态从状态寄存器中读取后、我立即读取0x01 (在两个独立的 I2C 事务中、如果重要)。

    我相信我不能将 ILIM 设置得更高。 我们将0x3B 写入寄存器0x09 (ILIM 和 UVLO 配置)。 这设置了所有3位 INLIM 位、哪个是最大400mA 限制、对吗? 我在初始帖子中有一个拼写错误、其中我在表中说过300mA。

    让我知道我还可以尝试什么。

    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Behrooze、

    感谢您查看 ILIM。 您能描述一下您用来检查电池电压的过程吗?

    您是否只是使用 VBMON?

    此致、

    gautham

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    电池电压轮询例程执行以下序列:

    1. 将 CD_N 升高到高电平
    2. 向 FASTCHARGE 控制寄存器的|CE 位写入1以禁用充电
    3. 向电压监控器寄存器中的 VBMON_READ 位写入1、以启动 VBATREG 读数
    4. 等待10毫秒以获得 VBATREG 读数
    5. 从电压监控器寄存器中读取电压
    6. 清除 FASTCHARGE 控制寄存器中的|CE 位以重新启用充电
    7. 将 CD_N 拉至低电平

    请注意、我们以2秒的间隔(读取状态寄存器后)执行上述序列、该序列是在设备处于充电器上时执行的、以便我们可以定期获取电压读数。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Behrooze、

    这似乎与您所做的事情相当正常。 我认为这种方法没有问题。

    现在、我们可能需要开始查看 VIN/ VPMID/ VBAT 和 VSYS、看看它们是否看起来与众不同。

    如果您有电流探头、IIN 也会很好。

    此致、
    Gautham