
saej1939教学.ppt
141页SAE J1939协议2大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例3SAE J1939协议概述SAE J1939协议:是由美国汽车工程师协会(SAE)制定的主要针对商用车的CAN总线通讯协议基础: CAN 2.0B协议对象:客车和载重货车;船舶、农业机械等非路面设备4SAE J1939协议文档结构SAE J1939SAE J1939/01SAE J1939/02SAE J1939/05SAE J1939/11SAE J1939/13SAE J1939/15SAE J1939/21SAE J1939/31SAE J1939/71SAE J1939/73SAE J1939/74SAE J1939/75SAE J1939/81SAE J1939/82车辆网络串行通信的控制总标准卡车及客车等路面控制及信息网络农业设备等非路面控制及信息网络发动机故障诊断方面的应用物理层,250K 比特/秒,屏蔽双绞线物理层,非车载诊断连接器物理层,250K 比特/秒,非屏蔽双绞线数据链路层网络层车辆应用层诊断应用层应用层信息配置应用层设置及工业化网络管理层相容性-卡车和客车Revised 2007-10-9Issued 2000-09-1Issued 2006-08-23Issued 2008-2-21Revised 2006-9-18Revised 2004-3-11Revised 2008-8-21Revised 2006-12-22Revised 2004-4-2Revised 2008-1-28Revised 2006-9-8Revised 2006-11-21Revised 2007-06-21Revised 2003-5-8Issued 2008-8-115CAN的发展概况20世纪80年代,Bosch的工程人员开始研究用于汽车的串行总线系统1986年, Bosch在SAE(汽车工程师协会)大会上提出了CAN1987年,INTEL就推出了第一片CAN控制芯片—82526;随后Philips半导体推出了82C200。
1991年9月BOSCH公司发布了CAN技术规范2.0,该技术规范包括A和B两部分1993年,CAN的国际标准ISO11898公布1994年,美国SAE以CAN 2.0B通信协议为基础,制定了面向客车和载重货车的CAN网络通信协议SAE J19396CAN与SAE J1939的关系安全性ABS线束增多减少线束社会发展经济性电喷可靠性下降电子技术提高信号利用率 网络技术CANSAEJ1939舒适性主动悬架故障检测难诊断7SAE J1939与OSI模型的关系+CAN 2.0BOSISAE J1939与OSI七层模型对应的SAE J1939协议分层模型OSI模型:即开放式通信系统互联参考模型(Open System Interconnection),是国际标准化组织(ISO) 1984年提出的一个网络互连模型,分七层功用:提供一个标准的规范,对应各层功能来制定协议8大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例9物理层(Physical Layer)物理层主要定义电气接口和物理介质,实现网络中电控单元(ECU)之间的电连接机械特性—指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等电气特性—指明在接口电缆的各条线上出现的电压范围功能特性—指明某条线上出现的某一电平的电压表示何种意义实现方式:由半导体厂家以及其他元器件生产厂家提供器件来实现。
10物理层基本要求以J1939/11为例物理介质为特征阻抗120Ω的屏蔽双绞线传输速率为250 kbit/s差动电压方式传输信号终端电阻为120Ω最大传输线长度为40M考虑到总线上的电气负担,同一网络内最多ECU数目为30个速率kbps距离 m100040500130250270125530100620501300203300106700510000CAN总线上两个节点间的最大距离11物理层的几个概念高电平传输线:CAN_H(黄)低电平传输线: CAN_L(绿)屏蔽线: CAN_SHLD差动电压:VdiffVdiff = VCAN _ H − VCAN _ L总线电平:隐性(1)和显性(0)VCAN _HVCAN_LVdiff12物理层的几个概念内部电阻内部电容差动内部电阻差动内部电容13物理层的几个概念位时间tB:一比特的持续时间,本标准对应于 250kbit/s位时间是 4μs标准位时间同步段传播段相位缓冲段1相位缓冲段2采样点同步段:同步总线上的不同 ECU传播段:补偿网络中由于总线传播时间和 ECU 内部延迟时间造成的物理延迟时间相位缓冲段:补偿边沿的相位误差采样点:指读取并解释总线上各位值的一个时间点14物理层-电气特性与总线断开的 ECU 的交流参数参数位时间内部延迟时间内部电容值差动内部电容值可用时间信号上升下降时间符号tBtECUCinCofftavailtr tf最小值3.9980.0002.5200额定值4.0005025最大值4.0020.910050500单位μsμspFμsns条件250kbit∕s250kbit/s , CAN _ H和 CAN_L相对于地40米的总线长度40 米的总线长度从信号的 10%到90%处测得从总线上断开的 ECU 的 VCAN_H 和 VCAN_L 的限制参数最大电压最大电压符号VCAN_HVCAN_LVCAN_HVCAN_L最小值-3.0-3.0-3.0-3.0额定值最大值16.016.032.032.0单位VVVV条件额定电池电压12V额定电池电压24V15物理层-电气特性从总线上断开的 ECU 的隐性状态的直流参数—隐性状态参数总线电压输出特性差动电压输出特性差动内部电阻内部电阻差动电压输入范围符号VCAN_HVCAN_LVdiffRdiffRinVdiff最小值2.02.0-1200105-1.0额定值2.52.5最大值3.03.050100150.5单位VVmVkΩkΩV条件无负载无负载无负载无负载从总线上断开的 ECU 的显性状态的直流参数—显性状态参数总线电压输出特性差动电压输出特性差动电压输入范围符号VCAN_HVCAN_LVdiffVdiff最小值3.00.01.51.0额定值3.51.52.0最大值5.02.03.05.0单位VVVV条件16物理层-电气特性所有ECU连接在总线上时表示隐性状态的总线电压参数-隐形状态参数总线电压总线差动电压符号VCAN_LVdiff最小值0.1-400额定值2.50最大值4.512单位VmV条件所有ECU连接在总线上时表示显性状态的总线电压参数-显性状态参数总线电压总线差动电压符号VCAN_HVCAN_LVdiff最小值2.01.2额定值3.51.52.0最大值7.03.05.0单位VVVV条件17物理层-电气特性电气特性主要为IC生产商生产CAN收发器等器件提供技术要求,并提供了检验方法。
从SAE J1939应用的角度讲,不必过于关心物理层的这些电气规范,只要选择了合适的CAN收发器等硬件部件,以上规范就可以得到满足18屏蔽双绞线电缆的技术要求参数阻抗单位电阻单位线延迟单位电容符号ZrbrpCbCs最小值108000额定值120255.04070最大值1325075110单位ΩmΩ/mns/mpF/mpF/m条件在 20℃时测得 (1)67%两导线间导线对屏蔽电缆尺寸0.5 mm2 的导线ac0.508mm2绝缘直径电缆直径0.8mm2 的导线绝缘线直径dcidcacdci2.236.00.7602.53.058.53.5mm19终端电阻与连线拓扑终端电阻(110Ω‾130Ω,一般选120Ω)减小电信号反射Ⅰ型ECUⅡ型ECU(必须作标记!必须作标记!)020接线网络布局及参数参数总线长度电缆短线长度节点距离符号LSd最小值000.1额定值最大值40140单位mmm条件不包括电缆短截线从 RL 起的最小距离d0mRL 不位于 ECU 之内21屏蔽线接地规范基本要求:屏蔽线不能断线,且只能在一点接地接地点推荐的选择次序:(1)连接到最小的电子噪声点处;(2)使用阻抗尽可能低的连接;(3)采用与网络中心最近的连接点接地。
总线上的每个节点也都应提供一个供选择的接地屏蔽点CAN_SHLD 导线的连接器应通过串联的电阻和电容达到最佳的接地效果推荐值为R=1Ω及C=0.68μF22连接器规范对于屏蔽双绞线的连接需要专用的连接器,保证屏蔽不断线;分为A类和B类两类连接器,可组合成多种接头23“短截线连接器”(针状连接器)的尺寸(A类)注:塑料额定温度为-55℃到+125℃,针头是镀金铜的24“直通连接器”(孔状连接器)尺寸(B类)注:塑料额定温度为-55℃到+125℃,针头是镀金铜的f25连接器电气参数参数符号最小值额定值最大值单位条件电压VCAN_HVCAN_L1632VV电流峰值电流特性阻抗IIpZC01002512080500140mAmAΩ传输频率25MHz接触电阻RT10mΩ26小结1. SAE J1939协议对物理层的基本要求2. 终端电阻要求与连线拓扑3. 接线网络布局与参数4. 屏蔽线接地要求5. 传输电缆技术要求6. 连接器技术规范与类型27大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例28数据链路层(Data Link Layer)数据链路层:为物理连接之间提供可靠的数据传输。
包括发送CAN 数据帧所必需的同步、顺序控制、出错控制和流控制实现方式:主要通过IC厂家提供的CAN控制器来实现29几个基本概念※帧(Frame): 组成一个完整信息的一系列有序的数据位帧又被划分成几个域,每个域包括了预定义类型的数据※CAN 数据帧 (CAN Data Frame):组成CAN 协议帧所必需的有序位域,以帧起始(SOF)开始以帧结束(EOF)结尾※标准帧(Standard Frame ):CAN2.0A规范中定义的使用11 位标识符的CAN 数据帧※扩展帧(Extended Frame):CAN2.0 B规范中定义的使用29 位标志符的CAN 数据帧30几个基本概念※报文( Message):指一个或多个具有相同参数组编号的CAN 数据帧※包 (Packet):一个单一的CAN 数据帧就是一个包当一条报文包含参数组的数据长度小于等于8个字节时,这样的报文也称为包※多包报文( Multipacket Messages):当具有相同参数组编号的所有数据需要使用多个CAN 数据帧来传输时使用的一种J1939报文每个CAN 数据帧拥有相同的标识符,但在每个包中数据不同31CAN标准帧与扩展帧格式CAN数据帧组成: 帧起始(SOF) 、仲裁域、控制域、数据域、循环冗余校验域(CRC) 、 应答域(ACK) 、帧结束(EOF)。
32协议数据单元(PDU)协议数据单元由七部分组成,分别是优先级,保留位,数据页,PDU 格式,PDU特定域(可作为目标地址、组扩展或专用),源地址和数据域PDU 被封装在一个或多个CAN数据帧中,通过物理介质传送到其他网络设备每个CAN数据帧只能有一个PDUPDUPGN域位优先权P3扩展数据页EDP1数据页DP1PDU格式PF8PDU特定域PS8源地址SA8数据域DATA8字节(64)29位标识符33协议数据单元(PDU)※优先级(P)这三位仅在总线传输中用来优化报文延迟,接受者对其忽略报文优先级可从最高0(0002)设置到最低7(1112)所有控制报文的缺省优先级是3(0112)其他所有报文、专用、请求和ACK 报文的缺省优先级是6(1102)当定义新的参数组编号,或总线上通信量变化时,优先级可以升高或降低当报文被添加到应用层,将给出一个推荐的优先级OEM 可以对网络做相应调整,优先级域应当是可重编程的34协议数据单元(PDU)※保留位(R)=>扩展数据页位(EDP)※数据页位(DP)扩展数据页位(EDP)0011数据页位(DP)0101功能描述SAE J1939 第0页PGNSAE J1939 第1页PGNSAE J1939 保留定义为ISO 15765-3的报文的报文35协议数据单元(PDU)※PDU 格式(PF)PF 域,8位。
确定PDU 的格式,也是组成PGN的域之一协议规定:PF<240为PDU1格式;PF=240‾255为PDU2格式※PDU 特定域(PS)PS 域,8位它的定义取决于PDU 格式,根据PDU格式它可能是目标地址或者组扩展 PDU1 格式下PS 域是目标地址; PDU2 格式下PS 域为组扩展(GE)值36协议数据单元(PDU)※目标地址(DA)这个域定义了报文发送到的特定目标的地址注意,对于任何设备,如果其地址与接收到的报文的目标地址不同应忽略此报文所有设备作为报文的响应者应对全局目标地址(255)作出监听和响应※组扩展(GE)组扩展与PDU 格式域的低四位(注意:当PDU 格式域最高四位被置1,说明PS 域是组扩展)规定了每个数据页4096 个参数组37PDU1格式下的PGNs38PDU2格式下的PGNsPGNs分配模板ABCDABCD3940PDU总结(1)PDU1和PDU2格式下PGN的总数为:( 240+(16*256))*2 = 8672(2)PDU1格式主要分配给必须指明目标地址的PGNs,数量有限;PDU2格式下的PGNs不能用于必须指明目标地址的情况大部分PGNs都定义在PDU2段。
3)为了保证实时性,报文更新速率小于100ms时不允许多包发送4)PDU1和PDU2格式下均支持单包报文和多包报文无论是PDU1还是PDU2格式,其前半段PGNs标识的报文更新速率小于100ms,不允许多包发送;后前半段PGNs标识的报文更新速率大于100ms,允许多包发送41报文类型目前共支持五种类型的报文,分别为:命令、请求、广播/响应、确认和组功能报文的具体类型可由其分配的参数组编号识别1)命令报文命令类型的报文是指那些从某个源地址向特定目标地址或全局目标地址发送命令的参数组目标地址接收到命令类型的报文后,应根据接收到的报文采取具体的动作PDU1 格式(PS 为目标地址)和PDU2 格式(PS为组扩展)都能用作命令42报文类型(2)请求报文请求类型的报文提供了从全局范围或从特定目标地址请求信息的能力最典型的一个请求类型的报文是“请求PGN”报文643报文类型“请求PGN”报文的定义:参数组名称:定义:传输速率:数据长度:数据页:PDU 格式:PDU特定域:缺省优先级:参数组编号:参数定义字节:1,2,3请求PGN用于从一个或多个网络设备请求参数组用户自定义,推荐每秒请求不多于2 或3 次3 字节0234目标地址(全局或特定)59904(00EA0016)被请求的参数组编号对于特定目标地址的请求,目标地址必须做出响应。
如果目标地址不支持请求的PGN,也必须发出一个NACK 的响应以表明它不支持该PGN有些PGN 是多包的,因此一个单帧请求的响应可能有多个CAN 数据帧如果是全局请求,当一个节点不支持某个PGN 时,不能发出NACK 响应44报文类型(3)广播/响应报文此报文类型可能是某设备主动提供的报文广播,也可能是命令或请求的响应这是最常见的一类报文总线上的数据交换大多采用这类报文如一个ECU以一定的周期广播某个参数;或者一个ECU接受其它ECU的PGN请求而发送参数45报文类型(4)确认报文确认报文 有两种形式:第一种是CAN 协议规定的,它由一个“帧内”确认ACK 组成,用来确认一个消息已被至少一个节点接收到第二种形式的确认报文由应用层规定,是对于特定命令、请求的 “ACK”或“NACK”等的响应最典型的一个确认类型的报文是“Acknowledgment”报文623-546报文类型Acknowledgment报文的定义:参数组名称:定义:传输速率:数据长度:数据页:PDU 格式:PDU特定域:缺省优先级:参数组编号:参数定义字节: 16-8确认报文用来提供发送方和接收方之间的握制收到需要此类型的确认的PGN 时8 字节0232目标地址 = 全局(255)59392(00E80016)控制字节组功能值(若适用)保留给CATARC 分配,置各字节为“FF16”被请求报文的参数组编号47报文类型Acknowledgment报文的定义:控制字节: 0 至3 见以下定义3 至255 保留给CATARC 分配肯定确认: 控制字节 = 0 (ACK)否定确认: 控制字节 = 1 (NACK)拒绝访问: 控制字节 = 2无法响应: 控制字节 = 348报文类型(5)组功能报文这种类型报文用于特殊功能组(如专用功能、网络管理功能、多包传输功能等)。
下面介绍一种用于实现“多包传输功能”的组功能报文——“连接管理”报文49报文类型连接管理报文的定义参数组名称: 传输协议——连接管理(TP.CM)定义:传输速度:数据长度:用于9 字节及以上的数据的参数组的传输由传送的参数组编号决定8个字节数据页(DP): 0PDU 格式:PDU特定域:236目标地址默认优先级: 7参数组编号: 60416(00EC0016)参数定义说明:第一字节为控制字,但其它字节的定义依赖于第一字节的控制字的值50报文类型连接管理报文的定义连接模式下的请求发送(TP.CM_RTS):指定目标地址字节: 1 控制字节=16,指定目标地址的请求发送(RTS)2,3 整个报文大小的字节数4 全部数据包数5 保留给SAE 设定使用,该字节应设为FF166-8 打包报文的参数组编号连接模式下的准许发送(TP.CM_CTS):指定目标地址字节: 1 控制字节=17,指定目标地址的准许发送(CTS)2 可发送的数据包数3 下一个要发送的数据包编号4,5 保留给SAE 设定使用,该字节应设为FF166-8 打包报文的参数组编号51报文类型连接管理报文的定义报文结束应答(TP.CM_EndofMsgAck):指定目标地址字节: 1 控制字节=19,报文结束应答2,3 整个报文大小的字节数4 全部数据包的数5 保留给CATARC 设定使用,该字节应设为FF166-8 打包报文的参数组编号放弃连接(TP.CM_Abort):指定目标地址字节: 1 控制字节=255,放弃连接2-5 保留给CATARC 设定使用,该字节应设为FF166-8 打包报文的参数组编号广播公告报文(TP.CM_BAM):全局目标地址字节: 1 控制字节=32,广播公告报文(BAM)2,3 整个报文大小的字节数4 全部数据包的数5 保留给CATARC 设定使用,该字节应设为FF166-8 打包报文的参数组编号52多帧传输机制采用多包报文,在连接管理报文的协调下进行多帧传输。
长度大于8 字节的报文无法用单个CAN 数据帧来装载因此,它们必须被拆分为若干个小的数据包,然后使用单个的数据帧对其逐一传送而接收方必须能够接收这些单个的数据帧,然后解析各个数据包并重组成原始的信息CAN 数据帧包含一个8 字节的数据域由于组成长信息的单个数据包必须能被识别出来以便正确重组,因此把数据域的首字节定义为数据包的序列编号每个数据包都会被分配到一个从1 到255 的序列编号由此可知,多帧传输最大的数据长度是(255 包×7字节/包=)1785 个字节53多帧传输机制序列编号是在数据拆装时分配给每个数据包,然后通过网络传送给接收方接收方接收后,利用这些编号把数据包重组成原始信息序列编号从1 开始,依次分配给每个数据包,直到整个数据都被拆装和传送完毕这些数据包从编号为1的数据包开始按编号的递增顺序发送第一个数据传送包包含序列编号1 和字符串的头7 个字节,其后的7 个字节跟随序列编号2 存放在另一个CAN 数据帧中,再随后的7 个字节与编号3 一起,直到原始信息中所有的字节都被存放到CAN 数据帧中并被传送54多帧传输机制传送的每个数据包(除了传送队列中的最后一个数据包)都装载着原始数据中的7 个字节。
而最后一个数据包的数据域的8 个字节包含:数据包的序列编号和参数组至少一个字节的数据,余下未使用的字节全部设置为“FF16”多包广播报文的数据包发送间隔时间为50 到200 毫秒对于发送到某个指定目标地址的多包消息,发送者将保持数据包(在CTS 允许多于一个数据包时)发送间隔的最长时间不多于200毫秒响应者必须知道这些数据包都具有相同的标识符数据包被顺序接收按照序列编号的顺序把多包消息的数据包重新组合成一多字节字符串这个字符串被作为长信息的应答传送给应用程序模块55多帧传输机制(实例)56多帧传输机制(实例)57小结1. CAN标准帧和扩展帧格式2. PDU的两种格式及应用场合3. PGN的组成4. 五种报文类型及作用5. 多帧传输机制58大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例59网络层(Network Layer)网络层描述:定义了网段之间的连接协议,当同时存在不同传输速度或使用不同传输介质的多个网段时,必须有至少一个网络互连电控单元提供从一个网段到另一个网段的报文传递功能。
网络层功能:报文转发报文过滤波特率转换地址翻译协议转换60网络互联电控单元(NIECU)中继器(Repeater)-可以增强数据信号,使数据传输更远的距离网段间可以是不同的传播媒介网桥(Bridge)-数据的转发和过滤它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率网段间可以是不同的数据传输率和媒介路由器(Router)-路由器不仅有网桥的全部功能,还可使它连接的不同网段具有独立的地址空间网关(Gateway)-可以在不同的协议或报文集的网段之间传送数据61各NIECU区别传输介质不同波特率不同地址空间不同通信协议不同RepeaterBridgeRouterGateway62典型汽车网络连接63小结1. 网络层的功能2. 网络互联电控单元(NIECU)的种类及功能3. 典型的网络拓扑结构64大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例65应用层(Vehicle Application Layer)应用层为应用过程访问OSI 环境提供了一种方法,包括支持应用的管理功能和通用的机制。
它以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等应用层报文使用PGN作为一组参数的标号一组参数称为“参数组”(PG),PGN是其唯一的标识号参数组内有一个或多个具体的参数,每个具体参数都有一个唯一的标号,称为“怀疑参数编号”,即SPNPDUPGN域位优先权P3扩展数据页EDP1数据页DP1PDU格式PF8PDU特定域PS8源地址SA8数据域DATA8字节(64)29位标识符 66参数组(PG)与分组原则PG(Parameter Group)参数组:在一报文中传送参数的集合,包括:参数类型和数据等与源地址无关,可以从任何源地址发送任意的参数组参数用来描述某一个具体物理量,可分为连续型参数和离散参数参数组定义的原则:按照参数的功能分组而不是按照参数的类型分组按照参数的刷新频率分组按照参数所属的子系统一个参数组需定义以下属性:刷新周期(频率)数据长度参数组编号缺省优先级参数表67参数组编号(PGN)PGN(Parameter Group Number)参数组编号:参数组编号唯一标识一个参数组,在通讯过程中起到“索引”的作用,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。
参数组的总数目:(240 +(16*256))*2 = 8672其中:对PDU1有用的参数组 240*2=480对PDU2有用的参数组 (16*256)*2 =8192R0DP0PF1111 0000PS0000 000068连续型参数与SLOT连续型参数需要定义以下属性:数据长度(位数或字节数)分辨率(1个量纲的参数值表示的实际值的大小和单位)参数的有效值范围偏移量参数类型(测量参数或状态参数)参数的实际数值=偏移量+分辨率×参数值参数数值范围的规定:对于连续性参数,一般用1个字节、2个字节或4个字节来描述并非这些字节表示的所有数值都是有效的,一般满足下表(表1)的约定69连续型参数与SLOT70连续型参数与SLOT已有的连续型参数和未来需要新增的连续型参数,推荐使用SLOT(比例Scaling;界限Limit;偏移量Offset 和传送Transfer 功能)进行定义这样可以在给定的参数类型(温度、压力、速度等)中尽量保持数据的一致性,每个SLOT提供了适合给定类型中的大部分参数的数值范围和分辨率若需要,可用不同的比例因子或偏移量偏移量一般根据以下两点进行恰当的选择:a. 偏移量 = 0,或者b. 偏移量 = 50%(等于±数值范围)71连续型参数与SLOTSLOT的例子:名为“SAEac02”的SLOT,其SLOT识别号为140,定义了以一个字节描述的加速度的有效值范围、单位、偏移量等信息。
1个字节的有效范围是0‾250;可见该SLOT的分辨率为(0.1m/s2)/bit实际的加速度值为:-12.5+参数值*0.1,单位为m/s2 72离散型参数离散型参数:一般用2‾4位表示测量型离散参数一般用来表示某功能模块的状态,比如起停状态,工作模式状态状态型离散参数一般用来下达某个指令,比如命令电机的起停,工作模式的切换包括两种类型:测量型离散参数和状态型离散参数测量型离散参数:表示通过测量和观测得到的状况,如:发动机目前是否点火、巡航控制目前是否激活等状态型离散参数:表示通过采取行动改变具有多态信号的某一种状态,或发出命令改变状态如发动机制动使能、巡航控制激活/关闭等73离散型参数离散型参数推荐的定义方法(举例):测量型离散参数数值定义表状态型离散参数数值定义表数值意义已关闭已启动指示错误不可用或不存在数值00011011数值意义命令关闭命令启动保留忽略数值0001101174PGN和SPN实例PGN65213的例子:注意:本PGN有8个字节的数据,但只使用了三个半字节,其余位应该填充”1“补齐75PGN和SPN实例假设风扇需求转速为40%,该SPN标识的参数的物理量为40%。
该字节的值应为:(40%)/(0.4%)=100= 0110 0100276PGN和SPN实例77PGN和SPN实例假设当前的风扇转速为1500rpm,该SPN标识的参数的物理量为1500rpm该字节的值应为:1500/0.125=12000= 0010 1110 1110 0000278PGN和SPN实例假设某ECU的地址为156,向网络发送PGN65213,参数如下:风扇需求转速为40%;当前风扇因油温过高而运转;当前风扇转速为1500rpm请填写发送此报文的完整PDUEDP = 0DP = 0PF = 111111102PS = 101111012Byte1 = 011001002Byte2 = 111100112Byte3 = 111000002Byte4 = 001011102Byte5 = 111111112Byte6 = 111111112Byte7 = 111111112Byte8 = 11111111279大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例80故障诊断(Diagnostics)SAE J1939/73协议通过定义一组诊断报文(DMx)实现对SAE J1939网络的诊断,同时提供安全机制以及与诊断仪的连接机制等。
随着排放要求越来越严格,针对排放的OBD需求日增SAE J1939/73故障诊断协议也迅速发展,其目的之一就是要尽量满足各种OBD的要求81几个重要的术语和定义※ 激活 Active显示故障当前正在发生的一种状态激活”主导”先前激活”一个故障不可能同时处于这两种状态※ 广播 Broadcast不必请求即可按标准定期发送的报文某些情况下,广播可能会正常中断,被请求后可继续发送,直到被请求关闭※ 标定 Calibration安装在一个控制模块中的软件包括可执行代码和标定数据※ 持续监视系统 Continuously Monitored Systems持续监视系统大约每秒监视两次注意,有些持续监视器可能要求在许多条件成立的前提下监视才能执行82几个重要的术语和定义※ 诊断故障代码(DTC) Diagnostic Trouble Code一种用以识别故障类型、相关故障模式以及它的发生次数的4 字节数值※ 停帧 Freeze Frame诊断故障代码发生时截取的一部分运行参数※ 关键字 Key基于一个“种子”的一系列数学操作的结果,测试工具将其发送至待测设备,用来获取操作许可※ 故障指示灯(MIL) Malfunction Indicator Lamp用以报告与排放相关故障代码的发生。
非排放相关的故障代码的发生不会点亮故障指示灯83几个重要的术语和定义※ 内存存取 Memory Access定义了一系列指令,测试工具用来对一个有或没有数据安全措施的设备进行操作,如读、写内存或存储空间※ 非持续监视系统 Non-continuously Monitored Systems系统监视一个历程只运行一次历程在文中的含义由OBDⅡ定义应注意并非每个历程都执行监视(例如,低温启动辅助监视只有当环境温度低于10℃(50℉)时才可能运行)※ 口令 Password一个数,测试工具和待测设备均可以经过简单数学运算得到一个结果,并将这一结果与其预知的特征值进行比较,通常当两者相等时便可通过认证84几个重要的术语和定义※ 对象 Object有内存和/或空间的一些实体※ 指针 Pointer一种编码,用来标识可进行内存读、写操作的待测设备,类型有:内存直接寻址,定向空间寻址※ 端口 Port从一个控制模块到一条指定的通信链路的物理连接点※先前激活 Previously Active指示故障已经发生但当前并没有发生的一种状态一个故障不能同时处于“激活”和“先前激活”两种状态85几个重要的术语和定义※ 准备就绪代码 Readiness Code当所有排放相关的故障诊断都已执行完毕时,才被设置的代码。
在联邦排放认证测试程序的低温部分完成之前,该准备就绪代码被发送检测设备会询问控制模块,确认准备就绪代码的状态若该代码已被设置好了,则该控制模块已经进行过所有排放相关的诊断测试例如,当发动机起动时,在对进气歧管压力的变化范围作诊断测试时可能会要求速度和扭矩超出怠速工况条件运行因此,当系统消除了这个故障代码,然后重新启动发动机,那么直到进气歧管压力的变化范围测试完成时,该准备就绪代码才被设置不止是进气歧管压力的测试,其它测试也希望在准备就绪代码发送之前执行每当车辆熄火的时候,准备就绪代码的状态设置为“未准备好”※ 种子 Seed设备所设定的一个号码,发送至测试工具,用来验证测试工具是否有权对该设备进行操作86几个重要的术语和定义※ 空间 Space包含对象集合的一个存储区域※ 使用者级别 User_Level工具对设备所发送的一个号码,同时发送一个初始请求,用来通知待测设备,测试工具所希望获得的操作权限级别※ 合理性 Rationality合理性是验证输入部件与已知整车运行参数的符合性,尽管该输入参数在物理层上可能仍在量程范围之内87诊断故障代码(DTC)诊断故障代码(DTC)由4 个独立域构成,这4 个部分是:a. 可疑参数的编号(SPN)b. 故障模式标志(FMI)c. 发生次数(OC)d. 可疑参数编号的转化方式(CM)19位5位7位1 位88故障诊断的性能要求a. 安全性定义了使用串行数据链接的安全方案,使工业标准测试工具能在维修服务程序中完成必需的任务,包括操作诊断指令,存取车辆配置信息,重新标定控制模块等。
b. 连接器测试工具可以通过连接器接入整车网络,连接器定义见 SAE J1939/13c. 诊断状态信息支持提供一组报文,能够读取/清除故障信息,监控整车运行参数,读取/设置车辆及部件的配置信息以及其他相关信息d. 诊断测试程序支持支持提供一种功能,测试工具使各个控制模块进入指定的测试程序,由此确定子系统的运行状态89诊断报文(DM)DM1 诊断报文1, 当前故障码DM2 诊断报文2, 历史故障码DM3 诊断报文3, 历史故障码的清除/复位DM4 诊断报文4, 停帧参量DM5 诊断报文5, 诊断准备就绪DM6 诊断报文6, 持续监视系统测试结果DM7 诊断报文7, 指令非持续监视测试DM8 诊断报文8, 非持续监视系统测试结果DM9 诊断报文9, 氧传感器测试结果DM10 诊断报文10,非持续监视系统测试标志符识别支持90诊断报文(DM)DM11 诊断报文11, 当前故障码清除/复位DM12 诊断报文12,发送排放相关的当前故障码DM13 诊断报文13,停止启动广播DM14 诊断报文14,内存存取请求DM15 诊断报文15,内存存取响应DM16 诊断报文16,二进制数据传输DM17 诊断报文17,引导载入数据DM18 诊断报文18,数据安全性DM19 诊断报文19,标定信息目前最新的SAE J1939/73 (REV.SEP2006),共提供了52个诊断报文。
091诊断报文(DM1)★ 激活状态的诊断故障代码(DM1)传输频率:一旦有DTC成为激活的故障,就有DM1报文会被传输,并在之后处于正常的每秒仅一次的更新速度如果故障激活的时间是一秒或更长,然后变为不激活的状态,则应传输DM1报文以反映这种状态的改变如果在一秒的更新期间有不同的DTC改变状态,则要传输新的DM1报文反映这个DTC为了避免因高频率的间断故障而引起的高报文传输率,建议每个DTC 每秒只有一个状态改变被传输这样,如果故障码在一秒期间发生两次状态改变,激活/不激活状态,会有一个用于确认DTC成为激活状态的报文,和在下一个传输期间确认它为不激活状态的报文该报文仅当有一个激活的DTC 存在或处于响应一个请求时才被发送注意,当不止一个激活的DTC 存在时,这个参数组将会要求使用“多包传输”参数组数据长度:数据页面:PDU 格式:PDU 指定:可变254202默认优先值: 6参数组数编号: 65226(00FECA16)位位位位位892诊断报文(DM1)参数定义:字节: 1 8~7故障指示灯状态6~54~32~1字节: 2 8~76~54~32~1字节: 3 8~1字节: 4 8~1字节: 5 8~65~1字节: 67~1 位位位位位位位位位红色停止灯状态琥珀色警告灯状态保护灯状态故障指示灯闪烁方式红色停止灯闪烁方式琥珀色警告灯闪烁方式保护灯闪烁方式SPN,SPN 的低8 位有效位(最高有效位为第8 位)SPN,SPN 的第2 个字节(最高有效位为第8位)SPN,有效位中的高3 位(最高有效位为第8位)FMI(最高有效位为第5 位)可疑参数编号的转化方式发生次数 (注:当发生次数未知时,应将其所有位的数值设为1) 93诊断报文(DM1)DM1的作用:即时报告正在发生的所有故障。
DM1在发生故障时发送,一般不需要其它节点的请求假设有节点请求DM1,这时被请求的ECU如果有故障就发送其所有的故障,如果没有则按照如下的推荐标准发送:字节1: 8~7 位 =00字节2: 8~7 位 =116~5 位 =00 4~3 位 =00 2~1 位 =006~5 位 =11 4~3 位 =11 2~1 位 =11早期的推荐设定目前的推荐设定字节6~3:字节7:字节8:SPN = 524287FMI =31OC =127CM =1= 255= 255=0=0=0=0=255=255如果ECU已经没有故障,但由于需要在整秒的边缘触发了DM1,这时也采用以上标准发送DM194诊断报文(DM1)如果当前的故障不止一个,DM1就要采用多帧传输方式发送所有的故障这时的“多包传输报文”的有效数据的填写方式如下:a = 灯状态b = SPNc = FMId = CM 和OC多包报文数据(不含序列编号字节)格式如下:a,b,c,d,b,c,d,b,c,d,b,c,d……95诊断报文(DM1)96指示灯SAE J1939规定的与诊断故障代码相关的指示灯共4个,分别是:故障指示灯,红色停止灯,琥珀色警告灯和保护灯。
◆ 故障指示灯只用于传达排放相关的故障代码信息当有一个排放相关的故障代码处于激活状态时才被点亮◆红色停止灯用于传达整车出现严重故障,必须停车检修的故障代码信息◆琥珀色警告灯用于传达车辆系统出现问题,但不须立即停车检修的故障代码信息◆保护灯用于传达一种代码信息,提示车辆系统出现问题且极有可能不是相关电路子系统引起的故障例如,发动机冷却液的温度超出了它的规定温度范围97故障模式标识符(FMI)区域a:为电子模块所识别的总的信号输入范围区域b:由程序定义的实际上可能的总的信号范围,即信号在运行中可能的物理范围区域c:信号在既定条件下的正常范围区域d:在既定条件下实测认定的最严重的超低范围区域e:在既定条件下实测认定的最严重的超高范围区域f:低于已知系统实际可能范围,显示为与低压源短路区域g:高于已知系统实际可能范围,显示为与高压源短路区域h:在既定条件下实测认定的轻度的超低范围区域I:在既定条件下实测认定的轻度的超高范围区域j:在既定条件下实测认定的中度的超低范围区域k:在既定条件下实测认定的中度的超高范围98故障模式标识符(FMI)FMI=0―数据有效但超出了正常操作的范围-最严重水平FMI=1―数据有效但低于正常操作的范围-最严重水平FMI=2―数据不稳定,断断续续的,或者不正确FMI=3―电压高于正常值,或者与高端短路FMI=4―电压低于正常值,或者与低端短路FMI=5―电流低于正常值或断路FMI=6―电流高于正常值或电路接地FMI=7―机械系统不响应或者无法调节FMI=8―非正常的频率或脉冲宽度或是周期FMI=9―非正常的更新速度FMI=10―非正常的速度或变化FMI=11-引起故障的原因未知FMI=12-坏的智能装置或部件FMI=13-超出标定范围99故障模式标识符(FMI)FMI=14-特殊指令FMI=15―数据有效但高于正常操作范围-最不严重水平FMI=16-数据有效但高于正常操作范围-中等严重水平FMI=17-数据有效但低于正常操作范围-最不严重水平FMI=18-数据有效但低于正常操作范围-中等严重水平FMI=19-错误地接收到的网络数据FMI=20-数据向高漂移FMI=21-数据向低漂移FMI=22 到30-预留由SAE 赋值FMI=31-未知或条件存在06诊断报文(DM2)★ 先前激活的诊断故障代码(DM2)此通信信息限于先前激活的诊断故障码,电子控制模块以此通知网络上其它成员该模块自身的诊断状态。
该数据包括了一系列诊断代码以及历史故障码的发生次数只要该信息发送,它就应包含所有发生次数不为0 的历史故障码传输频率:数据长度:数据页面:PDU 格式:PDU 特定域:默认优先级:参数组编号:使用PGN59904报文请求后发送,如果不支持该PG,需要一个NACK应答可变25420365227(00FECB16)100位位位位位8诊断报文(DM2)参数定义:字节: 1 8~7故障指示灯状态6~54~32~1字节: 2 8~76~54~32~1字节: 3 8~1字节: 4 8~1字节: 5 8~65~1字节: 67~1位位位位位位位位位红色停止灯状态琥珀色警告灯状态保护灯状态故障指示灯闪烁方式红色停止灯闪烁方式琥珀色警告灯闪烁方式保护灯闪烁方式SPN,SPN 的低8 位SPN,SPN 的第2 个字节SPN,有效位中的高3 位FMI(最高有效位为第5 位)怀疑参数编号的转化方式发生次数 (当发生次数未知时,应将其所有位设为1)DM2报文只在外部请求时才发送所有的先前激活的诊断故障码(历史故障码),如果历史故障大于1个,需要采用多帧传输101006诊断报文(DM3)★ 历史故障诊断数据的清除/复位(DM3)当某个控制模块接收到这一参数组的请求指令时,所有有关历史故障码的诊断信息都应该清除,但与当前故障码有关的诊断数据将不受影响。
清除完毕后或无历史故障码,必须发送肯定应答假如由于某种原因,控制模块不能执行这一参数组的请求,就必须发送否定应答在实施中需注意,上述两种情况下,若对这一参数组的请求指令是发送到全局地址的,则控制模块不得发送任何应答传输频率:数据长度:数据页面:PDU 格式:PDU 特定域:默认优先级:参数组编号:响应PGN59904报文请求,如果不支持该PG需要一个NACK应答25420465228(00FECC16)102诊断报文(DM3)需要特别注意:DM3是一个数据长度为“0”的报文也就是DM3对应的PGN内没有任何参数,是一个“空”参数组这是因为DM3诊断报文主要关心其参数组编号(用于请求PGN),而不是其内容例子:假设一个诊断仪希望清除发动机的历史故障数据首先诊断仪使用PGN59904向发动机发送一个PGN请求该PGN就是DM3对应的PGN65228如果发动机支持“清除历史故障数据”(即PGN65228),给予ACK应答,执行清除,并发送PGN65228(DM3报文)否则就给予NACK应答10306诊断报文(DM4)★ 停帧参数(DM4)停帧是指当接收到诊断故障代码时的一系列已记录的参数。
作为记录每个诊断故障代码的停帧应包含:要求的参数以及任何一个制造商的专用信息一个ECU有可能具有多个停帧,并且每个停帧都有可能包含了制造商的专用信息一个停帧对应一个诊断故障代码,同时一个诊断故障代码也只能由一个停帧考虑到多帧传输的限制,每个故障停帧数据和包括在该报文中的所有故障停帧数据的总个数必须在1785 个字节以内该诊断报文最适合排放相关的及动力总成故障码,但不局限于排放相关故障或是动力总成它也可用于报告相关的非排放或是非动力总成的故障传输频率:数据长度:数据页面:PDU 格式:PDU 特定域:默认优先级:参数组编号:响应PGN59904请求,如果不支持该PG需要一个NACK应答可变25420565229(00FECD16)104567诊断报文(DM4)参数定义:字节: 1字节: 2字节: 3字节: 4字节:停帧长度8~1 位 SPN,SPN 的低8 位有效位8~1 位 SPN,SPN 的第2 个字节8~6 位 SPN,有效位中的高3 位5~1 位 FMI(最高有效位为第5 位)8 位 怀疑参数编号的转化方式7~1 位 发生次数(当发生次数未知时,应将其所有位设为1)字节:字节:字节:发动机扭矩模式(SPN899)增压(SPN102)9~8 发动机转速(SPN190)字节:字节:1011发动机负载百分比(SPN92)发动机冷却液温度(SPN110)字节:字节:13~12 车速(SPN86)N~14 制造商自定义信息DM2报文在外部请求时发送所有故障引起的停帧参数,需要采用多帧传输。
105006诊断报文(DM11)★ 当前故障码诊断数据清除/复位(DM11)该报文用于诊断工具清除当前故障码相关的诊断信息诊断工具应在当前故障得到纠正时发送该请求指令当该操作完成时或被请求的控制模块内没有当前故障码,要求控制模块发送一个肯定应答(ACK)假如由于某种原因,控制模块不能执行要求的操作,就必须发送否定应答(NACK)在实施中应注意,若本请求指令发送到全局地址,任何控制模块不得发送任何形式的应答传输频率:数据长度:数据页面:PDU 格式:PDU 特定域:默认优先级:参数组编号:响应PGN59904报文请求,如果不支持该PG需要一个NACK应答25421165235(00FEd316)106诊断报文(其它)与当前故障码相关的诊断报文包括:◆当前故障码个数及诊断就绪状态信息(由DM5 读出)◆当前故障码(由DM1 读出所有当前故障码,由DM12 读出排放相关当前故障码)◆停帧数据(由DM4 读出)◆系统监视测试状态(由DM6 读出)◆监视测试结果(由DM10 读出)◆故障灯点亮时的累计里程(由DM21 读出)◆可执行的监视系统信息(由DM20 读出)107诊断报文(其它)与历史故障码相关的诊断报文包括:◆历史故障码个数及诊断就绪状态信息(由DM5 读出)◆历史故障码(由DM2 读出)◆系统监视测试状态(由DM6 读出)◆监视测试结果(由DM10 读出)◆故障灯点亮时的累计里程(由DM21 读出)◆可执行的监视系统信息(由DM20 读出)108诊断报文(其它)与存储器访问和安全验证机制相关的诊断报文包括:◆存储器访问请求◆存储器存取响应◆传输二进制数◆装载引导数据◆数据安全(DM14)(DM15)(DM16)(DM17)(DM18)109大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例110网络管理(Network Management)网络管理协议定义了一套ECU命名方法,用于地址管理、网络出错管理等功能。
111控制器应用程序(CA)的基本概念Controller Application (CA)控制器由硬件和软件组成,其中软件叫作CA一个ECU可以有多个CA每个CA都有可以唯一识别的名字和地址CA名字(name)64位的标识符,10个域6个域的值由标委会分配给出,其余4个域的值或者根据网络特性以及汽车架构给出,或者由生产厂商直接给出名字具有优先级,编号越小,优先级越高CA地址(address)每个节点拥有一个独一无二的地址是网络正常工作的前提条件静态配置:事先给各节点预分配一个地址,地址在使用过程中不作更改,适用于固定在网络中的节点动态配置:事先不固定地址,ECU上电后通过地址仲裁的方法获得一个独一 无二的地址,适用于节点较多情况或经常不在网络中运行的设备(比如诊断 仪)112CA命名CA名字由64位(8个字节)组成,分为10个域当节点进行地址声明时放在数据域(8个字节)中发送地址仲裁属性域1工业组域3车辆系统实例域4车辆系统域7保留域1功能域8功能实例域5ECU实例域3制造商代码域11ID编号域21113CA命名地址仲裁属性域:表示CA 是否可以使用可仲裁的源地址来解决地址声明冲突值为1,表示CA 声明地址发生冲突时,可以在可仲裁的源地址(128 – 247)范围中选择一个地址将其声明为其源地址工业组域:由标准委员会制订,可以在SAE J1939附录B中查询114CA命名车辆系统实例域用来区别某汽车系统中的子系统,例如0表示第一个子系统车辆系统域工业组中具有相同功能的一个系统,与工业组一起共同定义一个汽车系统。
可以在SAE J1939附录B12中查询保留域该域预留以备以后使用,其值应设为零功能域值在0 到127,其定义与其它域无关,大于127 时,其定义依赖车辆系统域功能域与工业组域和车辆系统域结合,为特定的控制器确定一个公用名字可以在SAE J1939附录B11中查询功能实例域表示一个具体的功能实例,比如0表示第一个功能实例或只有一个115CA命名ECU实例域用来区别相同功能域中的一组电控单元例如一台发动机有两个独立的控制单元,第一个设为0,第二个设为1;如果只有一个用0表示制造商代码域表明哪一家公司对使用这个名字的ECU 产品负责,与名字中的其它域无关可以在SAE J1939附录B10中查询ID 编号域其值由ECU 制造商设置当名字不唯一时,必须使用ID 编号,这个域必须是唯一的,并且在断电的情况下保持不变该域必须能够解决任何地址竞争问题制造商可以把任何信息(如制造时间/日期、模块序列号、模块在车辆中的安装位置等)编码成ID 编号116CA命名1171.2.3.4.5.6.7.CA命名(实例)重型卡车上第二个挂车的ABS 系统工业组属于高速公路工业组其值为1对于挂车,其车辆系统值为2对于第二个挂车,其车辆系统实例值为1挂车的制动控制器CA 属于“制动控制器”,其功能值为9假如该挂车上只有一个制动控制器,则其功能实例值为0因ABS CA 只有一个ECU,所以其ECU 实例值为0制造商代码和身份编号见分类表118几个概念※地址配置功能 Address Configuration and Capability地址配置是一种CA确定在地址声明中使用的源地址的方法。
出于地址声明过程的需要,地址配置定义两种功能:单地址功能和仲裁地址功能,由名字的地址仲裁能力域决定※单地址CA Single Address Capable CA对于单地址CA,如果没有外部的干预,这些CA 无法改变它们已声明并正在使用的地址它们包括不可配置地址CA、服务可配置地址CA、命令可配置地址CA、自配置地址CA这些CA 名字的地址仲裁能力域的值均为0119几个概念※不可配置地址CA Non-Configurable Address CA不可配置地址CA 的源地址由制造商提供包括服务工具在内的任何手段都不能改变其源地址※服务可配置地址CA Service Configurable Address CA服务可配置地址CA 是指源地址可以通过技术服务人员改变的CA运行在“服务”模式下,可以通过专用技术或者命令地址报文改变其地址一般需要一个服务工具完成该操作※命令可配置地址CA Command Configurable Address CA命令可配置地址CA源地址可以通过命令地址报文改变该类CA可以在ECU上电时改变地址,不需要服务工具或者运行于特殊模式要求车辆网络上有一个CA能够发送命令地址报文来改变其地址,并且命令可配置地址CA的程序能够识别出该命令。
120几个概念※自配置地址CA Self-Configurable Address CA这是一种特殊情况,CA根据车辆的配置信息,从一个有限的源地址集中选择一个可供它使用的源地址挂车的网桥是一个最好的例子:在一个车辆中,编号为No.2的挂车网桥,它改变它的源地址是基于内部判断它位于车辆中的位置决定了它使用的地址如果它被移到编号为No.1 的位置,就必须使用指定给No.1 位置的地址注意,每个位置只有一个正确的地址;CA 首先确定自己的位置,然后使用这个位置的信息产生一个新的名字,再选择一个正确的地址使用接插件信息来确定自己处于左边/右边的设备也属于这一类121几个概念※可仲裁地址CA Arbitrary Address Capable CA可仲裁地址的CA,根据内部算法,可以从任何合适的源地址(包括范围在128-247 的仲裁地址区)中选择它的源地址,然后声明该地址如果发生地址冲突的情况,这类CA能够重新计算一个CA并重新声明地址(直到所有从128-247范围内的120 个地址全部被声明)名字的地址仲裁属性域的值表明了一个CA 是否具有这个功能这种类型的CA 特别适合于在一个车辆上需要有多个相同设备实例的CA。
出现这种情况时,由于可仲裁地址CA 用于地址声明名字的地址仲裁属性域为1,降低了它的优先级,因此在竞争同一个首选地址时会失去仲裁注意,如果CA 的功能在正常情况下需要使用一个小于128 的地址,CA 必须首先声明那个地址只有在地址声明过程中失去仲裁的情况下,该CA 才能声明范围在128 以上的未用的地址1226地址管理报文★ 地址声明报文/不能声明地址报文地址声明PGN(60928)有两种用法:声明一个地址和公告不能声明地址前者是地址声明内报文,后者是不能声明地址报文任何CA都可以使用地址声明报文,或者用于响应接收到的地址声明请求,或者只是简单的在网络上声明一个地址传输频率:数据长度:数据页:PDU格式:PDU特定域:默认优先级:参数组编号:源地址:数据域:根据需要8 字节0238255(全局地址)60928(00EE0016)0 到253(控制器应用程序声明的地址);254(空地址,表示不能声明地址)CA的名字(64位)1236地址管理报文★ 地址声明报文/不能声明地址报文连接在网络上的CA,如网桥、诊断工具或扫描工具,可以使用命令地址报文命令其它的CA使用给定的源地址命令地址报文可用于命令特定名字的CA 使用一个特定源地址。
CA 接收到包含有自己名字的命令地址报文后有两种响应方式:使用命令地址报文给出的新地址启动地址声明程序表明接收该命令;不发送应答表明忽略该命令传输频率:数据长度:数据页:PDU格式:PDU特定域:默认优先级:参数组编号:数据域:1-8字节:9字节:根据需要9 字节025421665420(00FED816)CA的名字(64位)新的源地址124地址管理报文地址管理报文总结:报文名称地址声明请求声明地址不能声明地址命令地址PGN59904609286092865240PF234238238254PSDA255255216SASASA254SA数据长度3889数据PGN60928名字名字名字,新SA125CA单一地址的初始化状态转换图126CA可仲裁地址的初始化状态转换图127大纲SAE J1939概述物理层(SAE J1939-11)数据链路层(SAE J1939-21)网络层(SAE J1939-31)应用层(SAE J1939-71)故障诊断(SAE J1939-73)网络管理层(SAE J1939-81)应用实例128129混合动力汽车简介ISG发动机/Engine变速器/Transmission混合动力汽车简介130工作模式指令工作状态故障信息其它信息故障信息其它信息OFF工作模式指令工作状态故障信息信号流程简图EAC-ECU(发动机辅助控制器发动机辅助控制器)AC-ECU(自动离合器控制器自动离合器控制器)Te**neON/OFFα brk(模拟量)α eTen eON/OFFHEV-ECU(混合动力车辆控制器混合动力车辆控制器)α c*1α c1α c 2ION/α acc(模拟量)*Tm*nmON/OFFTmnmON/OFFSOC驾驶员踏板系统ISG-ECU BMS-ECU(启动发电一体机控制器启动发电一体机控制器) (动力电池组控制器动力电池组控制器)131物理层遵循SAE J1939物理层协议(J1939-11)的定义,以下为补充或强调的内容:(1)通信电缆采用屏蔽双绞线;(2)各ECU可配置为含CAN总线端节电阻或不含端节电阻,端节电阻为120Ω。
3)CAN总线的接线拓扑应该是一个尽量紧凑的线形结构以避免电缆反射总线主干网长度不超过40m,ECU接入主干网的电缆要尽可能短为使驻波最小化,节点不能在网络上等间距接入,接入线不能等长,且接入线的最大长度应小于1m4)为提高通讯品质,建议选用多缓存(接收和发送都需要)的CAN控制器芯片132数据链路层遵循SAE J1939数据链路层协议(J1939-21)的定义,以下为补充或强调的内容:(1)通信采用29位标识符的扩展帧,通信速率为500kb/s;(2)采用单帧报文;(3)周期发送和事件触发发送机制133()网络层MONITOR-PCMID-ECUHV-ECUEAC-ECUISG-ECUBMS-ECUAC-ECU134网络管理层采用静态地址分配机制 SAE J1939通讯协议为公路设备(工业组号1)定义的地址分配表中,为静态地址分配预留的地址范围是208-231吉利混合动力轿车CAN通讯节点地址在此预留地址中分配,具体如下:编号12345678ECU模块混合动力车辆控制器(HV-ECU)发动机辅助控制器(EAC-ECU)启动发电一体机控制器(ISG-ECU)动力电池组控制器(BMS-ECU)多信息显示器控制器(MID-ECU)自动离合器控制器(AC-ECU)电子制动系统控制器(EBS-ECU)监视计算机(MONITOR-PC) 地址208209210211212213214231135应用层遵循SAE J1939应用层协议(J1939-71)的定义,以下为补充或强调的内容:(1)在0数据页(DP=0)定义各参数组编号(PGN);(2)各参数组(PG)的优先级(P)依据参数所属系统的优先级及参数在系统中的优先级确定;(3)选定SAE J1939协议中预留给企业的PDU2格式中的“私有B段”,即PF=255,PS=0‾255 来编制PGN。
13612345678应用层编号ECU模块混合动力车辆控制器(HV-ECU)发动机辅助控制器(EAC-ECU)启动发电一体机控制器(ISG-ECU)动力电池组控制器(BMS-ECU)多信息显示器控制器(MID-ECU)自动离合器控制器(AC-ECU)电子制动系统控制器(EBS-ECU)监视计算机(MONITOR-PC)PGN范围(PDU2)PF=255,PS=0-19PF=255,PS=20-29PF=255,PS=30-39PF=255,PS=40-49PF=255,PS=50-59PF=255,PS=60-69PF=255,PS=70-79PF=255,PS=235-255137应用层(5)各参数组(PG)的刷新周期依据参数类型、采集速率等确定,信号的采集到发送之间的时间间隔不能超过刷新周期的2倍;(6)参数组的分组原则:第一,按照参数的功能分组而不是按照参数的类型分组;第二,按照参数的刷新频率;第三,按照参数所属的子系统所以,同一子系统的相同功能的刷新率接近的若干参数可以构成一个参数组7)数据传输方式采用Motorola方式,即对于两个以上字节的参数是首先传输低字节后传输高字节。
8)SPN选择SAE J1939给企业的预留段520192‾524287中定义,并从520192开始顺序地为每个参数分配SPN9)参数组定义见附表110)参数定义见附表2138----应用层表1:PGN定义(节选)混合动力车辆控制器信息参数组(HVINF)发送周数据长度 数据页PDU格式PDU特定域缺省优先级参数组编号期50 ms(DL)8 bytes(DP)0(PF)255(PS)0(P)3(PGN)65280(0x00FF00)字节序号123,45-8 位序号参数名称加速踏板开度制动踏板开度车速未定义 SPN52019252019352019413900-0应用层表2:SPN定义(节选)SPN520192520193520194参数名称加速踏板开度制动踏板开度车速数据长度8 bits8 bits16 bits分辨率0.4%/bit0.4%/bit1/128取值范围0 to 100 %0 to 100 %-250 to偏移量-250kph/bit251.992 kph520195发动机工作模式指令4 bits0000-转矩跟随、0001-转速跟随、其余-未定义520196发动机开关指令2 bits00—关、01—开、10—保留、11—忽略520197发动机目标转矩16 bits1Nm/bit-32000 to32255 Nm32000520198发动机目标转速16 bits0.5 rpm/bit0 to 32127.5rpm140演示完毕谢谢!141。












