搜档网
当前位置:搜档网 › J1939应用层协议详细描述

J1939应用层协议详细描述

J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度、数据类型、分辨率、范围及参考标签,并为每个参数分配了一个编号(SPN)。由于J1939协议是以协议数据单元(PDU)的形式进行传输,而一个PDU包含8个字节数据,因此,需要对这些参数进行组合。在J1939应用层协议中还详细定义了参数组,包括每组参数的更新率、有效数据长度、数据页、PDU格式、PDU细节、默认优先权及参数组的内容,并为每个参数组分配一个参数组编号(PGN)。

PGN(parameter group number)是一个24位的值,包括保留位、数据页位、PF(PDU 格式场)和PS(群扩展场)等要素。

SPN(SPN: Suspect Parameter Number)是PG(参数组)下面的具体参数的一个编号,而PGN是参数组编号,可以理解为一个PGN包含了按一定方法分类的一组参数,而每个具体参数又有它自己的编号(就是SPN)。

SAE J1939的应用层以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。

18 EB 00 F9 是一个报文的29位标示符,70 E3 FF FF FF FF FF FF是后面的数据域。

18EB00F9化成2进制就是 110 00 1110 1011 0000 0000 1111 1001

把这个按照PDU的格式代进去就知道这条报文的意思了。

后面的数据域含义可以通过前面得到的PFPS知道PGN,然后查看J1939应用层关于该PGN的数据位就能知道这个数据的含义。

在各个位转化到PGN的过程中,如果PF的值小于240(十进制)时,PGN的低字节置零(个人理解当PF的值小于240时,PS的置0)。

举一个例子:请求PGN的数据页位(DP)=0;PF=234(#EA)那么她的参数群编号PGN=#00EA00。因为PF=234<240,所以PS=#00

注:PF(PDU格式场)和PS(群扩展场)都是八位

CAN通讯协议中PGN的计算

数据链路层通过协议数据单元(PDU)组织数据帧中的协议相关信息。PDU由CAN 扩展数据帧中29位ID和O~8字节数据场组成。

CAN通讯协议中PGN的计算

J1939协议

// 18DB33F1

// 110 0 0 11011011 00110011 11110001 // P3~1 R1 DP PF8~1 PS8~1 SA8~1 // PGN = R1 | DP | PF | PS = 56115

P Priority

R Reserved

PS PDU Specific

SA Source Address

PF PDU Format

DLC Data Length Code

DTC (4字节)有四个部分组成:

1、可以参数码:SPN19位;

2、失效模式标识符:FMI 5位;

3、故障发生次数:OC 7位;

4、SPN转换方式:CM 1位;

CAN扩展数据帧:

PDU = ID+数据场;

PGN:

例子2:

;---------------------------------------------------------------------- (特定目标地址通讯)

PDU1

P R DP PF PS(DA) SA Data Field

3 1 1 8 8

8 0-64

;---------------------------------------------------------------------- (广播)

PDU2

P R DP PF PS(GE) SA Data Field

3 1 1 8 8

8 0-64

;---------------------------------------------------------------------

18FEDF00

110| 0 0 | 11111110 11011111 | 00000000

优| | |

先| | PGN | 源地址

级| | |

优先级:110 ro 6

参数组:FEDF or 65247DEC 源地址:00H

相关主题