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.

[参考译文] TCAN4550:CAN 至 RS-485转换

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/885902/tcan4550-can-to-rs-485-conversion

器件型号:TCAN4550
主题中讨论的其他器件: TCAN1042-Q1THVD1451TCAN1042HV

我的客户希望将 CAN 连接到 RS-485。 我们是否对如何做到这一点有建议?   

或许可以将 TCAN4550连接到 MCU、然后再通过另一个端口连接到 RS-485收发器?

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

    Mark、您好!

    是的、这样就可以了。  或者、您也可以使用具有内部 CAN 控制器的 MCU 并使用 TCAN1042-Q1等外部收发器 IC。  请记住、接口在数据链路层方面的工作方式不同。  CAN 有一个已定义的帧结构并且支持消息的基于 ID 的仲裁、这样、来自多个节点的同时传输可按照优先级顺序自动排序。  另一方面、RS-485没有定义的数据协议(尽管简单的 UART 起始/停止位编码很常见)、并且使用了无法直接支持多主仲裁的物理层。  因此、您需要考虑这两个接口之间如何封装数据以及如何在 RS-485端管理总线访问。

    如果您不关心数据协议、只是在寻找直接物理层转换、则可能会有一种简单的解决方案绕过 MCU 而改用一些分立式逻辑。  请告诉我情况是否如此,我们可以对它进行更多的思考。

    最大

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

    尊敬的 Max:

    再深入探讨一下这一点、您似乎感兴趣的是进行直接物理层转换、正如您在第二段中提到的那样。  

    感谢您就此提出的任何建议。 。  

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

    尊敬的 Max:

    如果 RS-485总线是全双工、是否可以使用连接到 TCAN1042HV 等 CAN 收发器的 THVD1451/52 RS-485收发器等简单接口?  只需互连逻辑数据线路(D 至 RXD、R 至 TXD)。 在不发送数据时、RS 485侧将需要默认为 R DATA 为高电平、以使 CAN 总线保持在隐性模式。  

    半双工 RS-485将更具挑战性、因为必须处理 RS-485总线的 T/R 控制、并且模式之间的切换时间对于 CAN 来说可能太慢。  

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

    Mark、

    那么、只需确认一下、其中的 CAN 部分将只是使用 CAN 收发器发送 UART 数据之类的数据、对吧?  即、不使用 CAN 控制器、在给定的时间仅传输一个节点、等等?  如果是、使用全双工 RS-485收发器可以简化控制逻辑。  您建议的可行方案:它会将 CANH/CANL 上的传入数据转换为 Y/Z (而非 A/B)(始终作为驱动器启用)、并将 A/B 上的传入数据转换为 CANH/CANL 和 Y/Z (因为 CAN 收发器会"回送"数据)。

    此致、
    最大