AUTOSAR - DEM

1 诊断事件管理(DEM)概念

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

主要作用
1、汽车检修提供数据:汽车售后会通过诊断仪去读取诊断仪读取诊断数据,主要包括诊断故障码(DTC)、扩展数据及冻结帧等。根据故障码能够判断出出现故障的汽车部件,根据具体的关联数据可以读到出现故障的时间以及当时的ECU的一些状态数据(记录易于判断故障原因的数据)
2、汽车错误状态处理提供依据:故障信息是ECU的运行重要依据,出现影响功能的故障时,应对功能禁止或功能降级以保护ECU或者负载。下面举两个例子:
1)、功能禁止:当电机出现短地这种情况时,处于保护负载及ECU的目的应该关断输出
2)、功能降级:如车窗反复操作时,车窗电机出现温度升高的情况,处于保护会将温度分为几个保护level,在这几个level中分别禁止相应的功能(如自动上升、自动下降等)
3、汽车重要故障显示:某些重要组件出现出现问题,需要警示用户(仪表盘上显示或者中控屏显示等)避免出现安全事故,主要看OEM如何定义这些故障等级。

2 DEM模块及关联模块关系

诊断事件管理模块(DEM)是Autosar架构的重要组成部分,各功能模块之间存在依赖关系,下面围绕DEM模块介绍相关部分与DEM模块之间关系。对于各部分完整关系可以查阅AUTOSAR_SWS_DiagnosticEventManager文档,及相关联部分的文档(ClassicAutosar标准文档下载地址)。

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

软件组件(SWC, Software components)和基础软件模块(BSW, Basic Software): 检测到监控对象状态变化时,通知DEM模块更新数据,以及将错误状态数据通知给监控器以警示状态呈现给用户(状态位warning Indicator)。
简而言之,SWC和BSW可以充当错误检测的功能,还有就是Monitror模块可以通过渠道把一些重要错误(OEM或者标准规定)呈现给用户。

非易失性存储管理(NVM, NVRAM Manager): NVRAM块分配给Dem,由Dem使用以实现永久存储UDS状态信息和相关数据(例如,开机后复位)。
简而言之,NVM给存储DTCs提供永久空间,避免在断电或者复位的过程中造成诊断数据丢失。

诊断通信管理(DCM, Diagnostic Communication Manager): DCM模块处理来自外部测试人员或机载测试系统的诊断请求,转发来自外部诊断扫描工具的请求,并进一步负责响应消息的组装(DTC,状态信息等),之后将传输到外部诊断扫描工具。
简而言之,两个主要功能: 1)、读取DTC(0x19服务);2)清除DTC(0x14服务)。

在这里插入图片描述

3 DEM模块介绍

3.1 诊断故障码(DTC)概念及确定方式

诊断故障码(DTC, Diagnostic Trouble Code) 用来指示故障类型的独特ID,用于汽车检修时对故障部位及原因的精确排查,它包含了故障所属系统(底盘域、动力域、者车身域或者网络)、故障定义类型(ISO、OEM)、故障具体部件(如车窗电机等)、故障错误类型(开路、短路或者信号错误等)。它包含两种定义方式包括3个字节长度(ISO 14229-1, ISO14229 1-7)或者2个字节长度(SAE J1979)。故障码具体定义方式SAE J2012 OBD及SAE J2012 DA(没找到合适的版本)。

下面以三位DTC码作为实例进行说明故障码确定说明:
1、DTC High Byte(Bit7+Bit6): 表示所属系统

Byte 3: High标准故障码的表示字符所属系统
00PPowertrain:动力系统故障
01CChassis:底盘故障
10BBody:车身故障
11UNetwork:网络故障

2、DTC High Byte(Bit5+Bit4): 表示故障定义者

Byte 3: Low标准故障码的表示字符所属系统
000SO/SAE标准定义的故障码
011制造商自定义的故障码
102ISO/SAE预留
113ISO/SAE预留

3、DTC High Byte(Bit0-Bit3)+DTC Middle byte: 表示发生故障的目标系统,例如,属于车门域车窗模块升降电机,该部分由OEM定义(涉及到整车故障码分配)

4、DTC Low Byte:表示故障的类型,bytes 1(high)用于表示错误类型(如信号、电路、存储等等),bytes 1(low)表示错误具体子类型(如开路、短路等),该部分主要由OEM定义(部分依据标准内容)
在这里插入图片描述

3.2 诊断故障码(DTC)的掩码及计数方式

诊断故障码掩码反应了该故障处于的状态,计数主要作用是对DTC进行滤波避免出现误诊断的情况。DTC状态掩码为一个字节数据:
1) TestFailed (bit0)
逻辑1表示一个故障被监测到,逻辑0表示最近的故障测试通过或已存在的故障所有的故障条件已不满足,ClearDiagnosticInformation命令可清除此状态位。
2) TestFailedThisOperationCycle (bit1)
逻辑表示当前操作周期或从上一次ClearDiagnosticlnformation命令清零后已经监测到一次故障,ClearDiagnosticInformation命令或新的操作周期都会清零此状态位。
3) PendingDTC (bit2)
逻辑1成立条件与TestFailedThisOperationCycle相同,不同之处为清零条件,此位清零条件为一个完整的操作周期内未出现故障或ClearDiagnosticInformation命令。
4) ConfirmedDTC (bit3)
逻辑表示一个已经被确定的故障被监测到,被确定的条件有:在连续操作周期内都检测到故障(TestFailed),且检测到的计数(TripCounter)已经达到定义的次数值。可通过ClearDiagnosticInformation命令或当Aging Counter 达到Aging threshold满足时清零此位,此外,故障的记录信息被新故障记录覆盖时,也会清零此状态位。
注:ISO14229-1建议,非排放相关的ECU服务器TripCounter=1
Aging Counter:当一个操作周期完成且本周期内没有出现TestFailed,则Aging Counter加1.
5) TestNotCompletedSinceLastClear (bit4)
逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,新的故障测试还未完成,逻辑0表示从上次清零后,新的故障测试已经完成(Failed or Passed)
6) TestFailedSinceLastClear (bit5)
逻辑1表示从上次ClearDiagnosticInformation或其他条件清零后,已经监测到被确定的故障,逻辑0表示从上次清零后,测试未完成或测试已经Passed(而不是Failed)。
需要确认Aging Counter达到Aging threshold和内存记录被覆盖是否需要复位此状态位?
7) TestNotCompletedThisOperationCycle (bit6)
逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,本操作周期内当前测试未运行完成,逻辑0表示从上次清零后,本操作周期内已经出现TestFailed或者TestPassed,操作周期切换也会复位(置1)此状态位。
8) WarningIndicatorRequested (bit7)
逻辑1表示需要故障报警标识的故障已经处于ConfirmedDTC状态(bit3)和TestFailed状态(bit0),逻辑0表示无故障需要报警标识提示。无需报警标识故障存在或ClearDiagnosticInformation都可以清零此状态位。
注意,如果报警标识被一个锁定的故障打开,就算有ClearDiagnosticInformation清零命令,也不能清零此状态位,仍然要保持开启状态,直到被锁定的故障TestPassed。

基本概念及术语(仅列举部分,详细说明查阅14229-1)
1、操作周期(Operation Cyle): 定义要运行的检测的开始和结束条件,Operation Cycle开始时开始检测故障,结束时停止检测。车身与底盘域由OEM或者供应商自己确定(如上下电、休眠唤醒等),对于动力域会存在其它标准规定(没有深入研究)

2、监控周期(Monitoring cycle): 检测时会存在一些列条件,并不是操作周期开始就开始检测错误,可以是周期型(Period)、事件型(Event)。同时检测条件满足一定条件(依据实际情况而定),如灯负载(HSD)开路故障,只有在打开输出时才能检测电流判断是都开路

3、确认阈值(Confirmation Threshold) : 确认此故障一直存在的Operation Clycle数,将其认定在历史DTC,在老化(aging)或手动清除前confirmed DTC状态位会一直存储在EEPOM

4、老化计数(Aging Counter): 连续报告没有故障的Operation Cycle数

5、老化阈值(Aging Threshold): Aging Counter达到次数之后,DTC的Confirmed状态位将会被清除

6、错误计数(FDC, Fault Detection Counter):为错误计数,当然这个步长可以设定,向上(Step up)或者向下(Step down)均可以设置(计数值位-128-127,不同DTC需要的滤波次数不一致,通过设置此项值设置滤波次数)。同时还可以设置jump down(即在检测通过时是否跳转到0或者其它数,并从这个数开始向下减)
下图是非排放相关错误计数示例(来源于ISO 14229-1)
非排放相关错误计数
下图是非排放相关DTC aging示例(来源于ISO 14229-1)
在这里插入图片描述

3.4 扩展数据及冻结帧的含义

扩展数据(Extended):该数据在DTC的状态Pending置上后便会一同保存在非易失性存储单元(EEPROM),对两个常用数据进行说明(其余可以看标准或者依据OEM要求)
1)错误计数(Fault Detection Counter): 检测到错误的计数,具体可以查询上文定义
2)老化计数(Aging Counter): 连续的Operation Cycle未检测到错误(DTC检测为passed,FDC为-128)的计数,当达到老化阈值时,会将DTC状态confirmed位置为0

冻结帧(Freeze Frame): 记录发生故障时的工况(SnapShot:由一些列的DID组成),当DTC状态位Confirmed位由0置为1时将记录snapShot。
例如,可以环境温度、ECU供电电压等可能与故障相关的一些数据,用于后续的车辆故障分析。

4 EB Tresos配置简要说明

EB配置可以手动配置或者直接导入OEM提供的arxml(符合autosar标准的xml)文件。
配置项太多,下次有时间再补上。
1、导入配置文件(arxml)(一般OEM会提供相应的设计文件): 右键->im- and Export->选择导入文件
在这里插入图片描述
2、修改错误: OEM文件导入一般会存在错误的(不敢私自用公司文件),把描述(Description)窗口打开,把鼠标移到响应需要配置位置,会显示它的描述。
或者将需要配置的条目名称复制下来去AUTOSAR_SWS_DiagnosticEventManager文件中找到描述。
在这里插入图片描述

5 相关资源下载

配置工具EB tresos24.0EB收费只能在NXP官网下载老版本
1、NXP官网下载(参考这篇blog):NXP_AUTOSAR_MCAL开发环境搭建引导_S32K14x系列
2、CSDN下载链接:EB Tresos24.0
Autosar软件标准
1、Autosar官网下载:ClassicAutosar标准文档下载地址
2、CSDN下载链接:AUTOSAR_SWS_DiagnosticEventManager
ISO 14229:
ISO14229_2013(1-7)标准文档下载:ISO14229 1-7
ISO 15031:ISO 15031 (1-7)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AUTOSAR是一种汽车电子系统的标准化架构,SWS代表的是Software Specification,即软件规范。而Diagnostic Event Manager(DEM)是一种应用于车载诊断系统的软件,主要用于监控车辆中的各种故障诊断事件,例如发动机故障代码、传感器故障等等。 Demo作为一个基本的软件单元,属于Diagnostic Communication Manager(DCM)的一部分,主要有三个任务:监测车辆中的各种故障诊断事件、生成并发送伴随信息到其他汽车电子控制单元(ECU)以便进行故障诊断和修复、与其他的DCM实例交换信息,以便协同处理。 在AUTOSAR框架下,DEM的功能是由DCM提供,并与其他ECU同步工作以确保整个车辆的状态与性能都处于最佳状态。实现这个功能需要DEM与DCM之间的数据交互、状态传递和控制。同时,DEM还必须能够处理各种诊断类别和事件类型的数据,包括:DTC(Diagnostic Trouble Code)、FM(Failure Memory)、PIP(Permanent Initialization Fields)、FDC(Fault Detection and Counter)等等。 总之,AUTOSAR-SWS-DiagnosticEventManager是用于汽车电子控制单元(ECU)的诊断系统中的一个重要模块,它通过DSA(Diagnostic Services Active)和DSD(Diagnostic Services Data)表示的诊断信息来监测车辆各种故障情况,并与其他ECU进行数据交互和状态控制,成为整个电子系统的关键组成部分。 ### 回答2: AUTOSAR汽车开放系统和网络联盟)是一个全球跨越商业和学术行业的合作组织,分别由汽车制造商、供应商和工具供应商组成。AUTOSAR旨在创建一个标准的软件架构和平台,以支持汽车电子系统开发,从而提高可重复性、互操作性和可维护性。其中一个AUTOSAR的子系统就是软件诊断系统(SW-Diagnostic)。 AUTOSAR-SWS-DiagnosticEventManager是AUTOSAR软件诊断事件管理器(Diagnostic Event Manager,DEM)的标准化实现。它主要的作用是监测发生在车辆中的故障,并向车辆系统的其他模块或外部设备(例如诊断工具)提供相关信息,以便及时进行故障排查和维修。其具体功能包括以下内容: 1. 故障代码管理:管理诊断事件的故障代码,包括与发生的故障相关的描述、优先级和故障类型等信息。 2. 事件管理与分类:管理和分类所有SW-Diagnostic中的事件,确保不重复且能够追踪事件。 3. 事件信息提供:向其他模块和外部设备提供SW-Diagnostic事件的相关信息,包括诊断会话的控制和管理。 4. 接口统一:为不同类型的诊断功能提供一个统一的接口,以方便进行故障检测和维修工作。 5. 自愈能力支持:提供自我诊断和故障排查的相关信息,以支持自愈能力的实现。 总之,AUTOSAR-SWS-DiagnosticEventManager是SW-Diagnostic的关键组件之一,其标准化实现可以使车辆系统的诊断和维修能力得到大大提升,同时也可以支持车辆智能化和自主驾驶等新技术的发展。 ### 回答3: AUTOSAR SWS DiagnosticEventManager是汽车行业中广泛使用的一种系统管理软件。主要用于故障诊断和错误处理等相关的功能。它的目标是提高汽车系统诊断效率和确保更加可靠的错误检测、管理和处理。该软件主要包含以下几个模块: 1. DtcStatusManager:负责管理汽车系统中的所有诊断事件的状态。它可以记录诊断事件的数量、类型和状态,并根据需要生成报告或警报。 2. Dem:负责实现汽车系统中的数据采集和故障诊断。它的主要职责是收集汽车各个部件的故障信息,并分析警告信息是否属于实际故障,从而快速定位故障点,减少故障排查时间。 3. DemEventParameter:是一个定义了不同故障事件对应的传输参数的类。它可以定义如何传输故障事件数据和信息,以实现故障诊断的效果。 4. DemEvent:是一个定义了诊断事件类型和数据信息的类。它可以记录汽车系统中发生的故障事件,包括故障代码、故障信息、故障类型等。 AUTOSAR SWS DiagnosticEventManager可以与其他汽车系统软件互相配合,优化和提高汽车整体性能。 例如,它可以与OBD系统相结合,从而实现更好的故障诊断和处理效果,同时也可以更加方便地对汽车故障信息进行采集和记录。该软件主要应用于汽车电子控制单元、汽车仪表盘显示模块、汽车音响等车载系统中。它的目标是帮助汽车制造商提高汽车诊断效率和检测水平,从而提高车辆安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值