AutoSar标准——DCM模块

1.DCM和UDS

DCM是诊断通信管理(Diagnostic Communication Manager, DCM),是AutoSar软件架构下的一个模块及重要组成部分,主要负责诊断数据流和管理诊断状态,包括诊断会话、安全状态及诊断服务分配等。

UDS(Unified Diagnostic Services)是一种诊断协议,DCM基于UDS协议实现了汽车诊断的功能。除此之外,还有一种常见的诊断协议是OBD(On-Board Diagnostic)也在DCM中实现。

UDS协议是通过ISO 14229规范定义,并描述了多种常见的诊断服务及其通信流程。

2.DCM和其他模块的关系

DEM:DEM模块提供了检索与故障内存相关的所有信息的功能,以便Dcm模块能够通过从故障内存中读取数据重新响应测试人员的请求。DEM主要是存储与DTC相关的内容,与UDS有关的是14和19服务,比如读取故障码,快照信息等等。

PDUR:PduR模块接收和发送诊断数据。PduR为Dcm模块提供一个与具体通信协议无关的接口。DCM拿到的通信报文,是由PduR转发过来的。

ComM:Dcm模块可以指示状态“活动”和“非活动”用于诊断通信。Dcm模块提供了处理通信需求“完全/静默/无通信”的功能。此外,Dcm模块提供了在ComM模块要求时启用和禁用诊断通信的功能。
SW-C and RTE:Dcm 模块能够分析接收到的诊断请求数据流,并处理与诊断通信相关的所有功能,例如协议处理和定时。基于对请求数据流的分析,Dcm 模块组装响应数据流,并将例程或 IO-Control 执行委托给 SW-Cs 。如果 Dcm 模块本身无法提供任何数据元素或功能状态,则 Dcm 会通过端口接口向 SW-C 请求数据或功能状态,或通过直接函数调用从其他 BSW 模块请求数据或功能状态。
BswM:如果 Dcm 的初始化是从引导加载程序跳转的结果,则 Dcm 会通知 BswM 应用程序已更新。Dcm 还向 BswM 指示通信模式更改。
Csm(Crypto Service Manager):加密服务模块提供了广泛的加密算法。Csm 用于身份验证计算。

3.DCM子模块

Dcm 模块由以下子模块组成:

诊断会话层 (DSL) 子模块:DSL 子模块确保有关诊断请求和响应的数据流,监督和保证诊断协议计时,并管理诊断状态(尤其是诊断会话和安全性)。

诊断服务调度器 (DSD) 子模块:接收到的诊断请求转发给数据处理器;当数据处理器触发时,通过PDUR传输诊断响应。

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

 

3.1 诊断会话层 (DSL) 子模块

请求和响应处理

  • 将请求从PduR模块转发到DSD子模块;
  • 并发TesterPresent(“保持活动逻辑”);
  • 将响应从DSD子模块转发到PduR模块;
  • 保证对测试人员的响应时间;
  • 支持定期传输;
  • 支持响应事件(ROE)传输;
  • 支持分段响应;
  • 支持应用程序触发的ResponsePending响应;

安全级别处理

  • 管理安全级别;

会话状态处理

  • 管理会话状态;
  • 跟踪活动的非默认会话;
  • 允许修改计时;

诊断方案处理

  • 处理不同的诊断协议;
  • 管理资源;

通信模式处理

  • 通信要求的处理(完全/静默/无通信);
  • 指示活动/非活动诊断;
  • 启用/禁用各种诊断传输;

3.1.1将请求从PduR模块转发到DSD子模块

3.1.2保持非默认会话处于活动状态并重置S3计时器

        保活,进入非默认会话会开始计时,5秒后会返回默认会话,持续发送3E 80可以保持在非默认会话下。

3.1.3将响应从DSD子模块转发到PduR模块

3.1.4通用连接处理

        Dcm应能够处理由DcmPdus识别的通用连接,其MetaDataItem类型为SOURCE_ADDRESS_16和TARGET_ADDRESS_16。这些连接在运行时携带实际的测试仪地址。根据ISO 15765 -2 [15],通过IP和FlexRay诊断以及使用正常固定或混合29位寻址格式的CAN诊断支持通用连接。根据CAN ID的实际布局,通用连接也可以用于扩展或正常和混合的11位寻址格式。Dcm不知道CanTp使用的实际寻址格式。多个连接可以引用相同的DcmPdus。

3.1.5通过发送忙碌响应来保证测试人员的时间

        NRC78,OTA中的31擦除例程常用。

3.1.6支持定期传输

        2A服务,此前没做过。

3.1.7支持分段响应

        NRC14

3.1.8支持应用程序触发的响应挂起

3.1.9管理安全级别

        DSL子模块应保存当前活动安全级别的级别。

3.1.10管理会话状态

3.1.11管理验证状态

        在生产中的某些用例中,执行频繁的通电/断电序列。为了在断电时保持已实现的身份验证状态,有一个专用模式规则要求Dcm保持已验证状态。

3.1.12非默认会话

3.1.13允许修改计时

        P2ServerMin, P2ServerMax,P2*ServerMin, P2*ServerMax, S3Server

3.2 诊断服将响应从DSD子模块转发到PduR模块务调度器 (DSD) 子模块

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

        如果识别到新的诊断消息,则DSD子模块应由DSL子模块触发。DSD子模块将通过分析包含在接收到的诊断消息中的诊断服务标识符来开始处理。

3.2.1支持检查诊断服务标识符和调整诊断消息

        如果识别到新的诊断消息,则DSD子模块应由DSL子模块触发。DSD子模块将通过分析包含在接收到的诊断消息中的诊断服务标识符来开始处理。

3.2.2验证功能

        在执行接收到的诊断服务之前,DSD执行一组验证。DSD只会接受一项服务,如果所有验证成功通过。

3.2.3验证制造商应用环境/许可

        NRC22,不如高压状态下不能进入编程会话进入OTA

3.2.4向DSP子模块分发诊断消息

3.2.5积极或消极的回应

3.3 诊断服务处理 (DSP) 子模块

具体的UDS服务,详见14229协议;

4.DCM工作流程

        图中第一个矩形中的DcmRxPduId指的是物理寻址的数组或者功能寻址的数组,当有请求在处理中时,如果收到了来自外部的TesterPresent诊断请求,无论与正在处理的请求是否源自同一通道,都会被接受(Dcm_StartOfReception返回BUFREQ_OK),但是都不会进行处理(即:不进行S3Server timer的重制)。

Dcm_StartOfReception返回值有三种情况:

BUFREQ_OK:连接已被接受。bufferSizePtr指示可用的接收缓冲区;继续接收。如果没有所请求大小的缓冲区可用,则接收缓冲区大小0将由bufferSizePtr指示。

BUFREQ_E_NOT_OK:连接已被拒绝;接收已中止。bufferSizePtr保持不变。

BUFREQ_E_OVFL:无法提供所需长度的缓冲区;接收被中止。bufferSizePtr保持不变。

课程大纲1-学前必看1-课程大纲介绍2-一名汽车软件工程师10年成长历程3-资料下载4-教你如何看AutoSAR SWS官方文档2-AutoSAR基础认知篇5-什么是 AutoSAR 为什么要学习 AutoSAR6-用Linux操作系统思维理解AutoSAR7-AutoSAR出现的背景和行业状况8-AutoSAR运行的硬件环境ECU9-AutoSAR优势和代码演示10-AutoSAR开发方法论11-汽车电子岗位介绍12-AUTOSAR工具链讲解3-AutoSAR基础软件层01-BSW概述13-BSW概述-114-BSW概述-202-BSW MCAL驱动015-MCAL和普通的单片机驱动区别016-TC3XX芯片介绍017-TC397芯片框架介绍018-TC3XX芯片存储资源和寻址介绍019-TC3XX芯片CAN外设020-TC3XX芯片中断系统021-TC3XX安全管理单元022-TX3XX直接存储访问模块DMA023-TC3XX芯片CAN驱动MCAL介绍03-BSW通信功能24-CAN总线物理层讲解-125-CAN总线物理层讲解-226-CAN总线物理层讲解-标准和仲裁机制27-CAN总线物理层讲解-数据帧28-CAN总线物理层讲解-错误检测机制29-CAN总线物理层讲解-位时间和同步30-CAN总线DBC文件讲解31-AutoSAR通信概述-通信服务架构132-AutoSAR通信概述-通信服务架构233-AutoSAR通信概述-PDU和收发数据流34-CAN总线网络传输层CanTp讲解-Can诊断网络分层35-CAN总线网络传输层CanTp讲解-CanTp组帧拆帧过程-136-CAN总线网络传输层CanTp讲解-CanTp组帧拆帧过程-237-CAN总线网络传输层CanTp讲解-CanTp时间参数和诊断数据流38-车载以太网第一讲-车载以太网基础知识MAC PHY39-车载以太网第一讲-车载以太网和工业以太网区别40-车载以太网在Autosar上的应用-以太网协议栈软件架构41-车载以太网在AutoSAR上的应用-Soad PduR42-LIN总线入门到精通第一讲-Lin总线基础知识43-LIN总线入门到精通第一讲-Lin协议格式44-LIN总线入门到精通第一讲-Lin帧类型45-LIN总线的通信矩阵和LDF文件讲解46-LIN总线在AutoSAR上的应用47-Lin总线诊断应用-LinTp传输层48-Lin总线诊断应用-Lin主节点诊断流程49-SPI总线基础知识50-AutoSAR SPI应用51-协议数据单元PDU和服务数据单元SDU52-Pdu Router(PduR)模块详解53-Com模块讲解-报文和信号54-Com模块讲解-COM内部实现原理04-通信状态&网络管理55-通信管理架构(状态管理&网络管理)56-CanSM模块57-Network Management(NM)网络管理模块05-诊断功能58-诊断功能第一讲-诊断基础知识59-诊断功能第二讲-UDS服务讲解-UDS基础知识60-诊断功能第二讲-UDS服务讲解-物理寻址和功能寻址61-诊断功能第二讲-UDS服务讲解-具体服务讲解-162-诊断功能第二讲-UDS服务讲解-具体服务讲解-263-诊断功能第二讲-DCM模块讲解64-诊断功能第四讲-OBD服务06-存储功能65-存储知识和AUTOSAR存储架构66-AUTOSAR 存储服务之Fee换页策略07-标定功能67-标定讲解08-BSW基础服务68-Autosar BswM模块讲解10-BSW OS功能69-AutoSAR OS和OSEK OS70-OS内核讲解171-OS内核讲解24-AutoSAR的实时运行环境72-AutoSAR应用软件层-RTE层概述5-AutoSAR的应用层(APPL)73-AutoSAR应用软件层-AppL层概述 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值