UDS DTC老化机制
2023-12-15 23:43:29
文章目录
简介
当某个DTC在一定次数的操作循环内,不再出现时,将存储中关于这个DTC的信息从内存中清除的行为称为老化。
基本概念
1、操作周期(Operation Cyle)
各种操作周期是计算周期相关状态信息(如testCompleteThisOperationCycle)的基础。
操作循环的类型 | 说明 | 描述 |
---|---|---|
DEM_OPCYC_IGNITION | Ignition ON / OFF cycle | KL15电on与off之间的循环,也叫点火循环 |
DEM_OPCYC_POWER | Power ON / OFF cycle | KL30电on与off之间的循环,可以理解为ECU从完全断电到供电的过程。 |
更多:UDS 操作循环
2、错误计数(FDC, Fault Detection Counter)
错误检测计数,当然这个步长可以设定,向上(Step up)或者向下(Step down)均可以设置(计数值位-128-127,不同DTC需要的滤波次数不一致,通过设置此项值设置滤波次数)。同时还可以设置jump down(即在检测通过时是否跳转到0或者其它数,并从这个数开始向下减)
3、确认阈值(Confirmation Threshold)
确认此故障一直存在的Operation Clycle数,将其认定在历史DTC,在老化(aging)或手动清除前confirmed DTC状态位会一直存储在EEPOM
Autosar 中的配置项为 DemEventConfirmationThreshold
定义了 DTC的状态字节的Bit3(Confirmed DTC)置位所需要的测试失败的操作循环个数。
DemEventConfirmationThreshold | 说明 |
---|---|
0 | 和 1 的配置效果相同 |
1 | 第一次将testFailed位从0设置为1时,confirmedDTC位从0设为1。 这种行为也被称为“立即确认”或“零跳闸”。此设置主要用于非OBD UDS DTC。 |
2 | 在第一次报告故障后的操作循环中,当再次报告故障(testFailed位从0设置为1)后,confirmedDTC位从0设置为1。 此设置用于满足美国法定OBD要求。 |
3 | 在第一次报告故障后的第二个操作周期中,confirmedDTC位从0设置为1。 此设置用于满足欧洲法规规定的OBD要求。 |
4、老化计数(Aging Counter)
即连续报告没有故障的 Operation Cycle 数
5、老化阈值(Aging Threshold)
Aging Counter达到次数之后,DTC的Confirmed状态位将会被清除
老化条件
- 诊断故障已经存在primary memory中
- 在连续的aging cycle中,诊断故障结果都为passed
- IGN operation cycle次数增加,aging counter累加,当aging counter大于等于DemAgingCycleCounterThreshold(老化阈值)时,该故障会老化,从primary memory中消失。
非排放 DTC 示例
参考
- https://zhuanlan.zhihu.com/p/622815554
- https://www.iotword.com/9990.html
文章来源:https://blog.csdn.net/m0_56208280/article/details/134961750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!