【车载开发系列】Autosar DEM基本概念

【车载开发系列】Autosar DEM基本概念

一. 诊断事件管理(DEM)概念

诊断事件管理(Diagnostic Event Manager, DEM)模块作为AutoSar诊断模块的重要组成部分,主要负责处理和存储诊断事件(错误)和关联数据。
DEM模块相关的标准主要包括两部分:ISO 14229(UDS,汽车诊断遵循的主要标准)和ISO 15031(OBD,该标准制定较早主要针对排放相关的诊断)。

二. DEM的主要作用

DEM模块主要目的是为汽车制造商和零部件供应商定义通用的诊断故障存储功能(diagnostic fault memory)。

1、汽车检修提供数据

汽车售后会通过诊断仪去读取诊断仪读取诊断数据,主要包括诊断故障码(DTC)、扩展数据及冻结帧等。根据故障码能够判断出出现故障的汽车部件,根据具体的关联数据可以读到出现故障的时间以及当时的ECU的一些状态数据(记录易于判断故障原因的数据)

2、汽车错误状态处理提供依据

故障信息是ECU的运行重要依据,出现影响功能的故障时,应对功能禁止或功能降级以保护ECU或者负载。下面举两个例子:
1)功能禁止:当电机出现短地这种情况时,处于保护负载及ECU的目的应该关断输出
2)功能降级:如车窗反复操作时,车窗电机出现温度升高的情况,处于保护会将温度分为几个保护level,在这几个level中分别禁止相应的功能(如自动上升、自动下降等)
3)汽车重要故障显示:某些重要组件出现出现问题,需要警示用户(仪表盘上显示或者中控屏显示等)避免出现安全事故,主要看OEM如何定义这些故障等级。

三. DEM模块及关联模块关系

DEM模块向DCM模块提供故障信息(DTC),DEM模块给应用层和BSW的其他模块提供了接口。
诊断事件管理模块(DEM)是Autosar架构的重要组成部分,各功能模块之间存在依赖关系,对于各部分完整关系可以查阅AUTOSAR_SWS_DiagnosticEventManager文档,及相关联部分的文档(ClassicAutosar标准文档下载地址)。
在这里插入图片描述
诊断事件管理器(Dem)在软件组件(SWC)和基本软件(BSW)模块中处理和存储监视器检测到的事件。存储的事件信息可通过与软件组件(SWC)和基本软件(BSW)模块的接口访问。

1. 功能禁止模块FIM

功能禁止模块(FIM, Function Inhibition Manager)
在监控状态发生变化时,Dem通知和更新功能抑制管理器(FiM),根据指定的依赖关系停止或释放功能实体。简而言之,就是根据检测到的DTCs来确定是否禁用或者打开某些功能模块。

2. SWC和BSW

在软件组件(SWC, Software components)和基础软件模块(BSW, Basic Software)检测到监控对象状态变化时,通知DEM模块更新数据,以及将错误状态数据通知给监控器以警示状态呈现给用户(状态位warning Indicator)。
简而言之,SWC和BSW可以充当错误检测的功能,还有就是Monitror模块可以通过渠道把一些重要错误(OEM或者标准规定)呈现给用户。BSW也会给DEM报故障。标准接口给DEM报故障,故障内容如NVM写入失败或者排队任务数溢出或者校验错误。该类故障在DEM中的debounce方式是no debounce,不需要debounce,所以故障状态只有DEM_EVENT_STATUS_FAILED或者DEM_EVENT_STATUS_PASSED。

3. NvM非易失性存储

非易失性存储管理(NVM, NVRAM Manager)
NVRAM块分配给Dem,由Dem使用以实现永久存储UDS状态信息和相关数据(例如,开机后复位)。
简而言之,NVM给存储DTCs提供永久空间,避免在断电或者复位的过程中造成诊断数据丢失。
DEM中又有大量数据需要存储在非易失性存储模块(如Dflash、EEPROM)中,但两者的交互关系都发生在上电初始化(startup)和下电(shutdown)过程中,当然,如果没有NvM_WriteAll的过程,也可以在运行过程中写入。
DEM需要存储在非易失性存储模块的数据包括19服务中会用的相关数据(如第一次出现的故障,第一个confirm的故障、最新的故障等等)、primary fault memory中的数据、mirror memory中的故障、OBD相关的数据、冻结帧、预存的数据、Debounce的状态(甚至是debounce counter)等,这些数据会在NVM_Readall的时候读取到DEM的RAM中,下电的时候会在NVM的writeall时从DEM的target RAM写入非易失性存储区(non-volatile memory)。

4. 诊断通信管理DCM

诊断通信管理(DCM, Diagnostic Communication Manager)。
DCM模块处理来自外部测试人员或机载测试系统的诊断请求,转发来自外部诊断扫描工具的请求,并进一步负责响应消息的组装(DTC,状态信息等),之后将传输到外部诊断扫描工具。
简而言之,两个主要功能:
1)读取DTC(0x19服务)
2)清除DTC(0x14服务)
DCM中有ReadDTCInformation和ClearDiagnosticInformation这两个服务都是都是要从DEM中读取信息或者传递命令
在19服务的自服务的处理函数里面,首先给DEM传递DTC和该DTC所属的memory类型,来获得DTCStatus;然后获得冻结帧(快照)的数据大小,因为数据大小和数据内容是提前配置好的,也可标定。最后调用
获取冻结帧。但是DCM和DEM是两个不同的任务,所以一般是异步执行,DCM只负责把请求命令和写入目标给到DEM,在DEM任务中轮询DCM的任务请求,并实现数据的填充,后通知DCM任务完成。DCM再通过肯定相应回复数据。

5. EcuM

它的全称是ECU State Management。用来管理ECU的状态。
ECUM主要负责在不同时序调用DEM的初始化工作,DEM初始化应包括对每个故障的debounce status做处理;初始化fault memory相关数据;初始化DEM中存储的BSW的故障数据。

四. DEM各种子功能

DEM内部又分为很多子模块,每个子模块分工不同,任务明确。INIT负责对DEM内部变量根据配置内容进行初始化。debounce负责对事件发生故障的有效性和事件表现正常的有效性的做滤波判断。
primary fault memory负责存储当前发生的故障的DTC及相关数据,如冻结帧、扩展数据等。Operational Cycle Management负责管理各种操作循环的判断,如对于OBD-related ECU中OBD drving cycle开启时才能故障状态才能进入confirm的状态,这也和项目配置有关
在这里插入图片描述

AUTOSAR(Automotive Open System Architecture)是一种标准化的车载电子系统架构,旨在推动汽车电子系统的互操作性、可重用性和可扩展性。DEM(Diagnostic Event Manager)是AUTOSAR架构中关键的组件之一,它提供了诊断故障管理功能。DEM模块能够检测汽车电子系统中发生的故障和事件,并且可以主动或被动地生成和传输诊断数据。 DEM模块的工作流程如下: 1. 检测故障和事件:DEM模块能够检测汽车电子系统中发生的故障和事件,包括系统错误、电器故障、传感器故障等。 2. 统一事件处理:DEM模块能够将多种类型的故障和事件转换为标准化的诊断事件,并提供事件缓存功能。 3. 诊断状态管理:DEM模块能够根据检测到的故障和事件,管理汽车电子系统的诊断状态。诊断状态的等级包括未定义、已过渡、未确认故障、确认故障等级。 4. 诊断数据生成:DEM模块能够生成与检测到的故障和事件有关的诊断数据,包括故障码、数据流、状态快照等。 5. 诊断服务实现:DEM模块能够实现AUTOSAR标准中的诊断服务,例如读取故障码、清除故障码等。 DEM模块对于汽车电子系统的可靠性、安全性和高效性具有重要意义。通过DEM模块管理诊断数据,能够实现故障预警、快速维修等功能,提高汽车电子系统的可靠性和安全性。同时DEM模块可以让维修人员快速找到、暴露故障和解决问题,缩短故障排除时间,提高维修效率。因此,在汽车电子系统中,DEM模块是一个非常重要的组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值