您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > SAEJ1939协议_v2
汽车总线技术山东理工大学马超mcskku85@163.com-2-SAEJ1939协议-3-•SAEJ1939协议简介•物理层简介•数据链路层•消息/帧格式•协议数据单元•协议数据单元格式•消息类型•传输协议功能•应用层•通信参数定义•故障诊断•网络管理•SAEJ1939通信方式-4-•SAEJ1939协议简介•物理层简介•数据链路层•消息/帧格式•协议数据单元•协议数据单元格式•消息类型•传输协议功能•应用层•通信参数定义•故障诊断•网络管理•SAEJ1939通信方式-5-1994年以前,在美国的商用车中,动力系统与电子控制单元之间的通信采用了SAEJ1587/J1708,由于这两种协议使用微处理器的串行通信,因而数据传输率较低(SAEJ1708的波特率只有9600b/s),所以1994年诞生了SAEJ1939通信。SAEJ1939协议简介SAEJ1939是基于CAN总线的协议,波特率可达250kb/s,是一种传输率较高的C类通信网络协议。它支持分布在整个车辆中的电子控制系统间的实时性闭环控制及其通信。SAEJ1939的物理层和数据链路层是以CAN2.0B协议为基础的,因此它和CAN网络一样,任何节点在总线空闲时可向总线上传输报文,每个报文都包含标识符,采用CSMA/CD非破坏性仲裁机制解决冲突。-6-下图为SAEJ1939的分层结构CAN协议在OSI模型中只定义了物理层和数据链路层的MAC层,从上图可以看出,SAEJ1939是以CAN2.0B为基础,除此之外,它还定义了网络层和应用层的协议。但是,SAEJ1939为传输层、会话层和表示层预留了位臵,以便将来扩展。SAEJ1939协议简介-7-物理层简介SAEJ1939的物理层描述了电气接口和物理介质,定义的内容包括:•物理介质•传输速率为250kb/s•同一网络上的最大子系统数为30个•最大传输线长度为40m•物理层还定义了数据的物理特性及总线的电气连接特性。-8-物理层简介通信介质及其特性•考虑到商用车的实际网络通信时距离较长,一般使用的物理介质为屏蔽双绞线。•SAEJ1939中规定的CAN总线通信线由一条CAN_H、一条CAN_L、一条CAN_SHLD导线组成。CAN_H应为黄色,CAN_L为绿色。另外,CAN通信线通常使用屏蔽双绞线。-9-CAN通信参考电路•SAEJ1939提供用于CAN通信的参考电路,如下图所示。•图中82C250为CAN收发器物理层简介-10-物理层简介连接器•SAEJ1939规定了两类用于连接CAN网络的通信线缆,一类是三芯连接器,另一类是九芯连接器。三芯连接器如下所示:•引脚定义如下表所示-11-物理层简介连接器•九芯连接器如下所示,主要用于诊断接口,通常安装在驾驶室内易于进行接入操作的位臵-12-物理层简介连接器•九芯连接器引脚定义如下表所示-13-•SAEJ1939协议简介•物理层简介•数据链路层•消息/帧格式•协议数据单元•协议数据单元格式•消息类型•传输协议功能•应用层•通信参数定义•故障诊断•网络管理•SAEJ1939通信方式-14-数据链路层SAEJ1939是以CAN2.0B为基础,通过CAN总线进行通信的。它的数据链路层定义了数据帧的数据结构、编码规则,包括通信优先权、传输方式、通信要求、总线仲裁、错误检测及处理它负责将CAN扩展帧的29位标识符重新分组定义,使报文的标识符就能够描述报文的全部特征,包括目标地址、源地址等内容。-15-数据链路层几个基本概念•帧(Frame):组成一个完整信息的一系列有序的数据位。帧又被划分成几个域,每个域都包括了预定义类型的数据•CAN数据帧(CANDataFrame):组成CAN协议帧所必须的序位域,以帧起始(SOF)开始,以帧结束(EOF)结尾•标准帧(StandardFrame):CAN2.0A规范中定义的使用11位标识符的CAN数据帧。•扩展帧(ExtendedFrame):CAN2.0B规范中定义的使用29位标识符的CAN数据帧。•报文(Message):指一个或多个具有相同参数组编号的CAN数据帧。•包(Packet):一个单一的CAN数据帧就是一个包。当一条报文包含参数组的数据长度小于等于8个字节时,这个样的报文也成为包。-16-数据链路层:消息/帧格式SAEJ1939只使用扩展帧格式,标准帧格式可以在网络中存在,但是只能以规定的方式运行。CAN数据帧如下图所示:SAEJ1939消息帧格式(CAN2.0B扩展帧格式)-17-CAN扩展帧的格式中包含一个单一的协议数据单元(PDU),PDU包括7个预定义的场。这些场由应用层提供的信息决定,包括:优先级、保留位、数据页、PDU格式、特定PDU(目标地址、群扩展或专用)、源地址和数据场SAEJ1939消息帧格式(CAN2.0B扩展帧格式)PDU将被分组封装在一个或多个CAN数据帧中,通过物理介质传输到其他网络设备。数据链路层:消息/帧格式优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位PDUPGN-18-SAEJ1939支持的开放系统互连(OSI)模型数据链路层:消息/帧格式-19-CAN数据帧格式中仲裁场的标识符位对CAN数据帧从位1到位8逐一定义。数据链路层:消息/帧格式-20-CAN数据帧格式中仲裁场的标识符位数据链路层:消息/帧格式-21-CAN数据帧格式中仲裁场的标识符位数据链路层:消息/帧格式-22-数据链路层:消息/帧格式在CAN数据帧的数据场中需要指明参数群时,PGN是表示成24位的。PGN是一个24位的值,包括保留位、数据页位、PDU格式场(8位)和群扩展场(8位)等要素。参数群编号(PGN)优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位PDUPGN-23-数据链路层:协议数据单元格式如何判断参数组编号PGNPGN参数群编号由以下部分组成:1.数据页2.PDU格式(PF值)3.特定PDU格式(PS值)优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64-24-数据链路层:协议数据单元格式如何判断参数组编号PGNDPPDU格式PF值特定PDU格式PS值0111100000000111024014将DP,PF,PS值三部分组成一个二进制数就是1111000000001110,换成十六进制数为0xF00E,换算成十进制数为61454,这就是PGN号对于下列给定的数值,如何得到PGN号呢?-25-数据链路层:协议数据单元应用层和(或)网络层规定了一系列以协议数据单元(PDU)形式存在的消息。协议数据单元定义了一个框架,用来组织那些对于每个要发送的CAN数据帧都具有重要意义的消息。SAEJ1939协议数据单元由七部分组成,分别是优先级、保留位、数据页、PDU格式、特殊PDU(可作为目标地址、组扩展或专用)、源地址和数据场。PDU将被分组封装在一个或多个CAN数据帧中,通过物理介质传送到其他网络设备。每个CAN数据帧只能有一个PDU。某些参数群编号定义需要多个CAN数据帧才能发送相应的信息。优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位PDUPGN-26-数据链路层:协议数据单元(1)优先级(P):共三位,消息优先级从最高0(0002)设臵到最低7(1112)。所有控制消息的默认优先级是3(0112),其他所有消息、专用、请求和ACK消息的默认优先级是6(1102)。当定义新的参数群编号,或总线上的通信量变化时,优先级可升高或者降低。(2)保留位(R):SAE保留此位以备以后开发使用(不要将此位与CAN保留位混淆)。所有消息在传输中将SAE保留位臵0。今后新的定义可能扩展PDU格式场、定义新的PDU格式、扩展优先级段或增长地址空间。(3)数据页(DP):数据页选择参数群描述的辅助页。在分配页1的PGN之前,先分配完页0的可用PGN,具体应用如下页图所示。优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位-27-数据链路层:协议数据单元-28-数据链路层:协议数据单元(4)PDU格式(PF):PDU格式是一个确定PDU格式的8位构成的场,也是一个确定数据场对应参数群编号的场。参数群编号除用来确定或标识命令、数据、某些请求、确认和否定之外,还可以确定和标识那些要求一个或多个CAN数据帧通讯的消息。若消息长度大于8字节,必须将消息分组封装发送;若消息长度小于等于8字节,则使用单个数据帧。参数群编号可对应一个或者多个参数,这里的参数是指如发动机转速之类的数据。优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位PDU格式(PF)段特定PDU(PS)段PDU1格式0~239目标地址PDU2格式240~255群扩展十进制240二进制11110000-29-数据链路层:协议数据单元(5)特定PDU(PS):特定PDU是一个8位的场,它的定义取决于PDU格式,根据PDU格式它可能是目标地址或者群扩展。若PDU格式(PF)段的值小于240,特定PDU段是目标地址。若PF的值在240~255之间,特定PDU包含群扩展(GE)值。优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位PDU格式(PF)段特定PDU(PS)段PDU1格式0~239目标地址PDU2格式240~255群扩展十进制240二进制11110000-30-数据链路层:协议数据单元(5)特定PDU(PS):PDU格式(PF)段特定PDU(PS)段PDU1格式0~239目标地址PDU2格式240~255群扩展①目标地址(DA)。这个场定义了消息发送的特定目标地址。需要指出的是,任何其他设备应忽略此消息。全局目标地址(255)要求所有设备作为消息响应者做出监听和相应。-31-数据链路层:协议数据单元(5)特定PDU(PS):②群扩展(GE)。群扩展字段与PDU格式场的低4位(注意:当PDU格式场最高4位被臵1时,说明PS场是群扩展)规定了每个数据页4096个参数群。这4096个参数群仅在PDU2格式时才使用。另外,对于PDU1格式,每个数据页有240个参数群。综上,两个数据页共有8672种数据群可以定义。PDU格式(PF)段特定PDU(PS)段PDU1格式0~239目标地址PDU2格式240~255群扩展-32-数据链路层:协议数据单元(5)特定PDU(PS):可用数据群的总数目为:十进制240二进制11110000[240+(16×256)]×2=8672其中:240每个数据页中PDU格式场可用值的数目(即PDU1格式,PS场是目标地址);16(256-240=16)表示每个群扩展PDU格式值(即PDU2格式);256表示群扩展可能值的数目(即PDU2格式);2表示数据页状态数(两种PDU格式)。PDU格式(PF)段特定PDU(PS)段PDU1格式0~239目标地址PDU2格式240~255群扩展-33-数据链路层:协议数据单元优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPSSADATA3118880~64域位(6)源地址(SA):源地址长8位,网络中一个特定源地址只能匹配一个设备,因此源地址场确保CAN标识符符合CAN协议中的唯一性要求。(7)数据场:当用不多于8字节的数据表示一个给定参数群时,可使用CAN数据帧全部的8字节。当一个特定参数群以长度从9至1785字节的数据来表示时,数据通信是通过多个CAN数据帧来实现的。(以后会介绍如何得到1785这个数字)-34-数据链路层:协议数据单元格式PDU1优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPS(DA)SADATA3118880~64位PDU2优先级保留位数据页PDU格式特定PDU源地址数据场PRDPPFPS(GE)SADAT
本文标题:SAEJ1939协议_v2
链接地址:https://www.777doc.com/doc-1085478 .html