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

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

一.什么是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标准故障码表示字符所属系统
0x00PPowertrain动力系统故障
0x01CChassis底盘故障
0x10BBody车身故障
0x11UNetwork网络故障

故障码的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标准故障码表示字符故障类型
0x000ISOSAE标准定义故障码
0x011制造商自定义故障码
0x102ISOSAE保留码
0x113ISOSAE保留码

八.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,主要表示当前故障、历史故障码、上次清除后问题故障。
具体解释如下:

BitDespcription描述
Bit0TestFailed请求时刻测试结果为失败,表示当前结果为故障状态
Bit1TestFailedThisOperationCycle在当前点火循环至少失败过1次
Bit2PendingDTC在当前或者上一个点火循环测试结果不为失败
Bit3ConfirmedDTC请求时刻DTC被确认,一般确认是在一个点火周期内发生错误1次,表示存在历史故障
Bit4TestNotCompletedSinceLastCycle自上次清除DTC之后测试结果已完成,DTC检测尚未完成
Bit5TestFailedSinceLastCycle自上次清除DTC后测试失败,DTC为故障状态
Bit6TestNoCompletedThisOperationCycle当前操作循环测试还没有完成,DTC检测还未完成
Bit7WarningIndicatorRequest故障指示请求,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内存的同时,通过警报灯等方式,向驾驶员发出警告信息。
一个是自发的内部诊断,一个是通过连接外部的设备来诊断

  • 8
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UDS(Unified Diagnostic Services)协议是一种通用的诊断服务协议,用于汽车电子控制单元(ECU)与诊断工具之间的通信。它定义了一系列诊断服务和通信消息,使诊断工具能够与车辆的ECU进行通信,以读取诊断数据、执行诊断功能和写入控制参数等操作。 UDS协议遵循ISO 14229标准,该标准定义了UDS协议的通信方式、数据格式、错误处理、安全性等方面的要求。通过UDS协议,诊断工具可以向ECU发送诊断请求,如读取故障、读取和写入数据或控制参数等。同时,ECU也可以通过UDS协议响应这些请求,并将实时数据、故障或测试结果返回给诊断工具。 UDS协议提供了灵活且可扩展的诊断服务,可以满足不同车辆制造商和ECU的需求。它支持各种诊断功能,如读取和清除故障、读取实时数据、编程和校准控制器等。同时,UDS协议还支持安全访问和数据保护,以确保诊断操作的安全性和可靠性。 UDS协议通过CAN总线或其他通信媒介进行通信,具有高效的数据传输和低延迟的特点。它适用于各种类型的车辆,包括乘用车、商用车和工程机械等。UDS协议的应用范围广泛,包括车辆制造、汽车维修和诊断设备开发等领域。 总而言之,UDS协议-14229是一种通用的诊断服务协议,通过定义诊断服务和通信消息,实现了诊断工具与车辆ECU之间的通信。它具有灵活可扩展、安全可靠的特点,广泛应用于汽车制造和维修领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值