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.

[参考译文] BQ25792:当 USB-C 电源断开并快速恢复时、BQ25792 I2C 似乎锁定

Guru**** 2477065 points
Other Parts Discussed in Thread: TPS25750, BQ25792, BQ25798

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1554043/bq25792-bq25792-i2c-appears-to-lockup-when-usb-c-power-is-removed-and-restored-quickly

器件型号:BQ25792
主题中讨论的其他器件:TPS25750BQ25798

工具/软件:

背景: 我们将 TPS25750 和 BQ25792 芯片组用于 USB PD 和电池充电。   TPS25750 的 I2C 从器件端口连接到微处理器。  微处理器通过 TPS25750 的 I2Cr 和 I2Cw 命令定期查询 BQ25792。   只需拔下并连接设备的 USB-C 电缆、即可将 BQ25792 置于其 I2C 端口停止工作的状态。  我已验证 TPS25750 的 I2C 端口在这些时间段内仍然工作、因为我可以成功读取和写入该器件上的寄存器。  但是、无法访问 BQ25792、解决 I2C 锁定问题的唯一方法是通过对器件进行下电上电。  

在 TPS25750 和 BQ25792 之间运行的 I2C 总线也连接到用于配置的 24LC512 EEPROM。  没有其他器件连接到该 I2C 总线。  该总线的 SCL 和 SDA 线均使用 2.2K 上拉电阻器上拉。  

提前感谢您的帮助。  

Paul

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

    您好、Paul:

    USB-C 电缆是此处的电源输入、对吗?

    当您对设备进行下电上电时、这是否意味着要移除输入和电池? 移除 USB-C 电缆后、I2C 如何在仅电池模式下响应?

    此致、
    Michael

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

    您好、Michael:  

    该器件包含电池、USB-USB PD 和“桶形连接器“直流输入。  按下电源按钮可关闭该器件、该按钮基本上会断开 BQ25792 的负载。  单元重新启动后、它会重新初始化 TPS25750 和 BQ25792 芯片。  要回答您的问题、如果在 I2C 锁定发生时器件由电池供电、器件仍然被锁定。  另一个数据点是、当电池充分放电且充电器芯片处于快速充电模式时、似乎发生频率更高。   我曾经使用 BQ 芯片看门狗(目前我已将其禁用)、并看看这是否可以解析锁定的 I2C 路径。  

    感谢您回复我的帖子、非常感谢您、  

    Paul

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

    您好、

    感谢您提供的信息。 我认为看门狗计时器不会导致 I2C 锁定。 我能看到锁闭波形吗? 是否可以使用其他 BQ25798 IC 或电路板重现此问题?

    此处用作 I2C 上拉的电压源是多少?

    另一个数据点是、当电池充分放电且充电器芯片处于快速充电模式时、似乎发生的频率更高。

    拔下 USB 电缆后、设备是否仍在通过桶形连接器输入进行充电?

    此致、
    Michael

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

    您好、Michael:  

    关于看门狗计时器、我并不是暗示看门狗导致了错误、而是暗示允许看门狗超时可以解决问题。  我尝试过,但它没有解决问题。   

    为了回答您的问题、I2C 上拉电阻为 2.2K Ω、连接到 3.3V。   当我遇到“I2C 错误“时、电池充电器芯片仍会继续通过桶形连接器或 USB-C 电缆充电。  这让我想到了这种想法:  

    我想我的代码中可能发现了问题。  我在鉴定 I2C 错误时包括 I2Cw 和/或 I2Cr 命令状态(TPS25750 寄存器 0x09 中的第一个数据字节)。   如果状态不为零、这可能会导致我的代码中止 I2C 传输。   

    我将继续监控问题、如果问题再次发生、我将在我的数字示波器上捕获波形。   

    谢谢你的帮助,我会标记这个 bug 现在关闭.  

    请注意、  

    Paul