您的位置:首页 > 资讯 > 正文
DEM 事件去抖:基于Counter
来源:个人图书馆-新用户3849ayns 发布时间2023-06-21 15:22:59    


(资料图片)

防抖实质就是想对某件事的状态做一个确认,比如:某个按钮的按下,可能是由于某种原因误触碰了一下,并不是真正的想按下按钮。怎么判断到底是不是想真的按下按钮呢?聪明的人类总是能想到方法,比如:按钮按下1s表示想真正按下按钮或者按钮连续按下两次表示真正想按下按钮。在Autosar DEM中,去抖分为:Time、Counter、MonitorInternal。基于Time或者Counter比较常用。

个人理解:在DEM中,对事件去抖就是对事件状态的确认。事件如何确认呢?按照Autosar规范,上报的事件状态包括:FAILED、PREFAILED、PREPASSED、PASSED。比如:上报3次PREFAILED,事件变成FAILED,或者上报3次PREPASSED变成PASSED,如此才确认事件的发生,即事件状态(Event Status)。在DEM中,定义了FDC(Fault Detection Counter)表征事件将要达到的状态,这个值的范围是-127~128,即sint8类型。而每次FDC变化多大由step up/down度量,比如上报3次PREFAILED,事件变成FAILED,则step up设置的范围可以是64>step up≥43,这样即可满足FDC = 0时,上报3次事件状态变成FAILED;同样,上报3次PREPASSED变成PASSED,-43>step down>-64。

如上图,在DEM中又给了jump down和jump up这样的功能,该功能感觉用的较少。与

解读DEM可以看出,在对事件(Event)进行去抖时,受使能条件和诊断命令的影响,去抖行为可以分为:FREEZE和RESET两种。怎么去理解这个行为呢?谈一下个人的看法。如果某些诊断使能条件不满足,比如:诊断电压过低/过高、Busoff发生、KL15信号没有收到/或者失效等,此时去抖所记录的信息需要暂时保存(比如FDC值等),等待使能条件恢复以后在此基础上在进行去抖。或者收到诊断指令$85时,如果去抖策略是FREEZE,则暂存去抖记录的信息。

RESET比较直接,使能条件不满足或者收到诊断指令$85时,将针对事件去抖用到的信息全部复位。比如FDC重置为0。

关键词:

推荐内容