下载后可任意编辑J1939 协议应用设计编程说明一、J1939 协议简介J1939 协议是目前在大型汽车中应用最广泛的应用层协议,可达到 250Kbit/s 的通讯速率
J1939 协议由美国 SAE( Society of Automotive Engineer)组织维护和推广
J1939 协议具有如下特点: (1)以 CAN2
0B 协议为基础,物理层标准与 ISO11898 法律规范兼容并采纳符合该法律规范的 CAN 控制器及收发器
通讯速率最高可达到 250Kbit/s
(2)采纳 PDU( Protocol Data Unit 协议数据单元)传送信息,每个 PDU 相当于 CAN 协议中的一帧
由于每个 CAN 帧最多可传输 8 个字节数据,因此 PDU 的传输具有很高的实时性
(3)利用 CAN2
0B 扩展帧格式的 29 位标志符定义每一个 PDU 的含义及该 PDU 的优先级
(4)J1939 协议主要作为汽车中应用的通讯协议,对汽车中应用到的各类参数都进行了规定
参数的规定符合 ISO11992 标准
二、J1939 协议通讯报文内容解析J1939 协议实质是将 CAN 扩展帧格式中未明确定义的 11 位 ID,18 位扩展 ID 进行了明确定义,紧随 ID 的是 8 个字节的数据
为了实现 J1939 协议报文的正确接收,必须首先明确其仲裁场(如上所示)是如何确定的
下面将逐一介绍:优先级:29 位标志符的前 3 位用于在仲裁过程中决定报文的优先级 P
值 000 是最高的优先级
高的优先级用于高速要求的报文
低的优先级用于时间要求不紧迫的数据
标志符位(R):保留位
在传输报文时此位置为 0
此位留作将来 SAF 委员会定义其它目的使用
数据页( DP)位:DP 位用于选择两页参数组中的其中一页
0 页包含现在被定义的所有报文
1 页预备将来额外