诊断协议那些事儿
诊断协议那些事儿专栏系列文章,本文将由浅入深的介绍DTC(Diagnostic Trouble Code)。

关联文章:
$19服务:DTCStatusMask和statusofDTC bit 定义
19服务List

文章目录
- 诊断协议那些事儿
- DTC(Diagnostic Trouble Code)
- DTC格式标识符
- DTC组成
- Root DTC in UDS with ISO 15031-6 / SAE J2012-DA
- PBCU开头码
- 类别
- Failure Type
- DTCofStatus bit
- 读取DTC信息
DTC(Diagnostic Trouble Code)
Diagnostic Trouble Code直译即为诊断故障码,简称DTC,一种用来记录当某ECU发生或检测到某种故障时所呈现在大家眼前的标识码,通过该标识码便可以查表的方式获得该故障信息,如故障触发条件、故障解除条件、系统功能表现等。这是当前供应商与主机厂普遍用来监测并识别故障的基础手段,在OBD-II之后形成标准规范,普遍使用的标准是ISO15031-6,该标准中规定了DTC的基本组成,DTC如何命名等信息。

DTC格式标识符
本参数值规定了服务器所报告的DTC格式,给定服务器仅允许支持一个DTCFormatIdentifier(DTC格式标识符)

DTC组成

Root DTC in UDS with ISO 15031-6 / SAE J2012-DA

PBCU开头码
DTC由以下两个部分组成:DTC Catogory 与Failure Type,其中DTC Catogory 又可以根据Powertrain、Body、Chasis、N etwork四大子系统来进一步定义其范围,简称PBCU四大子系统,如下表所示:
| System | Code categorles | Hex value | Appendix |
|---|---|---|---|
| Powertrain | P0xxx-P3xxx | 0xxx-3xxx | P |
| Chassis | C0xxx-C3xxx | 4xxx-7xxx | C |
| Body | B0xxx-B3xxx | 8xxx-Bxxx | B |
| Generic/Network and vehicle integration | U0xxx-U3xxx | Cxxx-Fxxx | U |
在客户诊断问卷调查表中普遍使用P(00)、C(01)、B(10)、U(11)来描述DTC诊断显示码与日常使用的3字节DTC转换关系,实际上只需要将PBCU四个子系统对应的bit组合关系替换进去,便可以得到我们常说的DTC。

类别

Failure Type
如常见的Timeout应该用0x87,信号无效应该为0x81等,ISO给出了标准的规范,一般对于排放相关的ECU的DTC最低字位均为00,而对于非排放相关的ECU则需要参考ISO标准来定义。
以非排放相关的ECU为例,可以将DTC故障类型分为以下几个部分:
①硬件故障;如RAM、Flash、CPU时钟等硬件本身失效的问题
②软件故障;如配置字故障,标定故障或客户定义的软件功能性故障
③外部环境故障;电压过高或者欠压、环境温度过高或过低等
④通讯相关故障;如报文丢失、信号无效,Checksum/AliveCounter故障等
DTCofStatus bit
可参考文章进行深入学习:$19服务:DTCStatusMask和statusofDTC bit 定义
每一个DTC均有对应的DTC状态位,该DTC状态位由一个字节表示,每个bit都有其重要含义,具体解释如下图所示:

Bit0: 请求时刻测试结果为失败;
Bit1: 在当前点火循环至少失败过1次;
Bit2: 在当前或者上一个点火循环测试结果不为失败;
Bit3: 请求时刻DTC被确认,一般确认是在一个点火周期内发生错误1次;
Bit4: 自上次清除DTC之后测试结果已完成,即测试结果为PASS或者FAIL结果;
Bit5: 自上次清除DTC后测试结果都不是FAIL;
Bit6: 在当前点火周期内测试结果已完成,即为PASS或FAIL状态;
Bit7: ECU没有得到点亮警示灯请求;
在实际项目中,非排放ECU往往仅需关注Bit0和Bit3即可(StatusAvailabilityMask = 0x09):

读取DTC信息
19服务详细介绍,后续会逐渐展开,下图消息流示例可供参考理解,针对本文欢迎各位评论,提出宝贵意见,另外对于诊断协议那些事儿专栏建设,读者有建议可私聊,小编也会持续更新,以提供更好的作品。




![[附源码]计算机毕业设计JAVA基于Java的护肤品网站](https://img-blog.csdnimg.cn/e7e31f1bd55c4b9e9b9666ec3c6689d2.png)



![[UE笔记]客户端服务器时间同步](https://img-blog.csdnimg.cn/155b29d8e1244d938265d47e5f3b8931.png)


![T292114 [传智杯 #5 练习赛] 清洁工](https://img-blog.csdnimg.cn/911e09ea32804c1f9b292e71da9638b5.png)









