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.

[参考译文] BQ76952:SDA 在 SCL 导致非法停止条件后改变状态

Guru**** 2513185 points
Other Parts Discussed in Thread: BQ76952, PCA9545A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1030241/bq76952-sda-changing-state-after-scl-causing-illegal-stop-condition

器件型号:BQ76952
主题中讨论的其他器件: PCA9545A

我尝试将 BQ76952与 ATMega2560配合使用。 我有 i2c 以400kHz 的频率与其他 TI 传感器一起工作、但当我与该器件通信时、接收数据时会出现间歇性问题。  

我将使用直接命令来读取电池电压。 在任何常规间隔上都不会发生这种情况、但我可以在得到误差之前通过几个读取周期进行读取。 我每2秒连续读取所有16个值。

我在代码中对此进行了几天的追踪、现在我确信它来自电池芯片。 SDA 脉冲上升会导致 MCU 的 i2c 状态寄存器显示非法的启动/停止条件。

TI 的芯片是最新推出的。 未完成配置、未设置 OTP。 电池状态寄存器显示0x8184或0x0184。 芯片是否已设置为完全访问? 我本以为它会被锁定、您必须解锁、但我想它的目的是解锁、直到您决定锁定它?

以下是逻辑采集。 错误条件的时序在 SCL 之前 SDA 上升40ns、并且宽度为792ns。

400kHz 默认快速模式。 该器  件是 PCA9545A 多路复用器输出端仅有的两个器件之一、在多路复用器上具有4.7K 上拉电阻器。 布线长度为6英寸或更短、分布在两层2盎司铜上、宽度为6密耳。

逻辑采集可在多路复用器的输出端探测、但分析仪导线的长度可能为18英寸。

我稍后可以获取示波器捕获。

是否立即有任何明显的信息我丢失了?

这种情况发生在电池电压直接命令以及电池状态直接命令中。 这就是我得到的结果。

阅读良好

读操作错误

错误条件

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

    您好 Jason、

    我看不到任何明显的东西。 您能否尝试直接连接 MCU (绕过  PCA9545A)以查看问题是否仍然存在? 多路复用器有自己的时序参数、我不熟悉这些参数、因此我不知道它是否会出现任何问题。 您的 MCU 是否支持时钟扩展?

    此致、

    Matt