RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UDS診斷服務響應規(guī)則介紹

智能汽車電子與軟件 ? 來源:電控知識搬運工 ? 2023-08-15 17:00 ? 次閱讀

來源:電控知識搬運工

車輛的診斷需要有Tester端和ECU端,Tester端和ECU端通過一問一答的形式進行通信,因而Tester端和ECU端都需要遵循同樣的診斷通信協(xié)議,常用的診斷協(xié)議有ISO 14230,ISO 15031,ISO 15765,還有我們熟悉的ISO 14229就是UDS協(xié)議,在協(xié)議里面定義了診斷的請求,診斷響應的報文格式,以及ECU怎樣處理診斷請求報文,以及診斷服務的應用。

UDS是Unified Diagnostic Services的縮寫,在國際標準ISO 14229-1中定義,UDS標準中除了定義服務的用法,以及服務的格式以外,還定義了一些標準化的數(shù)據(jù),而到OEM要使用UDS協(xié)議時,除了要使用標準定義的服務以及標準數(shù)據(jù)以外,還要依據(jù)自身的情況,定義屬于OEM的特定數(shù)據(jù),比如說,定義所要遵循的服務,需要支持的DID,需要支持的DTC等這些內容,這樣形成的符合某OEM的診斷規(guī)范才能用于ECU診斷功能的開發(fā)以及驗證。

隨著車輛ECU的增多,車輛網(wǎng)絡拓撲結構也越來越負責,比如說一輛車需要有多種總線(CAN總線,LIN,以太網(wǎng),F(xiàn)lexRay),所以在2013年釋放的UDS協(xié)議中,除了對通用診斷服務的定義以外,還增加了關于UDS在各個總線中應用的定義。

如果我們說UDS診斷服務是實現(xiàn)人或設備與ECU控制器交流的一種語言,那么診斷服務的響應規(guī)則就如同是語法,而SID(Service ID)定義就如同詞匯。因此了解響應規(guī)則和SID的意義就基本能了解與ECU溝通的方法和含義。本文先來介紹一下響應規(guī)則。

1.尋址方式

在總線上往往有著眾多ECU設備,作為診斷設備既可以與所有的ECU一起溝通,也可以指定某一個ECU單獨溝通。所以尋址方式就有功能尋址(Functionally Addressed)和物理尋址(Physically Addressed)兩種。

功能尋址

功能尋址可以廣播診斷請求Request,同時等待總線上的ECU給與響應。

6414823c-3b48-11ee-9e74-dac502259ad0.jpg

物理尋址

物理尋址指定發(fā)送特定診斷請求Request,等待指定ECU給與響應。

6433f270-3b48-11ee-9e74-dac502259ad0.jpg

因此我們的診斷報文一般會有三個CAN ID,其中DiagRequest(診斷物理請求報文)和DiagState(診斷功能請求報文)是ECU接收來自Client的報文,而DiagRespone(診斷響應報文)是ECU反饋的報文。

例如下圖的0x7FF和0x731分別是功能請求報文和物理請求報文,而0x7B1則是診斷響應報文。

644f58ee-3b48-11ee-9e74-dac502259ad0.jpg

2.請求和響應格式

診斷請求Request

UDS服務中共定義了26個服務請求SID(Service ID),每個SID代表了一類指令。由于有些服務請求還需要表達具體的功能類型,比如是開啟還是關閉,是讀取還是修改等,因此UDS中還定義了Sub-function來補充SID的意圖。另外服務請求有時候還需要告知ECU具體的參數(shù)信息Parameter,例如計數(shù)信息。因此診斷請求的格式基本上是SID + Sub-function + Parameter三部分組成的,其中SID一個byte,Sub-function一個byte(其中最高位是禁止肯定響應指示位,0則表示需要肯定響應,1則表示禁止肯定響應),Parameter根據(jù)具體情況定義。

6472ef66-3b48-11ee-9e74-dac502259ad0.jpg

肯定響應Postive Response

收到Client的診斷請求后,ECU可能反饋肯定響應或者否定響應??隙憫谠\斷請求的SID上+0x40表示確認。例如診斷請求SID為0x10,則肯定響應反饋0x50。

6487ce90-3b48-11ee-9e74-dac502259ad0.jpg

否定響應Negative Response

USD診斷服務的否定響應中包含有導致否定響應原因的編碼,稱為否定響應碼(NRC, Negative Response Code)。否定響應碼的取值范圍為0x00 - 0xFF,被分為三組:

0x00:服務器內部實現(xiàn)否定響應碼判斷邏輯時使用,表示要給出肯定響應。

0x01 – 0x7F:診斷通信相關的否定響應碼。

0x80 – 0xFF:服務器收到診斷服務請求時,由于某些條件不滿足要求而給出的否定響應碼。給出這些否定響應碼而不是給出0x22的目的是為了提供請求的服務不能被執(zhí)行的更詳細的原因。

當ECU反饋為否應響應時格式為,NR_SI(否定響應服務碼0x7F) + SID(否定的請求服務SID)+ NRC(否定響應碼,表示否定的理由)。

64a9b7da-3b48-11ee-9e74-dac502259ad0.jpg

這里列舉了常用的診斷服務所支持的否定響應碼。如下表:

64be6068-3b48-11ee-9e74-dac502259ad0.jpg

否定響應碼定義及其取值

下表中列出了ISO14229-1:2013(E)中定義的否定響應碼及其使用條件。

64eff2f4-3b48-11ee-9e74-dac502259ad0.jpg

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16332

    瀏覽量

    177803
  • 以太網(wǎng)

    關注

    40

    文章

    5419

    瀏覽量

    171595
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2744

    瀏覽量

    463612
  • 總線
    +關注

    關注

    10

    文章

    2878

    瀏覽量

    88051
  • ecu
    ecu
    +關注

    關注

    14

    文章

    886

    瀏覽量

    54482

原文標題:UDS診斷服務響應規(guī)則介紹

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    UDS在CAN和以太網(wǎng)上的實現(xiàn)方案

    JTAG是針對MCU或者SOC這種芯片的調試接口協(xié)議,而UDS更像是針對整個ECU的調試接口。UDS簡單來說是一種Client/Server的通信服務,即Tester(診斷儀)向ECU
    發(fā)表于 11-28 09:56 ?5911次閱讀
    <b class='flag-5'>UDS</b>在CAN和以太網(wǎng)上的實現(xiàn)方案

    TSMaster 的 CAN UDS 診斷操作指南(上)

    TSMaster可以少代碼甚至零代碼就可以完成診斷流程開發(fā),診斷開發(fā)人員只需要熟悉診斷流程,就能打通研發(fā)、產線、售后整條鏈路環(huán)節(jié)。TSMaster的UDS
    的頭像 發(fā)表于 06-08 08:21 ?2373次閱讀
    TSMaster 的 CAN <b class='flag-5'>UDS</b> <b class='flag-5'>診斷</b>操作指南(上)

    TSMaster 的 CAN UDS 診斷操作指南(下)

    上期,我們主要介紹UDS診斷模塊的創(chuàng)建以及TSMaster基礎診斷配置。很多客戶表示意猶未盡。因此我們將繼續(xù)帶來《TSMaster的CANUDS
    的頭像 發(fā)表于 06-18 08:21 ?1792次閱讀
    TSMaster 的 CAN <b class='flag-5'>UDS</b> <b class='flag-5'>診斷</b>操作指南(下)

    Aurix TC364D是否可以通過某些UDS服務停用HSM?

    無法更新,因為 HSM 無法驗證。 我們無法連接 JTAG 或其他 UCB,因此唯一的辦法是通過診斷插座(UDS 服務)停用它。 請問誰有經驗? 非常感謝。
    發(fā)表于 05-20 07:19

    UDS診斷命令備忘錄

    UDS實踐性強,邏輯復雜,很多服務非要體驗過一次才能理解,導致包括我在內的初學者感覺晦澀難懂,不明覺厲,因此將自己的理解寫下來、整理下來,與君共勉。零、UDS診斷命令備忘錄一、簡介
    發(fā)表于 08-26 16:09

    OBDII與UDS的區(qū)別是什么

    PrimaryECU在已經開發(fā)完UDS診斷的基礎上增加OBD II診斷一、OBD II與UDS的區(qū)別?這里主要介紹
    發(fā)表于 02-23 06:55

    基于MM32F0140系列MCU實現(xiàn)UDS Bootloader的設計

    。例如,將CAN 總線接口連接到 MCU,并將 UDS 請求發(fā)送到 MCU。當 MCU 支持 UDS 服務時,它將根據(jù)客戶端發(fā)出的請求做出相應的響應?! 槭裁从?Bootloader
    發(fā)表于 09-15 16:35

    UDS診斷協(xié)議在純電動汽車電機控制器中的應用說明

      針對UDS診斷協(xié)議在電動汽車電機控制器中的應用問題,利用UDS診斷協(xié)議中各項服務的功能,同時根據(jù)電機控制器的功能需求,實現(xiàn)
    發(fā)表于 04-02 17:16 ?8次下載

    UDS基礎知識介紹

    UDS(Unified Diagnostic Services 統(tǒng)一的診斷服務)是一種通用的診斷服務標準,用于汽車電子控制單元(ECU)的
    的頭像 發(fā)表于 05-30 10:57 ?1.4w次閱讀
    <b class='flag-5'>UDS</b>基礎知識<b class='flag-5'>介紹</b>

    UDS常用診斷服務

    UDS診斷概述 UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務診斷
    的頭像 發(fā)表于 06-12 10:36 ?1.2w次閱讀
    <b class='flag-5'>UDS</b>常用<b class='flag-5'>診斷</b><b class='flag-5'>服務</b>

    UDS之19服務中04子服務:讀取快照數(shù)據(jù)

    作者|小懶小編|吃不飽在車載診斷中常用的診斷協(xié)議有ISO14229等,在協(xié)議中主要定義了診斷請求、診斷響應的報文格式及ECU該如何處理
    的頭像 發(fā)表于 04-23 09:32 ?2432次閱讀
    <b class='flag-5'>UDS</b>之19<b class='flag-5'>服務</b>中04子<b class='flag-5'>服務</b>:讀取快照數(shù)據(jù)

    淺析UDS中的肯定響應抑制SPRMIB

    UDS協(xié)議中,有些診斷服務是帶有子功能的。子功能參數(shù)的取值范圍為0x00 - 0x7F。細心的同學應該發(fā)現(xiàn)了,子功能參數(shù)占用了一個字節(jié),可用的數(shù)值范圍為0~0xFF。
    的頭像 發(fā)表于 07-27 14:18 ?3957次閱讀
    淺析<b class='flag-5'>UDS</b>中的肯定<b class='flag-5'>響應</b>抑制SPRMIB

    UDS診斷服務介紹之31服務

    根據(jù)ISO14119-1標準中所述,診斷服務31服務主要用于實現(xiàn)針對某類測試場景,非正常工況下的程序活動以及其他擦除內存等連續(xù)性操作步驟的集合。
    的頭像 發(fā)表于 08-08 10:48 ?1.3w次閱讀
    <b class='flag-5'>UDS</b><b class='flag-5'>診斷</b><b class='flag-5'>服務</b><b class='flag-5'>介紹</b>之31<b class='flag-5'>服務</b>

    汽車UDS協(xié)議棧與XCP協(xié)議棧

    UDS協(xié)議棧 汽車UDS協(xié)議棧是一種用于汽車電子控制單元(ECU)之間進行診斷和通信的標準協(xié)議。UDS(Unified Diagnostic Services)協(xié)議定義了一組
    的頭像 發(fā)表于 10-27 16:35 ?4211次閱讀
    汽車<b class='flag-5'>UDS</b>協(xié)議棧與XCP協(xié)議棧

    UDS之29服務:認證服務

    汽車工業(yè)的很多領域都有嚴格的國際標準,其中針對車載診斷的ISO14229規(guī)定了車載診斷服務的通用需求(UDS),UDS主要應用于OSI模型的
    的頭像 發(fā)表于 11-30 08:24 ?2132次閱讀
    <b class='flag-5'>UDS</b>之29<b class='flag-5'>服務</b>:認證<b class='flag-5'>服務</b>
    RM新时代网站-首页