汽车控制器(ECU)中DTC的状态位

  • 2021/12/19 5:12:00

从车辆ECU中载入存储的DTC(故障码)时,除开故障码自身,还能够读取许多其它的信息内容,包含优先、产生频次计数、产生时的里程数和時间,及其文中中常讲的状态位(DTC status )。

这一状态位包括1个byte,这里边的8个bit都是有彼此的含意,可是这8个 bit不一定都需要应用,每个汽车厂家可以按照自身的要求应用在其中的好多个,自然还可以所有应用。下面的图是UDS对DTC status这8个bit的界定。

DTC status中8个状态bit的界定

bit 0 : testFailed

一般而言,ECU內部以循环系统的方法不断对于事先界定好的错误途径开展测试,假如在近期的一次测试中,在某一错误途径中看到了常见故障,则相对应DTC的这一个状态位就需要被置1,表现错误。这时DTC的testFailed位被置1,可是它不一定被ECU储存到non-volatile memory中,仅有当pendingDTC或confirmedDTC被置1时DTC才会被储存。而pendingDTC或confirmedDTC被置1的标准应该是检验到错误发生的频次或時间达到某一预订义的幅值。当错误消退或是检查仪实行了消除DTC命令时,testFailed会再度被置为0。

bit 1 :testFailedThisOperationCycle

这一bit用以标识某一DTC在现阶段的operation cycle中是不是发生过testFailed置1的状况,即是不是发生过错误。operation cycle的起止点是ECU根据网络安全管理唤起到ECU根据网络安全管理进到睡眠质量,针对沒有网络安全管理的ECU,这一起止点便是KL15导通。根据bit 0我们无法分辨某一DTC是不是发生过,例如,当今testFailed = 0, 表明当今这一DTC沒有错误,假如testFailedThisOperationCycle = 1得话,就表明这一DTC在当今这一operation cycle抽出过失,可是当今错误又消失了。

bit 2 : pendingDTC

依据规定的表述,pendingDTC = 1表明某一DTC在当今或是上一个operation cycle中是不是发生过。pendingDTC位实际上是坐落于testFailed和confirmedDTC中间的一个状态,有的DTC被确定的判断标准较为苛刻,必须在好几个operation cycle中发生才可以被判断为confirmed的状态,这时就必须凭借pendingDTC位了。pendingDTC = 1的情况下,DTC就需要被储存出来了,假如下面的2个operation cycle中这一DTC都还存有,那麼confirmedDTC就需要置1了。假如当今operation cycle中,常见故障产生,pendingDTC = 1,可是在下一个operation cycle中,常见故障没了,pendingDTC 依然为 1,再下一个operation cycle中,常见故障依然未找到,那麼pendingDTC 就可以置0了。

bit 3 : confirmedDTC

当confirmedDTC = 1时,则表明某一DTC早已被储存到ECU的non-volatile memory中,表明这一DTC以前达到了被confirmed的标准。可是一定要注意,confirmedDTC = 1时,并不代表着当今这一DTC依然错误,假如confirmedDTC = 1,但testFailed = 0,则表明这一DTC表明的常见故障现阶段早已消失了。将confirmedDTC 再次置0的办法仅有删掉DTC,UDS用0x14服务项目,OBD用0x04服务项目。

bit 4 : testNotCompletedSinceLastClear

这一bit用以标识,自打之前读取了清除DTC的服务项目(UDS用0x14服务项目,OBD用0x04服务项目)以后,是不是取得成功地实行了对某一DTC的测试(无论测试結果有什么,只关注是不是测了)。由于许多DTC的测试也是必须达到一些初始条件的,并并不是ECU通电就一定会对DTC开展检验。

testNotCompletedSinceLastClear = 1 : 自打清除DTC以后都还没进行过对于该DTC的测试。

testNotCompletedSinceLastClear = 0 : 自打清除DTC以后早已修复过对于该DTC的测试。

bit 5 : testFailedSinceLastClear

这一位与bit 1 :testFailedThisOperationCycle有一些相近,后者标识某一DTC在现阶段的operation cycle中是不是发生过testFailed置1的状况,而testFailedSinceLastClear标识的是在之前实行过清除DTC以后某一DTC是不是出过失。

testFailedSinceLastClear = 0 , 自打清除DTC以后该DTC沒有出过失。

testFailedSinceLastClear = 1, 自打清除DTC以后该DTC有过最少一次错。

bit 6 : testNotCompletedThisOperationCycle

这一位与bit 4 : testNotCompletedSinceLastClear相近,后者标识自打之前读取了清除DTC的服务项目以后,是不是取得成功地实行了对某一DTC的测试。而testNotCompletedThisOperationCycle则标识在当今operation cycle中是不是取得成功地实行了对某一DTC的测试。

testNotCompletedThisOperationCycle = 1 : 在当今operation cycle中还没在进行过对于该DTC的测试。

testNotCompletedThisOperationCycle = 0 : 在当今operation cycle中早已修复过对于该DTC的测试。

bit 7 : warningIndicatorRequested

一些较为严重的DTC会与客户由此可见的提醒标示密切相关,例如仪表盘上的警示灯,或是是文本,或是是响声。这一warningIndicatorRequested就用以该类DTC。

warningIndicatorRequested = 1 : ECU要求激话提醒标示。

warningIndicatorRequested = 0: ECU不要求激话提醒标示。

留意,假如这一DTC不兼容提醒标示,则这一位始终置0。

汇总而言,这8个状态位仅用文字说明得话会稍显抽象性,假如在工作上见到这种状态位的转变,那麼就很好了解它了。

立即行动,开启 Google 精准营销之旅

请联系您的营销顾问,获取定制报价单、客户案例及行业分析报告。

运营中心:
东莞 / 深圳 / 广州 / 上海 / 杭州 / 宁波 / 温州 / 西安 / 武汉

全国免费咨询热线: 0755-27908682

18664972870

与我联系