【问题标题】:broadcast file transfer via CAN bus (CANopen?)通过 CAN 总线(CANopen?)进行广播文件传输
【发布时间】:2015-08-03 14:33:58
【问题描述】:

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

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

有人向我建议 CANopen 以节省我的工作量,但它似乎只支持 SDO 块传输且没有广播的点对点模式。

是否已经有支持向所有 CAN 节点分发文件的协议,还是我必须自己想出一个协议?

如果是这样,我应该考虑什么?

我以前没用过 CAN。

【问题讨论】:

  • 虽然在可用的情况下使用现有的库很好,但您所做的事情听起来很简单,可以从头开始,并且很容易保持您想要的广播方面。但是,要具体回答您的问题,我不知道已经存在什么。最好的情况是,有人会发布你可以使用的东西。但如果没有,从头开始编码应该不会太令人生畏。

标签: c can-bus canopen


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多