一、DM报文简介及功能 1.1 DM1报文是Diagnostic Message 1, Active Diagnostic Trouble Codes (DTCs)缩写由1939-73定义,具体参考其5.7.1; 1.2 实现诸如MIL点亮灯、红色停机灯等,并定期播放控制器中处于激活状态的故障码。 二、DM1报文格式 2.1 DM1报文各Byte定义
DM1 | |
---|---|
传输速率 | 1s |
数据长度 | 可变 |
扩展数据页(EDP) | 0 |
数据页(DP) | 0 |
PDU格式(PF) | 254 |
PDU细节(PS) | 202 |
默认优先级(P) | 6 |
参数组编号(PGN) | 65226(0x00FECA) |
Byte1 | Bits 8-7 故障指示灯(MIL) |
Bits 6-5 红色停机灯 | |
Bits 4-3 琥珀警告指示灯 | |
Bits 2-1 保护指示灯 | |
Byte2 | Bits 8-7 闪烁故障指示灯(MIL) |
Bits 6-5 红色停机灯闪烁 | |
Bits 4-3 琥珀色警告灯闪闪发光 | |
Bits 2-1 闪烁保护指示灯 | |
Byte3~6 | 激活状态的DTC1 |
Byte7~10 | 激活状态的DTC2 |
Byte(4n-1~4n 2) | 激活状态的DTC n |
2.2报文填充 2.2.1 当没有激活故障码或激活故障码时,DM报文字节长度为8个Byte: Byte1-2:OBD相关控制器,Byte1 Bits 8-7即SPN1213和Byte2 Bits 8-7即SPN3038可用于点亮与排放相关的故障指示灯,非OBD设备,SPN1213和SPN目前已完成软件开发,3038应禁用002未来,新开发的软件将使用112填充,其余Bit可按定义状态填充; Byte3-6无故障填充00 00 00 0016,当出现故障时,根据故障SPN和FMI填充,如4B ED E9 0316,故障码转换将在第三部分详细说明; Byte7-8,填充FF FF16 例:发动机发出DM1,ID为0X18FECA无故障时,完全填充如下: 2.2.2 当存在多个DTC1939-21定义了多包报文传输协议,多包传输发动机以全局地址发送DM1为例说明: TP.CM_BAM,Transport Protocol-Connection Management_Broadcast Announce Message,广播连接报纸,告诉CAN总线其他节点即将多包传输报文PGN,定义总字节数和包装数PGN 为0x00EC优先级为6,广播时,源地址为00发动机广播连接报纸ID为0x18ECFF报文长度为8Byte: Byte1:控制字节,固定发2016,代表TP.CM的BAM类型 Byte2-3:总报文字节数 Byte四、总报文包数 Byte5:1939预留填充FF16 Byte6-8:打包发送报纸PGN TP.DT,Transport -Protocol_Data Transfer,多包传输报文载体,定义PGN 为0x00EB00,源地址00发动机多包传输报文ID为0x18EBFF报文长度为8个Byte: Byte1:包序列号 Byte2-7:数据内容,如果最后一包报纸传输内容小于7个字节,则使用额外字节FF16填充。 例:发动机有4个激活故障码,28个故障码Byte故障灯状态2个Byte,共30个Byte,分成5包,报文填充如下 三、DTC解析 3.1 故障码组成 可疑参数组编号SPN:19个Bit 故障模式FMI:5个Bit 发生次数OC:7个Bit 可疑参数组编号SPN转化方式CM:1个Bit 推荐SPN19个bit按全部采用转化方法Intel格式,即CM=0,4B ED E9 0316故障码分析如下: E916=1110 10012 取高3位01112=0716 0316=0000 00112 ,故障发生三次OC=3,CM=0,SPN的19个bit按Intel格式处理 SPN=07 ED 4B16=519499 FMI=0 10012=9 查故障码手册: 该SPN FMI组合表示:制动系统TSC1_AR报文超时故障