[AutoSar]BSW_Diagnostic_002 DCM模块介绍

目录

  • 关键词
  • 平台说明
  • 背景
  • 一、DCM所处架构位置
  • [二、DCM 与其他模块的交互](#二、DCM 与其他模块的交互)
  • [三、DCM 的功能](#三、DCM 的功能)
  • 四、DCM的内部子模块
    • [4.1 Diagnostic Session Layer (DSL)](#4.1 Diagnostic Session Layer (DSL))
      • [4.1 DSL 与其他模块的交互](#4.1 DSL 与其他模块的交互)
    • [4.2 Diagnostic Service Dispatcher (DSD)](#4.2 Diagnostic Service Dispatcher (DSD))
    • [4.3 Diagnostic Service Processing (DSP)](#4.3 Diagnostic Service Processing (DSP))
    • [4.4 小结](#4.4 小结)

  

关键词

嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic

平台说明

项目 Value
OS autosar OS
autosar厂商 vector , EB
芯片厂商 TI 英飞凌
编程语言 C,C++
编译器 HighTec (GCC)
autosar版本 4.3.1
参考文档 TechnicalReference_Dcm.pdf AUTOSAR_SRS_DiagnosticLogAndTrace.pdf AUTOSAR_SWS_DiagnosticCommunicationManager.pdf AUTOSAR_SWS_DiagnosticEventManager.pdf AUTOSAR_SWS_FunctionInhibitionManager.pdf- 【14229-1.2.3】,【15765-1.2.3.4】. 【11898】

  

  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  

  

缩写 描述
DEM Diagnostic Event Manager
DET Development Error Tracer
DDM Diagnostic Data Modifier
DCM Diagnostic Communication Manager
DID Data Identifier
SID Server Identifier
DDID Dynamic DID
RID Routine Identifier
PID Parameter Identifier
NRC Negative Response Code
OSI open systems interconnection
DSD Diagostic Service Dispatcher (submodule of the DCM module)
DSL Diagnostic Session Layer (submodule of the DCM module)
DSP Diagnostic Service Processing (submodule of the DCM module)
DTC Diagnostic Trouble Codes

背景

  本文仅针对CAN 总线,不包含OBD相关内容。

一、DCM所处架构位置

  DCM 处于服务层。

二、DCM 与其他模块的交互

  

三、DCM 的功能

  Diagnostic Communication Manager (DCM),独立与网络层之上,作为诊断服务和车辆网络(CAN,LIN,Flex Ray)之间的中介,为诊断服务提供通用的API。如上面第二节的图所秒速的,与多个其他BSW模块和ASWC都有交互,主要有以下几大功能:

  • 1.根据请求的SID,在ASWC中进行相应的代码调用,如0x22,0x2E,0x23等。
  • 2.控制诊断会话状态,通过0x10服务。
  • 3.控制请求ComM控制通信状态例如在非默认会话时为ComM_DCM_ActiveDiagnostic,默认会话时为ComM_DCM_InactiveDiagnostic.
  • 4.控制BswM的状态。例如0x11 请求复位,0x85控制DTC设置,0x86事件响应,

四、DCM的内部子模块

  由于DCM干的活儿太杂乱了,于是将DCM的内部分为了三个子模块,分别是DSL,DSD,DSP.

Diagnostic Session Layer (DSL)

  DSL子模块确保有关诊断请求和响应的数据流,监督和保证诊断协议定时,管理诊断状态(特别是诊断会话和安全性)。
Diagnostic Service Dispatcher (DSD)

  DSD子模块处理诊断数据流:

    1.通过网络接收新的诊断请求并将其转发给数据处理器。

    2.当数据处理器(如DSP子模块)触发时,通过网络发送诊断响应。
Diagnostic Service Processing (DSP)

  DSP子模块处理实际的诊断服务(分别为子服务)请求。

三个子模块之间的关系概览如下图所示:

4.1 Diagnostic Session Layer (DSL)

  DSL 的会话处理和与应用层的请求及相应遵循ISO 14229 -1 14229 - 3 的规范。

4.1 DSL 与其他模块的交互

  如第三节图中所示:
与PduR模块交互:

  PduR向DSL传入诊断请求数据。

  DSL向PduR输出诊断响应。
与DSD子模块交互:

  DSL通知DSD 数据接入请求,DSL提供数据给DSD。

  DSD向DSL输出诊断响应。
与ComM交互:

  DSL保证ComM所需的通信行为。

4.2 Diagnostic Service Dispatcher (DSD)

  DSD子模块负责检查传入诊断请求的有效性(诊断会话/安全访问级别/应用程序权限的验证),并跟踪服务请求执行的进度。说白了就是子模块用于处理有效的请求,拒绝无效的请求:

  • 接收请求消息并发送正响应消息。
  • 接收请求消息并抑制正响应。
  • 接收请求消息并抑制负面响应.。
  • 接收请求消息并发送否定响应消息。
  • 当没有相应的请求时,发送一个正响应消息。
  • 分段响应

4.3 Diagnostic Service Processing (DSP)

  用于在接收到DSD的请求时,分析收到的请求消息,检查消息格式和是否支持该服务,与DEM ASWC或者其他BSW模块交互以完成请求的动作,组织结果并响应。

4.4 小结

  日常使用和开发中其实不需要去深究DSL DSD DSP,只需要知道如何实现 诊断服务就行,只有排查一些bug才需要深入了解。

  

  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  

  

相关推荐
叶修_A14 天前
AP-03 SOME/IP协议实战 - AUTOSAR自适应平台通信中间件深度解析
autosar·汽车电子·some/ip·ap·通信中间件
赞哥哥s16 天前
Autosar网络管理笔记-被动唤醒和主动请求时Nm报文发送的差异
autosar·网络管理·nm
硅农深芯17 天前
解读AUTOSAR:定义现代汽车电子的标准化架构
架构·汽车·autosar
叶修_A22 天前
【IF-SAFE-05】MTU内存测试 - ASIL-B安全机制
autosar
飞斯柯罗25 天前
[飞斯柯罗] 为满足网络安全要求,是否必须使用AUTOSAR?
autosar·crypto·mcal·软件复用·汽车网络安全·iso21434·控制器开发
叶修_A1 个月前
【CP-11】复杂驱动设计 - AUTOSAR CP驱动架构与实现
架构·嵌入式·autosar·cp·驱动设计
青草地溪水旁1 个月前
UDS 0x27服务:安全级别与算法类型的“灵活婚约”
uds·autosar cp·27服务
青草地溪水旁1 个月前
UDS 0x27服务完全解读:从诊断协议到AUTOSAR实现的安全解锁之道
uds·autosar cp·27服务
赞哥哥s1 个月前
诊断请求1101到MCU复位的完整流程
autosar·dcm·1101
无畏jh1 个月前
CCFC3008PCSN与Vector适配经验分享
autosar·国产化·汽车嵌入式·ccfc3008pcsn