[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

相关文章

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语