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.

[参考译文] BQ25122:通过 I2C 确定充电器状态

Guru**** 2390755 points
Other Parts Discussed in Thread: BQ25122

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/863121/bq25122-determining-charger-state-over-i2c

器件型号:BQ25122

我在希望使用 INT 线路快速确定我的器件已插入充电器(或从充电器中移除)的应用中使用 BQ25122。

目前、我的代码等待 INT 脉冲、然后尝试读取状态寄存器。 如果正常工作、我假设 I2C 已启用、并且我继续读取多个其他寄存器、包括故障寄存器。 如果不起作用、我假设我处于高阻态模式、将 CE_N 拉至高电平、等待1ms 让 I2C 启用、然后再次读取寄存器。

当我的充电器连接或断开时、我会看到一个 INT 脉冲。 但是、我看到两个令人困惑的问题:

  1. 充电状态变化后读取的第一个状态始终报告器件处于故障状态、但任何其他寄存器中都不会设置故障位。
  2. 当我断开充电器时、我会按预期获得一个 INT、但 I2C 读取 正常工作。我不会期望这种行为、因为我现在是依靠电池电源运行的。 这里有延迟吗?
    1. 此外、断开充电器后、状态也会报告故障状态。

在这些情况下会发生什么情况?

谢谢、

u

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

    问题(2)似乎是我的电源缓慢下降/上升。 只需快速拔下器件即可正常关闭 I2C。 其他问题似乎仍在发生。

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

    Uriel、您好!

    您能在发现问题时共享的寄存器转储。 当您说充电状态发生变化时、您是指从充电变为充电完成还是充电变为充电? 您能详细说明一下这一点。

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

    根据充电状态、我是指充电至不充电、反之亦然。

    在一个实例中、我看到 INT 线路被下拉、随后的读取如下:
    寄存器0x0:0xC1
    寄存器0x1:0x00
    寄存器0x2:0x8E
    寄存器0x8:0x60

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

    您好!

    这似乎是由电池电压低于 BUVLO 阈值导致的、当您移除和更换电池时、该阈值会导致故障。 您是否也能够记录 VBMON 寄存器?

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

    您好!

    有更新吗?