主题中讨论的其他器件: TCA9800
您好!
我正在尝试使用北欧的 NRF52840作为 ICU 与 MCP39F521进行通信。
每当我尝试使用隔离器进行通信时、预期的数据值都会发生变化。
我在没有隔离的情况下获得预期的0x06 ACK、但在安装了隔离器的情况下获得0xC1。
因此、返回的数据不可信、无法使用。
在较低的速度(100k)下、返回更广泛的 gibberish、这表明器件正在尝试通信、但无法通信。
有什么关于如何解决这一问题的想法吗?
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.
您好!
我正在尝试使用北欧的 NRF52840作为 ICU 与 MCP39F521进行通信。
每当我尝试使用隔离器进行通信时、预期的数据值都会发生变化。
我在没有隔离的情况下获得预期的0x06 ACK、但在安装了隔离器的情况下获得0xC1。
因此、返回的数据不可信、无法使用。
在较低的速度(100k)下、返回更广泛的 gibberish、这表明器件正在尝试通信、但无法通信。
有什么关于如何解决这一问题的想法吗?
您好、Anthony、
感谢您与我们联系、很遗憾听到这个问题。
隔离式 I2C 接口器件带来了新的挑战、即 I/O 逻辑阈值不一定符合 I2C 标准、而大多数器件仅兼容。 我不确定 ISO1541的哪一侧是 MCP 连接、哪一侧是 NRF 器件连接、但我已经看到将 ISO1541 SIDE1连接到 MCP 器件时出现问题。 这样做会导致通信不可靠、因为这两个器件的 I/O 阈值彼此不兼容。
请务必分享详细的原理图(提及元件和电源值)、以便我可以查看是否存在任何问题、并了解哪些连接会查找兼容性问题。 分享这些信息后、我将能够做更好的评论。 谢谢。
此致、
Koteshwar Rao
您好、Anthony、
很抱歉耽误你的时间。
感谢您分享简要原理图和 PCB 布局。 正如我之前提到的、我需要知道 ISO1541的哪一侧连接到 MCP、哪一侧连接到 NRF 器件。 我还提到 ISO1541 SIDE1 (VCC1侧)与 MCP 不兼容。 如果您要将 MCP 设备连接到 ISO1541的 SIDE1、则由于其不兼容的 I/O 阈值、预计会出现通信错误。
在原理图中分享包含连接到 ISO1541的 MCP 和 NRF 器件的原理图、有助于查看是否存在任何问题。
我还看到 PCB 布线布置在器件下方。 不建议在隔离器下方走线、因为这样可以减少爬电距离和间隙、从而影响高电压性能。 我不太确定由于这种路由、通信是否会出现交叉耦合问题、我建议最好避免这种路由。
请与我们分享请求的信息、以帮助您调试问题、谢谢。
此致、
Koteshwar Rao
您好、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