无需使用标准协议(protocol)即可进行大数据包交换的 CAN

标签 c embedded can-bus

我正在从事一个需要使用 CAN 进行通信的项目。有 3 个主节点和 48 个从节点。每个 Master 执行相同的功能(用于决策和投票的冗余)。每个主机每次传输将向从机发送大约 64 字节的数据,并从从机接收大约 40 字节的数据。每个 CAN 消息传输只能传输 8 个字节的数据。发送 8 个字节后,每个主节点必须等待从属节点的确认,然后才能发送下一个 8 字节,依此类推。目前我自己实现这个。

我的问题是:是否有任何 CAN 应用层协议(protocol)可供我引用并实现自定义协议(protocol)来处理大数据包?我不是在寻找有关 CAN 的硬件级别的详细信息。我正在寻找如何在软件中处理数据包(例如使用接收到的 ID 等使用基于软件的邮箱)

最佳答案

我不知道为什么以前没有人回答过这个问题,但 ISO-TP ( ISO 15765-2 ) 正是为了做到这一点而设计的。

关于无需使用标准协议(protocol)即可进行大数据包交换的 CAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783297/

相关文章:

c - 点亮 STM32F103C8T6 上的 LED

can-bus - Candump 显示 29 位 ID,而不是 11 位 - 无法重放代码

can-bus - 如果在汽车行驶时 CAN Controller 中发生总线关闭错误,会发生什么情况?

c - 向下转换具有非多态类型的层次结构

c++ - C 关于选角的问题

c - C 中的 6 位二进制计数器(编译,但 Windows 遇到错误)

c - 将输入重新打印到 C 中的终端

jvm - JRE 架构依赖项(在 MIPS 上运行)

c# - 在 .NET Microframework 中找到三个 double 中最大的最有效方法?

将 CAN 消息转换为常规值