J1939协议简介
缩写
ACK Acknowledgment:应答
BAM Broadcast Announce Message:广播通知消息
CAN ontroller Area Network:控制器局域网
CRC Cyclic Redundancy Check:循环冗余校验
CTS Clear-To-Send:清除发送
DA Destination Address:目标地址
DLC Data Length Code:数据长度代码
DP Data Page:数据页
EOF End of Frame:框架结束或帧结束
ID Identifier:标志符
IDE Identifier Extension Bit:标志符扩展位
LLC Logical Link Control:逻辑连接控制
LSB Least Significant Byte or Least Significant Bit:最小有意义位或字节
MAC Medium Access Control:媒体通道控制
MF Manufacturer:制造商
MSB Most Significant Byte or Most Significant Bit:最大有意义位或字节
NA not Allowed:不应答
NACK Negative-Acknowledgment:错误应答
P Priority:优先级
PDU Protocol Data Unit:协议数据单元
PF PDU Format:协议数据单元格式
PGN Parameter Group Number:参数组代码
PS PDU Specific:协议数据单元细节
GE Group Extension:组扩展
DA Destination Address:目标单元地址
R Reserved:保留
RTR Remote Transmission Request:远程传输请求
RTS Request-To-Send:发送请求
SA Source Address:原地址
SOF Start of Frame:帧开始
SRR Substitute Remote Request:替代远程请求
TP Transport Protocol:传送协议
T h Hold Time:保持时间
T r Response Time:响应时间
un Undefined:没有定义
CAN2.0B包含两种格式的说明:标准格式和扩展格式。SAE J1939必须使用扩展格式。在CAN网络上也可以有标准格式
图1:标准格式
图2:扩展格式
SAE J1939信息框架格式――CAN扩展格式信息,如图2所示,包含了一个协议数据单元(PDU)。PDU包含7个预先定义的部分:优先级、保留位、数据页、PDU格式、PDU细节、原地址和数据部分。
1.11位标志位要求的格式
2.CAN定义位,在SAE J1939里面没有改变
3.注释:
SOF - Start of Frame Bit :框架开始位
ID## - Identifier Bit #n :标志符位
SRR - Substitute Remote Request :替代远程请求
RTR - Remote Transmission Request Bit :远程传送请求
IDE - Identifier Extension Bit :标志符扩展位
r# - CAN Reserved Bit #n :CAN保留位
DLC# - Data Length Code Bit #n :数据长度代码位
(d) - dominant bit :显性位
(r) - recessive bit :影性位
(x) - bit state dependent on message :位状态,有信息决定
P# - SAE J1939 Priority Bit #n :SAE J1939优先级位
R# - SAE J1939 Reserved Bit #n :SAE J1939保留位
SA# - SAE J1939 Source Address Bit#n :SAE J1939原地址位
DP - SAE J1939 Data Page :SAE J1939数据页
PF# - SAE J1939 PDU Format Bit #n :SAE J1939 PDU 格式位
PS# - SAE J1939 PDU Specific Bit #n :SAE J1939 PDU详细位
表1 显示了29位标志符CAN、J1939,11位标志符的CAN、J1939仲裁和控制字段。在5。2章节里面定义了每一个SAE J1939的完整定义。
参数组代码:PGN。
在CAN数据框架内有必要标志一个参数组,参数组代码用24位表示。PGN参数组代码是一个24位的值,由如下要素组成:保留位、数据页位、PDU格式域和组扩展域。将域位转换成PGN参数组代码有如下规格。如果PF的值小于240(F0),PGN的低字节设置为0。注意并不是所有的131071个组合都是可用的。
Protocol Data Unit (PDU):协议数据单元
应用层或网络层会对PDU进行处理。SAE J1939协议数据单元由7部分组成,他们分别是优先级、保留位、数据页、PDU格式、PDU细节(可以是目标单元地址、组扩展或所有权)、原地址和数据段。这7个部分会被封装成一个或多个CAN数据框架并且通过物理层发送给其他的网络设备。每一个CAN数据框架只有一个PDU。需要注意的是一些PGN定义需要多个CAN数据框架去发送相应的数据。
CAN数据框架中的一些段并没有定义在PDU里面,因为他们是由CAN规格定义的,对于数据链接层之上的OSI层是不可见的。这些字段是由CAN协议定义的在SAE J1939里面没有改变。这些字段包括:SOF、SRR、IDE、RTR、CRC、ACK、EOF。
在图3中显示了这7个字段。在PDU中的每一个字段在后来的应用中都有定义。