CAN2.0B协议数据定义与SAE J 1939协议消息中R,DF,PF,PS,SA,PGN,SPN的对应的关系.
CAN2.0是一种总线规范,是数据链路层的技术。J1939是SAE(美国汽车协会)定义的基于CAN总线的规范,目的是解决不同发动机厂商、不同ECU厂商的兼容性问题。
J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度、数据类型、分辨率、范围及参考标签,并为每个参数分配了一个编号(SPN)。由于J1939协议是以协议数据单元(PDU)的形式进行传输,而一个PDU包含8个字节数据,因此,需要对这些参数进行组合。在J1939应用层协议中还详细定义了参数组,包括每组参数的更新率、有效数据长度、数据页、PDU格式、PDU细节、默认优先权及参数组的内容,并为每个参数组分配一个参数组编号(PGN)。
       PGN(parameter group number)是一个24位的值,包括保留位(R)、数据页位(DP)、PF(PDU格式场)和PS(群扩展场)等要素。
       SPN(SPN:Suspect Parameter Number)是PG(参数组)下面的具体参数的一个编号,而PGN是参数组编号,可以理解为一个PGN包含了按一定方法分类的一组参数,而每个具体参数又有它自己的编号(就是SPN)。      SAE J1939的应用层以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。
1、J1939和CAN2.0的关系
J1939是在CAN2.0B的基础上,对仲裁场部分的29位ID的重新解释;其它部分完全一样。29位ID分为:3位的优先级、8位的PF(帧格式)、8位的PS(帧扩展)、8位的SA(源地址)、1位的DP(Data Page数据页)、1位的保留位。其中1位的DP、8位的PF、8位的PS组成了PGN;PGN是Parameter Group Number;是参数组列表。在J1939中,将消息分为了PDU1和PDU2两种格式。PDU1格式的消息发送给特定地址的ECU,地址用8位的PS记录;PDU2格式的消息则发送给所有的ECU,8位的PS用于扩展。当PF的值在0-239时,表示该消息为PDU1格式,PS为DA(目地地址)。当PF的值在240-255时,表示该消息为PDU2格式,PS为扩展地址。...

继续阅读完整内容

请查看下方广告以解锁文章剩余内容

广告加载中...
The cart is empty