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

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

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

UDS診斷服務(wù)響應(yīng)規(guī)則介紹

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

來源:電控知識(shí)搬運(yùn)工

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

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

隨著車輛ECU的增多,車輛網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也越來越負(fù)責(zé),比如說一輛車需要有多種總線(CAN總線,LIN,以太網(wǎng),F(xiàn)lexRay),所以在2013年釋放的UDS協(xié)議中,除了對(duì)通用診斷服務(wù)的定義以外,還增加了關(guān)于UDS在各個(gè)總線中應(yīng)用的定義。

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

1.尋址方式

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

功能尋址

功能尋址可以廣播診斷請(qǐng)求Request,同時(shí)等待總線上的ECU給與響應(yīng)。

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

物理尋址

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

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

因此我們的診斷報(bào)文一般會(huì)有三個(gè)CAN ID,其中DiagRequest(診斷物理請(qǐng)求報(bào)文)和DiagState(診斷功能請(qǐng)求報(bào)文)是ECU接收來自Client的報(bào)文,而DiagRespone(診斷響應(yīng)報(bào)文)是ECU反饋的報(bào)文。

例如下圖的0x7FF和0x731分別是功能請(qǐng)求報(bào)文和物理請(qǐng)求報(bào)文,而0x7B1則是診斷響應(yīng)報(bào)文。

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

2.請(qǐng)求和響應(yīng)格式

診斷請(qǐng)求Request

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

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

肯定響應(yīng)Postive Response

收到Client的診斷請(qǐng)求后,ECU可能反饋肯定響應(yīng)或者否定響應(yīng)。肯定響應(yīng)在診斷請(qǐng)求的SID上+0x40表示確認(rèn)。例如診斷請(qǐng)求SID為0x10,則肯定響應(yīng)反饋0x50。

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

否定響應(yīng)Negative Response

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

0x00:服務(wù)器內(nèi)部實(shí)現(xiàn)否定響應(yīng)碼判斷邏輯時(shí)使用,表示要給出肯定響應(yīng)。

0x01 – 0x7F:診斷通信相關(guān)的否定響應(yīng)碼。

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

當(dāng)ECU反饋為否應(yīng)響應(yīng)時(shí)格式為,NR_SI(否定響應(yīng)服務(wù)碼0x7F) + SID(否定的請(qǐng)求服務(wù)SID)+ NRC(否定響應(yīng)碼,表示否定的理由)。

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

這里列舉了常用的診斷服務(wù)所支持的否定響應(yīng)碼。如下表:

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

否定響應(yīng)碼定義及其取值

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

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

審核編輯:湯梓紅

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

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177077
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5343

    瀏覽量

    170801
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2694

    瀏覽量

    463155
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2858

    瀏覽量

    87912
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    876

    瀏覽量

    54360

原文標(biāo)題:UDS診斷服務(wù)響應(yīng)規(guī)則介紹

文章出處:【微信號(hào):智能汽車電子與軟件,微信公眾號(hào):智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

    UDS診斷命令備忘錄

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

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

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

    基于MM32F0140系列MCU實(shí)現(xiàn)UDS Bootloader的設(shè)計(jì)

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

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

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

    UDS基礎(chǔ)知識(shí)介紹

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

    UDS常用診斷服務(wù)

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

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

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

    淺析UDS中的肯定響應(yīng)抑制SPRMIB

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

    UDS診斷服務(wù)介紹之31服務(wù)

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

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

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

    UDS之29服務(wù):認(rèn)證服務(wù)

    汽車工業(yè)的很多領(lǐng)域都有嚴(yán)格的國(guó)際標(biāo)準(zhǔn),其中針對(duì)車載診斷的ISO14229規(guī)定了車載診斷服務(wù)的通用需求(UDS),UDS主要應(yīng)用于OSI模型的
    的頭像 發(fā)表于 11-30 08:24 ?2042次閱讀
    <b class='flag-5'>UDS</b>之29<b class='flag-5'>服務(wù)</b>:認(rèn)證<b class='flag-5'>服務(wù)</b>