<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      UDS診斷協(xié)議三級會話安全體系:默認(rèn)會話、擴(kuò)展會話與編程會話詳解(附代碼實(shí)現(xiàn))

      0
      分享至

      UDS協(xié)議通過0x10(診斷會話控制)服務(wù)定義了三級會話體系,包括默認(rèn)會話(Default Session)、擴(kuò)展會話(Extended Session)和編程會話(Programming Session)。這套安全體系實(shí)現(xiàn)了不同權(quán)限級別的分層隔離,確保了診斷和刷寫流程的安全性。


      三級安全體系剖析

      會話層級

      子功能碼

      “禁區(qū)”類比

      核心機(jī)制

      默認(rèn)會話 0x01

      公共區(qū)域

      ECU上電后的初始狀態(tài)。這是權(quán)限最低的會話,通常只支持信息讀取等基礎(chǔ)服務(wù)。

      擴(kuò)展會話 0x03

      工程師工作區(qū)

      權(quán)限更高,可進(jìn)行參數(shù)寫入等操作。進(jìn)入此模式后,通常需要先通過“安全訪問”認(rèn)證。

      編程會話 0x02

      手術(shù)室

      最高權(quán)限,用于執(zhí)行固件更新、內(nèi)存擦寫等敏感操作。


      注:這些會話與0x27安全訪問服務(wù)緊密配合,構(gòu)成了UDS的核心安全防線。
      會話切換與狀態(tài)管理

      會話切換并非隨意進(jìn)行,它遵循一套嚴(yán)謹(jǐn)?shù)倪壿嫞⒂啥〞r器機(jī)制進(jìn)行管理,防止ECU長時間停留在高權(quán)限狀態(tài)。

      標(biāo)準(zhǔn)會話切換路徑

      一個常見的診斷會話切換路徑及報文示例通常如下:

      graph TD
      Default[默認(rèn)會話 (Default) 0x10 01]

      Default -->|診斷請求| Extended[擴(kuò)展會話 (Extended) 0x10 03
      Request: 10 03
      Positive: 50 03]
      Extended -->|安全訪問| SA{安全訪問 (27 Service)}

      SA -- 驗(yàn)證通過 --> Extended_Ready[擴(kuò)展會話(已解鎖)]
      Extended_Ready -->|編程請求| Programming[編程會話 (Programming) 0x10 02
      Request: 10 02
      Positive: 50 02]

      Default -.->|直接請求失敗| x((X))
      Programming -.->|不可直接返回| Extended

      關(guān)鍵切換邏輯

      1. 路徑要求 :必須從 默認(rèn)會話 切換到 擴(kuò)展會話 ,再從擴(kuò)展會話切換到 編程會話 。通常不能從默認(rèn)會話直接切換到編程會話。

      2. 會話保持 :進(jìn)入擴(kuò)展或編程會話后,診斷儀需周期性發(fā)送 ** TesterPresent 服務(wù) (ID: 0x3E )**,以維持非默認(rèn)會話狀態(tài),避免因超時而自動退回默認(rèn)會話。

      超時管理

      會話超時是UDS協(xié)議中重要的安全機(jī)制,其核心時間參數(shù)有:

      1. S3 Server time : 非默認(rèn)會話在無診斷請求時,能保持的最大空閑時間。

      2. P2 Server : ECU 處理單幀診斷請求的典型超時時間。

      3. P2 Server *: 在需要更多處理時間 (如下載/擦除) 時,響應(yīng)超時時間的最大值。

      代碼實(shí)現(xiàn)剖析

      以下代碼示例展示了如何在嵌入式ECU中實(shí)現(xiàn)這些核心邏輯(基于常見UDS協(xié)議棧實(shí)現(xiàn))。

      0x10 服務(wù):會話切換核心處理

      當(dāng)診斷儀發(fā)送一個切換會話的請求時(如 10 03),ECU的Dcm_Dcm_ProcessRequest函數(shù)會接收到報文,并根據(jù)以下邏輯進(jìn)行處理:

      /* 全局變量:用于存儲診斷會話狀態(tài)和應(yīng)用計(jì)時器 */
      static Dcm_DiagnoticSessionType Dcm_CurrDiagSession = DCM_DEFAULT_SESSION; // 當(dāng)前會話狀態(tài)
      static uint16 Dcm_S3ServerTimer = 0; // S3 Server超時計(jì)時器,單位ms
      static uint8 Dcm_TimerRunning = 0; // 計(jì)時器運(yùn)行標(biāo)志

      /** @brief UDS 0x10 服務(wù)的主處理函數(shù)
      * @param MsgBuf 指向接收到的UDS請求報文的指針
      * @param RespBuf 指向響應(yīng)報文緩沖區(qū)的指針(輸出參數(shù))
      * @return 函數(shù)執(zhí)行狀態(tài)(通常是E_OK表示成功,E_NOT_OK表示失敗)
      */
      Std_ReturnType Dcm_DiagnosticSessionControl (uint8* MsgBuf, uint8* RespBuf)
      {
      uint8 subFunction = MsgBuf[1]; // 獲取請求的子功能 (01/02/03)
      uint8 retVal = 0; // 返回值

      /* 1. 執(zhí)行通用條件檢查 */
      retVal = Dcm_PreconditionsCheck(MsgBuf); // 檢查是否支持該服務(wù),格式是否正確

      if (retVal != NRC_POS_RESP)
      {
      RespBuf[0] = 0x7F; // 負(fù)響應(yīng)ID
      RespBuf[1] = 0x10; // 被拒絕的服務(wù)ID
      RespBuf[2] = retVal; // 負(fù)響應(yīng)碼
      return E_OK;
      }

      /* 2. 根據(jù)請求的子功能,執(zhí)行特定的會話切換邏輯 */
      switch (subFunction)
      {
      case DCM_DEFAULT_SESSION: // 子功能碼 0x01 : 切換到默認(rèn)會話
      if (Dcm_CurrDiagSession != DCM_DEFAULT_SESSION)
      {
      /* 在退出非默認(rèn)會話前,調(diào)用清理函數(shù) */
      Dcm_ClearSessionResources(Dcm_CurrDiagSession);
      Dcm_CurrDiagSession = DCM_DEFAULT_SESSION;
      }
      /* 重新初始化默認(rèn)會話:重置所有診斷相關(guān)的臨時配置 */
      Dcm_ReinitializeDefaultSession();
      break;

      case DCM_PROGRAMMING_SESSION: // 子功能碼 0x02 : 切換到編程會話
      /* 檢查切換條件1:是否由擴(kuò)展會話發(fā)起 */
      if (Dcm_CurrDiagSession != DCM_EXTENDED_DIAGNOSTIC_SESSION)
      {
      RespBuf[0] = 0x7F;
      RespBuf[1] = 0x10;
      RespBuf[2] = NRC_7E; // 服務(wù)序列中的子功能不支持(當(dāng)前會話不支持該切換)
      return E_OK;
      }
      /* 檢查切換條件2:安全訪問是否已解鎖(通常需要高安全級別) */
      if (Dcm_SecurityLevel != DCM_SEC_LVL_PROGRAMMING) // 假設(shè)DCM_SEC_LVL_PROGRAMMING是編程安全級別
      {
      RespBuf[0] = 0x7F;
      RespBuf[1] = 0x10;
      RespBuf[2] = NRC_33; // 安全訪問未解鎖
      return E_OK;
      }
      /* 檢查切換條件3:車輛狀態(tài)是否允許(如車速、電壓等) */
      if (Dcm_CheckVehicleConditions() != E_OK)
      {
      RespBuf[0] = 0x7F;
      RespBuf[1] = 0x10;
      RespBuf[2] = NRC_22; // 條件不滿足
      return E_OK;
      }
      /* 執(zhí)行編程會話的清理和準(zhǔn)備工作 */
      Dcm_ClearSessionResources(Dcm_CurrDiagSession);
      Dcm_CurrDiagSession = DCM_PROGRAMMING_SESSION;
      /* 重置并重新配置適用于編程會話的計(jì)時參數(shù)(如超時間隔) */
      Dcm_ConfigureTimingParameters(DCM_PROGRAMMING_SESSION);
      break;

      case DCM_EXTENDED_DIAGNOSTIC_SESSION: // 子功能碼 0x03 : 切換到擴(kuò)展會話
      /* 檢查切換條件:是否在默認(rèn)會話下請求切換 */
      if (Dcm_CurrDiagSession != DCM_DEFAULT_SESSION)
      {
      RespBuf[0] = 0x7F;
      RespBuf[1] = 0x10;
      RespBuf[2] = NRC_7E;
      return E_OK;
      }
      Dcm_ClearSessionResources(Dcm_CurrDiagSession);
      Dcm_CurrDiagSession = DCM_EXTENDED_DIAGNOSTIC_SESSION;
      break;

      default: // 其他不支持的子功能
      RespBuf[0] = 0x7F;
      RespBuf[1] = 0x10;
      RespBuf[2] = NRC_12; // 子功能不支持
      return E_OK;
      }

      /* 3. 構(gòu)造0x10服務(wù)的肯定響應(yīng)報文 */
      RespBuf[0] = 0x50; // 正響應(yīng)ID
      RespBuf[1] = subFunction; // 回聲請求的子功能
      RespBuf[2] = (uint8)(Dcm_P2Server_Max >> 8); // 時間參數(shù) P2 Server Max 高位字節(jié)
      RespBuf[3] = (uint8)(Dcm_P2Server_Max & 0xFF); // 時間參數(shù) P2 Server Max 低位字節(jié)
      RespBuf[4] = (uint8)(Dcm_P2StarServer_Max >> 8); // 時間參數(shù) P2* Server Max 高位字節(jié)
      RespBuf[5] = (uint8)(Dcm_P2StarServer_Max & 0xFF);// 時間參數(shù) P2* Server Max 低位字節(jié)
      RespBuf[6] = 0x01; // 可選參數(shù),通常為0x01
      RespBuf[7] = 0xF4; // 可選參數(shù),通常為0xF4

      /* 4. 重置S3 Server超時計(jì)時器 */
      Dcm_S3ServerTimer = Dcm_S3ServerMax; // 重新加載定時器初始值
      Dcm_TimerRunning = 1; // 啟動計(jì)時器

      return E_OK;
      }
      會話超時管理

      ECU的系統(tǒng)Tick中斷或后臺主循環(huán)中,需要持續(xù)處理會話的超時邏輯。其核心思想是:當(dāng)ECU處于某個非默認(rèn)會話時,會啟動一個計(jì)時器(S3 Server),并在計(jì)時器到期后將會話切回默認(rèn)會話。

      /** @brief 定時器服務(wù)函數(shù)(通常在1ms或10ms中斷/循環(huán)中被調(diào)用) */
      void Dcm_MainFunction_Timer (void)
      {
      /* 1. 會話超時管理 (S3 Server) */
      if (Dcm_TimerRunning == 1) // 如果有計(jì)時器正在運(yùn)行
      {
      if (Dcm_S3ServerTimer != 0U) // 如果計(jì)時器未歸零
      {
      Dcm_S3ServerTimer--; // 計(jì)時器遞減
      }

      if (Dcm_S3ServerTimer == 0U) // 如果計(jì)時器歸零,會話超時
      {
      Dcm_CurrDiagSession = DCM_DEFAULT_SESSION; // 強(qiáng)制切換回默認(rèn)會話
      Dcm_TimerRunning = 0; // 停止計(jì)時器
      /* 通知系統(tǒng):會話已因超時而退出,重置任何與之前會話相關(guān)的配置 */
      Dcm_NotifySessionTimeout();
      }
      }

      /* 2. 其他定時管理,如P2/P2*服務(wù)器的超時監(jiān)控等 */
      // ...
      }
      注意:上述代碼為典型設(shè)計(jì)思路,實(shí)際產(chǎn)品級實(shí)現(xiàn)通常在AUTOSAR DCM(診斷通信管理)模塊的Dcm_DiagnosticSessionControl_SubFnc函數(shù)和Dcm_Timer函數(shù)中完成。
      典型安全刷寫流程

      一個完整的、安全的ECU軟件升級流程,會充分體現(xiàn)這套三級安全體系。通常包括以下步驟:

      1. 進(jìn)入擴(kuò)展會話 :診斷儀發(fā)送 10 03 ,ECU進(jìn)入擴(kuò)展會話,解鎖部分功能。

      2. 安全訪問認(rèn)證 :診斷儀通過 27 服務(wù)(請求種子->發(fā)送密鑰)通過ECU的高級別身份驗(yàn)證。成功后,ECU解鎖編程相關(guān)權(quán)限。

      3. 刷寫前預(yù)檢查 :使用 31 例程控制服務(wù)檢查刷寫條件(如電壓、車速),確保環(huán)境安全。

      4. 進(jìn)入編程會話 :診斷儀發(fā)送 10 02 。ECU驗(yàn)證當(dāng)前在擴(kuò)展會話且通過安全認(rèn)證后切換至編程會話,并 停止應(yīng)用軟件運(yùn)行 ,準(zhǔn)備接收新固件。

      5. 執(zhí)行固件更新 :通過 34 , 36 , 37 等服務(wù),將新固件數(shù)據(jù)下載到ECU的特定內(nèi)存區(qū)域(如Flash)。

      6. 復(fù)位與退出 :更新完成后,發(fā)送 11 01 硬復(fù)位ECU,使其重啟。此時ECU會 自動回到默認(rèn)會話 ,新固件開始運(yùn)行。

      這種分級設(shè)計(jì)有效確保了即使在安全認(rèn)證失敗的情況下,ECU也不會被惡意刷寫,保護(hù)了核心功能安全。

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      詹妮弗·洛佩茲穿束胸西裝亮相,三套造型都踩職場紅線

      詹妮弗·洛佩茲穿束胸西裝亮相,三套造型都踩職場紅線

      影視情報室
      2026-05-15 01:20:08
      邪門!少了30多萬中國人消費(fèi),日本的旅游收入反而比以前多了

      邪門!少了30多萬中國人消費(fèi),日本的旅游收入反而比以前多了

      壹只灰鴿子
      2026-05-13 10:44:56
      《圍城》:對伴侶生理性厭惡,可能不是不愛,而是忽視了這個危機(jī)

      《圍城》:對伴侶生理性厭惡,可能不是不愛,而是忽視了這個危機(jī)

      陳意小可愛
      2026-05-15 00:58:09
      港獨(dú)、罵中國人,如今卻還想來內(nèi)地?fù)平穑@3位香港明星令人作嘔

      港獨(dú)、罵中國人,如今卻還想來內(nèi)地?fù)平穑@3位香港明星令人作嘔

      傲傲講歷史
      2026-04-19 01:20:08
      高三曬家長“開天窗”穿搭,被嘲:該端莊的時候,你解扣子干嘛?

      高三曬家長“開天窗”穿搭,被嘲:該端莊的時候,你解扣子干嘛?

      妍妍教育日記
      2026-05-10 11:50:07
      徹底瞞不住了,何九華承認(rèn)自己當(dāng)?shù)Q孩子已2歲,王鷗回應(yīng)打臉

      徹底瞞不住了,何九華承認(rèn)自己當(dāng)?shù)Q孩子已2歲,王鷗回應(yīng)打臉

      小樾說歷史
      2026-05-14 11:42:08
      每體:老佛爺和穆里尼奧達(dá)協(xié)議,若選舉程序結(jié)束且連任就官宣

      每體:老佛爺和穆里尼奧達(dá)協(xié)議,若選舉程序結(jié)束且連任就官宣

      懂球帝
      2026-05-16 04:32:03
      搬起石頭砸自己的腳!張本智和父親公開放話,一句話惹怒網(wǎng)友

      搬起石頭砸自己的腳!張本智和父親公開放話,一句話惹怒網(wǎng)友

      小彭美識
      2026-05-15 13:54:41
      高考落幕少女誕下女嬰,父母追問生父身份后,竟對親生女兒下毒手

      高考落幕少女誕下女嬰,父母追問生父身份后,竟對親生女兒下毒手

      罪案洞察者
      2025-08-14 15:00:53
      段鵬79歲臨終前說出隱情:和尚死在黑云寨,是因?yàn)楹蜕兄懒恕?>
    </a>
        <h3>
      <a href=呆子的故事
      2026-02-10 14:44:11
      俄多地爆炸,近400架烏克蘭無人機(jī)襲擊俄羅斯

      俄多地爆炸,近400架烏克蘭無人機(jī)襲擊俄羅斯

      山河路口
      2026-05-15 20:02:31
      全市中到大雨,局部暴雨!有雷電!濟(jì)南將開啟“雨雨雨”模式

      全市中到大雨,局部暴雨!有雷電!濟(jì)南將開啟“雨雨雨”模式

      齊魯壹點(diǎn)
      2026-05-15 22:08:24
      為什么男女一旦發(fā)生關(guān)系,一輩子都忘不掉

      為什么男女一旦發(fā)生關(guān)系,一輩子都忘不掉

      加油丁小文
      2026-04-23 11:00:10
      央視直播16日歐洲乒乓球冠軍聯(lián)賽,樊振東代表薩爾布呂肯出戰(zhàn)

      央視直播16日歐洲乒乓球冠軍聯(lián)賽,樊振東代表薩爾布呂肯出戰(zhàn)

      乒乓球球
      2026-05-15 23:20:01
      特朗普二兒媳穿刺繡旗袍驚艷國宴!配迪奧包包太美了,這回好驚艷

      特朗普二兒媳穿刺繡旗袍驚艷國宴!配迪奧包包太美了,這回好驚艷

      好賢觀史記
      2026-05-15 15:10:23
      白雨露沖擊世錦賽三連冠:女子斯諾克進(jìn)步很大,不愿貼上“女選手”標(biāo)簽

      白雨露沖擊世錦賽三連冠:女子斯諾克進(jìn)步很大,不愿貼上“女選手”標(biāo)簽

      上觀新聞
      2026-05-16 04:48:05
      阿根廷足壇爆發(fā)口水戰(zhàn):迪馬利亞怒斥米利托“輸不起”

      阿根廷足壇爆發(fā)口水戰(zhàn):迪馬利亞怒斥米利托“輸不起”

      星耀國際足壇
      2026-05-15 11:09:12
      抗戰(zhàn)時一地下黨被捕,偽鄉(xiāng)長看后踢了對方一腳:共產(chǎn)黨會要這蠢貨

      抗戰(zhàn)時一地下黨被捕,偽鄉(xiāng)長看后踢了對方一腳:共產(chǎn)黨會要這蠢貨

      浩渺青史
      2026-05-12 20:43:52
      黃一鳴回應(yīng):沒結(jié)婚一天找8個男的也沒關(guān)系,承認(rèn)和40歲大叔交往過

      黃一鳴回應(yīng):沒結(jié)婚一天找8個男的也沒關(guān)系,承認(rèn)和40歲大叔交往過

      橙星文娛
      2026-04-24 11:20:44
      兩年輸光2000億資產(chǎn)的王健林,可能是中國地產(chǎn)的最后贏家

      兩年輸光2000億資產(chǎn)的王健林,可能是中國地產(chǎn)的最后贏家

      流蘇晚晴
      2026-05-12 19:20:28
      2026-05-16 08:40:49
      新能源自動駕駛 incentive-icons
      新能源自動駕駛
      專注于半導(dǎo)體行業(yè)資訊
      977文章數(shù) 347關(guān)注度
      往期回顧 全部

      科技要聞

      直降千元起步!蘋果華為率先開啟618讓利

      頭條要聞

      魯比奧訪華期間回應(yīng)媒體提問:中美兩國關(guān)系至關(guān)重要

      頭條要聞

      魯比奧訪華期間回應(yīng)媒體提問:中美兩國關(guān)系至關(guān)重要

      體育要聞

      德約科維奇買的球隊(duì),從第6級聯(lián)賽升入法甲

      娛樂要聞

      張嘉譯和老婆的差距讓人心酸

      財(cái)經(jīng)要聞

      造詞狂魔賈躍亭

      汽車要聞

      高爾夫GTI刷新紐北紀(jì)錄 ID. Polo GTI迎全球首秀

      態(tài)度原創(chuàng)

      教育
      本地
      旅游
      手機(jī)
      健康

      教育要聞

      26年高考電氣工程分?jǐn)?shù)會漲嗎?

      本地新聞

      用蘇繡的方式,打開江西婺源

      旅游要聞

      縉云·巫山時序丨劉紅梅:深山叢林

      手機(jī)要聞

      vivo雙旗艦新機(jī)曝光:主打方向各不相同,讓選擇不糾結(jié)!

      專家揭秘干細(xì)胞回輸?shù)陌踩L(fēng)險

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 国产精品亚韩精品无码a在线| 无码国产69精品久久久久孕妇| 国产精品_国产精品_k频道| 久久第九九| V一区无码内射国产| 冷水江市| 99久久国产综合精品2020| 国产午夜理论片不卡| 亚洲国产精品第一区二区 | 久久精品无码一区二区三区| 福利导航网| av免费网址在线观看| 91亚洲国产成人精品福利| www.97| 天堂av色综合久久天堂| 国产成人亚洲日韩欧美久久| 波多野结衣无码视频一区二区三区| 国产亚洲视频在线观看网址| 内射人妻无码色| 国产AV影片麻豆精品传媒| 一本伊人久久| 亚洲精品妻| AV黄色| 日本黄色电影网址| 免费无遮挡无码视频网站| 久久97久久99久久综合| 精品人妻少妇一区二区三区在线| ..真实国产乱子伦对白在线_欧| 亚洲中文字幕无线无码毛片| 99在线视频精品费观看视| 国产精品久视频| 久久精品国产亚洲AV成人公司| 在线a亚洲v天堂网2018| 天天爽夜夜爽人人爽| 亚洲天堂影院| 久久久精品妇女99| 极品少妇的粉嫩小泬视频| 无码人妻一区二区三区免费n鬼沢 丝袜 亚洲 另类 欧美 变态 | 五月婷婷五月天| 国产福利在线观看永久视频| 久久中文字幕久久久久91|