DEM模块概述
诊断事件管理(Diagnostic Event Management)模块主要负责故障事件的处理、故障数据的存储和管理。此外,DEM模块向DCM模块提供故障信息(DTC),DEM模块给应用层和BSW的其他模块提供了接口。
DEM模块主要目的是为汽车制造商和零部件供应商定义通用的诊断故障存储功能(diagnostic fault memory)。
DEM模块与其他模块关系
DEM模块与图中的BSW模块和SWC的关联
功能抑制管理模块(FIM):主要负责给SWC提供一个控制机制,可以使能或者失能SWC的功能。Dem模块更新相应的状态并通知FIM模块,FIM模块根据依赖关系停止或者释放功能实体。
诊断通信管理模块(DCM):主要负责UDS和SAEJ1979的通信和诊断服务的执行,处理诊断仪的外部请求。当DCM接收到14/19服务时,会获取/清空DEM模块相关信息(DTC、状态信息等)。其中14服务用于清空DTC信息,19服务用于获取DTC信息。
非易失性存储管理(NVM):主要提供NVRAM中存储数据块的机制。将数据块分配给DEM模块,DEM模块将状态信息和相关数据(扩展、快照数据等)永久存储到Flash中。
软件组件(SWC)和基础软件(BSW)模块:通过DEM模块检测当前监控器状态和UDS状态信息。SWC和BSW模块根据DEM模块检测的数据来开启和关闭功能。
ECU状态管理器(EcuM):主要负责基本软件组件(包络DEM模块)的基本初始化和反初始化。
DEM模块框架及功能介绍
AUTOSAR标准中对Dem模块最上层分了两菜单栏(参见图1),分别是DemConfigSet,DemGeneral。其中DemConfigSet负责不同DTC、event等的配置,DemGeneral负责DTC、event的共用部分,包括冻结帧、扩展帧、使能条件等。
下图为头文件结构
Dem_Dcm.h:为DCM模块提供的DEM API接口。
Dem_Types.h:DEM模块数据类型。
Dcm_Types.h:DCM模块数据类型,供DEM模块调用。
J1939Dcm_Types.h: J1939 Dcm模块数据类型,供DEM模块调用。
FiM.h:FIM模块的接口,供DEM模块调用。
Dlt.h: DLT模块的接口,供DEM模块调用。
NvM.h: NVM模块的接口,供DEM模块调用。
诊断事件管理器(Dem)在软件组件(SWC)和基本软件(BSW)模块中处理和存储监视器检测到的事件。存储的事件信息可通过与软件组件(SWC)和基本软件(BSW)模块的接口访问。
总结
上文主要对Dem模块做了简单的介绍,主要参考autosar的官方文档。下面的几个章节主要讲述如何通过Vector工具配置Dem模块。