目录
前言
AUTOSAR诊断协议栈包含DCM和DEM两个模块,其中DEM负责DTC相关的参数实现(诊断Dem模块介绍),而DCM模模块主要实现UDS和OBD的诊断服务,就是实现之前UDS文章提到的服务和OBD相关的服务。
DCM模块主要负责处理诊断数据流和管理诊断状态,包括诊断会话和安全状态,DCM模块能检查诊断服务的请求是否满足条件。DCM在AUTOSAR架构中的概略图如图1所示。
DCM模块由三个子模块构成,分别是DSL(DiagnosticSession layer)、DSD(Diagnostic Service Dispatcher)、DSP(Diagnostic Service Processing),其示意图如图2所示。
其中DSL用于确定诊断数据请求和响应的数据流;监控和确保诊断请求和响应的时序,管理诊断状态(特别是诊断会话和安全状态)。DSD用于处理诊断数据流。将接收到的诊断请求转发给数据处理器;当数据处理器触发时,通过PDUR传输诊断响应;DSP用于处理实际的诊断请求。