AutoSAR配置与实践(基础篇)3.8 BSW的诊断功能

AutoSAR配置与实践(深入篇)3.8 BSW的诊断功能

  • BSW的诊断功能
  • 一、诊断模块的组成
    • 1.1模块含义和作用
    • 1.2 举个例子说明模块间的协作
  • 二、图解工作流程

BSW的诊断功能

->返回总目录<-

一、诊断模块的组成

AUTOSAR诊断服务层由以下几个子模块组成:
Dem(Diagnostic Event Manager,诊断事件管理)、Fim(Function Inhibition Manager,功能)、Dcm(Diagnostic Communication Manager,诊断通信管理)。
AutoSAR配置与实践(基础篇)3.8 BSW的诊断功能_第1张图片

1.1模块含义和作用

故障存储: ECU出现故障,再次上电为了避免丢失,所以一般故障发生时要存储到非易失存储区域(Flash中)。这是诊断事件管理(DEM)的作用
故障读取: 故障虽然存储到了Flash不会丢失,但是售后工程师要知道发生故障的原因,所以一般诊断仪器去读取,而诊断仪和ECU的交互一般要通过Communication的Stack(比如CAN通信),这是诊断通信管理(DCM)的作用。
故障保护: 故障发生后,有时是严重故障可能对ECU产生破坏,这是要及时采取防护措施,比如过流时及时关闭IO输出降低功率,这是FIM的作用。

1.2 举个例子说明模块间的协作

举一个简单的例子:

  • 比如某个电路发生短路,应用SWC模块检测到到电流过大后通知DEM,DEM收到故障后做两件事情:1.把通知FIM更新故障状态,另一方面把故障存储在NVM。2.FIM通过Rte把故障信息上报给SWC(或SWC轮询),SWC发现过流故障,立即停止对应的IO输出关闭相应的功能(如背光显示)以减少负载,从而保护元器件),故障现象表现为黑屏。
  • 售后服务人员或者工程师在接到故障维修后,通过诊断仪读取,发现曾经发生了过流。
    从而明确了黑屏产生的原因(过流),锁定方向,进一步通过开发分析相应的电路。

二、图解工作流程

AutoSAR配置与实践(基础篇)3.8 BSW的诊断功能_第2张图片

  1. FIM: 当一些error出现的时候,禁止一些功能。比如当检测到某个输出过流时,关闭芯片输出,防止控制器损毁。FIM负责根据故障内容(来源于DEM模块)对功能进行禁用(将整个SWC进行禁用)或者降级(原SWC具有几个功能,出现故障处于安全考虑将部分功能禁用)
  2. DEM: 用来记录和存储诊断事件的,将这些诊断事件及相关信息(冻结帧及扩展数据)记录到EEPROM
  3. DCM: 诊断通信的管理,依据协议为UDS(Unified Diagnostic Services - ISO14229),主要提供读写数据、读取DTC、通信管理等服务
  4. 其他模块:参考此前章节介绍

你可能感兴趣的:(AutoSAR配置和实践,mcu,c语言,51单片机,单片机,网络协议)