工具/软件:
我之前就这个问题发布了文章、请参阅 BQ76952:I2C — 永久锁定
总之、我正在运行一个测试、其中我从 MCU 重复发送一个读取子命令 (0x0003 =硬件 num)、以测试 I2C 通信的稳定性。 在此测试几小时后、BQ76952 启动 NACK 字节 — 有时该子地址写入,有时是随机数据字节,有时是地址本身。
——
此后,我发现了几个重大问题,解决了不一致问题 — MCU(不是 TI MCU)中的短时脉冲波干扰、在这种情况下、我尝试发送需要 ACK 的 STOP 时、I2C 外设中断、我没有发送真正的 RPT 启动子命令、而是发送了一个 START-STOP-START-STOP、导致通信不一致
——
因此我看到了一些新的行为: BQ76952 COM 似乎随机地从具有 CRC 的 I2C(慢速)交换到 I2C 快速(无 CRC)。 我的问题是:
什么会使 BQ76952 交换 I2C 的工作模式? 我看到发送 SWAP_TO_I2C 或 SWAP_COMM_MODE 子命令可以切换 I2C 配置、但我没有发送这些命令中的任何一个。 我看到还有一个超时功能 — 从参考手册的第 74 页开始:
然后、如果检测到时钟为低电平的时间超过超时、器件将复位通信接口逻辑
5ms 至 20ms。 如果检测到 SCL 引脚为低电平的时间超过 2、则总线还包括一个长期超时
Seconds(秒)、这适用于 Comm Type(通信类型)设置是否包含超时。
发生此超时时时时、BQ76952 的通信接口是否会切换为 COMM TYPE DataRAM 寄存器中的设置? BQ76952 是否有任何其他机制可以通过该机制将其 COM 接口重置为 COMM TYPE DataRAM 寄存器中的设置?
——
——
也 — 从上一篇文章的最后一条评论张贴给我询问了 I2C 上的上升时间,但这不是一个问题。 虽然速度确实很慢、但 I2C 上升/下降时间在规格范围内、并且锁定期间的波形与正常通信期间的波形相同;当前测试/配置中的上升/下降时间没有问题
-迈克