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.
你(们)好。
我的客户发现 SDA_A 和 SCL_A 的下降沿不 会单调下降。 干扰可能会触发 I2C 通信的数据错误。 从 I2C 总线断开 SDA_A 和 SCL_A 后、干扰消失。 客户将 TCA9406替换为 TCA9417、但没有相同的问题。
我的问题是如何消除 TCA9406的干扰。
谢谢。
您好、Jerry、
您看到的小尖峰是由 TCA9406的导通 FET 导通引起的。 如果 A 侧拉低、这将是 A 侧和 B 侧连接的位置。 由于 B 侧的总线上有一些电容、因此它会通过 FET 放电并略微为 A 侧总线充电。 这是导通 FET 架构的产物、而其他真正的缓冲器解决方案则会重新驱动信号、而不会出现此放电。
这种小毛刺脉冲不应导致任何数据错误。 I2C 标准指定了一个抗尖峰脉冲滤波器来忽略任何脉冲50ns 或更低。 由于您看到的干扰似乎小于20ns、因此这不是问题。
如果您有任何疑问、请告诉我。
此致、
Eric
尊敬的 Eric:
在另一个项目中、干扰约为40ns。 是否有任何方法可以减少它?
谢谢。
您好、Jerry、
另一个脉冲在幅度和形状上是否相似? 这可能是由于另一个项目中的次级总线电容较高。 在这种情况下、当 FET 激活时、必须向另一侧耗散更多的电荷。 由于这种尖峰部分是由每个总线的电容差引起的、因此使两侧更加相似可能会降低这种尖峰的严重程度。 减少二次总线电容可能比人为地向一次总线添加电容更可取。
在测量中、您的探头是否靠近驱动器件或 PCA9406? 尖峰可能会与连接的 FET 进一步衰减。 如果驱动器件位于 I2C 线路的末端、它将利用全差寄生电容来衰减两条连接总线的尖峰。
另请注意、此尖峰仅在 PCA9406的驱动侧发生。 如果驱动器件和接收器件不在 PCA9406的同一侧、则驱动器可能会忽略此伪差。 另请注意、这种干扰不会影响数据、因为这些转换将在恒定时钟状态期间发生。 数据在时钟边沿上读取、因此额外的数据边沿不会影响数据。 我知道这可能会影响时钟信号。
如果这是一个问题、并且您可以分享您的原理图、我可以指出缓解这种现象潜在影响的可能方法。
此致、
Eric
您好、Jerry、
感谢示波器截图。 它们有助于清楚地显示当 B 侧的电压开始下降时、A 侧的尖峰是如何发生的。
在您的布局图中、我将尝试给出一个"同一面"的含义示例:
CPU 主器件位于 TCA9406的 A 侧、所有从器件位于 B 侧。这意味着在总线的同一侧(A 侧或 B 侧)都存在的两个器件之间永远不会发生通信。 由于尖峰仅发生在 TCA9406的驱动侧(出现在蓝色探针上而不是绿色探针上)、因此不应导致接收器件出现通信问题。
如果您想抑制此尖峰、TCA9406附近 B 侧上的小串联电阻会限制 B 侧的放电速率。 这将增加 B 侧从器件检测到的有效电压。
请告诉我您的演示是如何进行的、如果您希望事先了解更多信息。
此致、
Eric