繁体   English   中英

将 J1939 消息转换为原始 CAN

[英]Convert J1939 message to raw CAN

我通过使用 IsoAgLib 作为框架的 class 接收 J1939 CAN 消息。 在接收端,我有这些 J1939 消息需要使用 Qt 的“QCanBusDevice”和“QCBusFrame”传输到 CAN 网络。

我的问题是:如何将 J1939 协议中的消息转换为原始罐消息,反之亦然?

J1939只是一个协议层,所以首先需要根据J1939报文的优先级、PGN和源地址创建CAN ID,CAN ID为29bit长度,以如下结构为例:

- 优先级 0x18

-PGN 0xFECA

- 源地址 0x00

上面的结构是 J1939 消息 ID 之一的示例,原始 ID 将是相同的 0x18FECA00。 J1939 仅规定如何解释原始信息。

现在组装有效载荷将取决于以位为单位的参数长度、起始位和偏移量。

- 识别数据长度 - 根据 J1939 信号信息组装所有字节 你可以在 SAE J1939-71 和 SAE J1939-73 文档中找到这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM