【发布时间】:2015-08-03 14:33:58
【问题描述】:
我正在构建一个由许多 (> 100) 个相等节点组成的系统,所有节点都通过 CAN 总线连接。 这个想法是所有节点必须具有相同的信息,任何节点都可以生成一个事件并通过 CAN 广播它。对于这些事件,一个 CAN 帧提供的 8 字节有效载荷就足够了,并且广播会到达总线上的所有节点,因此满足要求。
现在我还想通过 CAN 向所有节点分发固件更新(或其他文件),显然这里我需要某种碎片,而且 8 个字节有点稀缺。
有人向我建议 CANopen 以节省我的工作量,但它似乎只支持 SDO 块传输且没有广播的点对点模式。
是否已经有支持向所有 CAN 节点分发文件的协议,还是我必须自己想出一个协议?
如果是这样,我应该考虑什么?
我以前没用过 CAN。
【问题讨论】:
-
虽然在可用的情况下使用现有的库很好,但您所做的事情听起来很简单,可以从头开始,并且很容易保持您想要的广播方面。但是,要具体回答您的问题,我不知道已经存在什么。最好的情况是,有人会发布你可以使用的东西。但如果没有,从头开始编码应该不会太令人生畏。