广告

Autosar 诊断 —— 诊断事件管理(DEM)

2021-10-18 汽车电子与软件 阅读:
诊断事件管理(DEM)概念诊断事件管理(DiagnosticEventManager,DEM)模块作为AutoSar诊断模块的重要组成部分,主要负责处理和存储诊断事件(错误)和关联数据。

 OXqednc

01

诊断事件管理(DEM)概念

诊断事件管理(Diagnostic Event Manager, DEM)模块作为AutoSar诊断模块的重要组成部分,主要负责处理和存储诊断事件(错误)和关联数据。OXqednc

DEM模块相关的标准主要包括两部分:ISO 14229(UDS,车身域诊断遵循的主要标准)和ISO 15031(OBD,该标准制定较早,主要针对排放相关的诊断)。OXqednc

主要作用:OXqednc

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

2、汽车错误状态处理提供依据:故障信息是ECU的运行重要依据,出现影响功能的故障时,应对功能禁止或功能降级以保护ECU或者负载。下面举两个例子:OXqednc

1)、功能禁止:当电机出现短地这种情况时,处于保护负载及ECU的目的应该关断输出OXqednc

2)、功能降级:如车窗反复操作时,车窗电机出现温度升高的情况,处于保护会将温度分为几个保护level,在这几个level中分别禁止相应的功能(如自动上升、自动下降等)OXqednc

3、汽车重要故障显示:某些重要组件出现出现问题,需要警示用户(仪表盘上显示或者中控屏显示等)避免出现安全事故,主要看OEM如何定义这些故障等级。OXqednc

02

DEM模块及关联模块关系

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

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

软件组件(SWC, Software components)和基础软件模块(BSW, Basic Software): 检测到监控对象状态变化时,通知DEM模块更新数据,以及将错误状态数据通知给监控器以警示状态呈现给用户(状态位warning Indicator)。OXqednc

简而言之,SWC和BSW可以充当错误检测的功能,还有就是Monitror模块可以通过渠道把一些重要错误(OEM或者标准规定)呈现给用户。OXqednc

非易失性存储管理(NVM, NVRAM Manager): NVRAM块分配给Dem,由Dem使用以实现永久存储UDS状态信息和相关数据(例如,开机后复位)。OXqednc

简而言之,NVM给存储DTCs提供永久空间,避免在断电或者复位的过程中造成诊断数据丢失。OXqednc

诊断通信管理(DCM, Diagnostic Communication Manager): DCM模块处理来自外部测试人员或机载测试系统的诊断请求,转发来自外部诊断扫描工具的请求,并进一步负责响应消息的组装(DTC,状态信息等),之后将传输到外部诊断扫描工具。OXqednc

简而言之,两个主要功能:OXqednc

1)、读取DTC(0x19服务);OXqednc

2)清除DTC(0x14服务)。OXqednc

OXqednc

03

DEM模块介绍

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

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

下面以三位DTC码作为实例进行说明故障码确定说明:OXqednc

1、DTC High Byte(Bit7+Bit6): 表示所属系统
2、DTC High Byte(Bit5+Bit4): 表示故障定义者

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

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

OXqednc

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

诊断故障码掩码反应了该故障处于的状态,计数主要作用是对DTC进行滤波避免出现误诊断的情况。DTC状态掩码为一个字节数据:OXqednc

1) TestFailed (bit0):OXqednc

逻辑1表示一个故障被监测到,逻辑0表示最近的故障测试通过或已存在的故障所有的故障条件已不满足,ClearDiagnosticInformation命令可清除此状态位。OXqednc

2) TestFailedThisOperationCycle (bit1):OXqednc

逻辑表示当前操作周期或从上一次ClearDiagnosticlnformation命令清零后已经监测到一次故障,ClearDiagnosticInformation命令或新的操作周期都会清零此状态位。OXqednc

3) PendingDTC (bit2):OXqednc

逻辑1成立条件与TestFailedThisOperationCycle相同,不同之处为清零条件,此位清零条件为一个完整的操作周期内未出现故障或ClearDiagnosticInformation命令。OXqednc

4) ConfirmedDTC (bit3):OXqednc

逻辑表示一个已经被确定的故障被监测到,被确定的条件有:在连续操作周期内都检测到故障(TestFailed),且检测到的计数(TripCounter)已经达到定义的次数值。可通过ClearDiagnosticInformation命令或当Aging Counter 达到Aging threshold满足时清零此位,此外,故障的记录信息被新故障记录覆盖时,也会清零此状态位。OXqednc

注:ISO14229-1建议,非排放相关的ECU服务器TripCounter=1OXqednc

Aging Counter:当一个操作周期完成且本周期内没有出现TestFailed,则Aging Counter加1.OXqednc

5) TestNotCompletedSinceLastClear (bit4):OXqednc

逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,新的故障测试还未完成,逻辑0表示从上次清零后,新的故障测试已经完成(Failed or Passed)OXqednc

6) TestFailedSinceLastClear (bit5):OXqednc

逻辑1表示从上次ClearDiagnosticInformation或其他条件清零后,已经监测到被确定的故障,逻辑0表示从上次清零后,测试未完成或测试已经Passed(而不是Failed)。OXqednc

需要确认Aging Counter达到Aging threshold和内存记录被覆盖是否需要复位此状态位?OXqednc

7) TestNotCompletedThisOperationCycle (bit6)OXqednc

逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,本操作周期内当前测试未运行完成,逻辑0表示从上次清零后,本操作周期内已经出现TestFailed或者TestPassed,操作周期切换也会复位(置1)此状态位。OXqednc

8) WarningIndicatorRequested (bit7)OXqednc

逻辑1表示需要故障报警标识的故障已经处于ConfirmedDTC状态(bit3)和TestFailed状态(bit0),逻辑0表示无故障需要报警标识提示。无需报警标识故障存在或ClearDiagnosticInformation都可以清零此状态位。OXqednc

注意,如果报警标识被一个锁定的故障打开,就算有ClearDiagnosticInformation清零命令,也不能清零此状态位,仍然要保持开启状态,直到被锁定的故障TestPassed。OXqednc

3.3 基本概念及术语(仅列举部分,详细说明查阅14229-1):OXqednc

1、操作周期(Operation Cyle):定义要运行的检测的开始和结束条件,Operation Cycle开始时开始检测故障,结束时停止检测。车身与底盘域由OEM或者供应商自己确定(如上下电、休眠唤醒等),对于动力域会存在其它标准规定(没有深入研究)OXqednc

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

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

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

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

6、错误计数(FDC, Fault Detection Counter):为错误计数,当然这个步长可以设定,向上(Step up)或者向下(Step down)均可以设置(计数值位-128-127,不同DTC需要的滤波次数不一致,通过设置此项值设置滤波次数)。同时还可以设置jump down(即在检测通过时是否跳转到0或者其它数,并从这个数开始向下减)OXqednc

下图是非排放相关错误计数示例(来源于ISO 14229-1)OXqednc

OXqednc

下图是非排放相关DTC aging示例(来源于ISO 14229-1)OXqednc

OXqednc

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

扩展数据(Extended):该数据在DTC的状态Pending置上后便会一同保存在非易失性存储单元(EEPROM),对两个常用数据进行说明(其余可以看标准或者依据OEM要求)OXqednc

1)错误计数(Fault Detection Counter): 检测到错误的计数,具体可以查询上文定义OXqednc

2)老化计数(Aging Counter): 连续的Operation Cycle未检测到错误(DTC检测为passed,FDC为-128)的计数,当达到老化阈值时,会将DTC状态confirmed位置为0OXqednc

冻结帧(Freeze Frame): 记录发生故障时的工况(SnapShot:由一些列的DID组成),当DTC状态位Confirmed位由0置为1时将记录snapShot。OXqednc

例如,可以环境温度、ECU供电电压等可能与故障相关的一些数据,用于后续的车辆故障分析。OXqednc

阅读原文,关注作者CSDNOXqednc

————————————————OXqednc

版权声明:本文为CSDN博主「摸鱼的攻城狮」的原创文章,转载请附上原文出处链接及本声明。OXqednc

ENDOXqednc

 OXqednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
文章来源及版权属于汽车电子与软件,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子与软件
汽车电子与软件
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 利用LPDDR5内存满足严苛的可靠性要求 内存规格所面临的挑战,通常最终都归结为如何在保持低功耗的同时获得更高的性能。对于低功耗双倍数据速率(LPDDR) DRAM更是如此,而随着人工智能(AI)、边缘计算和5G应用的出现,其压力越来越大。
  • 用于动态地面投影的评估模块和软件工具入门 随着标识投影仪的加入,车辆周围的地面投影取得了长足的进步。汽车制造商已经利用标识投影帮助车主实现汽车定制化,同时也通过照亮车门周围的地面来提供其他功能。但是,这些系统目前只能显示单一图案,不支持除基本样式之外的任何功能。随着汽车发展得越来越高级,OEMS正在寻找其他方法让汽车与驾驶员和乘客进行交互,同时仍提供定制和样式等特点。
  • 大联大世平集团推出基于NXP产品的PEPS无钥匙进入及启 大联大控股宣布,其旗下世平推出基于恩智浦(NXP)S32K144、NJJ29C2、NCF29A1和NCK2912芯片的汽车无钥匙进入及启动系统解决方案。
  • 开发基于碳化硅的25kW快速直流充电桩(第二部分):方案概述 在本系列文章的第一部分中,我们介绍了电动车快速充电器的主要系统要求,概述了这种充电器开发过程的关键级,并了解到安森美(onsemi)的应用工程师团队正在开发所述的充电器。现在,在第二部分中,我们将更深入研究设计的要点,并介绍更多细节。特别是,我们将回顾可能的拓扑结构,探讨其优点和权衡,并了解系统的骨干,包括一个半桥SiC MOSFET模块。
  • 电动汽车电池技术为可持续发展的未来注入动力 电动汽车行业仍然存在一个价格比较问题。预计到2030年,电动汽车电池的成本将持续下降,但占电动汽车成本三分之一以上的电池成本仍然是电动汽车实现与汽油动力汽车价格持平的主要障碍之一。一种潜在的解决方案是采用高度精确且安全的电池管理系统(BMS),该系统可帮助汽车制造商和零件制造商弥合当今的高成本电池与明天的更便宜电池之间的差距。
  • 碳化硅技术促进汽车全电动化 Wolfspeed近日与通用汽车达成了供应链协议,为其电动汽车开发并生产碳化硅(SiC)半导体。2021年8月,Wolfspeed以8亿美元延长了与意法半导体的多年协议,为其供应150mm SiC裸晶圆和外延片。这两笔交易使人们更加关注在向全电动汽车转化的过程中,SiC技术发挥的重要作用。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了