参考文档
- 参考 AUTOSAR 官方文档 《AUTOSAR_SWS_DiagnosticCommunicationManager》
- 更多 AUTOSAR 官方文档见:https://pan.baidu.com/s/1V8eA8z2puwClRnE1BsgCeQ?pwd=wykp
缩写
- 以下是诊断通信管理文档中可能涉及到的缩写:
缩写 | 描述 |
API | Application Programming Interface - 应用程序编程接口 |
CAN | Controller Area Network - 控制器区域网络 |
CEMR | ControlEnableMaskRecord - 控制启用掩码记录 |
Dcm | Diagnostic Communication Manager - 诊断通信管理器 |
Dem | Diagnostic Event Manager - 诊断事件管理器 |
Det | Default Error Tracer - 默认错误跟踪器 |
DID | Data Identifier - 数据标识符 |
DSD | Diagnostic Service Dispatcher - 诊断服务调度程序(Dcm 模块的子模块) |
DSL | Diagnostic Session Layer - 诊断会话层(Dcm 模块的子模块) |
DSP | Diagnostic Service Processing - 诊断服务处理(Dcm 模块的子模块) |
DTC | Diagnostic Trouble Codes - 故障诊断码 |
ID | Identifier - 标识符 |
LIN | Local Interconnect Network - 本地互联网络 |
MCU | Micro-Controller Unit - 微控制器 |
MOST | Media Orientated System Transport - 面向媒体的系统传输 |
NRC | Negative Response Code - 否定响应码 |
OBD | On-Board Diagnosis - 车载诊断 |
OSI | Open Systems Interconnection - 开放系统互连 |
PDID | Periodic Data Identifier - 周期性数据标识符,由 Dcm 在通过周期性标识符读取数据的请求之后周期性地发送 |
PDU | Protocol Data Unit - 协议数据单元 |
PID | Parameter Identifier - 参数标识符 |
RCRRP | Response correctly received - response pending - 正确收到响应-响应挂起 |
RID | Routine Identifier - 例程标识符 |
ROE | Response On Event - 事件响应 |
RTE | Runtime Environment - 运行时环境 |
SAP | Service Access Point - 服务接入点 |
SDU | Service Data Unit - 服务数据单元 |
SID | Service Identifier - 服务标识 |
SW-C | Software-Component - 软件组件 |
TP | Transport Protocol - 传输协议 |
UDS | Unified Diagnostic Services - 统一诊断服务 |
Xxx_ | Placeholder for an API provider - API提供程序的占位符 |
SPRMIB | suppressPosRspMsgIndicationBit - 消息抑制响应指示位 |
介绍和功能概述
- DCM SWS 描述了 AUTOSAR 基本软件模块 Dcm(诊断通信管理器)的功能、API 和配置
- Dcm 模块为诊断服务提供了一个通用的 API
- Dcm 模块的功能在开发、制造或服务期间被外部诊断工具(Tester)所使用
- 外部诊断工具与车载自动存储器应用程序之间的通信概述图如下所示:
- Dcm 模块可确保诊断数据流安全,并管理诊断状态,特别是诊断会话和安全状态。此外,Dcm 模块会根据诊断状态检查是否支持该诊断服务请求,以及是否可以在当前会话中执行该服务
- Dcm 模块提供了 OSI 7层(如下图)模型中的第 5 层到第 7 层:
- 在 OSI 第 7 层上,Dcm 模块提供了一套广泛的 ISO14229-1 服务。此外,Dcm 模块提供了支持文件 SAEJ1979 和 ISO15031-5 中定义的 OBD 服务 01−01−0A 的机制。通过这些服务,AUTOSAR OBD 功能能够满足全球所有轻型 OBD 法规的要求(加利福尼亚 OBDII、EOBD、日本 OBD 和所有其他)
- 在 OSI 第 5 层,Dcm 模块处理以下规范的独立于网络的部分:
- ISO15765-3:统一诊断服务的实施(CAN上的UDS)
- ISO15765-4:排放相关系统的要求,第 5 章 “会话层”
- 在 AUTOSAR 体系结构中,诊断通信管理器位于通信服务(服务层),如下图所示
- Dcm 模块是独立于网络的
- 所有网络特定的功能(CAN、LIN、FlexRay 或 MOST 等网络的具体功能)都在 Dcm 模块之外处理
- PDU 路由器(PduR)模块为 Dcm 模块提供与网络无关的接口
- Dcm 模块接收来自 PduR 模块的诊断消息
- Dcm 模块在内部处理和检查诊断消息
- 作为处理请求的诊断服务的一部分,Dcm 将与其他 BSW 模块或 SW 组件(通过 RTE)进行交互,以获得请求的数据或执行请求的命令
- 通常,Dcm 将收集到的信息进行汇编,并通过 PduR 模块发回消息
相关规范
- AUTOSAR 提供了基本软件模块的通用规范 SWS BSWGeneral,该规范也适用于诊断通信管理器
- 因此,SWS BSW General 应被视为诊断通信管理器的附加和必要规范
与其他模块的依赖关系
- AUTOSAR 诊断通信管理器(DCM)与其它软件模块的以来关系如下图:
- 诊断事件管理器(DEM):DEM 模块提供检索与故障记忆相关的所有信息的功能,以便 Dcm 模块能够通过读取故障记忆中的数据来响应测试者的请求
- 协议数据单元路由器(PduR模块):PduR 模块提供发送和接收诊断数据的功能。PduR 为诊断应用层和底层传输层提供 SAP 接口
- 通信管理器(ComM):ComM 模块提供的功能使得 Dcm 模块可以指示诊断通信的状态“活动”和“非活动”。Dcm 模块提供了处理通信要求 “Full-/Silent-/No-Communication” 的功能。另外,如果 ComM 模块请求,Dcm 模块提供启用和禁用诊断通信的功能
- SW-C 和 RTE:Dcm 模块能够分析接收到的诊断请求数据流,并处理与诊断通信相关的所有功能,如协议处理和定时。基于对请求数据流的分析,Dcm 模块收集响应数据流,并将例程或 IO 控制执行委托给 SW-Cs。如果任何数据元素或功能状态不能由 Dcm 模块本身提供,则 Dcm 通过端口接口从 SW-Cs 或通过直接函数调用从其他 BSW 模块请求数据或功能状态
- BswM:如果 Dcm 的初始化是从引导加载程序跳转的结果,则 Dcm 通知 BswM 应用程序已更新
- 加密服务管理器(Csm):加密服务模块提供广泛的加密算法。Csm 用于身份验证计算
- 密钥管理器(KeyM):密钥管理器模块提供对证书处理和 API 的支持,以通过证书实现经过身份验证的诊断
Dcm 中的子模块
- Dcm 实现了ISO-14229 的协议,功能上实现上还是非常复杂的,所以 .AUTOSAR 对 Dcm 进行了分解设计,把 Dcm 模块分解成了以下子模块:
- 诊断会话层(DSL - Diagnostic Session Layer)子模块:DSL 子模块负责确保与诊断请求和响应相关的数据流,监督和保证诊断协议中时间相关的问题,并管理诊断状态(特别是诊断会话和安全)
- 诊断服务分发器(DSD - Diagnostic Service Dispatche)子模块:DSD 子模块处理诊断数据流,通过网络接收新的诊断请求,并将其转发给数据处理器,当数据处理器(如:DSP 子模块)触发时,通过网络传输诊断响应
- 诊断服务处理(DSP - Diagnostic Service Processing)子模块:DSP 子模块负责处理实际的诊断业务(分别为子业务)请求
- 下图概述了 Dcm 模块内的子模块 DSP、DSD 和 DSL 之间的接口【注:这些子模块的实现及其之间的接口不是强制性的。引入它们只是为了提高规范的可读性】
脚注说明
- ISO14229-1:统一诊断服务(UDS)- 第 1 部分:应用层(2013-03 发布)
- ISO15031-5:道路车辆 - 车辆与排放相关诊断外部设备之间的通信——第5部分:排放相关诊断服务
- SAE J1979:SAE J1979 是由美国汽车工程师学会(SAE)制定的一项标准,旨在定义汽车诊断和数据通信的统一规范
- ISO15765-3:控制器局域网(CAN)诊断-第3部分:统一诊断服务(CAN 上的 UDS)(2004 10-06 发布)
- ISO15765-4:控制器局域网(CAN)诊断-第4部分:要求排放相关系统(2005 01-04 发布)
- AUTOSAR glossary:见 “AUTOSAR_TR_Glossary” 文档
- SWS BSWGeneral:基本软件模块通用规范(AUTOSAR_SWS_BSWGeneral)