【车载开发系列】UDS诊断—DTC故障码基础回顾

UDS诊断---DTC故障码基础回顾

  • 【车载开发系列】UDS诊断---DTC故障码基础回顾
    • 一.什么是DTC故障码
    • 二.DTC故障码的作用
    • 三.什么是自诊断需求
    • 四.故障自诊断范围是什么
    • 五.DTC故障码的格式及组成
    • 六.DTC之故障所属系统
    • 七.DTC之故障类型
    • 八.DTC之所属子系统
    • 九.DTC之故障失效类型
    • 十.DTC故障码的表示
    • 十一.故障指示的概念
    • 十二.什么是故障快照信息
    • 十三.什么是故障扩展信息
    • 十四.故障扩展信息和快照信息的作用
    • 十五.DTC故障码的状态位
    • 十六.状态码的作用是什么
    • 十七.DTC故障信息存储机制
    • 十八.什么是故障自恢复策略
    • 十九.与操作DTC故障码相关的SID有哪些
    • 二十.与DTC相关的标准主要有哪些
    • 二十一.OBD与UDS的故障代码区别
    • 二十二.自诊断故障与脱机诊断故障的区别

一.什么是DTC故障码

DTC(Diagnostic Trouble Code)表示诊断故障码,是故障类型的身份ID号码;用于汽车故障时对故障部位及原因的排查。
当ECU检测到一个故障时,其将在存储器中存储对应的一个代码,此代码被称为故障代码。 除故障代码外,ECU还可能存储与此故障相关的故障状态、快照信息及扩展信息。

二.DTC故障码的作用

DTC故障码主要用来就行线下的检测和故障的维修。
1)下线检测
对于一辆车的零部件的开发、系统集成、整车组装,其中涉及的流程之长、零件数量之多,可以说是相当的复杂;为了保证最终车辆下线,并且能够安全的上路,这就要在上路之前保证每个零件本身和零件之间必须保证没有任何问题,因此故障码检测就应运而生;不仅保证电子元器件本身不存在问题,而且保证电子元器件间也是通信正常,并保证最终车辆的安全上路。
2)故障维修
车辆在整个使用的生命周期中,所处的环境也是相当的复杂且恶略;对于当前车辆复杂的线路来说是一项极大的挑战,同时在出现问题后问题的排查也是相当的困难,这时候我们就可以通过故障码来进行查询故障位置,进行快速定位和解决。

三.什么是自诊断需求

Self Fault Detection就是自诊断需求的意思。所有ECU都应持续地进行故障自诊断,以监控运行状态下的异常事件(错误)。 故障自诊断包括两种:初始化阶段自诊断及持续运行时的自诊断。

四.故障自诊断范围是什么

故障自诊断范围Self Fault Detection Scope
故障自诊断的范围,应包含但不限于如下列内容:
1)ECU 内部异常情况;
2)网络通信异常情况;
3)输入/输出线路的开路或短路情况;
4)超出线路正常运行范围的错误信号;
5)迫使系统以失效安全模式运行的情况;

五.DTC故障码的格式及组成

故障代码由 3 个字节组成:故障代码高字节、 故障代码中字节及故障代码低字节(故障代码失效类型)。前两个字节代表发生故障的对象,也就是故障内码;对应5位标准故障码(第一位是字母,后面四位是数字)。
而故障代码的低字节代表故障失效类型信息。

六.DTC之故障所属系统

故障代码高字节的第一位是字母,表示故障所属系统;有如下的四种情况:

故障内码bit14bit15 标准故障码表示字符 所属系统
0x00 P Powertrain动力系统故障
0x01 C Chassis底盘故障
0x10 B Body车身故障
0x11 U Network网络故障

故障码的P、C、B、U码简单来说,这四个字母的来源即是对应车辆的四个组成部分,分别是Power(动力),Chassis(底盘)、Body(车身)、Network and vehicle Integration(U:网络和车辆集成)。
PCBU码在byte0的分布主要为P(00-3F)、C(40-7F)、B(80-BF)、U(C0-FF)。

七.DTC之故障类型

故障代码高字节的第二位是数字,表示故障类型;有如下的四种情况:

故障内码bit13bit12 标准故障码表示字符 故障类型
0x00 0 ISOSAE标准定义故障码
0x01 1 制造商自定义故障码
0x10 2 ISOSAE保留码
0x11 3 ISOSAE保留码

八.DTC之所属子系统

故障代码高字节的第三位是数字,表示故障所属的子系统;以对动力系统为例(P开头的故障码),有以下的情况:

0:表示燃油和空气计量辅助排放控制整个系统;
1:表示燃油和空气计量系统;
2:表示燃油和空气计量系统(喷油器)
3:表示点火系统;
4:表示废气控制系统;
5:表示巡航、怠速控制系统;
6:车载电脑和输出信号;
7:传动系统控制;
8:传动系统控制;

九.DTC之故障失效类型

故障代码中的低字节DTCLowByte则是描述故障种类和子类型,该部分内容遵循ISO 15031-6;对于不需要该字节信息的DTC,可填充为0x00。

十.DTC故障码的表示

故障码一般使用16进制数字来表示。
将标准故障码的第一、第二位(如下例中的“U0”、“B1”)换算为对应的内码格式,再以16进制表示出来;
至于后面的其他内容,其格式本来就是16进制进行表示的,直接照着写下来即可
就是说只要将标准故障码的第一、二位进行转换即可。
例如:
U007304,其故障内码为:1100 0000 0111 0011,换算成16进制则为C073;补充上DTCLowByte(04),则其完整的16进制表示为0xC07304;
B100016,其故障内码为:1001 0000 0000 0000,换算成16进制则为9000;补充上DTCLowByte(16),则其完整的16进制表示为0x900016;

十一.故障指示的概念

故障指示 Fault Indication是指当检测到某个可能引起危险的故障时,ECU必须采取必要的措施以保证部件及整车安全。
具体采取的措施(如危险警报声音,危险警报显示等)及激活/关闭准则需在ECU的诊断文件中描述。

十二.什么是故障快照信息

故障快照信息就是DTC Snapshot Information。
快照信息是在故障代码设置时存储的一组额外数据,对故障的维修具有辅助作用;顾名思义它就是故障发生时刻存下来的瞬态的环境数据,一般是指电源模式、温度、时间戳、车速等信息。
根据使用范围的不同,快照信息可分为全局快照和局部快照。
对于需存储快照信息的ECU,其必须支持全局快照信息,而选择性的支持局部快照信息。

十三.什么是故障扩展信息

扩展信息是一组提供故障代码相关扩展状态 信息的数据组,包括故障出现计数、故障待定计数等。也就是在故障发生时其他的一些辅助故障信息。故障扩展信息一般由车企与供应商的诊断工程师共同决定。

十四.故障扩展信息和快照信息的作用

大多数情况下光有DTC号以及状态位信息往往不能一步到位定位根本原因,需要引入环境信息才能够进一步确定问题所在,因此便有了快照数据(Snapshot Data)和扩展数据(Extended Data)两个概念。

十五.DTC故障码的状态位

DTC状态位也叫做DTC状态掩码,用于判定当前故障的状态。
DTC状态位由一个字节表示,每个bit都有其重要含义。我们常用的故障码状态主要有bit0、bit3、bit5,主要表示当前故障、历史故障码、上次清除后问题故障。
具体解释如下:

Bit Despcription 描述
Bit0 TestFailed 请求时刻测试结果为失败,表示当前结果为故障状态
Bit1 TestFailedThisOperationCycle 在当前点火循环至少失败过1次
Bit2 PendingDTC 在当前或者上一个点火循环测试结果不为失败
Bit3 ConfirmedDTC 请求时刻DTC被确认,一般确认是在一个点火周期内发生错误1次,表示存在历史故障
Bit4 TestNotCompletedSinceLastCycle 自上次清除DTC之后测试结果已完成,DTC检测尚未完成
Bit5 TestFailedSinceLastCycle 自上次清除DTC后测试失败,DTC为故障状态
Bit6 TestNoCompletedThisOperationCycle 当前操作循环测试还没有完成,DTC检测还未完成
Bit7 WarningIndicatorRequest 故障指示请求,1表示特定的DTC警告指示灯亮

十六.状态码的作用是什么

每一个DTC故障码均有对应的DTC状态位。
当出现DTC时,我们只知道有故障发生了这一个基本事实,但是并不知道该故障什么时候发生,现在是否已经恢复、发生过几次,恢复过几次等细节性信息,因此国际标准组织ISO发布14229-1来引入DTC状态位这一概念来得到上述细节性信息,使我们对该故障的生前生后有个清晰的认识,便于我们快速定位问题所在。

十七.DTC故障信息存储机制

故障信息存储DTC Information Storage的意思。原则上所有的故障代码及其相关信息都应存储于非易失性存储器E2PROM。但受存储空间所限,ECU可存储的故障信息也是有限的。同时存储的故障代码及其相关信息的个数应不小于总故障码个数的一半。
当存储信息已满时,ECU需决定是忽略最新检测到的故障及其信息,还是删除已存储的信息,以预留空间给最新检测到的故障。ECU供应商或者车企需定义故障信息存储的优先级机制,但必须保证部件及整车的安全。

十八.什么是故障自恢复策略

故障自恢复策略的英文表示为Fault Automatic Recovery。
ECU清除已存储的故障及其相关信息的条件包括清除诊断信息的指令或该故障的自恢复条件满足。如果故障不再存在,则故障自恢复机制用于确保该故障和相关信息都被清除,以避免不必要的维护成本。
某个ECU是否支持该机制以及支持的故障码有哪些,这个取决于各个车企的需求定义。

十九.与操作DTC故障码相关的SID有哪些

19 02 ReadDTC Status
19 04 ReadSnapshotData with DTC
19 06 ReadExtendData with DTC
19 0A ReadAllSupportedDTC
通过以上四种方式便可以得到ECU支持的DTC、当前或历史DTC、Snapshot Data、Extended Data ,DTC status等信息
除此之外和DTC故障码相关的SID还有:
14 诊断故障清除:用于客户端去清除一个或多个ECU内的诊断信息。
85 控制DTC设置 如果控制信息是off,则服务端应该立即停止DTC的状态更新。即从此刻起,DTC的状态信息保持不变,无论是发生了新的故障,还是已有的故障有了新的状态,服务端的DTC数量、状态信息都不会更新。如果控制信息是on,那么如果先前是off,就立即恢复到正常的状态,如果先前是on,保持状态不变。

二十.与DTC相关的标准主要有哪些

ISO14229-1只是UDS通讯协议,它没有具体定义DTC的格式,但它引用了其它几个标准中定义的DTC格式。
SAEJ2012是具体定义DTC代码及其含义的标准。
ISO15031-6是排放相关诊断(OBD)的故障码定义,它引用了SAE J2012,其中提到OBD DTC是2字节,但一些新的诊断通讯标准中定义的DTC是3字节,如ISO27145,解析方式有所不同,这个时候通过DTC格式标志字来区分两种解析方式。
ISO27145定义了增强型诊断的DTC格式,它也引用了SAE J2012。

二十一.OBD与UDS的故障代码区别

UDS DTC(ISO 14229)使用三个字节,两个最高有效字节(DTC High Byte和DTC Middle Byte)根据实施的诊断协议指定的DTC Format Identifier = 0x00或 0x04进行解码;最低有效字节(DTC Low Byte)根据SAE J2012-DA Failure Type Byte (FTB) 表进行解码。
OBD DTC(ISO 15031)使用两个字节,根据SAE J2012-DA解码。

二十二.自诊断故障与脱机诊断故障的区别

脱机诊断经过外部诊断设备读取相应的诊断信息,实现诊断作业。
自诊断故障是自己检测故障,并将自己检测到的故障情报数据等存入ECU内存的同时,通过警报灯等方式,向驾驶员发出警告信息。
一个是自发的内部诊断,一个是通过连接外部的设备来诊断

【车载开发系列】UDS诊断---DTC故障码基础回顾相关推荐

  1. 【车载开发系列】诊断故障码DTC的格式标识符

    [车载开发系列]诊断故障码DTC的格式标识符 诊断故障码DTC的格式标识符 [车载开发系列]诊断故障码DTC的格式标识符 一.DTC格式标识符概念 二.DTC格式标识符的运用 1)DTCByXXXXM ...

  2. 【车载开发系列】诊断故障码DTC中的快照信息

    [车载开发系列]诊断故障码DTC中的快照信息 诊断故障码DTC中的快照信息 [车载开发系列]诊断故障码DTC中的快照信息 一.DTC快照的概念 二.获取DTC快照数据 三.DTC快照与DTC扩展信息的 ...

  3. 【车载开发系列】诊断故障码DTC基本概念与定义

    [车载开发系列]诊断故障码DTC基本概念与定义 诊断故障码DTC基本概念与定义 [车载开发系列]诊断故障码DTC基本概念与定义 一.DTC的定义 二.DTC的构成 三.故障码DTC的16进制表示 四. ...

  4. 车载网络测试 - UDS诊断篇 - 故障码(DTC)

    一.故障码存在的意义 我认为故障码存在的意义主要有以下几点: 1.下线检测,对于一辆车的零部件的开发.系统集成.整车组装,其中涉及的流程之长.零件数量之多,可以说是相当的复杂:为了保证最终车辆下线,并 ...

  5. 【车载开发系列】UDS诊断---读取DTC信息($0x19)

    [车载开发系列]UDS诊断-读取DTC信息($0x19) UDS诊断---读取DTC信息($0x19) [车载开发系列]UDS诊断---读取DTC信息($0x19) 一.概念定义 1)DTC概念 2) ...

  6. 【车载开发系列】UDS诊断---OBD基础概述

    [车载开发系列]UDS诊断-OBD基础概述 UDS诊断---OBD基础概述 [车载开发系列]UDS诊断---OBD基础概述 一.什么是OBD 二.OBD和UDS的区别 三.OBD应用功能与应用领域 四 ...

  7. 【车载开发系列】UDS诊断协议总括篇

    [车载开发系列]UDS诊断协议总括篇 UDS诊断协议总括篇 [车载开发系列]UDS诊断协议总括篇 一.UDS诊断协议简介 为什么要设计UDS诊断协议 二. UDS诊断协议详细 1)诊断通信管理功能单元 ...

  8. 【车载开发系列】UDS诊断---输入输出控制($0x2F)

    [车载开发系列]UDS诊断-输入输出控制($0x2F) UDS诊断---输入输出控制($0x2F) [车载开发系列]UDS诊断---输入输出控制($0x2F) 一.概念定义 1)与0x31例程控制服务 ...

  9. 【车载开发系列】UDS诊断---例程控制($0x31)

    [车载开发系列]UDS诊断-例程控制($0x31) UDS诊断---例程控制($0x31) [车载开发系列]UDS诊断---例程控制($0x31) 一.概念定义 1)RoutineControl服务 ...

最新文章

  1. Blender 3.0机器人硬面建模材质渲染全流程学习课程
  2. sq服务启动后又停止_“本地计算机上的SQL SERVER服务启动后又停止了”解决方法...
  3. Hadoop源码阅读-HDFS-day2
  4. java面试换背景颜色_证件照换底色 证件照换背景 证件照背景颜色
  5. 风控必须了解的报表权限与角色控制
  6. 设备像素比devicePixelRatio简单介绍
  7. java adt简单开发,android java开发 第一天 之熟悉eclipse adt-Go语言中文社区
  8. python读音有道-Python实现有道翻译+语音播报
  9. juqery合成事件toggle方法
  10. Moore-Penrose广义逆矩阵
  11. python求不规则图形面积_使用Python生成不规则形状的图形
  12. 延时关机命令 linux,Ubuntu自动定时关机的方法
  13. selenium自动登陆校园网wifi(含验证码处理)
  14. (转) 如何在Excel和Word文档中插入GIF动画
  15. 电子漫画系列更新10张!古老的示波器,USB hub萌妹,超级酷的焊接壁画
  16. Ueditor编辑器实战 HTML / vue+v-model
  17. 【Leetcode】883. 三维形体投影面积
  18. 高灵敏度全级霍尔开关AH462替代霍尼韦尔HAL248应用于便携式果汁机
  19. Apache 屏蔽YisouSpider一搜蜘蛛神马的方法
  20. 功能测试之后台会员测试方法

热门文章

  1. 对比学习Contrastive Learning
  2. 如何将PPT进行压缩?简单的方法介绍
  3. Android 高德地图给指定坐标显示图片,以及聚合显示
  4. 启动zkCli.sh时指定IP地址
  5. 教你如何做好微信营销说到微信营销
  6. 第六周:整数转罗马数字
  7. 数据结构和算法学习指南
  8. 看了 Google 大神 Jeff Dean 的传说,我拜服了~
  9. 鼠标垫测试软件,百款鼠标垫测试(项目)
  10. PHP大型Web应用入门