文章目录
故障码类型
ISO 14229-1 UDS协议标准中提到5种DTC格式类型:
- 0x00:SAE_J2012-DA_DTCFormat_00: 在 SAE_J2012-DA_DTCFormat_00 规范下,DTC 使用前两个字节,根据 SAE J2012-DA 进行解码,第3个字节(dtc middle byte,中位字节)并不参与解码。一般第3个字节默认为 00;
- 0x01:ISO_14229-1_DTCFormat: ISO 14229的DTC格式是由3个byte长度的DTC和1个Byte的DTC状态组成的。1个字节的StatsusOfDTC中每个Bit都有特定含义,反映了DTC的状态。依照 ISO 14229-1 标准定义,但此标准仅规定了 DTC 的长度为 3 个字节,未明确具体的设置方式,允许车辆制造商进行自定义。
- 0x02:SAE_J939-73_DTCFormat:参数表示 SAE J1939-73 标准中定义的 DTC 格式, 常用于商用车,因为 SAE J1939 协议主要针对商用车制定。
- 0x03:ISO_11992-4_DTCFormat: 表示 ISO 11992-4 标准中定义的 DTC 格式,使用相对较少。
- 0x04:SAE_J2012-DA_DTCFormat_04:该格式引用了 SAE_J2012,专门用于增强型诊断,其 DTC 字节含义严格遵循 SAE_J2012 协议。Format_04的DTC有故障类型名称和故障子类型的需求,例如DTC B0039-Second Row Right Frontal Stage 1 Deployment Control,作为2个字节的DTC定义为0xB0039,作为3字节的DTC定义为0xB003901,01代表FTB(故障类型字节Failure Type Byte)的General Electrical Failure。
DTC的定义
DTC,Diagnostic Trouble Code
,诊断故障码,即 故障类型的 ID。
在ISO4229当中,一个完整的DTC码有 3个 Byte,包含2个Byte的故障内码(5位标准故障码) + 1个Byte的故障类型,而一个DTC故障码又对应唯一的一个DTC状态码,所以说故障信息码的格式由四个字节组成。
DTC 故障码的分类
DTC分为non OBD
和OBD
两种格式,如下所示:
- OBD,排放相关的故障码通过 OBD 服务进行读取
- 非OBD,非排放相关的故障码通过 UDS 服务进行读取
OBD 格式的 DTC Byte0是固定的,值为:0x00
DTC 故障码的组成
1、OBD DTC 格式结构
OBD DTC 5位标准故障码 占2字节(省略Byte0 :0x00)。
示例:0x0143 的动力系统DTC应显示为 P0143。
DTC 2 个字节 | DTC High Byte | DTC Low Byte | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
以二进制显示 DTC | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
显示字符 | 第 1 个字符 | 第 2 个字符 | 第 3 个字符 | 第 4 个字符 | 第 5 个字符 | |||||||||||
P | 0 | 1 | 4 | 3 |
OBD DTC 5个字符的定义如下:
1、第 1 个字符:
DTC High Byte(Bit 6 - 7)
,表示故障所属哪个大的系统
Bit6~7 | 显示字符 | System系统 |
---|---|---|
00 | P | Powertrain 动力总成系统 |
01 | C | Chassis 底盘系统 |
10 | B | Body 车身系统 |
11 | U | Network and vehicle Integration 网络和车辆集成系统 |
2、第 2 个字符:
DTC High Byte(Bit 4 - 5)
,表示故障类型(用的哪种法规)
Bit4~5 | 显示字符 | System系统 |
---|---|---|
00 | 0 | ISO / SAE controlled 协议规定的通用故障码 |
01 | 1 | Chassis manufacturercontrolled 制造商自定义故障码 |
10 | 2 | ISO / SAE controlled controlled 预留故障码 |
11 | 3 | ISO / SAE controlled controlled 预留故障码 |
3、第 3 个字符:
DTC High Byte(Bit 0 - 3)
,表示车辆系统域(Area of vehicle system),故障所属子系统
例如,对于动力系统部分:
- 1”表示燃油和空气计量系统;
- “2”表示燃油和空气计量系统(喷油器);
- “3”表示点火系统;
- “4”表示废气控制系统;
- “5”表示巡航、怠速控制系统;
- “6”表示与控制单元相关;
- “7”“8”表示变速箱系统等。
4、第 4、5 个字符:
DTC Low Byte(Bit 0 - 7)
,根据需要分配 ID
注意:
- 字符3用于标识特定的车辆区域; 在任何区域内,显示字符4和5最多允许256个代码定义
- 对于动力总成,这些Bit受 ISO/SAE 控制;对于所有其他人,它们是制造商控制的
- 对于动力总成,11 = P3000到P33FF的制造商控制;11 = ISO/SAE为P3400到P3FFF保留
2、UDS DTC(ISO 14229-1、ISO 15031-6)格式结构
UDS DTC 使用三个字节,其中 HighByte 和 MiddleByte 这2个字节表示故障内码,对应5位标准故障码。
LowByte 这个字节表示Failure Type Byte (FTB)
,包含Failure category
和Failure Sub Type
两个部分。
(ISO 15031-6 中的DTC LowByte 表示Failure Type Byte (FTB),而ISO 14229-1 中的DTC LowByte 表示ID序号)
下图显示了3字节DTCFormatIdentifier = 0x01或0x04 DTC结构的示例。使用DTCFormatIdentifier = 0x01或0x04作为数据总线值 0x923411的3字节DTC,将作为制造商控制的车身代码B1234–11显示给技术人员。
DTC 3 个字节 | DTC High Byte | DTC Middle Byte | DTC Low Byte | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
以二进制显示 DTC | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | |
显示字符 | 第 1 个字符 | 第 2 个字符 | 第 3 个字符 | 第 4 个字符 | 第 5 个字符 | 第 6 个字符 | 第 7 个字符 | |||||||||||||||||
B | 1 | 2 | 3 | 4 | 1 | 1 |
Failure Type Byte (FTB)
FTB 为故障类型,通过FTB可以直观地看出DTC发生故障的车身位置和故障类型。
FTB 包含 Failure category(故障种类) 和Failure Sub Type(子类型) 两个部分。具体种类和类型在 ISO15031-6中详细定义。
故障种类:
参考
- https://www.zhihu.com/tardis/bd/art/407991054?source_id=1001
- https://zhuanlan.zhihu.com/p/481631613?utm_id=0&wd=&eqid=b45c0ef70001168300000006646f1ec4