主题中讨论的其他器件: LP5562、TPS25751、 BQ25723、
工具/软件:
尊敬的 TI 专家:
目前、 当 MCU (Nordic、nRF52840) 与 BQ28Z610 进行通信时、我遇到 I2C 总线挂起问题、如下所示:
NG 症状:
随机当 MCU 写入寄存器地址时、第 9 个时钟宽度要小得多 (2us)、在收到 ACK 后、I2C 总线始终保持低电平(我怀疑它被 BQ28Z610)拉至低电平、500ms 后、I2C 总线复位和恢复、并在下一次随机重复相同的 NG 症状。请参阅连接的日志。
e2e.ti.com/.../nRF52840-I2C-intermittent-failure-log.xlsx
我的工作:
发现 MCU (Nordic、nRF52840) 和 BQ28Z610 之间存在间歇性 I2C 异常通信;
MCU 与其他 I2C 从器件的 I2C 通信正常、未发现异常;
使用逻辑分析仪捕获 I2C 日志、发现 I2C 总线挂起;
已尝试移除除 BQ28Z610 之外的所有 I2C 从器件、且 NG 症状仍然存在;
5.尝试通过 BQ Studio 禁用时钟延展功能、并重新尝试、NG 症状仍然存在;
6.尝试引入 SW I2C、并在寄存器地址写入操作中增加第 8 个时钟和第 9 个时钟之间的间隔 100us 以上、NG 症状消失;

7.尝试将寄存器地址写入操作中第 8 个时钟与第 9 个时钟之间的时间间隔缩短至 80us 以下、NG 症状再次出现;

查找:
寄存器地址写入操作中第 8 个时钟和第 9 个时钟之间的间隔导致了该问题。
问题:
您是否知道导致此问题的根本原因是什么、以及是否需要该结果? 是否有针对此问题的纠正措施?
期待您的评论和致谢。(还随附了 PACK 原理图和 MCU I2C 相关原理图,如下所示)

