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

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

大家好,我是讯享网,很高兴认识大家。



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其实我也花过不少时间。但是都是突击性为别人修修补补,希望这次的学习能够有一个系统性的掌握吧!

小讯
上一篇 2025-05-05 21:32
下一篇 2025-05-02 20:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150931.html