J1939协议理解 今天读了 J1939协议的介绍文档,下面主要说说我的理解: 1、网络应用分为几个层 物理层 SAE J1939-11 数据链路层SAE J1939-21 网络层 SAE J1939-31 应用层 SAE J1939-71 故障诊断SAE J1939-73 网络管理层SAE J1939-81 2、下面主要说说数据链路层和应用层 数据链路层:为物理连接之间提供可靠的数据传输。包括发送 步、顺序控制、 出错控制和流控制。 CAN 数据帧所必需的同
首先要明白几个概念
PGN :参数组编号 帧(Frame ):组成一个完整信息的一系列有序的数据位。帧又被划分成几个域,每个 域包括了预定义类型的数据。
CAN 数据帧(CAN Data Frame ):组成 开始以帧结束(EOF )结尾。 标准帧(Standard Frame ):CAN2.0A 扩展帧(Extended Frame ):CAN2.0 B
CAN 协议帧所必需的有序位域, 以帧起始(SOF )
规范中定义的使用 11位标识符的CAN 数据帧。 规范中定义的使用 29位标志符的CAN 数据帧。
当一条报文包含参数组的数据长度
包(Packet ):一个单一的 CAN 数据帧就是一个包。 小于等于8个字节时,这样的报文也称为包。
报文(Message ):指一个或多个具有相同参数组编号的(
PGN )数据帧。也就是说只
要一个或多个 CAN 数据帧具有相同的 PGN 号,那他们就是属于一个报文。
):当具有相同参数组编号的所有数据需要使用多个 J1939报文。每个CAN 数据帧拥有相同的标识符,
多包报文(Mult ip acket Messages CAN 数据帧来传输时使用的一种 但在每个包中数据不同。 协议数据单元PDU 的格式
it
■k
PDU 1
PDUy
■ M 嶋
1 EDP
0P PF
DATA
L L
1
3
时t 伽」
PGN
25仪苛歆幷
PDU是J1939传输数据的格式,它基于CAN协议的扩展帧传输方式。即它的标识符是29位的。
优先级:最高0 (000 )设置到最低7(111 )。所有控制报文的缺省优先级是
扩展数据页(EDP)和数据页(DP)的关系:
什么是第0页PGN,什么是第1页PGN ?作用有什么不同?还不是太清楚
■ EDP>
0D SAEJ1939^O^PGN
01SAEjl939^l!JfPGN
10SAEJ1939 优留
11定义为ISO 1576屛3的报文
PDU 格式(
PDU 格式(PF)PDU格式PDU特定域(PS)
PF<240P DU1格式PS是目标地址(DA)
PF=240 "255PDU2格式
PS是组扩展(GE)值
PDU1和PDU2时的参数组编号(PGN)数目
EDP DP PF PS P DU1时参数组编号
00或者10-239目标地址2X240 (PF 的值)=480
EDP DP PF PS PDU2时参数组编号
00或者1240-255 共16 个
数
组扩展值0-255 (共256个
数)
2X16X256=8192
J1939的29位标识符格式
3 (011 )。
瓦P DU略孔PDU J-Z■
1 EDP DP PF
■DATA
L L18時#伽丿
PDU
PGN
29拉垢叔幷
CAN 协议扩展帧格式
首先,J1939的标识符是29位的,所以它使用的是 CAN 协议的扩展帧格式来传输数据。 29位的标识符在寄存器中的存放位置,正好对应
CAN 的ID28-ID0的29位。我们主要在
直接有两个位,SRR 和IDE 要求是必须写1的,它不包括在我们的 J1939的 ID0的后一位RTR 位也不包括在我们的标识符中,这一位是无效位,应该写 如果ECU 读回来一串数据怎么判断参数组编号 PGN 呢?
首先,把数据的前 29个字节(标识符)提取出来。
然后进行解析,解析方式:
把ID28~ID24提取出来组成一个字节(对应优先权位、 EP 、DP )
把ID23~ID16提取出来组成一个字节(对应 PF 的8位)
把ID15~ID8提取出来组成一个字节(对应 PS 的8位) 上述ID25~ID8就组成了数据的 PGN (参数组编号) 例如:
收到的前 29个字节是 0x67,0x98,0x1c,0xa2 看看它们的存储方式:
Rggitt»r 科3而
OF'Q
忘㈣
TEfiT
VJ
ID18 和 ID17 标识符,还有 0。
标识符对应的 CAN 扩展帧的位数: 优先权3位—— 扩展数据页EP-- 数据页DP --------- PDU 格式 PF---- PDU 特定域PS ,
ID28 ID27 ID26 ID25 ID24 ID23~ID16 ID15~ID8
ID7~ID0
Figure B-Z4.
Meiaagc Bufftr — Eklendtd ld«nMn»r Mappbrig
Bii 7
i
BItO
Vi Vi
IM
IDS
■04
I
閃
DJ
im HM
HTA
Vi