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.

[参考译文] 400kHz I2C 要求:SDA 干扰、较低的 SCL 频率、过多的时钟延展

Guru**** 2587365 points
Other Parts Discussed in Thread: BQ76972

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1543946/400khz-i2c-quirks-sda-glitches-lower-scl-frequency-excessive-clock-stretching

器件型号:BQ76972


工具/软件:

您好、

我将使用 BQ76972 实现 4S 智能电池设计、STM32H7 主机 MCU 通过配置为 400kHz 快速模式的 I2C 总线与电池监控器通信。   在分析 总线流量时、我观察到了一些特殊的 I2C 通信功能、并想向您寻求有关预计会出现哪些特性的指导。 最后、我希望验证我的硬件设计。 关于后者的几点说明:

-主机 MCU I2C 外设被配置为 400kHz 主模式,时钟延展被启用

- 主机 MCU 通过一对 LTC4331 差分扩展器与电池监控器通信,总线跨越多个 PCB。 值得注意的是、本地和远程 LTC4331 扩展器上的链路速率均配置为 500kHz。 请参阅下面显示的总线:
                 [MCU]<-I2C 400k、2K2 上拉电阻->[本地 LTC431]<双绞线差分对->[远程 LTC431]  <-I2C 400k、2K7 上拉电阻-> [BQ76972 ]
下面附加的所有振荡镜/逻辑分析仪捕获结果都是在中的段上进行的 大胆。

(1) SDA 干扰

虽然通信似乎正常工作、但我的示波器/逻辑分析仪 在 SDA 线路上显示了异常的“干扰“。 这些干扰是 SCL 时钟脉冲之间发生的非常短的脉冲、特别是当 SCL 线为低电平时。 在 SCL 的上升沿期间、SDA 信号似乎保持稳定、并且当 SCL 为高电平时、这些干扰似乎不会发生。

问题:是否预期出现故障且无害?

(2) 低于预期的时钟频率

我一直测量到 SCL 频率为~355kHz、低于预期的 400kHz。 数据表未明确指定预期的频率容差。 如上所述、差分 I2C 链路配置为 500kHz、而主机 MCU 配置为 400kHz、这表明它们不是瓶颈。

问题:    当器件配置为 400kHz I2C 快速模式时、预计实际的 BQ76972 SCL 频率是 355kHz 吗?  如果不是、 您是否怀疑较低的频率 是由主机/DIFF I2C 链路引起的?

  

(3)  时钟延展过度

我观察到、在 400kHz 的频率下通过 I2C 与 BQ76972 通信时、时钟拉伸明显、这 极大地 影响了我的总线吞吐量。 如附加的逻辑分析仪捕获结果所示、器件会在字节之间将 SCL 线保持为低电平、持续的周期通常长于发送整个字节所需的时间、实际上是传输时间的两倍。

问题: 这种 激进的时钟延展是否被视为 BQ76972 的正常工作行为、或者它是否表明我的设置存在问题?

提前感谢您的时间和支持。

此致、
瓦西里

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

    因为我还没有收到回复、所以对我的问题进行了友好的 ping 操作。

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

    您好 Vasily、

    对延迟的回复表示歉意。

    1、这些 SDA 干扰通常不会出现、但同时也并不少见。 这是 由于几个原因造成的。 一种可能是如果您未使用适当的外部上拉电阻器(本例中可以使用此电阻器)。 另一个可能只是您正在使用的示波器的测量误差。 最后、一些人可能会在总线释放周期结束时看到这一点。

    这不应导致任何通信问题、因为它仅在 CLK 为低电平时发生、所以我不必担心。

    2.这种频率下降也不是预期的。 这可能与您在下面的问题有关、因为激进的时钟延展可能会导致频率降低。 我在下面提出了一项建议、可以改进这一点。

    3.时钟拉伸时间可能很长,但这似乎有点激进。 我在下面为您附上了一个参考、让您可以减少时钟延展。 您可以在器件中配置它。

    此致、

    Rohin Nair

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

    您好 Rohin、

    谢谢您回复我。 请重新上传您的附件吗? 它不能为我呈现。

    此致、

    瓦西里

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

    您好 Vasily、

    道歉。 我在下面再次附上它。 如果这不起作用、您也可以在中查看 第 13.3.2.8 节 部分。

    此致、

    Rohin Nair

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

    您好 Rohin、

    我忘记在我的原始邮件中提到,我已经为上面报告的通信计时将此设置配置为最大值 255。 您是否有其他进一步调查的建议?

    此致、
    瓦西里

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

    您好 Rohin、

    从我的身边也有一个友好的 ping。

    此致、

    Daniel Waleniak

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

    您好:

    遗憾的是、 除了上述建议外、我们没有任何其他方法来减少器件上的时钟延展。

    此致、

    Rohin Nair

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

    您好 Rohin、

    您能否具体说明您对上述第 2 点和第 3 点的结论? 您提到、1) SCL 频率和 2) 时钟延展度都是  不会  预计的、您能否确认在我的情况下 BQ76972 未在标称模式下运行?

    您是否怀疑这种行为的原因存在于我的设计中?

    提前感谢大家观看、
    瓦西里

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

    您好 Vasily、

    器件通常不会提供 SCL 频率和时钟延展程度。  这很可能是由于器件的设置方式以及用于与器件通信的接口所致。 我不太确定差分扩展器如何使用通信协议、但可能联系该团队会有所帮助、 因为我不熟悉该设备及其效果。

    此致、

    Rohin Nair