1上海海马汽车研发有限公司电气室汽车CAN总线——诊断编制:丰烨2目录概述术语和定义符号和缩写的涵义技术要求诊断代码具体内容及格式3概述•CAN总线网络控制系统在低电压、小电流下工作,状态相当可靠,一般情况下极少发生故障,另一方面,由于导线大量减少,接插件也相应减少,消除了断线、短路及接触电阻引发的故障,可见系统能发生故障的机会是很少的,但也不是绝对的。•由于CAN总线系统采用数字传输信号,不能用对待一般汽车电器传统的检修方法,只用万用表测电压和电阻进行判断,而必须用到原厂配备的故障诊断仪和配套的附属器件,如汽车专用示波仪,原车电路图和故障代码等,通过读取故障码进行分析,才能判断故障所在。4概述•SAE1939-73:2004《应用层—诊断》•一致性程度为修改采用(技术内容完全等同)•本部分规定了CAN总线的应用层-诊断的技术要求5术语和定义诊断故障代码DiagnosticTroubleCode•一种用以识别故障类型、相关故障模式以及它的发生次数的4字节数值。6•在一消息中传送参数的集合。参数组包括:命令、数据、请求、应答和否定应答等。不论是单包消息还是多包消息,参数组都被看作数据。因为参数组与源地址无关,因此可以从任何源地址发送任意的参数组。参数组ParameterGroup(PG)7•3字节,24位,包括保留位、数据页、PDU格式和组扩展域等。参数组编号唯一标识一个参数组参数组编号ParameterGroupNumber(PGN)8•协议数据单元是一种特定的CAN数据帧格式。协议数据单元ProtocolDataUnit(PDU)9•确认所请求的动作已经被理解并完成。肯定应答Acknowledgement,ACK否定应答Negative-AcknowledgmentNACK•表明某个设备不能理解一个消息或者无法实现一个请求操作。10•当具有相同参数组编号的所有数据需要使用多个CAN数据帧来传输时使用的一种J1939消息。每个CAN数据帧拥有相同的标识符,但在每个包中数据不同。多包消息MultipacketMessages11•DM1诊断信息1,当前故障码•DM2诊断信息2,历史故障码•DM3诊断信息3,历史故障码的清除/复位•DM4诊断信息4,停帧参量•DM5诊断信息5,诊断准备就绪•DM6诊断信息6,持续监视系统测试结果•DM7诊断信息7,指令非持续监视测试•DM8诊断信息8,非持续监视系统测试结果•DM9诊断信息9,氧传感器测试结果•DM10诊断信息10,非持续监视系统测试标志符识别支持•DM11诊断信息11,当前故障码清除/复位•DM12诊断信息12,发送排放相关的当前故障码•DM13诊断信息13,停止启动广播•DTC诊断故障代码•FTP联合测试程序•MIL故障指示灯•NA不支持符号缩写的含义12•PID参数标志符(SAEJ1578或SAEJ1979)•OBDⅡ第二代车载诊断系统•DM14内存存取请求•DM15内存存取响应•DM16二进制数据转换•DM17引导载入数据•DM18数据安全性•DM19标定信息•DM20监视工作比率•DM21MIL激活时的行程距离•EDC错误检测和/或校准•EDCP错误检测和/或校准参数•FMI故障模式指示器•MA内存存取•PG参数组•OC出现次数•SPN可疑参数编号13•诊断定义应满足使用本标准网络的所有潜在用户的要求,适用于所定义的工业领域。大量的功能设置为将来预留发展空间,可逐步定义补充的特征值,参数组和参数。技术要求14•期望的诊断性能以下的性能将在本文或将来的版本中定义。•a.安全性•b.连接器•c.诊断状态信息支持•d.诊断测试程序支持技术要求15•a.安全性定义了使用串行数据链接的安全方案,使工业标准测试工具能在维修服务程序中完成必需的任务,包括操作诊断指令,存取车辆配置信息,重新标定控制模块。16•b.连接器测试工具可以通过连接器接入整车网络。•c.诊断状态信息支持提供一组信息,能够读取/清除故障信息,监控整车运行参数,读取/设置车辆及部件的配置信息以及其他相关信息。17•d.诊断测试程序支持支持提供一种功能,测试工具使各个控制模块进入指定的测试程序,由此确定子系统的运行状态。18•推荐的诊断支持以下的性能将在本文或将来的版本中定义。•a.排放相关•作为最基本的功能,所有使用本标准网络,影响整车排放性能并满足OBDⅡ或OBD要求的控制模块应支持表1的功能:1920•b.非排放的相关在今后修订版中规定。21•诊断程序的一般要求•应确保在诊断程序中测试装备和车辆均能正常操作,测试装备使用本标准定义的指令时不应影响到车辆的正常操作(除非那是指令的要求)。•非车载测试工具可以向某个指定的控制模块(或不指定控制模块)发送指令请求读取数据。应使用正确的方式以减少网络负载。在某些车辆中,可能有多个控制模块响应同一条请求指令。另外,某个控制模块可以发送多个响应给单一的请求指令,任何发出请求指令的测试装备必须有能力接收多个响应。22•车载系统对GB/T××××.4中定义的请求指令均应响应。多个响应可能来自单一的请求指令,要求使所有模块都有足够的时间来访问数据链路并发送它们的响应。如果在规定时间内(例如250ms),测试工具没有收到任何响应,则测试工具认为不会再接收到任何响应;或者测试工具已接收到一个响应,则测试工具认为将不会再接收其它响应。•测试工具在接收到末次请求指令的响应之前,或无响应计时器超时之前,不会发送新的请求指令。任何情况下测试工具发送的连续两次请求指令的时间间隔应小于GB/T××××.4所指定的时间。23•向指定模块发送的请求指令,接收方必须作出响应,如果接收方控制模块不支持指令请求的参数组,接收方控制模块应发送一个NACK。如果请求指令不指定模块,而接收方控制模块不支持被请求的参数组,则接收方控制模块不发送任何响应。如无特别说明,参数值的格式和范围应符合GB/T××××.5的定义。24以下信息在定义安全性时必须提供。•用户可使用测试工具通过整车网络存取和修改控制模块的内存信息。支持这一功能的控制模块应设有接入整车网络的接口,并有能力拒绝“未授权”的修改请求,确保数据安全。安全性25•安全性不得限制测试工具对控制模块的其它操作指令,见DM1至DM13及DM19,目的是允许生产厂限制用户对控制模块的数据操作。本文所列的安全体系是由控制模块厂推荐的,各个控制模块可根据自身安全需求具体定制。测试工具可通过整车通信网络发出外部指令,修改接入网络的各个控制模块的内存内容,不恰当的修改可导致电气部件的损坏,整车性能下降,不能达到国家、国际标准,或者侵害生产厂的信息安全权益。26•对在线控制模块进行某些关键功能的操作时,控制模块将要求先进行正确的“解锁”程序。当控制模块处于“锁定”状态时,只有该控制模块的生产厂才有权决定是否允许对其进行操作,用户必须直接从控制模块的生产厂代表获取特定的代码或口令,且可能被要求使用于产品用软件,才能正确“解锁”,进而对控制模块进行操作,以保护控制模块不受未授权操作的侵害。不试图定义控制器所要求的能力,或者不试图指定符合任何特殊安全措施的信息DM14至DM18描述的诊断指令不是为了限制对控制模块的访问,那些信息需要安全系统防护,安全防护等级均由控制模块生产厂方决定。27•实施安全防护不应防碍外部测试工具与整车在线控制模块间基本的诊断通信。附件c,附件d和附件e特别描述了安全体系实施的过程,如何获取对控制模块进行内存操作的方式,以及控制模块限制外部对内存操作的多种方式。28诊断连接器•本标准第2部分:物理层—非车载诊断连接器对诊断连接器的安装要求、性能要求、物理要求都做了阐述。2930参数监视需求•参数定义见GB/T××××.5。任何在应用层文档中定义了的并包含于参数组(PG)中的参数将用于诊断。所以,若参数已定义,它不能为了诊断的目的而重新定义。有些情况下,有必要识别密切相关的有关参数,比如,当油门踏板传感器出错时的读数,和当前油门踏板传感器读数。31诊断故障码定义•诊断故障代码(DTC)由4个独立域构成,这4个部分是:32•这些独立的参数不是一个单独的数,而是一组描述故障的信息。诊断测试工具希望通过控制模块地址和名字,确定诊断信息的来源。诊断信息发送者信息并不包含可疑参数信息(SPN),但也有助诊断。控制模块的地址和名字参考网络管理部分。33•每个故障码发送4个字节,这4个字节的定义见DM1。•激活状态的诊断故障代码DM1:本指令包含的诊断信息仅限于当前正处于激活状态的可改变指示灯状态的故障码。故障码和指示灯两者都是电子控制模块用来通知网络上其它成员该模块自身的诊断状态。该数据信息包括了:指示灯状态,一列诊断代码以及当前激活状态诊断代码的发生次数。这也包括排放相关的诊断故障代码。34•传输速度:一旦有DTC成为激活的故障,就有DM1消息会被传输,并在之后处于正常的每秒仅一次的更新速度。。如果故障激活的时间是一秒或更长,然后变为不激活的状态,则应传输DM1消息以反映这种状态的改变。如果在一秒的更新期间有不同的DTC改变状态,则要传输新的DM1消息反映这个DTC。为了避免因高频率的间断故障而引起的高消息传输率,建议每个DTC每秒只有一个状态改变被传输。这样,如果故障码在一秒期间发生两次状态改变,激活/不激活状态,如实例1中所示,会有一个用于确认DTC成为激活状态的消息,和在下一个传输期间确认它为不激活状态的消息。该消息仅当有一个激活的DTC存在或处于响应一个请求时才被发送。注意,当不止一个激活的DTC存在时,这个参数组将会要求使用“多包传输”参数组。3536•实例3诊断故障代码以诊断信息的方式传送(例DM1)•已知:•油压预滤器参数,可疑参数数值(SPN=1208)•故障模式标志(FMI)为3•发生次数(OC)为10•所有的诊断故障代码域以英特尔格式传送(最小有效字节优先)•十进制十六进制二进制•SPN1208=4B816=00000000100101110002(19位)•FMI3=316=000112(5位)•OC10=A16=00010102(7位)•CM=02(1位)37•以CAN的数据结构作为DM1的DTC表示法DM1(字节3与CAN标志符接近)38诊断参数组(PG)定义•用于诊断的参数组的定义,格式不同于GB/T××××.5,在GB/T××××.5中的参数定义为所属参数组的一部分。应满足OBDⅡ的要求。•SAEJ1979描述•SAEJ1979模式•SAEJ1979PID•本标准DM(PGN)3940Thankyou!