chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

【科普系列】DTC深度剖析

北匯信息POLELINK ? 2025-11-26 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 | 寒月

小編 | CRYSTAL

DTC作為汽車故障診斷的核心標識,如同車輛的“醫(yī)療檔案”,可以讓工程師精準定位故障。從簡單的傳感器故障到復雜的網(wǎng)絡(luò)通信問題,DTC系統(tǒng)通過精密的編碼規(guī)則、狀態(tài)管理和老化機制,構(gòu)建了一套完整的故障生命周期管理體系。本文內(nèi)容基于ISO14229-1和ISO15031-6規(guī)范創(chuàng)建,詳細介紹了DTC組成格式、DTC狀態(tài)位、DTC狀態(tài)置位的算法、DTC的老化機制。

b1f7da8e-ca6c-11f0-8ce9-92fbcf53809c.jpg

DTC定義

DTC:Diagnostic Trouble Code,診斷故障碼,是故障類型的身份ID號碼,用于汽車故障時對故障部位及原因的排查。

當ECU檢測到一個故障時,其將在存儲器中存儲對應(yīng)的一個代碼,此代碼被稱為故障代碼。除故障代碼外,ECU還可能存儲與此故障相關(guān)的故障狀態(tài)、快照信息及擴展信息。


b2031ab6-ca6c-11f0-8ce9-92fbcf53809c.jpg

DTC的組成



基本格式


b20f5588-ca6c-11f0-8ce9-92fbcf53809c.png

其中,DTC High Byte和DTC Middle Byte這兩個字節(jié)表示故障內(nèi)碼,DTC Low Byte表示故障類型。


01

故障內(nèi)碼與5位標準故障碼的對應(yīng)關(guān)系


DTCHighByte、DTCMiddleByte這兩個字節(jié)表示故障內(nèi)碼,對應(yīng)5位標準故障碼(第一位是字母,后面四位是數(shù)字)。

示例:"B123416"這個故障碼中的"B1234"為故障內(nèi)碼;最后面的"16"則是DTCLowByte的內(nèi)容。故障內(nèi)碼與5位標準故障碼的位置對應(yīng)關(guān)系如下:

b239ccaa-ca6c-11f0-8ce9-92fbcf53809c.png

●第一位長度2個bit(Bit15~14)是字母,表示故障所屬系統(tǒng);有如下的四種情況:

b246e796-ca6c-11f0-8ce9-92fbcf53809c.png

●第二位長度2個Bit(Bit13~12)是數(shù)字,表示故障類型(用的哪種法規(guī));有如下的四種情況:

b2534ffe-ca6c-11f0-8ce9-92fbcf53809c.png

●第三位長度4個Bit(Bit11~8)是數(shù)字,表示故障所屬的子系統(tǒng),按照4個Bit解析成1個16進制字符

●第四和第五位長度8個Bit(Bit7~0),分別按照4個Bit解析成2個16進制字符,是數(shù)字,表示具體故障對象和類型


02

故障種類和子類型DTCLowByte


DTCLowByte這個字節(jié)表示Failure Type Byte(FTB),包含F(xiàn)ailure Category和Failure Sub Type兩個部分(ISO 15031-6中的DTCLowByte表示Failure Type Byte(FTB),而ISO 14229-1中的DTC LowByte表示ID序號)。具體種類和類型在ISO15031-6中詳細定義。

b27a2f52-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中DTCLowByte定義

故障種類:

b28462f6-ca6c-11f0-8ce9-92fbcf53809c.pngb2980a5e-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中故障類型定義


b2a6fc58-ca6c-11f0-8ce9-92fbcf53809c.jpg

基本概念


操作循環(huán)(OperationCycle)


各種操作循環(huán)是計算周期相關(guān)狀態(tài)信息(如testCompleteThisOperationCycle)的基礎(chǔ),定義了測試的開始和結(jié)束條件,OperationCycle開始時開始檢測故障,結(jié)束時停止檢測。

b2b26db8-ca6c-11f0-8ce9-92fbcf53809c.png


確認閾值(Confirmation Threshold)


確認此故障一直存在的Operation Clycle個數(shù),將其認定為歷史故障(ConfirmedDTC),在老化(aging)或手動清除前confirmed DTC狀態(tài)位會一直存儲在EEPROM。


老化計數(shù)器(AgingCounter)


老化計數(shù)器用于特定診斷故障代碼的測試都沒有失敗(testFailed)的連續(xù)操作循環(huán)的計數(shù)。當一個OpreationCycle沒有檢測到testFailed,AgingCounter就會自加1,同時DTC status的bit0就會清0。該數(shù)值應(yīng)存儲于EEPROM。如果在一個操作循環(huán)中有任何已失敗的測試結(jié)果出現(xiàn),則老化計數(shù)器將重置為“0”。


老化閾值(Aging Threshold)


在制造商或法規(guī)規(guī)定的操作循環(huán)內(nèi),特定診斷故障代碼的測試未出現(xiàn)“失敗”結(jié)果,這個規(guī)定的操作循環(huán)的次數(shù)就稱為老化閾值。DTC的Confirmed狀態(tài)位將會被清除,同時DTC從non-volatile內(nèi)存中清除。也就是說此故障已經(jīng)完成了老化,可以自愈。


b2bc725e-ca6c-11f0-8ce9-92fbcf53809c.jpg

DTC狀態(tài)位


從汽車ECU中讀取儲存的DTC故障碼時,除了故障碼本身,還可以讀出很多其它的信息,包括優(yōu)先級、發(fā)生次數(shù)計數(shù)器、發(fā)生時的里程和時間,以及本節(jié)中所講的狀態(tài)位(DTC status)。

這個狀態(tài)位包含1個byte,這里面的8個bit都有各自的含義,但是這8個bit不一定都要使用,各個主機廠可以根據(jù)自己的需求使用其中的幾個,也可以全部使用。下圖是UDS對DTC status這8個bit的定義。

b2c685be-ca6c-11f0-8ce9-92fbcf53809c.png


bit0:testFailed(當前故障)


通常來說,ECU會周期地檢測故障是否存在,如果在最近一次的測試中,測試結(jié)果為失敗,則相應(yīng)DTC的這一個狀態(tài)位就要被置1,表示出錯。但是它不一定被ECU存儲到non-volatile memory中,只有當pendingDTC或confirmedDTC被置1時DTC才會被存儲。當錯誤消失或者診斷儀執(zhí)行了清除DTC指令時,testFailed會再次被置0

testFailed狀態(tài)位置位算法:

b2d380de-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中testFailed狀態(tài)位置位示意圖

● 置1:表示該DTC此時發(fā)生了故障

● 清0:a)testPass;b)14服務(wù)清除DTC


bit1:testFailedThisOperationCycle


這個bit用于標識某個DTC在當前的OperationCycle中是否出現(xiàn)過testFailed置1的情況,即是否出現(xiàn)過錯誤。OperationCycle的起始點是ECU通過網(wǎng)絡(luò)管理喚醒到ECU通過網(wǎng)絡(luò)管理進入睡眠,對于沒有網(wǎng)絡(luò)管理的ECU,這個起始點就是KL15通斷。通過bit0我們無法判斷某個DTC是否出現(xiàn)過,比如,當前testFailed=0,說明當前這個DTC沒有出錯,如果testFailedThisOperationCycle=1的話,就說明這個DTC在當前這個OperationCycle中出過錯,但是當前錯誤又消失了。

testFailedThisOperationCycle狀態(tài)位置位算法:

b2de6d46-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中testFailedThisOperationCycle狀態(tài)位置位示意圖

● 置1:在當前的操作循環(huán)內(nèi),該DTC發(fā)生過故障

● 清0:a)開啟新的操作循環(huán);b)14服務(wù)清除DTC


bit2:pendingDTC


根據(jù)規(guī)范的解釋,pendingDTC=1表示某個DTC在當前或者上一個OperationCycle中是否出現(xiàn)過。pendingDTC位其實是位于testFailed和confirmedDTC之間的一個狀態(tài),有的DTC被確認的判定條件比較嚴苛,需要在多個OperationCycle中出現(xiàn)才可以被判定為confirmed的狀態(tài),此時就需要借助于pendingDTC位了。pendingDTC=1的時候,DTC就要被存儲下來了。如果當前OperationCycle中故障發(fā)生,pendingDTC=1,但是在下一個OperationCycle中,故障沒有了,pendingDTC仍然為1,再下一個OperationCycle中,故障仍然不存在,那么pendingDTC就可以置0了。

pendingDTC狀態(tài)位置位算法:

b2eba0e2-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中pendingDTC狀態(tài)位置位示意圖

● 置1:原本無故障,但在上一次或當前操作循環(huán)中出現(xiàn)一次測試結(jié)果為Failed

● 清0:a)在上一個操作循環(huán)和當前操作循環(huán)均未發(fā)生故障(pending被置位后,需要連續(xù)兩次OperateCycle沒有監(jiān)測到故障);b)14服務(wù)清除DTC

bit3:confirmedDTC(歷史故障)

當confirmedDTC=1時,則說明某個DTC已經(jīng)被存儲到ECU的non-volatile memory中,說明這個DTC曾經(jīng)滿足了被confirmed的條件。但是請注意,confirmedDTC=1時,并不意味著當前這個DTC仍然出錯,如果confirmedDTC=1,但testFailed=0,則說明這個DTC表示的故障目前已經(jīng)消失了

confirmedDTC狀態(tài)位置位算法:

b2f685d4-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中confirmedDTC狀態(tài)位置位示意圖

● 置1:滿足confirmed條件(幾個連續(xù)的操作循環(huán)檢測到故障),此時該DTC已被存儲至EEPROM中

● 清0:a)當操作循環(huán)次數(shù)已滿足老化閾值;b)14服務(wù)清除DTC;c)故障記憶溢出


bit4:testNotCompletedSinceLastClear


這個bit用于表示,自從上次調(diào)用了清除DTC的服務(wù)之后,是否成功地執(zhí)行了對某個DTC的測試(不管測試結(jié)果是什么,只關(guān)心是否測了)。因為很多DTC的測試也是需要滿足某些邊界條件的,并不是ECU上電就一定會對DTC進行檢測。

testNotCompletedSinceLastClear狀態(tài)位置位算法:

b3058c3c-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中testNotCompletedSinceLastClear狀態(tài)位置位示意圖

● 置1:自從清DTC之后還沒有完成過針對該DTC的測試

● 清0:自從清DTC之后已經(jīng)完成過針對該DTC的測試

bit5:testFailedSinceLastClear


這個位與bit1:testFailedThisOperationCycle有些類似,后者表示某個DTC在當前的OperationCycle中是否出現(xiàn)過testFailed置1的情況,而testFailedSinceLastClear表示的是在上次執(zhí)行過清除DTC之后某個DTC是否出過錯。

testFailedSinceLastClear狀態(tài)位置位算法:

b3150f2c-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中testFailedSinceLastClear狀態(tài)位置位示意圖

● 置1:自上次清除診斷信息以來,DTC測試至少返回了一次失敗的結(jié)果

● 清0:a)滿足老化閾值;b)故障記憶溢出;c)清除DTC后

bit6:testNotCompletedThisOperationCycle


這個位與bit4:testNotCompletedSinceLastClear類似,后者表示自從上次調(diào)用了清除DTC的服務(wù)之后,是否成功地執(zhí)行了對某個DTC的測試。而testNotCompletedThisOperationCycle則表示在當前OperationCycle中是否成功地執(zhí)行了對某個DTC的測試。

testNotCompletedThisOperationCycle狀態(tài)位置位算法:

b3229d86-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中testNotCompletedThisOperationCycle狀態(tài)位置位示意圖

● 置1:a)指示DTC測試在當前操作循環(huán)內(nèi)尚未運行完畢;b)14服務(wù)清除DTC

● 清0:測試運行并且通過或失??;

bit7:warningIndicatorRequested


某些比較嚴重的DTC會與用戶可見的警告指示相關(guān)聯(lián),比如儀表上的報警燈,或者是文字,或者是聲音。這個warningIndicatorRequested就用于此類DTC。如果這個DTC不支持警告指示,則這個位永遠置0。

warningIndicatorRequested狀態(tài)位置位算法:

b32f5ac6-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中WarningIndicatorRequested狀態(tài)位置位示意圖

● 置1:ECU請求激活警告指示

● 清0:ECU不請求激活警告指示


b340ce6e-ca6c-11f0-8ce9-92fbcf53809c.jpg

DTCAging(DTC老化)


DTC診斷故障代碼一旦生成,將會一直保留,直到通過發(fā)送診斷指令清除,或者通過診斷故障代碼老化機制確定此故障不復存在。當一直處于TestPassed,可將這個DTC清除掉,這個過程的結(jié)果被稱為self-healing,而這個過程,我們就叫做DTC的老化。

在診斷自恢復過程中,往往會定義30個或40個循環(huán)周期作為自恢復的條件。原因是:在一個相對較長的過程中,如果車輛沒有發(fā)生這個故障,可以認為這個故障是一個偶發(fā)的現(xiàn)象,也可以認為現(xiàn)在的車輛處于一個相對穩(wěn)定的狀態(tài),因而,可以將這個故障碼清除。


DTC AgingCounter例子


b34e0f5c-ca6c-11f0-8ce9-92fbcf53809c.png

ISO 14229-1中DTC AgingCounter示例

1

DTCAging計數(shù)器在完成測試未失敗的第一個操作循環(huán)后遞增為1,DTCAging計數(shù)器開始計數(shù)的條件是:testFailed=0,PendingDTC=0,ComfiredDTC=1。

2

pendingDTC=0的條件是在一個操作循環(huán)后測試完成且未失?。╰estNotCompletedThisOperationCycle=0,tesetFailed=0,tesetFailedThisOperationCycle=0)。如果ECU不支持掉電順序(即在關(guān)閉點火開關(guān)時立即斷電),則將無法檢測到操作循環(huán)的結(jié)束。因此,在下一個操作循環(huán)開始時將pendingDTC設(shè)置為零也是有效的。

3

DTCAging計數(shù)器在完成測試未失敗的第二個操作循環(huán)后遞增為2。testNotCompleted-ThisOperationCycle=0,tesetFailed=0。

4

DTCAging計數(shù)器繼續(xù)遞增,因為測試在這些操作循環(huán)中沒有失敗。tesetFailed=0。

5

當完全滿足老化標準時(例如,DTCAging計數(shù)器達到特定值),confirmedDTC設(shè)置為零,DTC會從內(nèi)存中清除掉。

6

DTCAging計數(shù)器達到最大值(例如40),此時confirmedDTC被清除。

7

車輛制造商有責任指定testFailedSinceLastClear位是否通過老化標準或由于故障存儲器溢出而重置。


通過本文的系統(tǒng)性介紹,我們?nèi)娼馕隽薉TC從編碼規(guī)則、狀態(tài)管理到老化清除的完整生命周期。DTC不僅是簡單的故障代碼,更是連接車輛故障現(xiàn)象與根本原因的橋梁。掌握DTC的運作機制,就如同擁有了診斷汽車電子系統(tǒng)的“解碼器”,能夠從海量故障數(shù)據(jù)中提取有價值的信息,為故障排查、系統(tǒng)優(yōu)化和品質(zhì)提升提供堅實的數(shù)據(jù)支撐。

北匯信息在汽車診斷領(lǐng)域擁有深厚的技術(shù)積累,依托與多家主流OEM的長期合作,深入理解DTC在實際車型中的應(yīng)用與診斷需求,積累了豐富的故障診斷測試經(jīng)驗。如您有相關(guān)測試或診斷開發(fā)需求,歡迎隨時與我們聯(lián)系。


參考文獻:

[1] Road vehicles — Unified diagnostic services (UDS) — Part 1:Application layer

[2] Road vehicles — Communication between vehicle and external equipment for emissions-related diagnostics Part 6: Diagnostic trouble code definitions

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

    關(guān)注

    3043

    文章

    8547

    瀏覽量

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

    關(guān)注

    0

    文章

    20

    瀏覽量

    1357
  • 汽車
    +關(guān)注

    關(guān)注

    15

    文章

    4035

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    《C語言深度剖析》【超經(jīng)典書籍】

    本帖最后由 zgzzlt 于 2012-8-16 14:23 編輯 《C語言深度剖析》【超經(jīng)典書籍】
    發(fā)表于 08-02 08:59

    C語言深度剖析

    C語言深度剖析——一本關(guān)于C語言學習的教程,里面包含C語言編寫規(guī)范,各種變量指針用法等。以含金量勇敢挑戰(zhàn)國內(nèi)外同類書籍
    發(fā)表于 08-14 11:36

    c語言深度剖析

    c語言深度剖析
    發(fā)表于 04-02 09:12

    陳正沖《C語言深度剖析

    陳正沖編寫的《C語言深度剖析》,挺經(jīng)典,剛來論壇,多多指教~~
    發(fā)表于 08-17 12:06

    linux內(nèi)核深度剖析,另附有光盤資料

    linux內(nèi)核深度剖析,對于想學linux內(nèi)核的人來說,絕對值得一看,另附有光盤資料。
    發(fā)表于 01-15 21:25

    【資料分享】C語言深度剖析

    C語言深度剖析
    發(fā)表于 10-16 15:16

    資料共享:嵌入式網(wǎng)絡(luò)那些事LwIP協(xié)議深度剖析與實戰(zhàn)演練

    嵌入式網(wǎng)絡(luò)那些事LwIP協(xié)議深度剖析與實戰(zhàn)演練
    發(fā)表于 06-12 13:43

    C語言深度剖析

    C語言深度剖析
    發(fā)表于 08-25 09:08

    C語言深度剖析

    C語言深度剖析[完整版].pdfC語言深度剖析[完整版].pdf (919.58 KB )
    發(fā)表于 03-19 05:11

    DTC系列雙波長表電路圖

    DTC系列雙波長表電路圖
    發(fā)表于 06-30 09:32 ?1076次閱讀
    <b class='flag-5'>DTC</b><b class='flag-5'>系列</b>雙波長表電路圖

    C語言深度剖析

    C語言深度剖析。
    發(fā)表于 05-05 17:40 ?7次下載

    C語言深度剖析

    C語言深度剖析
    發(fā)表于 12-20 22:50 ?0次下載

    C語言深度剖析.zip

    C語言深度剖析
    發(fā)表于 12-30 09:20 ?5次下載

    深度剖析 IGBT 柵極驅(qū)動注意事項

    深度剖析 IGBT 柵極驅(qū)動注意事項
    的頭像 發(fā)表于 11-24 14:48 ?1598次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>剖析</b> IGBT 柵極驅(qū)動注意事項

    MEMS 可編程振蕩器的卓越代表:SiT9121 系列(1 to 220 MHZ)深度剖析

    MEMS 可編程振蕩器的卓越代表:SiT9121 系列(1 to 220 MHZ)深度剖析
    的頭像 發(fā)表于 08-13 10:56 ?1453次閱讀
    MEMS 可編程振蕩器的卓越代表:SiT9121 <b class='flag-5'>系列</b>(1 to 220 MHZ)<b class='flag-5'>深度</b><b class='flag-5'>剖析</b>