DCM: 诊断通信管理 (Diagnostic Communiction Manager)

  • 功能: 主要负责处理诊断数据流管理诊断状态, 包括诊断会话和安全状态,检查诊断服务的请求是否满足条件。
  • 组成:
  • DSL: Diagnosti Session Layer
  • DSD: Diagnostic Service Dispatcher
  • DSP: Diagnostic Service Processing
  • 相互之间的接口如下图:

Ⅰ DSL

功能: 用于处理诊断数据请求和响应的数据流; 监控和确保诊断请求和响应的时序。

  1. 处理诊断请求
    (1) RDUR调用**Dcm_startOfReception()Dcm_CopyRxData()函数将收到的诊断请求数据放置在DCM模块的Buffer中
    (2) PDUR调用
    Dcm_TpTxConfirmation()**函数通知DCM模块接受新的诊断请求

  1. 处理诊断响应
    (1) 当需要响应诊断请求时,DSL模块嗲用PduR_DcmTransimit()和Dcm_CopyTxData()将数据传递到PDUR模块,
    **PduR_DcmTransimit()**传递长度信息、地址信息;
    **Dcm_CopyTxData()传递数据
    (2) 数据传输成功后,
    PDUR模块通过Dcm_TpTxConfirmation()**函数告知DCM数据接受成功。

  1. 管理安全等级
    DSL提供Dcm_GetSecurityLevel()DslInternal_SetSecurityLevel()函数风别获取当前的安全等级和设置安全等级。
    DSL菜单主要是配置诊断帧,包括物理寻址和功能寻址单次通信的最大Buffer以及时间参数,包括回复0x78的时间和防止诊断服务异常,允许0x78的最大次数。

Ⅱ DSD

  1. 检查诊断服务

    • 当DSL接受到新的诊断请求,DSL通过内部接口通知DSD。 DSD调用**Dcm_GetSesCtrlType()Dcm_GetSecurityLevel()**获取当前Session和安全等级;
    • DSD模块会在当前Session的Service Identifier Table检查诊断请求SID是否在其中,如果不在table中,DSD会发送NRC 0x7F; 如果诊断服务支持,但当前Session不支持该自服务, DSD会发送NRC 0x7E;
    • 然后检查当前安全等级是否满足条件,如果当前安全等级不支持该诊断请求,DSD会发送NRC 0x33
    • 最后检查数据的长度。

  1. 汇总响应数据
    当DSP模块完成诊断请求处理后, DSD负责将整理响应数据,并发送到DSL。
    DSD模块将服务标识符(SID)和响应的数据流添加至Dcm_MsgContextType。然后DSD将其传送至缓冲区,并在缓冲区的第一个字节添加SID。
    对于配置耳音,DSD主要是配置所需要实现的服务,以及服务所支持的session以及服务执行的安全等级。

Ⅲ DSP

功能: 实现不同服务的处理,当接受到DS请求处理诊断服务,DSP的处理过程如下

  1. 分析接受的请求信息,调用不同的诊断服务实现函数;
  2. 检查格式以及是否支持所寻址的子功能;
  3. 获取数据或者嗲用DEM、SWC或者其他BSW模块的接口;
  4. 汇总响应数据。
  • DSP配置:
    1. DID的实现,包括DcmDspData用于配置DID的数据类型、数据长度以及接口类型;
  • DcmDspDidInfo用于配置DID的读写功能;DcmDspDids用于汇总DcmDspDidInfoDcmDspData,并且添加DID value
    1. 安全等级的实现,包括种子和密钥的位数、最大的错误访问次数,以及时间参数。
    1. Session的配置, 包括Session的等级,Session是否支持跳转至Boot,以及时间参数P2 ServeMaxP2*ServeMax
  • DCM模块主要实现UDS和OBD诊断服务的实现,但是DCM跟其他模块的交互比较频繁,需要了解诊断服务的机制需要其他模块配置,比如BswM、DEM、EcuM以及SWC等。

DCM: 诊断通信管理 (Diagnostic Communiction Manager)相关推荐

  1. AUTOSAR从入门到精通100讲(三十三)-AutoSar架构中的诊断事件管理

    Dem在AutoSar架构中的角色和位置 Dem(Diagnostic Event Manager)诊断事件管理,属于Autosar BSW(Basic Software)中的系统服务,在整个架构中所 ...

  2. Autosar诊断基础—诊断事件管理(DEM)

    Autosar诊断基础--诊断事件管理 1 诊断事件管理(DEM)概念 2 DEM模块及关联模块关系 3 DEM模块介绍 3.1 诊断故障码(DTC)概念及确定方式 3.2 诊断故障码(DTC)的掩码 ...

  3. ISO14229-1专栏(5)--诊断与通信管理功能单元服务介绍

    从这篇文章开始就要接触14229-1的核心内容--诊断服务的介绍了,在之后的文章中我们会接触到26个服务以及若干个他们的子服务. 我们介绍的顺序也是和14229-1中的顺序相同,不是按照SID从小到大 ...

  4. Notepad++没有插件管理器(Plugin Manager)的解决方法

    Notepad++没有插件管理器(Plugin Manager)的解决方法 参考文章: (1)Notepad++没有插件管理器(Plugin Manager)的解决方法 (2)https://www. ...

  5. ITRON同步和通信管理

    ITRON同步和通信管理 在多任务的实时系统中,一项工作的完成往往要通过多个任务或多个任务与多个中断处理过程(ISRs)共同完成.它们之间必须协调动作互相配合,甚至需要交换信息进行通信.这些通信和同步 ...

  6. linux_ rpm管理(Synaptic Package Manager)

    五.rpm管理(Synaptic Package Manager(新立得软件包管理器))(重点) 作用:rpm的作用类似于windows上的电脑管家中"软件管理",安全卫士里面&q ...

  7. ComM(通信管理)和CanNm(network)

    1      网络管理组成部分 网络管理部分由通信管理器(简称ComM),通用网络管理器接口(简称NmIf),总线相关的网络管理器(简称NM,包括CanNM,LinNM,FrNM),总线相关的状态管理 ...

  8. Adaptive AUTOSAR (AP) 平台设计(6)——通信管理

    前言 Hello!大家好! 欢迎来到<搞一下汽车电子> 本期为<搞一下 AP AUTOSAR 平台设计>第6期:通信管理 更多精彩内容欢迎订阅微信公众号 " 搞一下汽 ...

  9. 实验2linux进程控制与通信,实验2 进程控制与通信管理word文档良心出品

    <实验2 进程控制与通信管理word文档良心出品>由会员分享,可在线阅读,更多相关<实验2 进程控制与通信管理word文档良心出品(13页珍藏版)>请在人人文库网上搜索. 1. ...

  10. 安科瑞ANet通信管理机在电力监控系统中的应用

    王兰 安科瑞电气股份有限公司  上海嘉定 201801 摘 要: 在电力行业,智能电网是未来电力网络的发展方向,随着智能电网的迅速发展,作为智能电网的核心,通信管理机起着承上启下的作用.作为电力自动化 ...

最新文章

  1. 训练生成对抗网络的过程中,训练gan的地方为什么这里没有detach,怎么保证训练生成器的时候不会改变判别器
  2. 容器化单页面应用中RESTful API的访问
  3. 二十二、PHP框架Laravel学习笔记——集合的使用
  4. xlwings删除数据_xlwings如何删除行和列?
  5. [原创] 共享两个有用的网页布局表格
  6. 接口(interface)有什么优点,为什么要用接口
  7. 孕期服务器声音影响,噪音多少分贝影响胎儿听力
  8. 运筹优化(十九)--决策论基础及其最优化求解
  9. 移动互联网时代,如何优化你的网络 —— 域名解析篇
  10. Atitit mybatis 翻页解决法 目录 1.1. 翻页模式还有js翻页前端翻页更加简单 1 1.2. 逻辑分页使用类RowBounds vs 物理分页 offset模式 1 1.3.
  11. 一篇关于感情的文章(转) PS:觉得写得还不错,虽然有些还做不到
  12. Kotlin教程,从入门到精通
  13. 单模光纤VS多模光纤
  14. 数据库防火墙:数据库防火墙商业化的前提条件
  15. 阿里云储道深度解析存储系统设计——NVMe SSD性能影响因素一探究竟
  16. 如何在Excel中将多个单元格中的文本合并到一个单元格中
  17. Java面试题交流群
  18. Win32窗口程序实例
  19. 我是一只在IT线上苦苦挣扎的小菜鸟
  20. mysql分表动态扩展_小星星 的动态 - SegmentFault 思否

热门文章

  1. Spark吐血整理,学习与面试收藏这篇就够了!
  2. Xcode No account for team . Add a new account in the Accounts preference pane or verify
  3. 实现省市县的两种方式
  4. 海大10年秋第5题:马克思在《数学手册》中提出如下问题: 有30个人(包括男人,女人和小孩)在一家饭店吃饭共花50先令,其中每个男人花3先令, 每个女人花2先令,每个小孩花1先令,问男人,女人,小孩共
  5. error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-h4wtvo23\opencv\
  6. 关于函数连续性的逐点定义
  7. java搜索页面历史记录,页面缓存的操作(搜索历史记录),页面搜索功能实现...
  8. 平面几何----三割线定理引理的证明
  9. 根据计算机配置设置bios,电脑如何进入bios设置
  10. MacBook外接显示器及相关设置详解(分屏/多屏)