DEM 故障检测计数器与老化计数器

DEM Fault detection counter vs aging counter

根据 Dem 规范文档(AR 4.4.0 _ 第 227 页 _ 第 8.3.3.12 节)

Dem_GetFaultDetectionCounter 获取事件的故障检测计数器,但我找不到任何关于故障检测工作原理的明确解释。

GetFaultDetectionCounter specification

我的问题是: 什么是故障检测计数器,它们与老化计数器的区别?

AUTOSAR Dem 第 7.7.3 章“诊断事件的去抖动”中指定了 DemEvents 的去抖动。

故障检测计数器用于此去抖动。 -128 表示通过,+127 失败,0 表示监视器尚未报告任何内容(既不通过也不失败)。 sint8 范围 -128 .. 0 .. +127 符合 UDS 规范 ISO14229-1。 Dem 可以使用 sint16 配置不同的阈值,但在读取时它们会线性缩小到 FDC 的 sint8。

监视器可以报告(使用Dem_SetEventStatus(DemEventId, DemEventStatus):

  • DEM_EVENT_STATUS_FAILED - 将 FDC 设置为 thresholdMax
  • DEM_EVENT_STATUS_PREFAILED - 将 FDC 增加到 thresholdMax
  • DEM_EVENT_STATUS_PREPASSED - 将 FDC 降低到 thresholdMin
  • DEM_EVENT_STATUS_PASSED - 将 FDC 设置为 thresholdMin

根据计数器算法,使用基于计数器或定时器的去抖动。

AUTOSAR Dem 第 7.7.8 章“诊断事件的老化”指定老化和老化计数器。

老化计数器其实是为了能够去除一个DemEvent。如果之前已报告过 DemEvent,则在没有失败报告的每个新操作周期中,老化计数器将计数到配置的最大值。达到时,可以删除 DemEvent 及其 FreezeFrame/SnapshotData 和 ExtendedDataRecords。