当前位置: 首页 > news >正文

DTC_debounce去抖

DEM 模块提供了两种主要的 Debounce 算法:基于计数器的 Debounce 算法基于时间的 Debounce 算法

一、基于计数器的 Debounce 算法

原理

通过计数器来确认事件的状态。每次事件触发时,根据检查结果(通过或失败),计数器会增加或减少一定的步长(N)。当计数器达到失败阈值时,事件被标记为失败;当计数器达到成功阈值时,事件被标记为通过。

特点

  • 可以设置“jump-down”和“jump-up”功能,分别在计数器达到失败或成功阈值后,将计数器重置为初始值。

  • 适用于需要通过多次连续检查结果来确认事件状态的场景

  • 故障计数器范围(Fault Detection Counter):计数器的取值范围为-128到127。

  • 失败阈值(Failed Threshold):当计数器达到此值时,事件状态变为Failed。

  • 成功阈值(Passed Threshold):当计数器达到此值时,事件状态变为Passed。

  • 增加步长(Increment Step Size):每次事件报告为PreFailed时,计数器增加的步长。

  • 减少步长(Decrement Step Size):每次事件报告为PrePassed时,计数器减少的步长。

  • Jump Down功能:当计数器达到失败阈值后,是否将计数器重置为一个特定值(Jump Down Value)。

  • Jump Up功能:当计数器达到成功阈值后,是否将计数器重置为一个特定值(Jump Up Value)。

上图可参考学习

当一个事件上报一次PREFAILED状态,那么计数器会按步长增加1,当达到设定的Failed限值时,故障状态就变成Failed

当一个事件上报一次PREPASSED状态,那么计数器按步长减少1,当达到设定的Passed限值时,故障状态就变成Passed

二、基于时间的 Debounce 算法

  • 原理:通过计时器来确认事件的状态。每次事件触发时,启动一个计时器,根据检查结果(通过或失败),计时器达到相应的时间阈值后,事件被标记为失败或通过。

  • 特点

    • 时间阈值的设置决定了事件状态的确认时间。

    • 适用于需要在固定时间间隔内确认事件状态的场景

DemDebounceTimeFailedThreshold:PREFAILED状态跳转到FAILED状态所需的时间阈值

DemDebounceTimePassedThreshold:PREPASSED状态跳转到PASSED状态所需的时间阈值

三、两种算法的区别

特性基于计数器的 Debounce基于时间的 Debounce
核心机制通过计数器的增减来确认事件状态通过计时器的延时来确认事件状态
适用场景需要多次连续检查结果来确认事件状态需要在固定时间间隔内确认事件状态
灵活性可以设置“jump-down”和“jump-up”功能时间阈值固定,较为简单
配置参数成功/失败阈值、步长、是否启用跳变功能成功/失败时间阈值

四、去抖机制的实现流程

1、故障检测

应用程序检测到潜在故障(如传感器信号异常),

调用Dem_PreSetEventStatus进行预处理

2、去抖条件检查

Dem_PreSetEventStatus 检查故障是否满足去抖条件(如故障计数器是否达到阈值)。

如果满足条件,允许状态更新;否则,阻止状态更新。

3、状态更新:

调用 Dem_SetEventStatus 更新故障状态。

如果故障被确认,存储 DTC 并触发相关操作。

如果故障消失且满足清除条件,清除 DTC。

注意:由于诊断故障由SWC和Dem模块共同完成,因此去抖动策略可以在SWC中实现,也可以在Dem模块中实现。

①如果在SWC中实现,Dem_SetEventStatus()函数传递给Dem的状态为passed或failed;

②如果在Dem中实现,先Dem_PreSetEventStatus()函数传递给Dem的状态为prepassed或prefailed,后实现去抖之后,调用Dem_SetEventStatus()函数传递给Dem的状态为passed或failed;

③当然有些控制器中也有不需要做去抖过程,直接调用Dem_SetEventStatus()函数传递给Dem的状态为passed或failed。

http://www.jsqmd.com/news/1301998/

相关文章:

  • 终极指南:如何用IP-Adapter-FaceID PlusV2快速实现AI人脸生成
  • RAG-Anything:企业级多模态检索增强生成框架的5层架构设计与最佳实践
  • 2026合肥中考落榜怎么办?安徽建工技师学院五年制招生,公办免学费学真技术 - 最新资讯
  • 2026年临沂镀锌铁丝及钢丝扣服务商实力参考|本地金属制品企业综合实力对比 - 甄选测评馆
  • Kimi带图回答实战速成课(含医疗/工程/教育3大垂直领域定制化prompt模板包)
  • GPT服务完整使用指南:从账号配置到API集成实战
  • 如何快速提升AI音乐生成质量:5个专业级调优技巧与完整配置指南
  • 深入理解carefree-drawboard插件系统:从零开发自定义AI工具
  • 5分钟上手的暗黑破坏神2存档编辑器:让你轻松定制游戏体验
  • EAIDK-610 移植主线U-BOOT
  • LTV预估 | 大R挖掘器ExpLTV
  • IRISMAN:三步搞定PS3游戏管理的全能伙伴,让你告别繁琐操作
  • 论文笔记|LLM 的医学知识藏在哪?ICLR 2026 用四种可解释性方法画出大模型 Medical Knowledge Map
  • 广州买猫避坑指南!实测多家黑店,认准这家正规连锁猫舍 - 资讯报道
  • 如何在macOS上快速运行Windows软件:Whisky完整使用指南
  • 3分钟搭建缠论分析系统:免费开源ChanlunX通达信插件终极教程
  • CUDA 同步原语 mbarrier:生产者 / 消费者 warp 之间异步同步机制
  • wechat-export高级技巧:自定义HTML导出样式与目录结构
  • AI数据库产品的商业化思考:从内部工具到对外服务的关键跨越
  • 2026年全国港澳台联考靠谱学校排行信息整合一览 - 起跑123
  • QtScrcpy技术架构深度解析:跨平台Android设备实时投屏与控制实现方案
  • 笔墨AI高效写论文:四步搞定本科毕业论文初稿,提速80%
  • 【2026-07】新房橱柜定制比较好的供货商怎么选?二手房橱柜定制、大平层橱柜定制选择指南——瀚森智能家居 - 多才菠萝
  • 雀魂AI助手Akagi:从零开始的麻将智能分析完全手册
  • 深圳钻石回收哪家好?2026年优质榜单与避坑指南 - 日常比对手册
  • 如何快速掌握FreeCAD:开源3D参数化建模软件的终极指南 [特殊字符]
  • 终极指南:OpCore-Simplify如何让Hackintosh配置变得像搭积木一样简单
  • 评审会上,我像个走错会议室的人
  • 为什么同一个网站,在不同地区打开速度不一样?
  • 2026 奢侈品黄金回收测评,成都各大回收机构实用参考指南 - 日常比对手册