目录
- 关键词
- 平台说明
- 背景
- 一、DCM所处架构位置
- 二、DCM 与其他模块的交互
- 三、DCM 的功能
- 四、DCM的内部子模块
- 4.1
关键词
嵌入式、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
waiting update,