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.

[参考译文] BQ24735:I2C 在发送命令时卡住

Guru**** 2407640 points
Other Parts Discussed in Thread: BQ24735, EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/658463/bq24735-i2c-stuck-while-sending-commands

器件型号:BQ24735
主题中讨论的其他器件: EV2400

您好!

我使用的是 CCS 6.1.3。  我在电池板中使用的是 BQ24735。 我将在我们的基板中使用 DK-TM4C129X。 我们使用的是一个物理开关、它在开关关闭时关闭到基板(而不是电池板)的电源。

当我通过 I2C 发送充电命令时、控制器会卡住。 我在这些条件下观察到这种冻结/卡住-

  1. 假设电池板使用电池而不是交流适配器(交流适配器关闭)运行、如果我发送充电命令、我观察到这种冻结。 我通过使用一些变量并输入一些条件来检测系统是使用交流适配器还是电池板运行来解决此问题。
  2. 假设我正在使用交流适配器和连接的电池(因此电池板将从交流适配器运行)、如果我重置控制器、它将冻结(有时它运行良好)。 我 通过读取 SysCtlResetCauseGet 来解决这个问题、如果它返回复位、我将不发送充电命令。
  3. 我无法解决的主要问题是:开关关闭、但交流适配器打开、电池已连接。 现在,我将打开交换机,基板将发送命令,此时将发生冻结(有时运行良好),我不知道如何解决此问题。

如果您希望我发布代码、我会。 但我认为代码没有问题、因为我也将 I2C 用于其他接口、它在那里工作良好。 (不同的 I2C 通道)。 我认为这是因为我们不应该在某些情况下发送充电命令? 还是其他一些错误或 I2C 错误导致的? 您能指导我解决这个问题吗?

此致、

Adhitya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不熟悉 DK-... 和 CCS。。。。 但是、bq24735是 SMBus 器件。 I2C 是8位协议。 SMBus 为16位。 有一个应用手册提供了 I2C 和 SMBus 的差异。 www.ti.com/.../sloa132.pdf
    请使用 EV2400和 bq24735 GUI 来验证 SMBus 和 I2C 命令之间的差异。