【车载开发系列】诊断故障码中的Debounce策略

这篇具有很好参考价值的文章主要介绍了【车载开发系列】诊断故障码中的Debounce策略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【车载开发系列】诊断故障码中的Debounce策略

一.Debounce的基本概念

故障诊断通常由诊断事件管理Dem模块和SW-C共同完成,即先由SWC中的Monitor Function对故障条件实时监控,并不断将故障条件的判定结果上报给Dem模块,而在Dem为了防止所有的故障误报,在其处理过程中增加一个Debouncing(去抖动)环节,也就是采用Debounce算法来确定事件的最终状态。也就是采用Debounce算法来确定事件的最终状态。只有经历了去抖动算法之后,Event的最终状态才能够被确定,也就是PASS、FAIL, No Result这三类。

二. Debounce分类

Dem模块中提供了2种Debounce算法,其中基于计数器的Debounce算法是通过计数器计数来完成对事件的确认;基于时间的Debounce算法则通过计时来完成对事件的确认。 除此之外,debounce策略也可在SWC中实现,因为故障诊断由SWC与Dem模块共同完成的,所以debounce策略即可在SWC中实现,也可在Dem模块中实现。

三. 基于计数器的Debounce策略

Dem会提供一个计数器(fault detection counter)用来记录判断的结果,当Diagnostic Monitor上报至dem的状态为prefailed,计数器会按步长增加,当达到设定的限值时,故障状态变成failed。当上报状态为prepassed,计数器按步长减少,当达到设定的限值时,故障状态变成passed。FDC(fault detection counter)就是错误计数器,其范围为-128~127。

四. 基于时间的Debounce策略

在这种策略下,计数器的初始值为0,其范围也是-128~127,当Dem接收到Diagnostic Monitor发送的状态值开始计数,计数器的增长方向由接收到的状态决定,当计数器的值在一定时间达到阈值,完成此次判断,如果在未达到阈值时,Dem接收的状态发生变化,计数器会重新开始计数,并且计数方向也发生转变。

五. Debounce策略对DTC的影响

Debounce策略直接影响了StatusOfDTC。根据AutoSAR描述,当event report的EventStatus为passed或者failed或者bounce counter到达debounce counter的阈值时,UDS Status的bit0、bit1和bit6会发生变化。
在经过了debounce或者no debounce滤波之后的结果为failed时,bit4和bit6会被清零,bit5应当被置一;在经过debounce的或者no debounce滤波之后的结果为passed时,bit4和bit6会被清零。

六. 基于计数器的Debounce策略参数

Dem模块通过DemDebounceAlgorithmClass来支持去抖算法的特定事件的配置,具体需要配置的内容如下:
DemDebounceCounterFailedThreshold:故障从prefailed状态跳转至failed的极限值;DemDebounceCounterPassedThreshold:故障从prepassed状态跳转至passed状态的极限值;
DemDebounceCounterIncrementStepSize:当DiagnosticMonitor上报Prefailed,错误计数器的增加量;DemDebounceCounterDecrementStepSize:当DiagnosticMonitor上报Prepassed,错误计数器减少量;
DemDebounceCounterJumpDown:是否使能JumpDown功能。DemDebounceCounterJumpDownValue:当JumpDown功能有效,该变量定义了计数器的重置值;
DemDebounceCounterJumpUpValue:当JumpUp功能有效,该变量定义了计数器的重置值;
DemDebounceCounterJumpUp:是否使能JumpUp功能。

1. JumpDown功能

JumpDown功能是指当上一次Diagnostic Monitor上报的状态是prefailed,而当前上报的是prepassed,且当前计数器的值大于DemDebounceCounterJumpDownValue,错误计数器的值会重置为DemDebounceCounterJumpDownValue。如果JumpDown功能禁止,计数器按步长减少;

2. JumpUp功能

JumpUp功能是指当上一次Diagnostic Monitor上报的状态是prepassed,而这次上报的是prefailed,且当前计数器的值小于DemDebounceCounterJumpUpValue,错误计数器的值会重置为DemDebounceCounterJumpUpValue。如果JumpUp功能禁止,计数器按步长增加;

七. 基于时间的Debounce策略参数

对于基于时间debounce的策略主要配置以下几个参数:DebounceTimeBasedTaskTime:该变量定义基本的检测周期;DemDebounceTimeFailedThreshold:定义故障状态从prefailed跳转至failed需要多少个DebounceTimeBasedTaskTime周期;DemDebounceTimeFailedThreshold:定义故障状态从prepassed跳转至passed需要多少个DebounceTimeBasedTaskTime周期;文章来源地址https://www.toymoban.com/news/detail-486623.html

到了这里,关于【车载开发系列】诊断故障码中的Debounce策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【车载开发系列】UDS诊断---动态定义DID($0x2C)

    【车载开发系列】UDS诊断---动态定义DID($0x2C)

    动态定义数据标识符 DynamicallyDefineDataIdentifier(2Ch) 此服务允许诊断工具在ECU的内部动态定义一个数据标识符,一个临时的DID,可以通过这个DID读取一段内存的数据,也可以通过改DID一次性读取多个原有DID的数据。 该数据标识符还可以被读取数据服务22h或读取数据(周期标识

    2024年02月02日
    浏览(49)
  • 【车载开发系列】AutoSar中的组件相关知识

    SWC(Software Component)是最常见到的一个概念了,软件组件是封装了部分或者全部汽车电子功能的模块。软件组件包括了其具体的功能实现以及与对应的描述。各个软件组件(SWC)通过虚拟功能总线进行交互,从而形成一个AUTOSAR应用软件。 细分的话还可以分成Atomic SWC和Compos

    2024年02月02日
    浏览(8)
  • 车载诊断协议DoIP系列 —— DoIP会话模式(安全与非安全)

    车载诊断协议DoIP系列 —— DoIP会话模式(安全与非安全)

    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,四海皆为家。人生的

    2024年02月19日
    浏览(49)
  • LabVIEW在设备状态监测与故障诊断中的应用

    LabVIEW在设备状态监测与故障诊断中的应用

     在现代工业自动化领域,LabVIEW的系统设计平台在设备状态监测与故障诊断中扮演着举足轻重的角色。通过提供一个可视化和数据流编程语言,LabVIEW大大提升了设备安全监测的效率,减少了系统维护成本,同时增强了设备的可靠性和可维护性。        数据采集: LabVIEW的数

    2024年01月15日
    浏览(10)
  • 车载诊断协议UDS——诊断刷写(Software Update)

    车载诊断协议UDS——诊断刷写(Software Update)

    刷写,顾名思义就是两个动作:刷和写: 刷是擦除ECU芯片内存上原有的数据; 写是重新在ECU芯片内存上写入新的数据(Application or Calibration Data……);         在控制器量产之初,会将valid application data烧录到控制器芯片内存上。但随着时间推移,控制器中运行代码出现

    2024年02月08日
    浏览(47)
  • 车载诊断协议——ECU刷写(Software Update)那回事

    车载诊断协议——ECU刷写(Software Update)那回事

    鉴于篇幅原因,上篇没有多描述ECU刷写过程中所执行的那些动作。这里通过实例以及UDS建议刷写序列内容,一起解读刷写过程中的内容。 如下图,ISO 14229对于刷写过程所需Action所给出的推荐步骤。   若ECU当前处于Application中,想要完成对ECU的刷写,需进入到对应的Boot模式下

    2024年02月04日
    浏览(19)
  • 车载诊断NRC - UDS Negative Response Code

    下表中列出了ISO14229-1:2013(E)中定义的否定响应码及其使用条件: 否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。 0x01 – 0x7F:诊断通信相关的否定响应码。 0x80 – 0xFF:服务器收到诊断服务请求时,由

    2023年04月08日
    浏览(48)
  • 故障诊断模型 | Maltab实现GRU门控循环单元故障诊断

    故障诊断模型 | Maltab实现GRU门控循环单元故障诊断

    故障诊断模型 | Maltab实现GRU门控循环单元故障诊断 利用各种检查和测试方法,发现系统和设备是否存在故障的过程是故障检测;而进一步确定故障所在大致部位的过程是故障定位。故障检测和故障定位同属网络生存性范畴。要求把故障定位到实施修理时可更换的产品层次(可

    2024年02月08日
    浏览(11)
  • 故障诊断 | 基于1DCNN和2DCNN的智能诊断模型—用于机械设备故障诊断

    传统机械设备状态监测方法的局限性 严重依赖专家经验: 对于机泵振动信号,时频分析如小波变换、维格纳分布及自适应分解EEMD等方法被用来提取特征,神经网络、支持向量机、决策树、模糊逻辑等方法被用于对机泵的运行状态进行分类。 但由于特征值是根据专家经验进行

    2024年04月28日
    浏览(16)
  • 故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab)

    故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab)

    故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab) 偏最小二乘法(Partial Least Squares, PLS)是一种统计建模方法,用于建立变量之间的线性关系模型。它是对多元线性回归方法的扩展,特别适用于处理高维数据和具有多重共线性的数据集。 PLS的主要目标是通过找到输入

    2024年04月12日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包