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.

[参考译文] ISO1644DWEVM:如何消除 SCL1和 SDA1中的振荡以实现稳定的通信?

Guru**** 2370370 points
Other Parts Discussed in Thread: ISO1644DWEVM, ISO1644, ISO1640
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/isolation-group/isolation/f/isolation-forum/1296599/iso1644dwevm-how-to-remove-the-oscillation-in-scl1-and-sda1-for-stable-communication

器件型号:ISO1644DWEVM
主题中讨论的其他器件: ISO1644ISO1640

器件名称:在 ISO1644DWEVM 上组装的 ISO1644DWR

我正在构建系统以测试 ISO1644DWR 是否可以在以下系统中桥接 I2C 的通信。

ISO1644DWEVM 上的 ISO1644DWR。 信号、电源和 GND 都使用电线进行跨接。

CHA_2、CHB_2和 CHC_3连接到  ISO1644DWEVM 上的 GND

  替换了 ISO1644DWEVM 上的上拉电阻器以使用上图中的电阻器来调节上拉电流、因为 TXS0102DCUR 上也有10K 的上拉电阻器。 但如果有更好的价值、我可以对其进行更改。

问题:下图中 SDA1和 SCL1中有红圈。

I2C 控制器无法读取正确的值、例如在上面、I2C 控制器得到0x03、而不是0x01。

我看到、如果我在没有隔离器的情况下直接连接 I2C、示波器没有振荡。

请您建议如何消除该振荡。

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

    您好、Takayuki-San:

    感谢您与我们联系。 根据示波器捕获、看来隔离器能够写入总线、但不能从总线读取。 是这样吗?

    我怀疑这与1侧的电容总线负载有关。 I2C 总线上的电容大小由总线上所有 I2C 引脚的输出电容引起。

    1侧和2侧可以驱动不同的电容负载(如下面6.3建议运行条件所示)。 超过负载电容会导致总线通信问题。 请首先检查连接的设备是否导致1侧总线超过 ISO1644的 C1建议值。  

    我们 I2C 隔离器的典型用例要求1侧直接连接到需要隔离的 I2C 节点。 通常仅是微控制器。 预计2侧会连接到 I2C 总线(多个节点)。  

    要确保这不是问题的原因、请测试以下内容。  

    1. 删除目标0x20和0x23。
    2. 1侧直接连接至 I2C 控制器。

    此致!
    安德鲁

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

    您好,Andrew-san

    感谢您的建议和及时回复。


    隔离器看起来能够写入总线、但不能从总线中读取。 是这样吗?


    通过隔离器进行的写入访问有时会失败、但有时成功。

    我认为由于 I2C 目标器件预期会工作、写入访问失败。 但我没有回读数据。


    1. 删除目标0x20和0x23。
    2. 1侧直接连接至 I2C 控制器。

    我将在上面进行测试、以查看问题是否由 VCC1侧 I2C 总线的电容负载引起。

    此致、

    高之

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

    高幸三、  

    我相信您明白了、但我想在万一发生时澄清一下。 请先测试#1。 如果仍有问题测试、请测试2、其中1侧是与  I2C 控制器的唯一连接。

    让我知道结果。
    安德鲁

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

    您好,Andrew-san

    谢谢您的建议。
    我想我解决了这个问题。

    我通过电平转换器 PCA9306A 将1侧连接到 I2C 控制器。
    因为我们的 I2C 控制器不支持3.3V IO 电压。

    我还从1侧切断了0x20和0x23。

    从 PCA9306A 到 ISO1644DWR 的信号线最大程度地减小到了数厘米。


    以下方框图运行稳定、并且在 SCL1和 SDA1中没有异常 oscilation。

    请查看上面随附的图表和解决方案、不胜感激。

    此致、
    渡边市

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

    您好、Takayuki-San:

    上图看起来不错。 每个 I2C 总线只需要一组上拉电阻器即可运行;红色框中有两组上拉电阻器。 图9-6. 典型的 ISO1640电路接线可用作 示例。  

    我很高兴看到我们为您的问题找到了解决方案。  我会继续把这个帖子标记为已解决。 如果您有任何其他问题、请随时进行跟进或创建新主题。

    此致!
    安德鲁