[AutoSar]BSW_Diagnostic_002 DCM模块介绍

2024-05-12 06:36

本文主要是介绍[AutoSar]BSW_Diagnostic_002 DCM模块介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 关键词
  • 平台说明
  • 背景
  • 一、DCM所处架构位置
  • 二、DCM 与其他模块的交互
  • 三、DCM 的功能
  • 四、DCM的内部子模块
    • 4.1

  

关键词

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

平台说明

项目Value
OSautosar 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】

在这里插入图片描述
  
  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  
  

缩写描述
DEMDiagnostic Event Manager
DETDevelopment Error Tracer
DDMDiagnostic Data Modifier
DCMDiagnostic Communication Manager
DIDData Identifier
SIDServer Identifier
DDIDDynamic DID
RIDRoutine Identifier
PIDParameter Identifier
NRCNegative Response Code
OSIopen systems interconnection
DSDDiagostic Service Dispatcher (submodule of the DCM module)
DSLDiagnostic Session Layer (submodule of the DCM module)
DSPDiagnostic Service Processing (submodule of the DCM module)
DTCDiagnostic 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,

这篇关于[AutoSar]BSW_Diagnostic_002 DCM模块介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981870

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(