【车载开发系列】再看AutoSar中的DCM诊断管理模块

【车载开发系列】再看AutoSar中的DCM诊断管理模块

【车载开发系列】再看AutoSar中的DCM诊断管理模块

  • 【车载开发系列】再看AutoSar中的DCM诊断管理模块
    • 附录:英文缩写
    • 一. DCM模块概述
    • 二. DCM模块构成
      • 1)DSL
      • 2)DSD
      • 3)DSP
    • 三. Dcm实现逻辑
    • 四. DCM与其他模块关系
    • 五. DCM模块总结

附录:英文缩写

DCM:Diagnostic Communication Manager
DEM:Diagnostic Event Manager
UDS:Unified Diagnostic Services
SID:Service Identifier
DID: Data Identifier
DSL:Diagnostic Session Layer
DSD:Diagnostic Service Dispatcher
DSP:Diagnostic Service Processing

一. DCM模块概述

DCM模块主要用来处理外部测试人员或机载测试系统的诊断请求并将诊断状态信息传输回到诊断工具,如通过读DID获取车辆相关信息,通过读取故障码DTC辅助维修人员进行故障定位等。
DCM实现了OSI七层模型的应用层(还有会话层),其在Autosar架构中位于BSW,通过PduR一组通用的接口进行传输,但并不感知底层网络具体的实现类型。也就是对底层通讯协议没有要求,可以是CAN、Lin或以太网(DoIP)等。

二. DCM模块构成

DCM从功能逻辑上可进一步划分为DSL、DSD、DSP三个子模块,各子模块之间各自负责请求的接受、分发及处理:
在这里插入图片描述

1)DSL

诊断会话层,DSL的全称是Diagnostic Session Layer。
它主要的作用有负责与PduR交互,处理报文的传输,同时监控诊断的状态、请求及响应时序;
DSL层负责接收和发送诊断报文,并将诊断数据或发送结果传递给DSD层,同时还会维护诊断会话、安全等级等诊断状态 。

2)DSD

诊断分发层,负责处理报文的统一校验及报文分发到内外部处理模块;他是DSL与DSP之间的桥梁。它的英文全称是Diagnostic Service Dispatcher。
DSD层接收到DSL发送的诊断请求后,会进行初步判断和处理,分配给每个诊断服务,然后调用DSP中的诊断服务处理函数进行诊断处理

3)DSP

诊断处理层,负责处理并联合用户执行具体的诊断请求。它的英文全称是Diagnostic Service Processor。
DSP中的诊断处理函数在执行过程中可能会控制诊断会话或安全访问状态,所以又会通过接口函数来控制DSL层的状态。
在这里插入图片描述

三. Dcm实现逻辑

以10服务的会话切换请求为例,对Dcm实现逻辑进行介绍:
1)PduR会先调用Dcm_StartOfReception向Dcm模块请求buffer,确定当前可以用于接收的Buffer的大小用于计算传输层的BlockSize
返回值类型可能有:
BUFREQ_OK:连接被接受,可继续传输
BUFREQ_E_NOT_OK:连接被拒绝;
BUFREQ_E_OVFL:Buffer不足,接收终止。
2)调用Dcm_CopyRxData(),用于接收I-PDU数据;
3)PduR会调用Dcm_TpRxIndication()用于通知接收数据是否成功;
4)Dcm中的DSL将会话请求发送至DSD;
5)Dcm中的DSD对请求进行校验,校验通过后会进一步分发至DSP,并在DSP中进行处理;
6)当I-PDU经过TP模块发送完成后,PduR通过Dcm_TpTxIndication()接口可以确认数据发送是否成功。
在这里插入图片描述

四. DCM与其他模块关系

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服务)
在这里插入图片描述

五. DCM模块总结

当测试仪发送诊断请求报文时,我方的路由单元从CanTp(物流小车)收到这个“诊断的报文”发送到PDUR这个分拣中心,PDUR路由这个快递到上海浦东辖区的快递小哥,快递小哥骑着小摩的送达这个快递,我们进行严格处理(经过DSL,DSD,DSP三道工序),处理后(诊断响应)再丢给那个测试仪。

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值