DEM: 诊断事件管理 (Diagnostic Event Manager)
- 诊断协议栈
1. 故障事件触发
- 基本单元:事件event
- 基本原则:
-
- 事件触发方式合理,分为trigger跟continue
-
- 事件之间依赖关系清晰
-
- 事件自身定义明确、合理
-
- 事件定义不宜过多或过少
2. 故障信息上报
经过BSW模块或者SW-C模块上报的故障事件,有多种上报方式,如通过RTE接口、DEM模块标准接口来上报,一般是同属于BSW模块直接体哦啊用RTE或者DEM标准接口均可,对于SW-C模块需要通过RTE来上报故障事件。
其中,调用DEM标准接口时,也存在四种调用方式:
3. 故障信息处理
当DEM模块收到来自BSW或者SW-C模块的故障事件及状态会进行相应的处理,上报故障状态可以分为四种:PreFail、PrePass、Passed、Failed;其中前两者需要经过TimeBased或者CounterBased的debouncing策略来进一步判定故障是否成熟,后两者可以直接判别故障是否成熟。
4. 故障信息存储
为了故障发生后能够保留现场,因此需要将相关故障信息存储至Flash或者EEPROM中。
存储方式 | 优缺点 | 应用对象 | 存储区域 | 应用场合 |
---|---|---|---|---|
循环存储 | 能够实时存储故障信息,信息频繁更新存储,大量占用RAM | KL15 ECU | 内部故障信息 存储区域IFM | 详细故障信息村存储,内部可见,客户不可见 |
休眠存储 | 仅在ECU休眠时存储,不会占用大量RAM,适用于大量故障信息的存储 | KL30 ECU | 客户故障信息 存储区域CFM | 常规故障信息存储,内部及客户均可见 |
5. 故障系统降级
功能:当ECU系统检测到任何故障时,按照功能安全的要求,系统将会作出相应的系统降级行为,保证整车行车安全。
故障信息上报到系统降级的数据流程图,故障上报给DEM模块,DEM模块会先进行前期故障信息处理,后期将故障评估结果映射到FIM模块,各模块无论时BSM还是SW-C就会识别相应的FIM ID状态来决定系统做出相应的反应。