你能把MODBUS转换成CANBUS吗?

问题描述

我对这个领域完全陌生,我有一个我想完成的项目,该项目基本上是:以 MODBUS 的形式提取传感器数据,而不是通过 CANBUS 发送数据。我已经有一个 mod-bus 输入和一个 can-bus 输出

对 MODBUS 的研究有点令人困惑,如果这些问题看起来有点愚蠢,那么抱歉。

是否可以编写可以将 MODBUS 转换为 CANBUS 的代码?或者我需要外部硬件。 另外,我想在我的开发板上添加一个微处理器,我应该寻找什么特别的东西来帮助我的 modbus 和 canbus 操作?或者任何微处理器都可以工作。

谢谢

解决方法

所有数据通信的基础是OSI model。从那里开始。然后你最终会发现 Modbus 是一个应用层协议标准,而 CAN 是一个物理/数据链路层标准。

所以你的问题没有任何意义。您无法将应用层转换为物理/数据链路层。但是,您可以将 Modbus 转换为某些特定的 CAN 应用层协议,例如 CANopen、Device Net 或 J1939。或者定制一个。

Modbus 下面的最低层是 UART,很可能是 RS-485。可能是 RS-232。

您需要在 Modbus 传感器和 MCU 之间使用 RS-485 或 RS-232 收发器。您的 MCU 和 CAN 总线之间需要一个 CAN 收发器。此外,强烈建议选择带有内置 CAN 控制器硬件的 MCU。

选择适合您项目的目标硬件,不要随意选择一些开发板,然后尝试将其与其他硬件结合起来以满足项目要求。

然而,硬件是简单的部分。为您使用的任何应用协议购买和配置协议栈是困难而昂贵的部分。

此外,有很多公司都在制造网关,所以为什么要重新发明轮子。如果您需要在 Modbus 和 CANopen 之间进行转换,这些都是众所周知的行业标准。考虑只购买网关。