Autosar之DCM模塊

一、DCM介紹
DCM(Diagnostic Communication Manager)是AUTOSAR(汽車開放系統架構)基礎軟件BSW中服務層(Service Layer)的核心模塊,其核心功能是為車輛電子控制單元(ECU)提供符合行業標準(如ISO 14229 UDS、ISO 15765 DoCAN、ISO 15031 OBD等)的診斷服務支持,為開發和生產階段提供與診斷儀交互的診斷服務,如下圖所示

在這里插入圖片描述

Dcm模塊實現依據ISO 14229-1和ISO 15031-5等標準規范中定義的UDS診斷和OBD診斷功能。在接收到一個診斷請求后,需要對診斷請求進行分析,包括請求的服務是否支持,尋址方式是否正確,會話級,安全級,長度,子服務等是否正確。
在這里插入圖片描述

其主要功能包括:

診斷數據流
管理診斷狀態(診斷會話狀態和安全訪問等級狀態)
檢查診斷服務的請求是否滿足條件
DCM模塊由三個子模塊構成,分別是DSL(DiagnosticSession layer)、DSD(Diagnostic Service Dispatcher)、DSP(Diagnostic Service Processing),如下圖所示,接下來將針對三個子模塊功能進行講解

在這里插入圖片描述

二、診斷會話層(DSL)

DSL模塊主要用于診斷請求的處理及診斷時序的控制,管理診斷狀態(診斷會話和安全狀態)等,具體存在幾個功能如下:

處理診斷請求:收到請求時,PduR會調用Dcm_StartOfReception()和Dcm_CopyRxData()接口將診斷請求數據從下層的Buffer中Copy到DCM的接收Buffer中。PduR調用Dcm_TpRxIndication()接口通知Dcm模塊接收到了新的診斷請求
處理診斷響應:當需要響應診斷請求時,DLS通過調用通過調用PduR_DcmTransimit()和Dcm_CopyTxData()接口,將數據傳遞至PduR中,其中PduR_DcmTransimit()接口只是傳遞長度信息、地址信息,數據是通過Dcm_CopyTxData()接口傳遞至PduR,當數據傳輸成功后,PduR通過調用Dcm_TpTxConfirmation()接口告知DCM數據接收成功。
管理安全等級:通過Dcm_GetSecurityLevel()和DslInternal_SetSecurityLevel()兩個接口分別用于獲取當前的安全等級和設置安全等級
在配置層面,DSL(Diag Session Layer)的配置參數主要包括以下幾個方面:

診斷幀配置:涵蓋物理尋址和功能尋址的設置
通信緩沖區配置:定義單次通信中允許的最大Buffer大小
時間參數配置:
回復0x78的時間設置
為防止診斷服務異常,允許0x78的最大次數。
這些參數的合理配置對于確保診斷通信的穩定性和可靠性至關重要

三、診斷分發層(DSD)

DSD模塊主要用于診斷服務的分配、服務執行環境及條件,會從接收的數據識別請求的服務類型(如0x10、0x27、0x22等),主要功能如下:

檢查診斷服務:當診斷會話層(DSL)接收到新的診斷請求時,它會通過內部接口通知診斷服務調度器(DSD),如圖所示。DSD 會調用 Dcm_GetSesCtrlType() 和 Dcm_GetSecurityLev

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94773.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94773.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94773.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HFSS許可證與版本兼容性

在電磁仿真領域,HFSS(High Frequency Structure Simulator)軟件因其卓越的性能和廣泛的應用而備受贊譽。然而,為了確保用戶能夠充分利用HFSS的功能并獲得流暢的仿真體驗,許可證與版本兼容性成為了不可忽視的重要因素。…

Java有幾種文件拷貝方式,哪一種效率最高?

文章目錄一、Java文件拷貝的5種方式1. 傳統IO流(字節流/字符流)手動拷貝2. NIO的FileChannel拷貝(transferTo/transferFrom)3. Java 7的Files.copy()工具類4. 緩沖流(BufferedInputStream/BufferedOutputStream&#x…

【前端教程】JavaScript 基礎總結

JavaScript 的三種使用方式 內部引入(常用)外部引入(一個 js 文件可以被多個頁面共同使用)行內(少用) 區別: 內部引入只能夠使用單頁面外部引入可以應用到多個頁面行內是直接在 HTML 標簽內寫&a…

學習-XMind 思維導圖

XMind 是 2006 年誕生的思維導圖軟件,全球超 1 億用戶,能可視化呈現復雜信息,適用于學習、工作場景。它功能全(支持多圖表結構)、易操作、顏值高、跨平臺且安全,因此受青睞。其界面有菜單欄(含各…

Ubuntu下MySQL、MongoDB與Redis:從安裝到協同的完整指南

目錄 一、MySQL:穩定可靠的關系型數據庫 1.1 安裝與配置 1.2 性能優化實戰 二、MongoDB:靈活的文檔數據庫 2.1 安裝與配置 2.2 性能優化策略 三、Redis:高性能內存數據庫 3.1 安裝與配置 3.2 高級應用場景 四、協同實戰&#xff1a…

【傳奇開心果系列】Flet框架帶圖標帶交互動畫的辦公用品費用占比統計餅圖自定義模板

Flet帶圖標帶交互動畫的辦公用品費用占比統計餅圖自定義模板 一、效果展示GIF動圖 二、應用場景介紹 三、 特色說明 四、小結 五、源碼下載地址 一、效果展示GIF動圖 二、應用場景介紹 該應用是一個基于 Flet 框架開發的交互式辦公用品費用占比統計餅圖。適用于以下場景: 企業…

docker鏡像在containerd為底座的k8s中使用

docker鏡像和container鏡像為什么不能直接共通 Docker 鏡像和 containerd 鏡像本質上格式兼容(都遵循 OCI 鏡像規范),但默認情況下 “不能互相識別”,核心原因是存儲位置、命名空間和工具鏈的隔離,而非鏡像格式本身的差…

Java-反射機制

在 Java 編程中,“反射” 是一個貫穿基礎與進階的核心概念,它允許程序在運行時動態獲取類的結構、調用方法、操作屬性,甚至創建對象 —— 無需在編譯期明確知道類的具體信息。一、反射是什么?首先明確一個關鍵定義:Jav…

ARM相關的基礎概念和寄存器

目錄 1、機器碼 2、匯編指令 3、匯編指令集 4、架構 5、內核(CPU中的核心) 6、處理器 7、復雜指令集和精簡指令集 7.1復雜指令集 7.2精簡指令集 7.3修改 8、內核中的寄存器阻值 8.1溜達存儲類型 8.2、AMR處理器(內核&#xff09…

PPT處理控件Aspose.Slides教程:在 C# 中將 PPTX 轉換為 Markdown

將您的PowerPoint幻燈片轉換為Markdown格式,使其兼容 AI 技術。在這個人工智能驅動的時代,GPT和Claude等大模型能夠讀取和生成基于 Markdown 的內容。此外,Markdown 還可用于博客文章和文檔。因此,作為一名 .NET 開發人員&#xf…

Python 多進程(multiprocessing)

文章目錄1. 多進程概述1.1. 多進程的概念1.2. 多進程注意事項2. 進程調用方式2.1. Process 類2.1.1. 構造方法2.1.2. 實例方法2.1.3. 屬性2.2. 面向過程2.3. 面向對象3. 進程間通訊3.1. Queues3.2. Pipes3.3. Managers(進行共享數據)4. 進程同步5. 進程池…

推薦系統王樹森(五)重排多樣性提升

重排01:物品相似性的度量、提升多樣性的方法_嗶哩嗶哩_bilibili github-PPT 前面的討論中提到 在鏈路的最后進行重排,重排要插入廣告和運營筆記,還要做規則打散,提高推薦的豐富性,比如說一個人特別愛看足球&#xff…

Axios多實例封裝

Axios多實例封裝方案 我將為您提供一個完整的Axios多實例封裝方案,包含基礎封裝、多實例管理和使用示例。 設計思路 創建基礎axios實例封裝,支持請求/響應攔截器實現多實例管理器,支持不同API端點配置提供統一的錯誤處理機制支持請求取消功…

為量化從業者提供免費穩定的股票數據源:免費股票數據API獲取實時數據、歷史數據與技術指標(含多語言代碼指南)實例代碼演示與API文檔說明

? 近年來,股票量化分析因其科學、系統的研究方法,日益成為市場熱點。而進入這一領域的首要步驟,正是獲取全面、準確的股票數據——無論是實時交易行情、歷史走勢記錄,還是企業財務與基本面信息,都是支撐量化策略的核心…

[Sync_ai_vid] UNet模型 | 音頻特征提取器(Whisper)

第2章:LatentSync UNet模型 在第1章:唇形同步推理流程中,我們了解到唇形同步推理流程如同電影導演,協調各"專家模塊"生成完美唇形同步視頻。 本章將深入解析這個"工作室"中最核心的專家——LatentSync UNet…

工業級TF卡NAND + 北京君正 + Rk瑞芯微的應用

目錄前言一:操作CS創世 SD NAND的常用命令1.查看SD設備2.掛載分區3.卸載分區4.分區管理5.格式化分區6.簡單讀寫二:SD底層協議簡要介紹三:對CS創世 SD NAND進行讀寫操作的三大方式1. 使用dd命令2. 使用塊設備的標準接口3. 使用ioctl產生系統調…

深入解析Java并發編程與單例模式

目錄 一、調度(四) 1.隨機調度大環境 二、鎖(二) 1.位置 2.無鎖阻塞 3.重入鎖 4.連續鎖 4.1措施 三、線程方法(二) 1.wait 2.notify 3.wait-notify指位后移 3.1可能時再檢查 3.1.1join(二) 3.1.1.1可能時再檢查死亡 四、單例模式 1.實現 1.1private構造器 1…

java通過redis簡單實現分布式鎖

目錄 一、簡介 二、代碼實現 1、maven添加依賴 2、核心邏輯代碼 3、使用方式 三、總結 一、簡介 我們知道在Java中可以通過關鍵字synchronized來防止并發引起的問題,而分布式中就需要考慮分布式鎖了,今天來講一個比較簡單的實現,通過re…

網絡編程--TCP/UDP Socket套接字

網絡編程 程序員主要操作應用層和傳輸層來實現網絡編程,也就是自己寫一個程序,讓這個程序可以使用網絡來通信,這個程序屬于應用層,實現通訊就需要獲取到傳輸層提供的服務 這就需要使用傳輸層提供的api UDP: 無連接,不可…

claude-code訂閱方案

Claude Code 訂閱方案對比 編寫日期:2025 年 08 月 20 日 🏷? 專業版 Pro ($20/月,$200/年) 主要特性 可用模型:Claude Sonnet 4(Claude Opus 4成本太高,謹慎選擇)適用場景:適合輕度…