UDS诊断系列介绍16-DTC状态位介绍

1. 系列介绍

本系列Autosar 诊断入门介绍,会详细介绍诊断相关基础知识,如您对诊断实战有更高需求,可参见诊断实战系列专栏,快速链接:Autosar诊断实战系列导读
如您MCAL配置,通信,诊断,OS等Autosar全栈实战有更高需求,可以参见AutoSar 实战进阶系列专栏,快速链接:AutoSar实战进阶系列导读

UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的一种诊断通信方式,是基于ISO 14229规范的规范化诊断服务标准,其位于OSI模型中的应用层,UDS可基于不同的总线实现,如基于CAN总线可再结合ISO1576协议进一步实现传输层,本篇将介绍DTC状态位相关内容:

在DTC状态位(一个Byte)中,每个Bit都有各自的含义。当条件成立时,该Bit位置1,通过读取各Bit的置位信息即可得知当前及过去DTC的情况,当然也可以通过诊断命令对状态位进行清除,各Bit位相关信息如下:
DEM_UDS_STATUS_TF:位0,TestFailed位。
DEM_UDS_STATUS_TFTOC:位1,TestFailedThisOperationCycle位。
DEM_UDS_STATUS_PDTC:位2,PendingDTC位。
DEM_UDS_STATUS_CDTC :位3,ConfirmedDTC位。
DEM_UDS_STATUS_TNCSLC:位4,TestNotCompletedSinceLastClear位。
DEM_UDS_STATUS_TFSLC:位5,TestFailedSinceLastClear位。
DEM_UDS_STATUS_TNCTOC:位6,TestNotCompletedThisOperationCycle位。
DEM_UDS_STATUS_WIR:位7,WarningIndicatorRequested位。

2.各状态位逻辑介绍

2.0 Bit0(TestFailed)置位逻辑

从下图可以看出当DEM初始化或测试结果通过时,或通过14服务清除DTC状态时,Bit0会被设置为FALSE,
当测试失败时,该DTC Bit位将会被置为TRUE,一般Bit 0置位即表明当前存在故障。在这里插入图片描述

2.1 Bit1(TestFailedThisOperationCycle)置位逻辑

Bit1,表示当前点火循环测试失败,与Bit0置位情况基本相同,区别在于Bit1可标记某个DTC在当前operation cycle中是否出现过testFailed置1的情况,即是否出现过错误。

通过Bit0我们可以知道当前该DTC的状态,通过Bit知道某DTC在当前operation cycle是否出现过错误,即使后面被修复,该Bit仍将置位。
在这里插入图片描述

2.2 Bit2(PendingDTC)置位逻辑

Bit2:表示当前及上一个完整operation cycle里是否检测到状态出错,是介于Bit0(TestFailed)及Bit3(ConfirmedDTC)中间的一个状态,相当于对故障进行滤波,如果几次滤波后仍存在,则对应ConfirmedDTC状态位置位。

Bit2(PendingDTC)只有在测试运行并完成时,才能更新状态。Bit2(PendingDTC)位和Bit1(TestFailedThisOperationCycle)位的标准相同。不同之处在于,Bit1(TestFailedThisOperationCycle)在当前操作周期结束时被清除,而Bit2(PendingDTC)位为至少测试通过一次且从未失败的操作循环完成之前不清除。
在这里插入图片描述

2.3 Bit3(ConfirmedDTC)置位逻辑

Bit3(ConfirmedDTC)对应Bit2(PendingDTC)即已确定的DTC,当PendingDTC置位多次达到可以确定failed标准后即成为ConfirmedDTC。但当confirmedDTC = TRUE时,并不意味着当前这个DTC仍然出错,也可能Bit0(TestFailed) = FALSE,即为历史故障。

在调用ClearDiagnosticInformation或满足老化标准后(老化标准一般由主机厂提供),重置为逻辑“0”。此外,根据车辆制造商特定的故障内存要求,当与此故障诊断码相关的故障记录被更新的故障诊断码覆盖时,将重置此位。
在这里插入图片描述

2.4 Bit4(TestNotCompletedSinceLastClear)置位逻辑

Bit4(TestNotCompletedSinceLastClear),自从上次清除DTC状态后还没完成该DTC的测试,即不管测试结果是否通过,如已测试完成,该Bit将置位为FALSE。

在UDS诊断协议中可以使用0x14服务清除全部或单个DTC故障状态。
在这里插入图片描述

2.5 Bit5(TestFailedSinceLastClear)置位逻辑

Bit5(TestFailedSinceLastClear),自从上次清除DTC状态后该DTC测试失败。与Bit1(TestFailedThisOperationCycle)置位逻辑类似,差别在于Bit5(TestFailedSinceLastClear)计算起点是从上次清除故障开始,如出现故障则该Bit置为TRUE,否则为FALSE。
在这里插入图片描述

2.6 Bit6(TestNotCompletedThisOperationCycle)置位逻辑

Bit6(TestNotCompletedThisOperationCycle),表示该DTC在当前驾驶循环仍未诊断完成,初始化后该Bit即置为TRUE,与Bit4(TestNotCompletedSinceLastClear)类似。
在这里插入图片描述

2.7 Bit7(WarningIndicator)置位逻辑

Bit7(WarningIndicator),对应某些影响驾驶安全、影响排放等较重要DTC会与仪表上的危险警报灯、故障灯等相关联,当这类DTC出现failed情况该Bit将置位为TRUE,而对于不关联DTC该Bit将不会使用,保持为FALSE状态。
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Autosar汽车电子进阶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值