Autosar—诊断基础

一、诊断

Autosar的诊断功能:标定、软件更新、功能检查、错误处理。

Autosar的诊断模块:

(1)Det(Default/Development Error Tracer)  默认或开发错误追踪————系统服务

用于开发过程的错误跟踪,可以将各个配置模块的错误进行跟踪(可以进行记录或者使能断点)

(2)Dem(Diagnostic Event Manager)   诊断事件管理————系统服务

用来记录和存储诊断事件的,将这些诊断事件及相关信息(冻结帧及扩展数据)记录到EEPROM

(3)Fim(Function Inhibition Manager)   功能————系统服务

当一些error出现的时候,禁止一些功能;FIM根据故障内容(DEM模块)对功能进行禁用或者降级(出于安全考虑将部分功能禁用)

(4)ECUM(ECU State Management)————系统服务

ECU 的状态管理

(5)Dcm(Diagnostic Communication Manager)  诊断通信管理————通信服务

诊断通信的管理,依据协议UDS(Unified Diagnostic Services——ISO14229),主要提供读写数据、读取DTC、通信管理等服务

二、诊断协议——诊断协议(UDS ISO14229)

三、诊断流程

1)SWC:      →     把故障及状态报给DEM   

2)DEM:      →     把当前故障加入到fault memory、触发FIM

3)BSW:      →      给DEM报故障(如NVM写入失败或者排队任务数溢出或者校验错误)

4)ECUM:    →     在不同时序调用DEM的初始化工作

5)FIM:        →     给SWC提供一个控制机制,可以使能或者失能SWC的功能

6)DCM:      →     把请求命令和写入目标给到DEM

     DEM:       →    轮询DCM的任务请求,并实现数据的填充,后通知DCM任务完成

(DCM:读取DTC和清除DTC(根据DTC读冻结帧(也叫快照)(19 04 xx xx xx yy)))

7)NVM:      →    存储DEM中非易失性存储模块的数据

Rte(Application)

诊断服务的实现

(0x22(读取数据或状态)、0x2E(写数据或状态)、0x2F(功能IO控制)、0x31(例程控制))

BSW

网络通信管理

(0x28服务)

DEM模块

诊断数据的传输

(0x14(清除DTC)、0x19(读取DTC))

DCM

0x10(诊断会话控制) 、0x11(ECU复位)、 0x27(安全访问)、0x28(通信控制) 、0x3E(待机握手)

四、诊断事件管理(DEM)

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

DEM模块包括诊断数据的传输(0x14(清除DTC)、0x19(读取DTC))

DEM模块相关标准包括:ISO 14229(UDS)和ISO 15031(OBD)。

扩展数据(Extended)

该数据在DTC的状态Pending置上后便会一同保存在非易失性存储单元(EEPROM),对两个常用数据进行说明

冻结帧(Freeze Frame):

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

快照SnapShot是一群DID数据的集合,每个DTC在Confirm时可以生成快照,将当时的一些关键数据存储在NVM中。诊断仪可以通过19服务读取SnapShot的具体数据

二、诊断通信管理(DCM)

诊断通信管理(Diagnostic Communication Manager, DCM)模块作为AutoSar诊断模块的重要组成部分,主要负责诊断数据流和管理诊断状态,包括诊断会话、安全状态及诊断服务分配等。

 诊断通信管理(DCM)主要包括三个子模块:

(1)诊断服务层(Diagnostic Service Layer,DSL)

确定诊断数据请求和响应的数据流;监控和确保诊断请求和响应的时序,管理诊断状态。用于诊断请求的处理及诊断时序的控制。(处理诊断请求;处理诊断响应;管理安全等级)

(2)诊断服务分配(Diagnostic Service Dispatcher, DSD)

接收到的诊断请求转发给数据处理器;当数据处理器触发时,通过PDUR传输诊断响应。用于诊断服务的分配、服务执行环境及条件,会从接收的数据识别请求的服务类型(0x10、0x27、0x22)。(检查诊断服务;汇总响应数据)

(3)诊断服务进程(Diagnostic Service Processing, DSP)

处理实际的诊断请求

猜你喜欢

转载自blog.csdn.net/weixin_64064747/article/details/128050564