路面车辆推荐操作规程(被采纳为美国国家标准)
SAE J1939-21:
(R)数据链路层
前言
本系列SAE推荐操作规程是由卡车及客车电子电气委员会所属的卡车及客车控制及通信小组委员会制定的。该小组委员会的目标是针对电控单元的需求、设计和使用,提交消息报告、制定推荐操作规程。这些电控单元在汽车部件之间传递着电子信号和控制信息。本规程的使用不限于卡车和客车应用,其对于其他的应用也可以提供直接的支持,正如已在建筑及农业设备和固定式的动力系统。
本推荐操作规程的最终目标是形成工业标准,因此可能为适应实际应用和技术进步作出经常性的调整。
这个数据链路层适用于所有SAE J1939的应用。在所有SAE J1939的应用中,它有共通的特性。
目 录
5.1.1 SAE J1939消息帧格式(“CAN 2.0B”扩展帧格式) 6
5.1.3 “CAN 2.0B”标准帧格式消息的SAE J1939支持 9
5.10.3.1 连接模式下的请求发送(TP.CM_RTS) 28
5.10.3.2 连接模式下的准备发送(TP.CM_CTS) 28
5.10.3.3 消息结束应答(TP.CM_EndofMsgACK) 29
5.10.3.4 放弃连接(TP.Conn_Abort) 29
1 目标
正如母文档SAE J1939中所述,完全定义一个SAE J1939网络至少需要七个文档。本文档SAE J1939利用了带有29位标识符的CAN网络协议来描述数据链路层。对于SAE J1939网络,不允许定义其他的数据链路层。
2 参考
2.1 应用出版物
一般有关此系列推荐规程的资料可以在SAE J1939中找到。除非特别说明,所发布SAE出版物是最新版本。
2.1.1 SAE出版物
可在SAE,400 Commonwealth Drive,Warrendale,PA 15096-0001获得。
SAE J1939—串行控制通信卡车网络的推荐规程是其母文档,并作为一般性的参考文档。
SAE J1939-71—汽车应用层
SAE J1939-81—网络管理
2.2 相关出版物
下列出版物仅是提供资料查询,而非本文档的必要组成部分。
2.2.1ISO出版物
可在SAE,400 Commonwealth Drive,Warrendale,PA 15096-0001获得。
ISO 11898(修订版)—公路卡车—数据信息交换—高速控制器局域网(CAN)—修订版1
3 定义
术语和相关定义在SAE J1939中给出
4 缩写
ACK | 确认 |
BAM | 广播公告消息 |
CAN | 控制器局域网 |
CRC | 循环冗余码校验 |
CTS | 清除发送 |
DA | 目标地址 |
DLC | 数据长度码 |
DP | 数据页 |
EOF | 帧结束 |
ID | 标识符 |
IDE | 标识符扩展位 |
LLC | 逻辑链路控制 |
LSB | 最低有效字节或位 |
MAC | 介质访问控制 |
MF | 制造商 |
MSB | 最高有效字节或位 |
NA | 禁用 |
NACK | 否定 |
P | 优先级 |
PDU | 协议数据单元 |
PF | PDU格式 |
PGN | 参数群编号 |
PS | 特定PDU |
GE | 群扩展 |
DA | 目标地址 |
R | 保留 |
RTR | 远程传输请求 |
SA | 源地址 |
SOF | 帧起始 |
SRR | 代用远程请求 |
TP | 传输协议 |
Th | 持续时间 |
Tr | 响应时间 |
un | 未定义 |
5 技术要求
数据链路层跨越物理层连接,提供稳定的数据传输。其中包括在发送CAN数据帧中的必要同步,顺序控制,纠错控制和流控制。流控制是以统一的消息帧格式实现的。
5.1 消息/帧格式
消息格式需适应CAN网络的要求变化。CAN规范参见1991年9月的“CAN规范2.0版B部分”。需要指出的是,当CAN规范和SAE J1939有差异之处时,参照SAE J1939。
CAN文档规定,在消息路由选择中不使用节点地址。某些CAN网络中正确的应用并不一定适用于SAE J1939。SAE J1939网络定义中规定,节点寻址是用来防止多节点使用同样的CAN网络标识符字段(见SAE J1939)。许多SAE J1939中的附加要求在CAN网络中并没有规定。
“CAN 2.0B”包括两种消息格式的规范,标准帧和扩展帧。“CAN 2.0B”的兼容性意味着通过使用不同的帧格式位码,保证二者能同时在同一网络中使用。就此而言,SAE J1939也能够自适应这两种CAN数据帧格式。但是,SAE J1939只使用扩展帧格式全面定义了标准化的通信。所有标准帧格式消息都按照本文档中定义的规则作为专用消息使用。
因此,SAE J1939设备必须使用扩展帧格式。标准帧格式消息可以在网络中存在,但只能以本文档所描述的方式。
备注:标准帧设备不响应网络管理消息,不支持标准化通信。
如图1所示,CAN数据帧被分成不同的域。但CAN标准帧和扩展帧格式消息对于仲裁域和控制域中位的编号和功能定义有所不同。CAN标准帧消息如A所示,其在仲裁域含有11位标识符。CAN扩展帧消息如B所示,其在仲裁域含有29位标识符。SAE J1939已更进一步的定义了CAN数据帧格式中仲裁域的标识符位。该定义见表1。
5.1.1 SAE J1939消息帧格式(“CAN 2.0B”扩展帧格式)
CAN扩展帧的格式如图1所示,包含一个单一的协议数据单元(PDU)。PDU包含7个预定义的域。这些域由应用层提供的信息决定,包括优先级、保留位、数据页、PDU格式、特定PDU(目标地址、群扩展或专用)、源地址和数据域。PDU将被分组封装在一个或多个CAN数据帧中,通过物理介质传输到其他网络设备。SAE J1939支持的开放系统互连(OSI)模型如图2所示。需要注意的是,某些参数群定义要求使用一个以上的CAN数据帧来发送消息。
。
A. CAN标准帧格式
B. CAN扩展帧格式
图1—CAN数据帧
节点1 节点 5
定义:R
定义:R是保留位,DP是数据页,PF是PDU格式,PS是特定PDU,SA是源地址
图2—OSI在SAE J1939中的应用
表1—SAE J1939和CAN的仲裁域与控制域的对照表
29位标识符 CAN | 29位标识符 SAE J1939 |
帧位位置 | 11位标识符 CAN | 11位标识符 SAE J1939(1) |
SOF | SOF(2) | 1 | SOF | SOF(2) |
ID28 | P3 | 2 | ID11 | P3 |
ID27 | P2 | 3 | ID10 | P2 |
ID26 | P1 | 4 | ID9 | P1 |
ID25 | R1 | 5 | ID8 | SA8 |
ID24 | DP | 6 | ID7 | SA7 |
ID23 | PF8 | 7 | ID6 | SA6 |
ID22 | PF7 | 8 | ID5 | SA5 |
ID21 | PF6 | 9 | ID4 | SA4 |
ID20 | PF5 | 10 | ID3 | SA3 |
ID19 | PF4 | 11 | ID2 | SA2 |
ID18 | PF3 | 12 | ID1 | SA1 |
SRR(r) | SRR(2) | 13 | RTR(x) |
|
IDE(r) | IDE(2) | 14 | IDE(x) | RTR(2) (d) |
ID17 | PF2 | 15 | r 0 | IDE(2) |
ID16 | PF1 | 16 | DLC4 | DLC4 |
ID15 | PS8 | 17 | DLC3 | DLC3 |
ID14 | PS7 | 18 | DLC2 | DLC2 |
ID13 | PS6 | 19 | DLC1 | DLC1 |
ID12 | PS5 | 20 |
|
|
ID11 | PS4 | 21 |
|
|
ID10 | PS3 | 22 |
|
|
ID9 | PS2 | 23 |
|
|
ID8 | PS1 | 24 |
|
|
ID7 | SA8 | 25 |
|
|
ID6 | SA7 | 26 |
|
|
ID5 | SA6 | 27 |
|
|
ID4 | SA5 | 28 |
|
|
ID3 | SA4 | 29 |
|
|
ID2 | SA3 | 30 |
|
|
ID1 | SA2 | 31 |
|
|
ID0 | SA1 | 32 |
|
|
RTR(x) | RTR (2)(d) | 33 |
|
|
r 1 | r 1(2) | 34 |
|
|
r 0 | r 0(2) | 35 |
|
|
DLC4 | DLC4 | 36 |
|
|
DLC3 | DLC3 | 37 |
|
|
DLC2 | DLC2 | 38 |
|
|
DLC1 | DLC1 | 39 |
|
|
1. 专用11位标识符的要求格式。
2. 在CAN中定义的位,在SAE J1939中定义不变。
3. 备注:
SOF - 帧起始位 P# - SAE J1939优先级位#n
ID## - 标识位#n R# - SAE J1939保留位#n
SRR - 代用远程请求 SA# - SAE J1939目标地址#n
RTR - 远程传输请求位 DP - SAE J1939数据页
IDE - 标识符扩展位 PF# - SAE J1939 PDU格式位#n
r # - CAN保留位 PS# - SAE J1939 特定PDU位#n
DLC# - 数据长度码位#n
(d)- 显性位
(r)- 隐性位
(x)- 消息状态位
表1分别描述了CAN网络的29位标识符、SAE J1939的29位标识符、CAN网络的11位标识符和SAE J1939的11位标识符中的仲裁域和控制域。每个SAE J1939位分配的详细定义见定义SAE J1939协议数据单元的部分(见5.2)。本文档对CAN数据帧从位1到位8逐一定义。字节1的最高位(位8)是紧接着DLC域发送的第一位,字节8的最低位(位1)是最后发送的数据位,紧接着的是CRC域。