Wednesday, 26 May 2021 06:44

SAE J1939 学习整理

介绍数据链路层和应用层

缩写:

PGN:参数组(群)编号           

PDU:协议数据单元

SPN:可疑参数编号

SOF:帧起始位

SRR:代用远程请求

RTR:远程传输请求

IDE:标识符扩展为

DLC:数据长度码 

J1939-21 数据链路层:

数据链路层:为物理链接之间提供一种可靠的数据传输(发送CAN数据帧必需的同步、出错控制、顺序控制和流控制)。 

有几个概念先介绍下:

帧 (Frame):组成一个完整信息的一系列有序的数据位;

其中CAN帧以帧起始(SOF)开始,以帧结束(EOF)结尾;

标准帧:定义为11位标识符

扩展帧:定义为29位标识符

报文(Message):一个或多个具有相同参数组编号(PGN)的CAN数据帧;(一个或多个

CAN数据帧具有相 同PGN号,就是报文)

包(Packet):一个单一的CAN数据帧就是1个包;(一个报文包含参数组的长度小于等

于8字节,也称为包)

多包报文:当具有相同参数组编号(PGN)的所有数据需要使用多个CAN数据帧来传输时使

用的一种J1939报 文。(每个CAN数据帧拥有相同的标识符,但每个包中数据不同) 

协议数据单元(PDU):

格式如下图:

 

优先级

扩展数据页(保留)

数据页位

PDU格式

PDU特定域

源地址

数据域

P

R

DP

PF

PS

SA

DATA

3

1

1

8

8

8

8Byte

                 

其中,

优先级(P):3位用来表示优先级范围,所有控制 消息的缺省值是3(0112),其他所有信息、专用、请求和ACK的缺省优先级是6(1102

数据页位(DP):数据页位选择参数群描述的辅助页。在分配页一的PGN之前,先分配完页零的可用PGN。

数据扩展页(EDP)和数据页(DP)关系:

扩展数据页位

(EDP)

数据页位

(DP)

功能描述

0

0

SAE J1939 第0页PGN

0

1

SAE J1939 第1页PGN

1

0

SAE J1939 保留

1

1

定义位ISO 15765-3报文

 

 

PDU格式(PF)和PDU特定域(PS)的关系:

PDU格式(PF)

PDU格式

PDU特定域(PS)

PF<240

PDU1格式

PS是目标地址(DA)

PF = 240-255

PDU2格式

PS是组扩展(GE)值

 

PDU1和PDU2时的参数组编号(PGN)数目为:

EDP 

DP

PF

PS 

PDU1时参数组编号

0

0或者1

0-239

目标地址

 2X240(PF的值)=480

 

EDP 

DP

PF 

PS 

PDU2时参数组编号

0或者1 

 

240-255共16个数

组扩展值0-255

(共256个数)

2X16X256=8192

 

其中PGN计算公式为:

    PGN = DP<<|PF<<8|PS;

例:数据页位:0,PDU格式:235,特定PDU段:目标地址(对于TP.CM_BAM数据传送使用全局地址(DA=255))(对于RTS/CTS数据传送不允许用全局地址) 

        则PGN = 235*256+0 = 60160(0xEB0016)

                           11101011<<8|0

 

多包发送:

BAM:广播通知/公告消息

DT:数据传送消息

多包数据发送拆装与重组:大于8字节消息发送,必须拆分,

拆分原则:数据域的首字节定义为数据包序列编号:1-255;

           最大拆分数据长度是255包*7字节/包 = 1785个字节

其中,RTS(发送者),请求发送

     CTS(响应者),准备发送

广播数据传送次序如下图:

missed

上图中广播公告消息格式为(TP.CM_BAM):全局目标地址   

字节:

1

控制字节=32,广播公告消息(BAM)

 字节:

2,3

整个消息大小,字节数目

 字节:

4

全部数据包的数目

 字节:

5

保留给SAE设定使用,该字节应设为FF16

 字节:

6-8

所装载数据的参数群编号

而数据传送消息格式(TP.DT):

   Byte:               序列号 1-255(1Byte)

          2-8        分组数据(7 Bytes)

                      注意多包参数组的最后一个包可能需要不到8个字节数据,多余的字节填充0xff16   

 

故障诊断

故障诊断代码DTC构成:

   a、可以参数编号(SPN)

   b、故障模式标志(FMI)

   c、发生次数(OC)

   d、可以参数标号的转换方式(CM)

其中,DM1:当前故障码(正在发送的所有故障)

   DM2:历史故障码 

DTC由四个字节构成 

DTC

字节3

SPN低8位

(第8位为最高有效位)

字节4

SPN第2字节

(第8位为最高有效位)

字节5

SPN高3位(第8位为最高有效位)

FMI低5位(第5位为最高有效位)

字节6

SPN

FMI

CM

OC

8bit

3bit

5bit

1bit

7bit

Read 8279 times Last modified on Wednesday, 26 May 2021 06:59
More in this category: « SAE J1939 下载