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.

[参考译文] ISO1541:无法通过模块正常通信

Guru**** 2448780 points
Other Parts Discussed in Thread: ISO1541, TCA9800

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

https://e2e.ti.com/support/isolation-group/isolation/f/isolation-forum/872545/iso1541-unable-to-communicate-properly-via-module

器件型号:ISO1541
主题中讨论的其他器件: TCA9800

您好!

 我正在尝试使用北欧的 NRF52840作为 ICU 与 MCP39F521进行通信。

每当我尝试使用隔离器进行通信时、预期的数据值都会发生变化。

我在没有隔离的情况下获得预期的0x06 ACK、但在安装了隔离器的情况下获得0xC1。

因此、返回的数据不可信、无法使用。

在较低的速度(100k)下、返回更广泛的 gibberish、这表明器件正在尝试通信、但无法通信。

有什么关于如何解决这一问题的想法吗?

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

    您好、Anthony、

    感谢您与我们联系、很遗憾听到这个问题。

    隔离式 I2C 接口器件带来了新的挑战、即 I/O 逻辑阈值不一定符合 I2C 标准、而大多数器件仅兼容。 我不确定 ISO1541的哪一侧是 MCP 连接、哪一侧是 NRF 器件连接、但我已经看到将 ISO1541 SIDE1连接到 MCP 器件时出现问题。 这样做会导致通信不可靠、因为这两个器件的 I/O 阈值彼此不兼容。

    请务必分享详细的原理图(提及元件和电源值)、以便我可以查看是否存在任何问题、并了解哪些连接会查找兼容性问题。 分享这些信息后、我将能够做更好的评论。 谢谢。

    此致、
    Koteshwar Rao

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

    您好、  Koteshwar Rao。

    我的工程师 Mark Bennett 将您所需信息的图像尽可能地集中在一起
    所有4个电阻器均为2.2k Ω、两个电容器均为0.1uF、两个电源均为3.3V。
    如果您需要其他帮助 、请告知我们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Anthony、

    感谢您提供原理图和 PCB 布局图。 请允许我们的团队查看这些内容、科特瓦尔将在下周跟进。


    最棒的
    Manuel Chavez

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

    您好、Anthony、

    很抱歉耽误你的时间。

    感谢您分享简要原理图和 PCB 布局。 正如我之前提到的、我需要知道 ISO1541的哪一侧连接到 MCP、哪一侧连接到 NRF 器件。 我还提到 ISO1541 SIDE1 (VCC1侧)与 MCP 不兼容。 如果您要将 MCP 设备连接到 ISO1541的 SIDE1、则由于其不兼容的 I/O 阈值、预计会出现通信错误。

    在原理图中分享包含连接到 ISO1541的 MCP 和 NRF 器件的原理图、有助于查看是否存在任何问题。

    我还看到 PCB 布线布置在器件下方。 不建议在隔离器下方走线、因为这样可以减少爬电距离和间隙、从而影响高电压性能。 我不太确定由于这种路由、通信是否会出现交叉耦合问题、我建议最好避免这种路由。

    请与我们分享请求的信息、以帮助您调试问题、谢谢。

    此致、
    Koteshwar Rao

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

    您好!

    我认为我在错误的地方回答了、因此我将其发布为 well.e2e.ti.com/.../PRG_5F00_Brain.pdfe2e.ti.com/.../P_2D00_MONITOR.pdfe2e.ti.com/.../ARG_5F00_Main.pdf

    我已按照要求附加原理图、iso1541的1侧连接到 NRF/PIC 微控制器、而2侧连接到 MCP 器件。 请告诉我、他们是否需要更多信息来帮助调试过程。

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

    您好、Anthony、

    非常感谢您分享您的应用的其他原理图。 我想我在这里找到了问题的原因。

    根据原理图、我了解 ISO1541的侧2连接到 MCP 器件、而 ISO1541的 SIDE1连接到3种不同的器件- NRF、dsPIC 和 EEPROM。 如果我的理解有误、请改正。

    请注意、ISO1541的 SIDE1只能连接到需要与 I2C 总线隔离的一个器件、在本例中、该器件是 MCP、与其余 I2C 节点隔离。 虽然 ISO1541的第2侧应连接到具有多个节点的 I2C、但最大节点数可由 ISO1541第2侧支持的最大负载决定。 因此、SIDE1最多只支持3.5mA 和40pF 负载、而 SIDE1最多支持35mA 和400pF 负载。 ISO1541是一款双向器件、其中一侧需要具有非标准 I/O 阈值、以实现双向运行。 由于预期 SIDE1仅连接到一个负载、因此该侧具有非标准 I/O 阈值、其中高输入阈值和低输入阈值仅具有数据表中所述的50mV 迟滞。

    因此、将3个器件连接到 ISO1541的 SIDE1可能会导致错误通信。 遗憾的是、由于 MCP 设备与 ISO1541的 SIDE1不兼容、因此反转 ISO1541无法解决您的应用程序中的问题。 这里的一种可能解决方案是在 ISO1541的 SIDE1和 MCP 器件之间使用 I2C 缓冲器。 我建议在 ISO1541 SIDE1和 MCP 器件之间使用的缓冲器之一是 TCA9800。 请将 TCA9800的侧 A 连接到 ISO1541 SIDE1 (通常使用上拉电阻器)、并将侧 B 连接到 MCP 器件、但不要使用任何外部上拉电阻器、因为 TCA9800侧 B 具有内部上拉电阻器。 这将解决您的问题并支持无错误通信。

    有关 ISO1541 SIDE1 I/O 阈值的更多详细信息、请参阅 E2E 中的以下常见问题解答帖子。 谢谢。

    此致、
    Koteshwar Rao

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

    您好、 Koteshwar、

    我们仅使用 MCP 器件和1个微控制器来尝试该电路、但没有成功。 因此、我们认为、在隔离器下方运行的轨道更有可能是导致误差的原因、而不是一侧消耗的电流量。 话虽如此、我们仍会建议您尝试从隔离器下方移除迹线。

    此致、

    Anthony