一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DCM是什么?DCM在AUTOSAR中的位置

冬至子 ? 來源:日拱一卒不期而至 ? 作者:用洗潔精的和尚 ? 2023-07-08 16:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DCM是什么

DCM全稱Diagnostic Communication Manager,它位于AUTOSAR基礎(chǔ)軟件的服務(wù)層,它的主要作用是為開發(fā)和生產(chǎn)階段提供與診斷儀交互的診斷服務(wù)。

DCM模塊可以保證診斷數(shù)據(jù)流的正確性,管理診斷狀態(tài),比如會話狀態(tài)和安全訪問等級狀態(tài)。DCM會檢查某個診斷請求是否被支持,以及在當(dāng)前的會話狀態(tài)和安全訪問等級下下該診斷請求會不會被執(zhí)行。

DCM在AUTOSAR中的位置

DCM模塊在AUTOSAR架構(gòu)中的位置如下圖:

圖片

DCM模塊獨立于網(wǎng)絡(luò)總線,也就是說DCM不區(qū)分接收到的診斷請求是來自于CAN總線還是LIN總線,抑或是Flexray總線,所有與總線有關(guān)的處理都在PDUR模塊完成。DCM模塊從PDUR接收診斷報文,然后在DCM內(nèi)部完成檢查和處理。在這個過程中DCM將會與其他BSW模塊或SWC(通過RTE)進行交互,以獲得需要的數(shù)據(jù)或者執(zhí)行相應(yīng)的命令。DCM最終會收集并整合信息,最后發(fā)送響應(yīng)報文給PDUR模塊。

DCM包含的子模塊

為了合理的分配DCM的各項任務(wù),DCM被劃分為如下三個子模塊:

  • DSL(Diagnostic Session Layer):處理診斷請求和響應(yīng)的數(shù)據(jù)流,監(jiān)督和管理診斷協(xié)議時序,管理會話和安全訪問狀態(tài)。
  • DSD(Diagnostic Service Dispatcher):檢查診斷請求的有效性(診斷ID是否支持、會話狀態(tài)、安全等級),把有效的診斷請求委托給DSP,并追蹤診斷請求的處理
  • DSP(Diagnostic Service Processing):檢查診斷請求格式以及診斷子服務(wù)是否支持,獲得需要返回的數(shù)據(jù)或者執(zhí)行需要被調(diào)用的函數(shù)(調(diào)用SWC的函數(shù)寫數(shù)據(jù)到NVM,調(diào)用DEM的服務(wù)獲得DTC狀態(tài))、填充response的數(shù)據(jù)

DCM各個子模塊及其他軟件模塊之間的交互

下面利用一張圖來厘清DCM各個子模塊之間的關(guān)系,以及與其他軟件模塊的交互關(guān)系。

圖片

現(xiàn)在通過診斷儀發(fā)送一條配置車輛識別碼(VIN)的診斷命令,看一下DCM的整個處理流程。

  1. 首先這條診斷報文(0x2E, 0xF1, 0x90, ......)會經(jīng)由PDUR傳送到DSL,DSL會先確認(rèn)當(dāng)前是否有其他診斷請求正在處理,如果沒有將會把該診斷請求發(fā)送給DSD模塊。
  2. DSD模塊收到0x2E的診斷報文后,會先判斷服務(wù)ID 0x2E在不在當(dāng)前的Service Identifier Table中,如果不在將會拒絕該請求(一般情況下ECU都是支持0x2E服務(wù)的,這里只是舉例子),如果該服務(wù)ID在Service Identifier Table中,接下來要判斷當(dāng)前的診斷會話(從DSL獲取)是否為擴展會話,以及當(dāng)前的安全訪問狀態(tài)是否允許0x2E寫入。如果所有檢查通過,則會把該診斷請求委托給DSP模塊。否則將會拒絕該診斷請求,并通知DSL發(fā)送響應(yīng)的負(fù)反饋到PDUR。
  3. DSP收到0x2E的診斷請求后,會先檢查請求的格式,比如總的報文長度是否符合定義,以及診斷子服務(wù)0xF190是否支持。如果校驗通過則調(diào)用APP層相應(yīng)的SWC的函數(shù),把VIN數(shù)據(jù)寫入到NVM。然后準(zhǔn)備正響應(yīng)報文并發(fā)送給DSD,DSD再發(fā)送給DSL,最后通過PDUR發(fā)送到相應(yīng)到網(wǎng)絡(luò)總線上。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LIN總線
    +關(guān)注

    關(guān)注

    19

    文章

    110

    瀏覽量

    28175
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    378

    瀏覽量

    22627
  • DCM
    DCM
    +關(guān)注

    關(guān)注

    0

    文章

    166

    瀏覽量

    27077
  • ECU軟件
    +關(guān)注

    關(guān)注

    1

    文章

    13

    瀏覽量

    10421
  • DTC控制
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    1292
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    轉(zhuǎn)載----DCM使用詳解

    輸出,但是進入全局時鐘網(wǎng)的路徑最多只有4個。DCM位置在哪?我們以Spartan3系列為例。FPGA看上去就是一個四方形。最邊緣是IO pad了。除去IO pad,內(nèi)部還是一個四方形。四個角上各趴著
    發(fā)表于 09-24 15:04

    DCMFPGA中指的是什么?

    上,BUFG的輸出引腳反饋回來接在DCM的反饋時鐘腳CLKFB上。另外,FPGA里,只有BUFG的輸出引腳接在時鐘網(wǎng)絡(luò)上,所以一般來說你可以不使用DCM,但你一定會使用BUFG。DCM
    發(fā)表于 08-31 09:08

    怎么代碼實現(xiàn)DCM

    Counter2_DCM isPort(clk:STD_LOGIC;重置:STD_LOGIC; clk0:STD_LOGIC
    發(fā)表于 02-27 10:24

    是否可以DCM保持復(fù)位期間使用DCM的狀態(tài)輸出

    嗨,我們在這里有一個Spartan6設(shè)備,想知道我們是否可以DCM保持復(fù)位期間使用DCM的狀態(tài)輸出。啟動時,我們希望將DCM保持
    發(fā)表于 05-15 08:34

    如何鎖定DCM

    你好在DCM中有一個RESET輸入引腳。我已將RESET引腳指定為分配RESET = ~LOCKED // DCM鎖定,希望這將使RESET從開始起至少保持三個時鐘周期。當(dāng)我使用這種類型的賦值
    發(fā)表于 06-06 07:23

    為什么ISE無法將DCM置于設(shè)計?

    需要放置特定的相對位置表格。RPM網(wǎng)格需要的相對坐標(biāo)(可在FPGA編輯器中看到)顯示
    發(fā)表于 08-05 09:10

    BUFG到DCM怎么進行連接

    bufg_inst。為了正確操作,它們都應(yīng)放在同一半上。BUFGCTRL輸入由IBUFDS驅(qū)動,均在上半部分。 DCM位于下半部分。 但是,Virtex-5用戶指南第47頁說明:2。 BUFGCTRL
    發(fā)表于 06-02 13:49

    什么是CCM和DCM

    內(nèi)電感磁通從不回到0,功率管閉合時,線圈還有電流流過。DCM,(Discontinuous Conduction Mode)非連續(xù)導(dǎo)通模式:開關(guān)周期內(nèi),電感電流總會會到0,意...
    發(fā)表于 10-29 09:03

    rtthread dcm組件dcm_cache_save接口mkdir:/data failed怎樣去解決呢

    然后確認(rèn)了宏#define DCM_DEFAULT_STORAGE_NAME "/user/data/db/dcm" rtconfig.h已經(jīng)聲明,同時業(yè)務(wù)代碼
    發(fā)表于 01-27 06:43

    FPGA設(shè)計DCM的原理分析及應(yīng)用研究

    為了應(yīng)用FPGA內(nèi)嵌的數(shù)字時鐘管理(DCM)模塊建立可靠的系統(tǒng)時鐘。首先對DCM的工作原理進行分析,然后根據(jù)DCM的工作原理給出了一種DCM
    發(fā)表于 07-28 17:03 ?28次下載

    如何使用DCM,DCM使用說明

    DCM主要功能1. 分頻倍頻:DCM可以將輸入時鐘進行multiply或者divide,從而得到新的輸出時鐘。2. 去skew:DCM還可以消除clock的skew,所謂skew就是由于傳輸引起的同一時鐘到達(dá)
    發(fā)表于 06-05 11:48 ?8425次閱讀
    如何使用<b class='flag-5'>DCM</b>,<b class='flag-5'>DCM</b>使用說明

    賽靈思DCM概述和應(yīng)用技巧

    DCM:即 Digital Clock Manager 數(shù)字時鐘管理,關(guān)于DCM的作用: 顧名思義DCM的作用就是管理,掌控時鐘的專用模塊。
    發(fā)表于 02-11 11:30 ?1581次閱讀

    使用DCM怎樣消除時鐘Skew?

    什么叫DCM(Digital Clock Management)? DCM內(nèi)部是DLL(Delay Lock Loop(?)結(jié)構(gòu),對時鐘偏移量的調(diào)節(jié)是通過長的延時線形成的。DCM的參數(shù)里有一個PHASESHIFT(相移),可以從
    的頭像 發(fā)表于 07-15 11:28 ?5694次閱讀

    DCM與CCM

    1,什么是DCM斷續(xù)工作模式,CCM連續(xù)工作模式。
    發(fā)表于 11-07 12:51 ?26次下載
    <b class='flag-5'>DCM</b>與CCM

    rtthread dcm組件dcm_cache_save接口mkdir:/data failed解決辦法

    然后確認(rèn)了宏#define DCM_DEFAULT_STORAGE_NAME "/user/data/db/dcm" rtconfig.h已經(jīng)聲明,同時業(yè)務(wù)代碼
    發(fā)表于 12-03 18:06 ?6次下載
    rtthread <b class='flag-5'>dcm</b>組件<b class='flag-5'>dcm</b>_cache_save接口mkdir:/data failed解決辦法