第五章SAEJ1939SAEJ1939是一种支持闭环控制的在多个ECU间高速通信的网络协议;主要应用于货车和客车,及农、林业运输机械上;以CAN2.0B为网络核心,是其应用层的具体实现。备注:CAN2.0B和1939的关系,1939是CAN2.0B的具体应用。乘用车不用,各自有标准SAEJ1939简介制订机构美国汽车工程师协会SAE卡车和公共汽车电气电子委员会卡车与公共汽车控制和通信分委会制订目的为电子系统提供开放互联结构为ECU的通讯提供标准的体系结构SAEJ1939简介SAEJ1939简介Off-board非车载以后会用到的:21、71、73、81报文格式:J1939使用扩展帧格式(29位ID),定义了一个完整的标准化通讯策略;J1939为每个节点规定了一个唯一的源地址,并将源地址映射到CAN标识符中,以避免多个节点使用相同的标识符备注:J1939报文格式遵循CAN2.0B的规范J1939设备必须使用CAN扩展帧报文格式数据域1~8个字节15位CRC序列CRC界定符CRC域应答间歇应答界定符7位帧结束应答域帧结束帧起始11位标识符替代远程请求识别符扩展保留位4位数据长度代码18位标识符远程发送请求保留位控制域仲裁域PDUJ1939通过PDU定义了一个框架,用来组织数据帧中J1939协议相关的信息PDU由数据帧中的ID和数据场组成SOF11bitIDENTIFIERSRRIDEArbitrationFieldControlFieldDLCr0r1DataField:0-6418bitIDENTIFIERRTRPRDPPF3116位数PSPF288SA0-64DataFieldPDUPRDPPFPSSA...318881数据场0~64J1939PDU报文格式备注PDU:ProtocolDataUnit——PDU=ID+DataPDU包含了7个预定义的场——由应用层确定优先级P,保留位R,数据页DP,PDU格式PF,PDU细节PS,源地址SA和数据场一个PDU可通过一个或多个CAN数据帧发送,多包问题:字节1:包编号(1-255),字节2-8:数据内容;最多发送报文7*255=1785字节PDU缩写PDU——ProtocolDataUnit,协议数据单元PF——PDUFormat,PDU格式PS——PDUSpecific,PDU细节(特性)SA——SourceAddress,源地址GE——GroupExtension,组扩展DA——DestinationAddress,目标地址PGN——ParameterGroupNumber,参数组号报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUP——优先级总线传输中用来优化报文延迟3位,最高0——最低7缺省优先级控制类报文P=3其他P=6新参数组分配或网络负载需要时,可以调整优先级报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUR——保留位保留,以备SAE今后扩展1位,始终置0PGN的一部分分配给P以增加优先级范围,分配给DP增加数据页范围扩展数据页EDP报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUDP——数据页位用来将所有参数组分页1位,当前已经分配所有参数组DP=0PGN的一部分只有当数据页0中的参数组全部分配完之后,才能分配页1中的参数组报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUPF-PDU格式用来确定PDU的2种格式8位0-239(00-EF)表示PDU1240-255(F0-FF)表示PDU2PGN的一部分PDU1格式报文——向特定或全局地址发送PDU2格式报文——向全局地址发送报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUPS-PDU细节由PF决定其含义PDU1格式——PS=DA;PDU2格式——PS=GE8位DA表示该报文要发送的目标地址GE表示PS在PDU2中与PF的4个最低有效位能够共同确定4096个PDU2格式参数组备注:PF的4个最低有效位是指从240-255(F0-FF)报文格式PRDPPFPSSA...318881数据场0~64J1939PDUPDUSA——源地址用来标识节点设备,保证CAN数据ID的唯一8位SA的分配与管理由J1939-81描述各个设备优先分配的SA,《J1939》附录B表B2-B9网络中一个特定SA只能匹配一个设备报文格式PRDPPFPSSA...318881数据场0~64J1939PDU首选地址报文格式……备注地址即源地址,唯一标识网络上的一个设备地址功能•保证报文ID的唯一•确定报文的来源两个特殊的地址•254——空地址–仅用于源地址域(SA),仅用于网络管理•255——全局地址–仅用于目标地址(DA)PDU数据场数据场包含了参数组中的数据内容通常控制类参数组数据长度=8,其中未定义的字节以0xFF填充,以备将来分配如果参数组长度超过8,要使用传输协议备注:传输协议参考1939-21报文格式PRDPPFPSSA...318881数据场0~64J1939PDU参数组与PGN参数组应用层中定义的与某个ECU相关的具有相同控制功能的若干个参数的组合PGN用于唯一标识参数组的号码24位数字,应用层定义与PDU中的某些域场存在对应关系报文格式报文格式参数组:将与ECU相关的多个参数(例如发动机转速,水温等)集合到一个组参数组中参数的特点•功能相同(例如机油系统,冷却系统,燃油系统)而不是类型相同(例如温度,压力,速度等)•所有参数具有相同传输更新速率•所有参数来源于相同ECU参数组的定义列出应用层的全部参数组,按照PGN排序参数组定义包括参数组名称,传输更新速率,数据长度,数据页,PDU格式,PDU细节,默认优先级,参数组号,数据列表以及其他相关注释SAE分配的参数组列表——《SAEJ1939》附录A《ParameterGroupAssignments》报文格式报文格式报文格式PGN——ParameterGroupNumber为参数组分配PGN应考虑优先级,更新速率,数据重要性,参数组数据长度无需特定地址——PDU2;有特定地址——PDU1;传送非公共信息——专有PDU参数组的使用查阅应用层有关参数组,根据对该参数组的应用——得到PDU的各个域内容——将PDU映射到CAN的数据帧备注:传送非公共信息:制造商专用。报文格式参数组与PGNPGN与PDU的对应关系报文格式PRDPPFPSSA...318881数据场0~64J1939PDU字节2字节3字节1位8-3210RDPPFPDU1:0x00PDU2:GEPS=DAPS=GEPGN查阅应用层对PGN的描述——获得PDU的内容——将PDU相应内容填充至CAN数据帧中备注PGN——ParameterGroupNumber•参数组编号,24位数字,唯一的标识一个特定的参数组参数组与PGN参数组的数目[240(PDU1)+16*256(PDU2)]*2(DP)=8672PGN的计算PDU1的格式PGN=PF*256PDU2格式PGN=PF*256+GE报文格式字节2字节3字节1位8-3210RDPPFPDU1:0x00PDU2:GEPS=DAPS=GEPGN参数组与PGN参数组模板--参数组分配:SAE分配+专用报文格式备注:貌似不是咱们的……考试时间,时间地点再通知,最迟下周6(4月3日)。答疑:下周三下午,研究院南楼104复习,题型:填空,判断,简答,问答。平时成绩占一定比例。