2026年canfd报文格式(can报文pgn)

canfd报文格式(can报文pgn)nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 从这份 PPT 中的信息看 其实请求报文还是很简单的一个东西 至少 请求的动作还是很简单的 这是一个固定的报文格式 填充一个 PGN 的信息即可 而请求发送的目标地址可以是全局地址 也可以是指定的地址 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 接下来 结合我找到的一份代码看一下代码的处理 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 其实 跟上面的表格吻合度还是很高的 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 首先 PF 是 234 PGN 也就是 59904 优先级经过查看 也是 3 数据长度是 3 请求的 PGN 是发送机转速的一个 PGN 这里没有源地址信息



459_J1939请求报文格式分析与代码印证_CAN

         从这份PPT中的信息看,其实请求报文还是很简单的一个东西。至少,请求的动作还是很简单的。这是一个固定的报文格式,填充一个PGN的信息即可。而请求发送的目标地址可以是全局地址,也可以是指定的地址。

         接下来,结合我找到的一份代码看一下代码的处理。

459_J1939请求报文格式分析与代码印证_汽车电子_02

         其实,跟上面的表格吻合度还是很高的。

459_J1939请求报文格式分析与代码印证_汽车电子_03

         首先,PF是234,PGN也就是59904。优先级经过查看,也是3。数据长度是3,请求的PGN是发送机转速的一个PGN。这里没有源地址信息,其实是不需要。因为报文的发送功能中会自动的组装添加这样的信息。

459_J1939请求报文格式分析与代码印证_CAN_04

         上面是组装信息,源地址在这里被自动组装到了报文当中。而这个就是请求报文的发送过程,至于响应我还没有把例程调试通过也没有做分析,还是有一点存疑。其实,我自己存疑的地方有两个:第一个是响应报文是不是回复到源地址?或者是全局地址?第二个疑问是,请求的PGN有没有可能不仅是一帧报文,存在多帧的情况?按照现在比较直觉的想法,可能是发送给特定地址,也就是请求报文的源地址,否则的话网络传输代价太高,毕竟消耗了更多节点的处理工作。而多帧报文,或许是没有的吧?

         现在对J1939的了解的确是还很肤浅,但是随着我不断的丰富细节,我相信这个骨架肯定会逐渐被我描绘清楚的。

         初步调试的一个例程,发送出来的报文请求如下:

459_J1939请求报文格式分析与代码印证_汽车电子_05

         这里是两次请求发出来的信息,从报文信息看是0x81请求0x80发送0x00F004的PGN信息。

         之前,J1939其实我也花过不少时间。但是都是突击性为别人修修补补,希望这次的学习能够有一个系统性的掌握吧!

今天的文章 2026年canfd报文格式(can报文pgn)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2026-03-14 23:30
下一篇 2025-04-20 10:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/54026.html