Autosar诊断基础——诊断通信管理(DCM)

Autosar诊断基础——诊断通信管理

  • 1 诊断通信管理(DCM)的概念
  • 2 DCM及关联模块关系
  • 3 DCM模块子模块介绍
    • 3.1 诊断会话层(DSL)
    • 3.2 诊断服务调度层(DSD)
    • 3.3 诊断服务处理层(DSP)
  • 4 相关文档下载

1 诊断通信管理(DCM)的概念

诊断通信管理(Diagnostic Communication Manager, DCM)模块作为AutoSar诊断模块的重要组成部分,主要负责诊断数据流和管理诊断状态,包括诊断会话、安全状态及诊断服务分配等。
主要功能贯穿汽车的开发生产及售后等过程,如开发过程中EMC、ESD等实验均可使用诊断服务实现,生产过程中的软件下载更新、ECU产线EOL、汽车产线EOL等、售后过程中读取DTC、控制输出调试功能等。(下图来源于Autosar软件开发标准文档AUTOSAR_SWS_DiagnosticCommunicationManager)

Autosar诊断基础——诊断通信管理(DCM)
DCM模块主要负责处理诊断数据流和管理诊断状态,包括诊断会话和安全状态,DCM模块能检查诊断服务的请求是否满足条件。DCM在AUTOSAR架构中与其他模块之间的关联关系,其他未提及关系可以查询autosar文档。
1、DCM模块不直接与TP层关联,经过PDUR然后进入DCM模块
2、ComM主要包括Dem模块的初始化、诊断会话管理
3、DEM模块包括诊断数据的传输(0x14(清除DTC)、0x19(读取DTC))
4、DET模块可以在开发阶段读取获取DCM模块的配置或运行错误
5、Rte(Application)包含一些诊断服务的实现(0x22(读取数据或状态)、0x2E(写数据或状态)、0x2F(功能IO控制)、0x31(例程控制))
6、BSW包括网络通信管理(0x28服务)
Autosar诊断基础——诊断通信管理(DCM)

3.1 诊断会话层(DSL)

DSL模块主要用于诊断请求的处理及诊断时序的控制等,具体存在几个功能如下:

1、处理诊断请求:收到请求时,PDUR会将数据诊断请求数据从下层的Buffer中Copy到诊断的接收Buffer中,DSD会从此Buffer中取出数据进行处理

2、处理诊断响应:收到发送数据时,PDUR会将数据诊断请求数据从DSL的发送Buffer中Copy到PDUR的发送Buffer中,具体后续处理由CAN的协议栈进行处理

3、管理安全等级:用于获取或者设置安全等级

3.2 诊断服务调度层(DSD)

DSD模块主要用于诊断服务的分配、服务执行环境及条件,会从接收的数据识别请求的服务类型(0x10、0x27、0x22),主要功能:

1、检查诊断服务:用于检查诊断服务执行的条件,如当前会话模式、诊断服务是否支持、安全访问等级。当判断条件不支持是会相应0x7F和具体的NRC否定响应码,通过后会由上一层处理服务(具体处理也可以给出否定响应)

2、汇总响应数据:将判断得到的响应数据或者由DSP发送的响应数据发送给DSL,由DSL向外发送数据

3.3 诊断服务处理层(DSP)

DSP为诊断服务的处理,当接收到DSD请求处理诊断服务,服务处理过程:

1、分析处理接受的请求数据
2、根据分析结果调用不同的处理函数
3、其他模块给出响应数据,将数据发送给DSD

4 相关文档下载

Autosar软件标准
1、Autosar官网下载:ClassicAutosar标准文档下载地址
2、CSDN下载链接:AUTOSAR_SWS_DiagnosticEventManager
ISO 14229:
ISO14229_2013(1-7)标准文档下载:ISO14229 1-7
ISO 15031:ISO 15031 (1-7)

来源:摸鱼的攻城狮

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月15日
下一篇 2022年5月15日

相关推荐