本文框架

  • 1. 缩写
  • 2. 模块概述
  • 3. 功能实现
    • 3.1 DSL/DSD/DSP子模块
    • 3.2 Dcm实现逻辑
  • 4. Dcm配置

1. 缩写

在进行介绍前,先简单罗列几个用到的缩写及全称方便后续理解。

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

2. 模块概述

DCM模块主要用来处理,外部测试人员或机载测试系统的诊断请求并将诊断状态信息传输回到诊断工具,如通过读DID获取车辆相关信息,通过读取故障码辅助维修人员进行故障定位等。

诊断仪与DCM之间的交互示意图如下所示:

DCM实现了OSI七层模型的应用层,其在Autosar架构中位于BSW,通过PduR一组同用的接口进行保温传输,但并不感知底层网络具体的实现类型。

3. 功能实现

3.1 DSL/DSD/DSP子模块

DCM从功能逻辑上可进一步划分为DSL、DSD、DSP三个子模块,各子模块之间各自负责请求的接受、分发及处理,具体看:
DSL:诊断会话层,负责与PduR交互,处理报文的传输,同时监控诊断的状态、请求及响应时序;

DSD:诊断分发层,负责处理报文的统一校验及报文分发到内外部处理模块;

DSP:诊断处理层,负责处理并联合用户执行具体的诊断请求。

3.2 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()**接口可以确认数据发送是否成功。

4. Dcm配置

后续在实战篇会专门开设基于Vector Davinci配置教程。

UDS诊断系列介绍03-DCM相关推荐

  1. UDS诊断系列介绍13-31服务

    本文框架 1. 系列介绍 1.1 31服务概述 2. 31服务请求与应答 2.1 31服务请求 2.2 31服务正响应 2.3 31服务否定响应 3. Autosar系列文章快速链接 1. 系列介绍 ...

  2. UDS诊断系列介绍05-27服务

    本文框架 1. 系列介绍 27服务概述 2. 27服务请求与应答 2.1 27服务请求 2.2 27服务肯定应答 2.3 27服务否定应答 1. 系列介绍 UDS(Unified Diagnostic ...

  3. UDS诊断系列介绍08-19服务

    本文框架 1. 系列介绍 1.1 19服务概述 1.2 DTC故障码定义 1.3 DTC状态位 2. 19服务常用子服务 2.1 19 01服务 2.2 19 02服务 2.3 19 04服务 2.4 ...

  4. UDS诊断系列介绍06-22服务

    本文框架 1. 系列介绍 22服务概述 2. 22服务请求与应答 2.1 22服务请求 2.2 22服务正响应 2.2 22服务否定应答 3. 22服务使用示例 4. Autosar系列文章快速链接 ...

  5. UDS诊断系列介绍07-2E服务

    本文框架 1. 系列介绍 2E服务概述 2. 2E服务请求与应答 2.1 2E服务请求 2.2 2E服务肯定响应 2.3 2E服务否定应答 3. Autosar系列文章快速链接 1. 系列介绍 UDS ...

  6. UDS诊断系列介绍10-28服务

    本文框架 1. 系列介绍 1.1 28服务概述 2. 28服务请求与应答 2.1 28服务请求 2.2 28服务正响应 2.3 否定应答 3. Autosar系列文章快速链接 1. 系列介绍 UDS( ...

  7. UDS诊断系列之三 ISO14229协议介绍(下)

    上篇主要分享了一些基本概念和响应规则,里面提到了否定响应码,也提到了ISO14229-1的附录A是一张否定响应码的表格,里面详细介绍了否定响应码的具体含义.那么在什么时候给出什么样的否定响应码,这篇里 ...

  8. UDS诊断系列之二 ISO14229协议介绍(上)

    ISO14229系列,涵盖了UDS的服务定义以及在各车载总线上的一些特殊应用指导,以及各总线类型所对应的下层协议要求,下面就是该系列中各协议所对应的内容清单. 协议编号 协议名称 协议内容 14229 ...

  9. UDS诊断系列之四 诊断请求和响应

    这一篇重点说一下诊断的请求和响应所包含的信息以及格式要求. 一.诊断数据单元 诊断数据单元一般包含地址信息和应用数据.应用数据长度,其中应用数据会包含服务ID.子功能参数(如果有)和应用数据参数: 1 ...

  10. UDS诊断系列之五 诊断会话控制(10)服务

    诊断会话控制服务,其服务ID是0x10,主要功能为控制服务端的会话模式的切换. 一.诊断会话模式 诊断会话模式分为默认会话模式和非默认会话模式,不同的会话模式所支持的功能.权限.时间参数等等是不一样的 ...

最新文章

  1. 浅谈loadrunner中pacing设置
  2. Oozie 出现 ClassNotFoundException 解决方法
  3. java 加减运算_JAVA日期加减运算 | 学步园
  4. 从产品角度聊一聊疯狂猜图为何这么火
  5. OpenCV多机校准Multi-camera Calibration
  6. 如何写出健壮的代码?
  7. P1312 Mayan游戏 [模拟][搜索]
  8. 学计算机二级分数,2020年9月计算机二级考试成绩可以查了 多少分及格
  9. 电脑cpu风扇转一下就停无法开机_电脑无法正常开机风扇转一下就停的原因及解决方法...
  10. 基于MSBuild的xnb资源预生成机制
  11. freeredius3.0 mysql_edius插件下载|Edius9滤镜和转场插件Vitascene+蓝宝石插件GenArts Sapphire3.0.257 官方版_ - 极光下载站...
  12. 三相逆变器双pi控制器参数如何调节_单相光伏并网逆变器的环路控制
  13. msys64安装使用
  14. TWebLive基于TRTC和IM实现web群直播
  15. Kafka的监控指标
  16. 安卓3:Android文件目录详解-manifest文件夹和java文件夹
  17. Qcom平台 Camera 之单刷调试
  18. 资源共享,免费下载源码网站,很实惠!
  19. FPGA数字信号、图像
  20. hive操作总结DML

热门文章

  1. debian 连接 蓝牙键盘
  2. redis实战(1):redis三个java客户端选择
  3. 《机器学习基石》笔记:第一讲
  4. android 吃鸡模拟器,《刺激战场模拟器》电脑版 逍遥安卓模拟器智能键吃鸡设置...
  5. RF无线射频电路设计干货分享
  6. 电商产品设计:购物车管理
  7. 武汉市电子信息职业技术学校现代电子电工高水平实训基地
  8. 使用计算机制图的心得,学习cad制图心得体会
  9. 图像基础ImageMagick图像处理
  10. ubuntu端口转发工具 Rinetd