1101复位之后故障仍保持原因分析
文章目录
- 前言
- 问题复现
- 原因分析
- 问题处理
- 总结
前言
项目过程中,客户端测试出现某个故障在触发后,故障状态恢复,但DTC无法恢复,甚至在1101复位或重新上下电后也无法恢复,本文分析该问题出现的原因,及对应的解决方案
问题复现
在台架上模拟触发该故障,1101复位之后,19 02 09读取故障码返回对应的故障状态位为0x6D:
01 Test failed
04 Pending DTC
08 Confirmed DTC
20 Test failed since last clear
40 testNotCompletedThisOperationCycle
由状态bit 0x40可知,当前循环并没有完成该DTC的检测,此时读取该DTC的FDC10为0。
原因分析
很明显,Testfail位下电没有丢失,而是被存储了。但重新上电,没有满足故障的恢复条件,所以没有触发故障的Prepass,导致FDC10无法到达-128,无法清除Testfail位。
问题处理
首先需要搞清楚为啥Testfail位会存储?查找DEM规范文档,其中有如下定义:
DemGeneral中有配置项DemStatusBitStorageTestFailed用来配置是否存储Testfailed位,当配置为True时,Dem会存储该bit,即重新上电仍然保持
查看我们工程中的配置:DemStatusBitStorageTestFailed配置的是True
客户需求中没有说Testfailed位需要存储,所以只需要将该配置项配置为False即可
总结
实际上该DTC在自检阶段是有设置Prepass的,但是由于DTC的TRC设置的不对,导致Prepass没起作用,修改TRC也能解决该问题。如果客户有需求要存储Testfailed位,那就需要认真核查每个DTC的Prepass/Pass条件了,不能出现重新上电fail位一直置位导致故障一直报出,重新上电还无法恢复的情况(除非故障一直存在)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/114990.html
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!