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.

[参考译文] TCA9517:VCCA 未连接到 A 侧电源

Guru**** 2439710 points
Other Parts Discussed in Thread: MSP430F5510

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1074756/tca9517-vcca-not-connected-to-the-a-side-supply

部件号:TCA9517
《线程》中讨论的其他部件:MSP430F5510

TI 您好:

我的公司收购了一款通过电缆使用 I2C 通信协议的产品。 主板和多层板之间的连接是典型的星型应用。 主板和层板之间有一个 I2C 中继器(TCA9517DGKRQ1)。 I2C 主 MCU 位于主板中,I2C 从 MCU 和 I2C 中继器(TCA9517DGKRQ1)位于层板中。

我在上图中发现了2个设计缺陷:

  1. VCCA 未连接到 A 侧电源电压,VCCA 和 VCCB 被连接到 B 侧电源电压。 TCA9517DGKRQ1芯片应作为电压电平转换器工作,但 VCCA 电源未连接到芯片。
  2. VCCA 侧附近只有一个去耦电容器。

您能否帮助了解 I2C 总线中继器中的这种错误配置将如何影响 I2C 通信?

系统有多个 I2C 错误。 为了处理某些 I2C 错误,固件会在 I2C 错误后执行重试以重新发送 I2C 数据包。 当 I2C 从控制器保持较低的 SDA 线路时,也会发生 I2C 总线锁定。 这些类型的 I2C 错误是灾难性的,系统在没有电源循环的情况下无法恢复。

我注意到,I2C 信号的异常快速转换会引发 I2C 错误,因为这会影响 I2C 解码器理解线路上数据的能力。 我注意到,I2C 信号的异常快速转换会引发2C 错误,因为这会影响 I2C 解码器正确解码线路上数据的能力。 我使用的是 I2C 总线分析仪和一个示波器,其中内置 I2C 协议插入 A 侧,用于分析和记录 I2C 帧。

与 SDA 保持稳定的高水平相比,从高到低有快速的过渡,并回到高。 在此特定情况下,示波器中的 I2C 解码器在3个数据字节后停止解码。 查看下图中的缩放视图,了解 SDA 线异常快速过渡的详细信息。

我在示意图中发现的唯一问题是我指出的问题(VCCA 未连接到 A 侧电源,B 侧不会去耦电容器); 您能否提供有关这种与 I2C 总线中继器的错误连接如何可能影响 I2C 信号的见解?

我还计算了下拉最小值和最大值,它们在范围内,但我只是想知道下拉是否不够强。 有什么建议?

图表中是否还有其他突出的问题?

感谢你的帮助,

EE Yandrie Oyarzabal

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

    0.3 V 的差值不足以影响。 如示波器轨迹所示,所有设备都能正确检测到高信号水平。

    2,B 侧没有那么关键(短路,拉电阻器较弱)。 最近的去耦电容器离 VCCB 引脚有一定距离是无害的。 我认为这不会造成任何问题。

    3.电缆上的 SCL 和 SDA 之间有一些串扰。 但它的规模不足以令人关注。

    4,SDA 的尖峰信号是无害的,因为只有在 SCL 低时才会发生。 它们不能由电路或 I²C 缓冲器引起;它们发生是因为 I²C 从驱动器在短时间内主动驱动线路低电平。 (虽然无害,但这是一件愚蠢的事。)

    5.在这些迹线中可见的唯一实际问题是分析仪停止解码的位置。 当时钟低时,I²C 从动应让 SDA 升高,但它会延迟太长时间,以至于在 SCL 再次升高后上升边缘。 这是一种 I²C 停止条件,这会使分析仪停止工作。 (停止条件在此位置无效,因此 n ü I²C master 将忽略该条件。)

    唯一的问题是 I²C 从服务器。 这种随机延迟让我猜测从属设备完全在软件中实现 I²C,而且该软件的设计不能满足所需的实时限制。 (锁定进一步确认从属设备有问题。)

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

    克莱门斯您好:

    我非常感谢您花时间研究我的问题。

    最好确认 I2C 中继器 VCCA 未连接到 A 侧,而离 B 侧不近的去耦电容器不是问题。

    关于串扰,我同意你的意见。 SCL 线下缘过渡导致的下冲原因不够大,无法导致任何问题。

    当您指出,SDA 线的快速过渡不会在 SCL 上升边缘发生时,您是对的,因为这种情况应该是无害的。 为了给您一个更好的环境,奇怪的是,I2C 快速转换只有在从属设备发送的 I2C 数据不正确时才会发生。 在 I 共享的 I2C 帧中发送的数据为0x9E,0x7A,0x7F,但预期的正确数据为0x82,0x0A,0x03… 响应 ping 命令。 这种 I2C 从属行为会导致您得出结论,我正在使用一个很小的 I2C 从属设备。

    为供您参考,I2C 从控制器是 TI 的 MSP430F5510。 I2C 是使用 I2C 模块实现的,开发者没有对 I2C 协议进行位感叹。 您是否有在 MSP430F5510中使用 I2C 模块的经验? 您能否分享一些见解来确认 I2C 从设备是不安全的结论?

    我需要更多地确认这个问题(I2C 从属车),这样我就可以说服我的经理,我们应该专注于从 I2C 总线锁定中恢复,而不是花更多的时间尝试解决导致锁定的潜在问题。  

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

    我从未使用过 F5510,但据我所知,MSP 不会生成此类峰值。 (峰值可能是由非常强的串扰引起的,但它们仅在从属设备发射时才会发生。) MSP 当然不会输出完全错误的值,因此肯定存在软件问题。

    USCI 勘误表有多个,但没有一个症状看起来像这样。 而这种延迟上升的边缘让我怀疑从属设备实际上在使用硬件 I²C。 (好吧,软件/硬件的其他部分可能会导致线路太低。)

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

    I2C 从控制器使用 MSP430F5510中的 USCI 模块实现。 我们在 USCI 勘误表中查看了功能问题并实施了变通办法。 例如,我们将时钟频率从100kHz 降至40kHz,以确保在 I2C 标准模式下 SCL 时钟频率小于50kHz (如果使用重复启动以符合勘误表)。 我也看不到勘误表中可能导致 SDA 线快速转换的任何内容。  

    为了进入同一页,我想问您,当您说出硬件 I2C 时,您的意思是什么? 对我来说,因为 I2C 是使用 USCI 模块实现的,所以完全是在软件中实现的。

    即使在我开始记录 I2C 错误并最终进入总线锁定之前,I2C 从机使用错误的数据响应,导致代码中出现固件错误, 该问题仅发生在我们用于测试的实验室单元中的一个 I2C 从属设备中。

    为了给您提供更好的环境,该系统有一个主板,带有 I2C 主板,该主板使用典型的星形配置与10个 I2C 从控制器进行通信。 我只能在一个特定的 I2C 从属设备中记录 I2C 错误。 这不是巧合,这就是为什么我倾向于一个我们所忽视的硬件问题。  

    再次感谢,我将随时向您发布我的调查结果。

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

    是的,USCI 是硬件。

    我没有解释 USCI 模块为什么会延迟上升边缘,或者它为什么会锁定。

    如果不同单位的行为不同,我会假设闪存内容已损坏或芯片已损坏。