通过CAN总线传输广播文件(CANopen?)

时间:2015-08-03 14:33:59

标签: c can-bus canopen

我正在构建一个由许多(> 100个)相等节点组成的系统,这些节点都通过CAN总线连接。 这个想法是所有节点必须具有相同的信息,任何节点都可以生成事件并通过CAN广播它。对于那些事件,CAN帧提供的8字节有效载荷足够,广播将到达总线上的所有节点,因此满足要求。

现在我也想通过CAN向所有节点分发固件更新(或其他文件),显然我需要某种碎片,8字节有点稀缺。

有人建议CANopen给我保存一些工作,但它似乎只支持SDO块传输的对等模式,没有广播。

是否已有支持将文件分发到所有CAN节点的协议,还是我必须自己提供?

如果是这样,我应该考虑哪些因素?

我以前没用过CAN。

1 个答案:

答案 0 :(得分:-1)

是的,PDO用于处理实时数据,始终传输相同的变量,而不是流数据协议。 也许你可以从奴隶到服务器添加反馈PDO。我曾经与一些节点合作,当我想启用它们时,我发送一个启用,然后在PDO中从从机到主机等待,从机表示它已启用。 或者您可以使用SYNC。