下载后可任意编辑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 页预备将来额外的扩展能力。在 0 页用完后才被分配。PDU 格式(PF):PDU 代表协议数据单元。PF 场识别能被传送的两个 PDU 格式。SRR 和 IDE 位:在 CAN 2. 0B 己被详细定义。它们被置为隐性位。这使扩展帧的优先级低于标准格式数据帧的优先级。PDU 专用(PS):它们由 PF 的值决定。假如 PF 的值在 0 与 239 之间( PDU 1),PS 场包含一个目的地址;假如 PF 的值在 240 与 255 之间(PDU 2),PS 场包含一个对 PF 的组扩展。组扩展提供更大的一组值以标识网络中能被广播的所有 ECU 的报文。在 J1939 标准下,要被广播的大多数报文用 PDU 2 格式。用 PDU 2 格式在网络中传输的数据不能被直接到达一个明确目的地。当报文必须要...