汽车ECU诊断Debounce算法介绍

debounce算法
故障诊断步骤是先进行故障检测,即根据前提条件和判断条件实时监控,判断是否有潜在的故障。通常采用4个状态(prepassed、passed、prefailed、failed)来表示判断的结果,对于有些故障,不需要经debounce算法确认故障,这时判断的结果只有passed和failed,直接得到确认的故障;而对于有些故障,可能只是某些信号波动引起,不是故障,姑且称为潜在的故障,这时引入prefailed和prepassed来表示,需要采用debounce算法才能进一步确认是否为故障。当前常用debounce算法有基于计数器的debounce算法和基于时间的debounce算法两种。
基于计数器的debounce算法
该算法使用一个debounce计数器(计数范围取决于具体的定义)用来记录判断的结果,当根据前提条件和判断条件得到一次prefailed状态,那么计数器(fault detection counter)会增加一个步长,以此不断累加,当累计计数达到设定的failed限值时,故障状态就变成failed,即潜在故障被确认,如下图t1时刻。有些故障被确认后,是有可能被恢复的,也就是说只要根据前提条件和判断条件得到一次prepassed状态,那么计数器(fault
detection counter)会减小一个步长,以此不断减小,当达到设定的passed限值时,故障状态就变成passed,即故障已消除,如下图t2时刻。
对于上图中的两个值jump down value,和jump up value),此处需要再解释一下,所谓jump down value是指故障被确认处于failed状态,如果下一次根据检测的前提条件和判断条件得到prepassed状态,这时计数器的数值不会从设定的failed限值开始减小一个步长,而是跳到jump down value开始减小一个步长。同理去理解jump up value,这两个值均由用户自定义。
基于时间的debounce算法
该算法使用一个debounce计时器(范围同样为-128到127)用来记录判断的结果,当根据前提条件和判断条件得到一次prefailed状态,那么计时器(fault
detection counter)开始计时,累计一段时间t_failed,仍然没有出现prepassed或passed状态,那么故障状态就变成failed,如下图t1时刻;在tfailed内,如果出现failed状态,那么故障状态就直接变成failed,即故障被确认,如下图t4时刻。当故障被确认了,接着当根据前提条件和判断条件得到一次prepassed状态,那么计数器归零,开始重新计时,同理一直prepassed状态,累计一段时间t_passed后,表示故障已消除。如下图t2时刻。当故障被确认了,接着当根据前提条件和判断条件得到一次passed状态,那么计数器不需要累计时间,直接表明故障已消除,如下图t3时刻。

首款鸿蒙OS旗舰机皇华为P50预计明年发布
UART和SPI的速度比较
μCOS-II在ATmega128单片机上的移植和开发
艾迈斯半导体推出16通道LED背光灯控制器改善电视画质并降低能耗
一图读懂IP防护等级,防尘防水一目了然
汽车ECU诊断Debounce算法介绍
Adobe宣布斥资47.5亿美元收购营销软件公司Marketo
西门子万人裁员计划已开始实施!
FreeRTOS信号量使用教程
VR交通安全体验馆—VR在交通安全中的应用
什么是客户机/瘦客户机
伺服驱动系统的基本概念和工作原理
连接器的接线端子电镀的优化效果
物联网新讯:工业机器人智能系统完成融资 中国电信实现飞机上网技术
刘海屏被认为是更进步更贵的屏幕?
硅谷巨头到底出了什么问题?肢解他们的可能性有多大?
睿思芯科瞄准数据中心及边缘计算市场
优快签约10家机器人服务商,为用户提供专业、高效、实惠的技术服务
发电机的保护常识
继电器的主要测试参数与方法