×
嵌入式 > 嵌入式开发 > 详情

SAE J1939协议(三)

发布时间:2021-02-23 发布时间:
|
SAE J1939协议数据链路层


基本概念

1.帧(Frame):组成一个完整信息的一系列有序的数据位,帧又被划分为成几个域,每个域包括了预定义类型的数据。

2.CAN数据帧(CAN Data Frame):组成CAN协议帧所必需的有序位域,以帧起始(SOF)开始以帧结束(EOF)结尾

3.标准帧(Standard Frame):CAN2.0A规范中定义的使用11位标识符的CAN数据帧。

4.扩展帧(Extended Frame):CAN2.0B规范中定义的使用29位标识符的CAN数据帧

5.报文(Message):指一个或多个具有相同参数组编号的CAN数据帧

6.包(Packet):一个单一的CAN数据帧就是一个包。当一条报文包含参数组的数据长度小于等于8个字节时,这样的报文也称为包。

7.多包报文(Multipacket Messages):当具有相同参数组编号的所有数据需要使用多个CAN数据帧来传输时使用的一种J1939报文。每个CAN数据帧拥有相同的标识符,单在每个包中数据不同。

>>>>

CAN标准帧与扩展帧格式

图1


图2

CAN数据帧组成:帧起始(SOF)、仲裁域、控制域、数据域、循环冗余校验域(CRC)、应答域(ACK)、帧结束(EOF).

>>>>

协议数据单元(PDU)

协议数据单元由七部分组成,分别是优先级,保留位,数据页,PDU格式,PDU特定域(可作为目标地址、组扩展或专用),源地址和数据域。PDU被封装在一个或多个CAN数据帧中,通过物理介质传输到其他网络设备。每个CAN数据帧只能有一个PDU。

图3

1.优先级(P)

这三位仅在总线传输中用来优化报文延迟,接受者对其忽略。报文优先级可从最高0(000)设置到最低7(111)。所有控制报文的缺省优先级是3(011),其他所有报文、专用、请求和ACK报文的缺省优先级是7(110)。当定义新的参数编号,或总线上通信量变化时,优先级可以升高或降低。当报文被添加到应用层,将给出一个推荐的优先级。OEM可以对网络做相应调整,优先级域应当时可重编程的。

2.保留位(R)=>扩展数据页位(EDP)

3.数据页位(DP)


图4

4.PDU格式(PF)

PF域,8位。确定PDU的格式,也就是组成PGN的域之一。协议规定:PF<240为PDU1格式;PF=240~255为PDU2格式。

5.PDU特定域(PS)

PS域,8位。它的定义取决于PDU格式,根据PDU格式它可能是目标地址或者组扩展。PDU1格式下PS域是目标地址;PDU2格式下PS域为组扩展(GE)值。

6.目标地址(DA)

这个域定义了报文发送到特定目标的地址。注意,对于任何设备,如果其他地址与接收到的报文的目标地址不同应忽略此报文。所有设备作为报文的响应者应对全局目标地址(255)作出监听和响应。

7.组扩展(GE)

组扩展与PDU格式域的低四位(注意:当PDU格式域最高四位被置1,说明PS域是组扩展)规定了每个数据页4096个参数组。

>>>>

PDU1格式下的PGNs


图5

>>>>

PDU2格式下的PGUs


图6

>>>>

PGNs分配模板

图7



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
scsi接口