基于kwp2000和can的車輛故障診斷[1]_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  KWP 2000與車輛故障診斷</p><p>  一、KWP 2000</p><p>  1.KWP 2000的含義</p><p>  KWP 2000代表Keyword Protocol 2000,即關(guān)鍵字協(xié)議2000,它是ISO標(biāo)準ISO 14230的工作名稱。所有在ISO 9141總線上工作的信息協(xié)議由“關(guān)鍵字”定義,這些關(guān)鍵字在診

2、斷通訊初始化過程中要返回診斷通訊設(shè)備。制定KWP 2000的目的是為了實施基于ISO 9141物理鏈路的維修。它注意兼顧與現(xiàn)有ISO 9141-2兼容,同時增加了新的選項,靈活性和能力更強。</p><p>  2.ISO 14230簡介</p><p>  ISO 14230由三部分組成。</p><p>  ISO 14230的第一部分定義物理層。它實際上就是在

3、ISO 9141-2中定義的物理層,但是擴展到可以工作在24V系統(tǒng)中。這意味著凡是滿足ISO 9141-2的車輛、模塊或測試設(shè)備,只需對軟件進行修改,就能滿足KWP 2000接口需求。</p><p>  ISO 14230的第二部分定義數(shù)據(jù)鏈路層。其中包括信息格式和時序。它們兼容ISO 9141-2,但是也提供了額外選項。其中包括頭部是否帶有地址信息和長度信息。信息最大可達255字節(jié)長。另外還定義了通訊初始化方

4、法。</p><p>  ISO 14230的第三部分定義了ISO 14229中描述的診斷維修實施方法。</p><p>  基于KWP 2000診斷車輛的要求</p><p>  支持KWP 2000的車輛ECU應(yīng)該支持單線(只有K線)或雙線(K和L線)通訊,以便進行車輛診斷、測試或維護。應(yīng)該由ECU或車輛為診斷儀提供車輛蓄電池電壓、電源地和信號地。</p&

5、gt;<p>  K線是一種雙向?qū)Ь€。它在初始化過程中將地址信息或快速初始化時的喚醒模式從診斷儀傳遞給車輛ECU,與L線同步。信息傳遞完成之后,K線用于診斷儀和車輛ECU之間的所有其他雙向診斷通訊。其中包括完成初始化以及ISO 14230-2和ISO 14230-3中所描述的通訊。</p><p>  L線是一種單向?qū)Ь€。它只在初始化過程中用來將地址信息或快速初始化時的喚醒模式從診斷儀傳遞給車輛EC

6、U,與K線同步。在所有其他時間,它處于空閑的邏輯“1”狀態(tài)。</p><p>  由于K線上的通訊可以是雙向也可以是單向,L線可以存在也可以不存在,所以存在下列四種配置情況。</p><p>  雙向K線與單向L線;</p><p>  單向K線與單向L線;</p><p>  雙向K線,不帶L線;</p><p> 

7、 單向K線,不帶L線。</p><p>  診斷系統(tǒng)的一種配置形式如下圖所示。</p><p>  圖中箭頭表示數(shù)據(jù)流方向。</p><p><b>  診斷拓撲結(jié)構(gòu)</b></p><p><b>  使用單個協(xié)議</b></p><p>  標(biāo)準協(xié)議和診斷協(xié)議使用單個車輛

8、通訊網(wǎng)絡(luò)。這種情況在CAN中出現(xiàn),易于在SAE J1850實現(xiàn)。這種情況下,從車輛外部訪問CAN網(wǎng)絡(luò),它要求保留部分帶寬以便和外部設(shè)備通訊。即使僅僅用于通訊,也要求所有模塊使用CAN需要的附加電路。這種形式可以變化為使用相同或不同協(xié)議的多個網(wǎng)絡(luò)。</p><p>  常規(guī)和診斷通訊使用不同協(xié)議</p><p>  在這種情況下,CAN用于車內(nèi)網(wǎng)絡(luò),KWP 2000用于診斷通訊。所以所有模塊

9、都處于兩個網(wǎng)絡(luò)之中。也可以采用不同協(xié)議。進一步還可以變化為采用CAN或其它協(xié)議的多個車內(nèi)網(wǎng)絡(luò)。</p><p>  特殊診斷協(xié)議外加訪問車內(nèi)網(wǎng)絡(luò)</p><p>  在這種情況下,KWP 2000用于診斷通訊,但也可以直接訪問車內(nèi)網(wǎng)絡(luò)。所有模塊也都處于兩個網(wǎng)絡(luò)之中。但在實際中,KWP 2000接口可以作為“公共”接口,用來訪問車輛,而CAN接口保留,專門用于車輛制造商或在KWP 2000帶

10、寬不足情況下使用。在這種情況下,某些模塊可以采用CAN,某些可以不用,或者某些模塊不用訪問車內(nèi)網(wǎng)絡(luò)。這樣可以保證模塊或系統(tǒng)可以承受大量診斷通訊,而不會破壞其余模塊之間的通訊。</p><p>  通過網(wǎng)關(guān)訪問車輛網(wǎng)絡(luò)</p><p>  在這種情況下,無需所有模塊直接連接到外部工具上。這種方式多用于車輛制造商不希望直接訪問車內(nèi)網(wǎng)絡(luò)或由于診斷通訊物理層而加重每個模塊負擔(dān)的情況。這種情況的變化

11、形式是,通過單個網(wǎng)關(guān)、通過多個網(wǎng)關(guān)或一系列網(wǎng)關(guān)訪問多個車內(nèi)網(wǎng)絡(luò)。這樣做的好處是可以在物理層上和通過控制網(wǎng)關(guān)通訊量保護車內(nèi)網(wǎng)絡(luò)。不利之處在于網(wǎng)關(guān)處存在瓶頸,網(wǎng)關(guān)要求系統(tǒng)開銷來維持所有通訊。這種開銷存在于實時運行操作以及變換對話模塊時任何潛在的需求。</p><p>  KWP2000協(xié)議的物理層</p><p>  KWP2000協(xié)議的物理層協(xié)議中規(guī)定了網(wǎng)絡(luò)的結(jié)構(gòu)、電氣參數(shù)等相關(guān)內(nèi)容。<

12、;/p><p><b>  1.網(wǎng)絡(luò)結(jié)構(gòu)</b></p><p>  KWP2000數(shù)據(jù)通信網(wǎng)絡(luò)采用“單一總線結(jié)構(gòu)”。它是一種基于客戶-服務(wù)器(client-server)模型的通信網(wǎng)絡(luò),在網(wǎng)絡(luò)中,診斷設(shè)備為客戶機,車內(nèi)的電子控制單元(ECU)為服務(wù)器,所有的診斷通信服務(wù)都是通過客戶機發(fā)出請求(request),服務(wù)器進行應(yīng)答(response)的方式來進行的。</

13、p><p>  K線是一根雙向數(shù)據(jù)傳輸線,用于通信初始化期間或快速初始化期間與L線同時傳送地址信息或診斷服務(wù)工具發(fā)送的喚醒信號以及初始化完畢后通信數(shù)據(jù)的傳送,而L線是單向線,僅用于通信初始化期間信息的傳送,在其他情況下L線應(yīng)處于空閑邏輯“1”狀態(tài)。</p><p>  KWP2000協(xié)議總是以半雙工模式進行通信。</p><p>  KWP2000數(shù)據(jù)通信網(wǎng)絡(luò)的結(jié)構(gòu)如下

14、圖所示:</p><p>  2.對傳輸介質(zhì)的要求</p><p>  KWP2000數(shù)據(jù)通信網(wǎng)絡(luò)對傳輸介質(zhì)的要求為:在沒有接入任何ECU的情況下,任何一根連續(xù)的通信線的總的電容不能超過2nF。</p><p><b>  3.數(shù)據(jù)位的定義</b></p><p>  邏輯0的定義:對于數(shù)據(jù)的發(fā)送者來說,總線上電壓小于V

15、B的20%時定義為邏輯0;對于數(shù)據(jù)的接收者來說,總線上電壓小于VB的30%時定義為邏輯0。</p><p>  邏輯1的定義:對于數(shù)據(jù)的發(fā)送者來說,總線上的電壓大于VB的80%時定義為邏輯1,對于數(shù)據(jù)的接收者來說,總線上電壓大于VB的70%時定義為邏輯1。</p><p>  該數(shù)據(jù)通信網(wǎng)絡(luò)采用非歸零編碼方式,我們將位時(Tbit)定義為相鄰的兩個上升(下降)沿上,兩個50%VB之間時間間

16、隔的一半。將斜坡時間(TSO)定義為在發(fā)送數(shù)據(jù)時,總線上電壓由20% VB變化至80% VB(或者由80%VB變化至20%VB)所需要的時間。保證正常的通信需要滿足的條件: TSO≤10%Tbit。</p><p>  正常通信時信號電平極限情況如下圖所示:</p><p>  通常KWP2000串行通訊協(xié)議的傳輸速率是10.4Kbps。</p><p><b

17、>  4.參數(shù)配置</b></p><p>  汽車ECU和外部的診斷設(shè)備連接的電氣配置如下圖所示。其中CECU、COBW</p><p>  和CTE需要滿足以下條件: </p><p>  CTE 2nF(12V時)</p><p>  CECU +COBW 5.0nF CTE 2nF</p>

18、<p>  要求外部診斷設(shè)備在接入數(shù)據(jù)通信網(wǎng)時,對地的等效電阻要大于5K歐,整個診斷設(shè)備的電容不得超過2nF。</p><p>  ECU在報文接收狀態(tài)和報文發(fā)送時的邏輯“1”狀態(tài)下,其K線的對地電阻需要不小于120K歐姆。在報文發(fā)送的邏輯“0”狀態(tài)下,其K線的對地電阻需不大于110歐姆。</p><p>  KWP2000協(xié)議的數(shù)據(jù)鏈路層</p><p&

19、gt;<b>  1.組成:</b></p><p>  信息結(jié)構(gòu)主要由三部分組成,即頭部、數(shù)據(jù)字節(jié)和校驗和。如下圖所示:</p><p><b>  2.具體含義:</b></p><p><b>  頭部</b></p><p>  1)Fmt:格式字節(jié)</p>

20、<p>  格式字節(jié)包含6位長度信息和2位地址模式信息。通過關(guān)鍵字通知診斷儀是否使用頭部信息。</p><p>  其中:A1和A0:用來定義要使用的頭部信息格式。</p><p>  A1,A0=01(CARB)是一種例外模式。CARB使用格式字節(jié)$68(0110 1000)和$48(0100 1000)。有關(guān)詳細信息參見ISO 9141-2和SAE J1979。</

21、p><p>  L5…L0:定義從數(shù)據(jù)區(qū)開始(包括維修標(biāo)識字節(jié))到校驗和字節(jié)(不包括)的信息長度。信息長度可以是1~63字節(jié)。如果L0到L5=0,那么包含附加長度字節(jié)。</p><p>  Tgt:目標(biāo)地址字節(jié)</p><p>  這是信息的目標(biāo)地址,并且總是和源地址字節(jié)一同使用。發(fā)送給ECU的請求信息中的目標(biāo)地址可以是物理或功能地址。發(fā)送給診斷儀的響應(yīng)信息中的目標(biāo)地址

22、應(yīng)該是診斷儀的物理地址。物理地址可以是5波特地址字節(jié)或根據(jù)SAE J2178-1發(fā)送地址。目標(biāo)地址可選,只有在多模式總線拓撲結(jié)構(gòu)中必需。對于點對點連接可以省略。對于CARB信息,這個字節(jié)在ISO 9141-2或ISO 14230-4中定義。</p><p><b>  Src:源地址字節(jié)</b></p><p>  這是發(fā)送設(shè)備的地址。它應(yīng)該是物理地址,與物理目標(biāo)地址

23、有可能相同。診斷儀的地址在SAE J2178-1中有所說明。這個地址可選(總是和目標(biāo)地址字節(jié)一同使用),只有在多模式總線拓撲結(jié)構(gòu)中必需。對于點對點連接可以省略。</p><p><b>  Len:長度字節(jié)</b></p><p>  如果頭部字節(jié)中的長度(L0到L5)設(shè)置為0,則提供這個字節(jié),見下表。它允許用戶傳遞數(shù)據(jù)域長度超過63個字節(jié)的信息。對于更短的信息,可以

24、將其省略。這個字節(jié)定義從數(shù)據(jù)區(qū)開始(包括維修標(biāo)識字節(jié))到校驗和字節(jié)(不包括)的信息長度。數(shù)據(jù)長度可以是1到255個字節(jié)。最長信息可以是260字節(jié)。對于數(shù)據(jù)域長度小于64字節(jié)的信息有兩種可能:長度可能包含在格式字節(jié)中或附加字節(jié)中。不要求ECU支持所有兩種可能,通過關(guān)鍵字將ECU的工作能力通知給診斷儀。</p><p>  頭部字節(jié)的使用:根據(jù)上面的定義,有四種不同的信息格式,如下圖所示。</p>&l

25、t;p>  Fmt:格式字節(jié);Tgt:目標(biāo)地址(可選);Src:源地址(可選);Len:附加長度字節(jié)(可選);SId:維修標(biāo)識(ID)字節(jié);Data:(取決于維修);CS:校驗和字節(jié)。</p><p><b>  數(shù)據(jù)字節(jié)</b></p><p>  根據(jù)使用的長度信息,數(shù)據(jù)區(qū)可以包含多達63或255個信息字節(jié)。數(shù)據(jù)區(qū)的第一個字節(jié)是維修標(biāo)識(ID)字節(jié)。其后可以

26、跟隨取決于所選維修的參數(shù)和數(shù)據(jù)。</p><p><b>  校驗和字節(jié)</b></p><p>  校驗和字節(jié)(CS)插在信息塊的末尾,定義為除校驗和之外的信息中所有字節(jié)的8位簡單求和。</p><p>  如果信息為<1><2><3>…<N>,<CS>,會出現(xiàn)下列兩種情況:<

27、/p><p>  如果<i>(1≤i≤N)是第i個信息字節(jié)的數(shù)值,那么<CS>=<CS>N</p><p>  在<CS> i (2≤i≤N)時,如果<CS> i ={<CS> i-1+<i>} mod 256(<CS> 1 =<1>),那么在數(shù)據(jù)字節(jié)中可能包含由廠家定義的附加安全信息。

28、</p><p><b>  時序</b></p><p>  在常規(guī)操作中,時序參數(shù)之間的關(guān)系如下圖所示:</p><p>  有兩組默認時序參數(shù):</p><p>  一組用于常規(guī)工作和物理地址通訊。這時需要更長的時間來進行總線管理;</p><p>  一組用于在有限的地址內(nèi)進行快速通訊。&

29、lt;/p><p>  通過關(guān)鍵字將ECU的工作能力通知給診斷儀。</p><p>  可以使用“AcessTimingParameters”通訊服務(wù)更改時序參數(shù)。</p><p><b>  有下列限制:</b></p><p>  P3min>P4min</p><p>  Pimin<

30、;Pimax,i=1,2,3,4</p><p>  當(dāng)診斷儀和ECU檢測到由于超時信息終止時,下列限制有效:</p><p>  P2min<P4max</p><p>  P2min<P1max</p><p>  在設(shè)計時要確保更改默認時序參數(shù)后,保證通訊正常進行。也要保證選擇的通訊參數(shù)可用于所有ECU。參數(shù)值取決于ECU的

31、工作能力,有時可能需要ECU由于不同的通訊參數(shù)脫離正常的工作模式。默認參數(shù)及其限制值如下表所示。</p><p>  常規(guī)時序參數(shù)設(shè)置(用于功能和物理地址)(單位為ms)</p><p>  擴展時序參數(shù)設(shè)置(用于物理地址)(單位為ms)</p><p>  P2max時序參數(shù)計算</p><p>  P2max時序例外只能由服務(wù)器使用,用于

32、一個或多個負響應(yīng)信息,響應(yīng)代碼為$78(RequestCorrectlyReceived-ResponsePending)。</p><p><b>  3. 幀的結(jié)尾</b></p><p>  出現(xiàn)下列兩種情況之一標(biāo)志著一個幀的結(jié)尾:</p><p>  1)接收到的字節(jié)數(shù)和幀頭中所標(biāo)識的幀長相等時,表示一個幀已經(jīng)發(fā)送結(jié)束。</p&g

33、t;<p>  2)ECU發(fā)送數(shù)據(jù)時,在P1max的時間內(nèi)沒有數(shù)據(jù)被發(fā)送,診斷設(shè)備發(fā)送數(shù)據(jù)時,在P4max時間內(nèi)沒有數(shù)據(jù)被發(fā)送。</p><p><b>  4.通訊服務(wù)</b></p><p>  為了建立和維持通訊,需要某些必要的服務(wù)。其中的參數(shù)有四種形式:M(命令型)、S(選擇型)、C(條件型)、U(用戶選擇型)。一般服務(wù)都是非命令型,只執(zhí)行Sta

34、rtCommunication服務(wù)。StartCommunication服務(wù)和AccessTimingParameters服務(wù)用于啟動診斷通訊。為了執(zhí)行診斷服務(wù),通訊將初始化,通訊參數(shù)也需要適當(dāng)調(diào)整,以滿足診斷模式。</p><p>  1)StartCommunication服務(wù)</p><p>  這項KWP 2000通訊服務(wù)用于初始化通訊鏈路以便交換診斷數(shù)據(jù)。</p>

35、<p>  StartCommunication服務(wù)</p><p>  1)通訊服務(wù);2)診斷服務(wù)</p><p><b>  通訊服務(wù)的使用</b></p><p><b>  2)服務(wù)步驟</b></p><p>  在收到StartCommunication指示原語時后,ECU檢查

36、在當(dāng)前條件下是否可以初始化要求的通訊線路。然后,ECU將執(zhí)行所有必要的動作來初始化通訊線路,并根據(jù)選擇的正響應(yīng)參數(shù)發(fā)送StartCommunication響應(yīng)原語。如果由于某種原因通訊線路不能得到初始化,ECU將保持正常操作。</p><p><b>  3)實施</b></p><p>  StartCommunication服務(wù)用于初始化K線上的通訊。有幾種不同的

37、初始化情況:</p><p><b>  CARB初始化;</b></p><p><b>  5波特率初始化;</b></p><p><b>  快速初始化。</b></p><p>  初始化后,ECU處于下列相同狀態(tài):所有通訊參數(shù)根據(jù)關(guān)鍵字節(jié)設(shè)置為默認值;ECU等待診斷

38、儀的第一個請求,時間為P3;ECU處于默認診斷模式。</p><p>  對于所有初始化模式,都有下列情況:在任何動作之前有一段總線空閑時間;然后診斷儀發(fā)送初始化方式;所有建立通訊需要的必要信息包含在ECU的響應(yīng)中。</p><p><b>  4)關(guān)鍵字</b></p><p>  通過關(guān)鍵字,ECU通知診斷儀有關(guān)它所支持的頭部、時序和長度信

39、息。所以某個ECU不必支持所有可能性。</p><p>  對于關(guān)鍵字的解碼在ISO 9141中定義。</p><p>  關(guān)鍵字可以用下圖表示:</p><p><b>  二進制數(shù)據(jù)開始位;</b></p><p><b>  最低位(LSB);</b></p><p>

40、<b>  最高位(MSB);</b></p><p><b>  奇偶校驗位;</b></p><p><b>  二進制數(shù)據(jù)停止位。</b></p><p>  關(guān)鍵字中各位數(shù)據(jù)的含義如下表所示:</p><p>  關(guān)鍵字的可能值如下表所示:</p><

41、;p><b>  關(guān)鍵字</b></p><p>  允許通訊使用1200至10400波特率。診斷儀通過同步字節(jié)($55)得到波特率。</p><p><b>  功能初始化</b></p><p>  在這一步ECU得到初始化??梢杂衅渌鼜S商按照ISO 9141定義的功能地址字節(jié)。如果所有功能組的ECU使用相同的波

42、特率,才能使用功能地址。CARB初始化是功能地址的特例。</p><p><b>  物理初始化</b></p><p>  在這一步只初始化單個ECU。5波特率初始化地址在ISO 9141中規(guī)定。使用奇校驗。地址字節(jié)由廠商控制。</p><p><b>  快速初始化</b></p><p>  

43、所有初始化的ECU使用10400波特率進行初始化和通訊。診斷儀在K線和L線上同時發(fā)送喚醒方式(WuP)。這個方式在K線上的一段空閑時間TiniL之后開始。診斷儀在時間tWup的第一個下降邊緣之后發(fā)送StartCommunication服務(wù)的第一位。如下圖所示。</p><p>  可能的空閑時間Tidle為:</p><p> ?。想娭蟮谝淮伟l(fā)送:Tidle≥W5min;</p&

44、gt;<p>  -完成StopCommunication服務(wù)之后:Tidle≥P3min;</p><p>  -由于超時P3max停止通訊之后:Tidle≥0ms。</p><p>  快速初始化的時序值如下。</p><p>  六.KWP2000協(xié)議的應(yīng)用層</p><p>  詳細規(guī)定了診斷設(shè)備和ECU之間的診斷通信行

45、為。共包括六個功能組,分別為診斷管理功能單元、數(shù)據(jù)傳輸功能單元、診斷信息傳輸功能單元、輸入/輸出控制功能單元、遠程啟動ECU例程功能單元、數(shù)據(jù)上傳/下載功能單元。</p><p><b>  診斷管理功能單元</b></p><p>  診斷管理功能單元包含了對診斷模式的更改,安全訪問以及對ECU的復(fù)位等功能,其服務(wù)信息如下表所示:</p><p&

46、gt;<b>  數(shù)據(jù)傳輸功能單元</b></p><p>  該功能單元所提供的服務(wù)主要用于讀取記錄數(shù)據(jù)以及通過一定尋址方式向存儲器寫入數(shù)據(jù),并且在讀取數(shù)據(jù)時可以指定數(shù)據(jù)的傳輸模式。該單元所包括的服務(wù)信息如下表所示:</p><p>  診斷信息傳輸功能單元</p><p>  該功能單元主要用于故障診斷碼的讀取,故障診斷代碼狀態(tài)的讀取以及故

47、障診斷信息的清除等。KWP2000協(xié)議可以根據(jù)功能組的不同對故障診斷代碼分別進行讀取。下表為該單元所包含的服務(wù)信息。</p><p>  輸入/輸出控制功能單元</p><p>  該功能單元中的服務(wù)被用于控制和修改各ECU中輸入或輸出信號以及ECU內(nèi)部的一些參數(shù)狀態(tài)。通過輸入輸出局部標(biāo)識符,診斷服務(wù)設(shè)備可以對ECU中的單一某一輸入輸出信號或內(nèi)部參數(shù)進行控制或修改。下表為該單元所包含的服務(wù)

48、信息。</p><p>  遠程啟動ECU例程功能組 </p><p>  數(shù)據(jù)上傳/下載功能單元</p><p>  上傳下載功能單元可用于建立診斷服務(wù)設(shè)備和ECU之間的數(shù)據(jù)塊傳輸協(xié)定,并提供數(shù)據(jù)塊的上傳下載功能。下表為該單元所包含的服務(wù)信息。</p><p>  診斷設(shè)備和ECU的診斷通信過程如下圖所示:</p><p

49、>  SAEJ1979協(xié)議</p><p>  基于OBD-Ⅱ的診斷設(shè)備通過接入車內(nèi)通信網(wǎng)絡(luò),以服務(wù)請求的方式向車載ECU索取診斷數(shù)據(jù),ECU以服務(wù)應(yīng)答的方式向診斷設(shè)備傳送診斷數(shù)據(jù)。在SAEJ1979協(xié)議中,詳細規(guī)定了九種不同的診斷模式,它們分別為:</p><p>  模式一:動態(tài)數(shù)據(jù)的獲取。</p><p>  模式二:獲取與發(fā)動機相關(guān)的凍結(jié)幀數(shù)據(jù)。<

50、;/p><p>  模式三:獲取與排放相關(guān)的診斷信息。</p><p>  模式四:清除或者重置與排放相關(guān)的診斷碼。</p><p>  模式五:獲取氧傳感器相關(guān)的測試結(jié)果數(shù)據(jù)。</p><p>  模式六:獲取特殊監(jiān)測對象的在線監(jiān)測結(jié)果數(shù)據(jù)。</p><p>  模式七:獲取排放相關(guān)的診斷故障碼。</p>

51、<p>  模式八:對OBD系統(tǒng)、測試或者元件的控制請求。</p><p>  模式九:獲取車輛信息。</p><p>  通過這九種模式,診斷設(shè)備可以向汽車電控單元獲得各類診斷數(shù)據(jù)。這些模式對各種不同的數(shù)據(jù)通訊網(wǎng)絡(luò)都是通用的。這一章中所研究的內(nèi)容是開發(fā)診斷軟件的前提。</p><p>  1.診斷服務(wù)的一般要求</p><p> 

52、 診斷服務(wù)的一般要求是為了保證診斷設(shè)備和汽車之間診斷操作的正常進行。要求診斷設(shè)備在進行診斷操作時,不能影響汽車電控單元的正常工作。</p><p>  1.1.單請求多應(yīng)答</p><p>  當(dāng)服務(wù)請求幀的目的地址為功能地址時,診斷設(shè)備并不確定哪些ECU會作出應(yīng)答,有時候,會發(fā)生多個ECU對同一個請求同時應(yīng)答的情況。因此,診斷設(shè)備需要具有接收多個應(yīng)答的能力。此外,服務(wù)的請求和應(yīng)答必須符合

53、數(shù)據(jù)通信網(wǎng)絡(luò)的時間參數(shù)。</p><p><b>  1.2.無效數(shù)據(jù)</b></p><p>  在J1850、ISO9141和KWP2000所規(guī)定的網(wǎng)絡(luò)中,無效數(shù)據(jù)包含兩種情況:一是所診斷設(shè)備所請求的服務(wù)不被支持,二是診斷設(shè)備所請求的服務(wù)被支持,但當(dāng)前所取得的數(shù)據(jù)無效。在J1850和ISO9141網(wǎng)絡(luò)中,如果診斷設(shè)備的服務(wù)請求不被支持,汽車電控單元不會做出應(yīng)答。但

54、在KWP2000所規(guī)定的網(wǎng)絡(luò)中,所有的服務(wù)請求都會有積極或者消積的應(yīng)答。當(dāng)診斷設(shè)備所請求的服務(wù)被支持但當(dāng)前所取得的數(shù)據(jù)無效時,由汽車制造商來選擇是否及如何對這種情況做出應(yīng)答。</p><p>  在CAN網(wǎng)絡(luò)中,數(shù)據(jù)無效包含四種情況:一是診斷設(shè)備所請求的服務(wù)不被支持,這種情況下不會有應(yīng)答產(chǎn)生。二是診斷設(shè)備所請求的服務(wù)被支持,但請求的數(shù)據(jù)不被支持。此時,不支持所請求數(shù)據(jù)的ECU不允許發(fā)送消積的應(yīng)答,因為其它支持所請

55、求數(shù)據(jù)的ECU可能會發(fā)送積極的應(yīng)答。如果診斷設(shè)備所請求的服務(wù)中包括了多個PID參數(shù),但單個ECU只支持其中的一部分,這時每個ECU發(fā)送一個積極應(yīng)答,并在報文中包括它所支持的PID和相應(yīng)的數(shù)據(jù)。即使沒有所支持的PID,ECU也不能發(fā)送消積應(yīng)答。三是診斷設(shè)備所請求的服務(wù)被支持,但是當(dāng)前的數(shù)據(jù)不可用。這種情況下,ECU發(fā)送一個“條件不許可”的消積應(yīng)答(ID$22)。四是診斷設(shè)備和ECU任何一方在發(fā)送數(shù)據(jù)時超出了時間參數(shù)的限制。</p&g

56、t;<p><b>  1.3.數(shù)據(jù)最大值</b></p><p>  如果數(shù)據(jù)值超過了所能傳送的最大值,診斷系統(tǒng)會傳送所能傳送的最大值。要求診斷設(shè)備可以顯示出該最大值或表示數(shù)值過大。</p><p><b>  2.診斷報文的格式</b></p><p>  2.1地址策略和最大報文長度</p>

57、<p>  所有的服務(wù)請求報文都應(yīng)該使用功能地址,因為診斷設(shè)備并不了解汽車的哪一部分系統(tǒng)含有所需要的信息。對于ISO9141、KWP2000和SAE J1850數(shù)據(jù)網(wǎng)絡(luò),最大的報文長度(包含請求報文和應(yīng)答報文)被限制在七個字節(jié)以內(nèi)。其中ISO9141和SAE J1850網(wǎng)絡(luò)中,每一種診斷報文都有固定的長度。在KWP2000網(wǎng)絡(luò)中,報文長度信息包含在幀頭的第一個字節(jié)中。</p><p><b&g

58、t;  2.2報文格式</b></p><p>  在ISO9141、KWP2000和SAE J1850網(wǎng)絡(luò)中,報文部分的第一個字節(jié)是診斷服務(wù)標(biāo)識碼SID(Diagnostic Service Identifier),其它的字節(jié)是和診斷服務(wù)相關(guān)的數(shù)據(jù)。在CAN網(wǎng)絡(luò)中,報文數(shù)據(jù)部分的第一字節(jié)為協(xié)議控制信息(Protocol ControlInformation),然后才是診斷服務(wù)標(biāo)識碼。ISO9141、

59、KWP2000、SAE J1850和CAN網(wǎng)絡(luò)的服務(wù)請求報文如表2.1所示。</p><p><b>  2.1診斷請求報文</b></p><p>  ISO9141、KWP2000和SAE J1850網(wǎng)絡(luò)服務(wù)請求積極應(yīng)答報文如表2-2所示:</p><p>  2.2 ISO9141、KWP2000和SAE J1850積極應(yīng)答報文</

60、p><p>  KWP2000和CAN網(wǎng)絡(luò)中服務(wù)請求消極應(yīng)答報文如表2.3所示:</p><p>  2.3服務(wù)請求消極應(yīng)答報文</p><p>  3.OBD-Ⅱ汽車診斷系統(tǒng)中的診斷模式</p><p>  在協(xié)議SAE J1979中規(guī)定了九種診斷模式用以獲得不同類型的診斷數(shù)據(jù)。在本節(jié)中,將以ISO9141、SAE J1850和KWP2000數(shù)

61、據(jù)網(wǎng)絡(luò)為例來介紹這些診斷模式,但是要說明的是,這些診斷模式在各種數(shù)據(jù)網(wǎng)絡(luò)中都是通用的,只是根據(jù)不同的數(shù)據(jù)網(wǎng)絡(luò)采取不同的數(shù)據(jù)組織形式。</p><p>  3.1模式一:獲取與排放系統(tǒng)相關(guān)的動態(tài)診斷數(shù)據(jù)</p><p>  該模式是用來獲取當(dāng)前與排放相關(guān)的診斷數(shù)據(jù)的。如模擬輸入和輸出、數(shù)字輸入和輸出、系統(tǒng)的狀態(tài)信息等。在服務(wù)請求報文中包含著一個參數(shù)標(biāo)識碼PID(Parameter Ident

62、ification),該參數(shù)標(biāo)識碼向OBD系統(tǒng)說明了所要讀取數(shù)據(jù)的類型。</p><p>  ECU將向診斷設(shè)備發(fā)回相應(yīng)的診斷數(shù)據(jù)。這些數(shù)據(jù)是通過實時讀取傳感器來得到的。在傳感器發(fā)生故障的時候,不能使用默認值或者代替值。</p><p>  并不是所有的車型都支持協(xié)議中規(guī)定的所有PID值。外部診斷設(shè)備可以通過SID$01來詢問ECU所支持的協(xié)議,PID$00以位編碼的形式表示出對PID$0

63、1-20是否支持。因此,所有的ECU都必須支持PID$00。診斷設(shè)備可以通過PID值向ECU獲取各類與排放相關(guān)的數(shù)據(jù)。具體PID的定義請參照SAE J1979協(xié)議附錄A和附錄B。模式一中診斷設(shè)備服務(wù)請求報文如表3-1-1所示:</p><p>  表3-1-1模式一服務(wù)請求報文</p><p>  ECU的應(yīng)答報文如表3-1-2所示:</p><p>  表3-1-

64、2模式一ECU應(yīng)答報文 </p><p>  3.2模式二:獲取與動力系統(tǒng)相關(guān)的凍結(jié)幀數(shù)據(jù)</p><p>  該模式用來獲取凍結(jié)幀中與排放相關(guān)的數(shù)據(jù)。當(dāng)傳感器的信號出現(xiàn)異常時,ECU會將故障瞬間的數(shù)據(jù)保存下來形成凍結(jié)幀。外部診斷設(shè)備通過服務(wù)請求的方式來獲得ECU中這些凍結(jié)幀數(shù)據(jù)。服務(wù)請求報文中含有向ECU說明所要求的數(shù)據(jù)類型的PID。</p><p>  ECU

65、將發(fā)送一個包含了相關(guān)數(shù)據(jù)的應(yīng)答報文。所有的數(shù)據(jù)都是讀取實際的存儲值,不能使用默認值或者替代值。</p><p>  PID$02是用來獲取導(dǎo)致凍結(jié)被保存的故障碼(Diagnostic Trouble Code)。如果ECU中沒有存儲凍結(jié)幀,則返回$0000做為故障碼,此時送回的相應(yīng)數(shù)據(jù)是無效的。幀序號(Frame number)$00表示強制保存的凍結(jié)幀,汽車制造商可以根據(jù)需要附加更多的凍結(jié)幀。</p>

66、;<p>  模式二中診斷設(shè)備服務(wù)請求報文如表3-2-1所示:</p><p>  表3-2-1凍結(jié)幀請求報文</p><p>  ECU的應(yīng)答報文如表3-2-2所示:</p><p>  表3-2-2凍結(jié)幀請求回復(fù)報文</p><p>  3.3模式三:獲取與排放相關(guān)的診斷故障碼</p><p>  該

67、模式被診斷設(shè)備用于獲得“確認的”排放相關(guān)的診斷故障碼(DTCs)。這個過程分兩步進行:</p><p>  第一步,診斷設(shè)備發(fā)送一個編號為$01的服務(wù)請求,附加PID$01,來得到ECU中所有與排放相關(guān)診斷故障碼的編號。凡是存儲了診斷故障碼的ECU便會發(fā)送包含著診斷故障碼編號的應(yīng)答。如果有能力存儲與排放相關(guān)診斷故障碼的ECU在當(dāng)前沒有存儲診斷故障碼,它會發(fā)送一個應(yīng)答報文說明無診斷故障碼。</p>&

68、lt;p>  第二步,診斷設(shè)備發(fā)送一個編號為$03的服務(wù)請求來獲取具體的故障診斷碼。凡是存儲有診斷故障碼的ECU便會發(fā)送一個或者多個應(yīng)答幀,每個應(yīng)答幀中最多包含3個診斷故障碼。沒有存儲診斷故障碼的ECU不做出應(yīng)答。</p><p>  每一個診斷故障碼占用兩個字節(jié)。在第一字節(jié)中的頭兩位表示故障碼的類別,00表示與動力系統(tǒng)相關(guān),01表示與汽車底盤相關(guān),10表示與車身相關(guān),11表示與車內(nèi)網(wǎng)絡(luò)相關(guān)。第一字節(jié)的第三

69、位和第四位是故障碼的第一個數(shù)值,其余的十二位分別表示故障碼的其余三個數(shù)值。與動力相關(guān)的故障碼$0143如圖所示:</p><p>  圖3-1與動力系統(tǒng)相關(guān)的診斷故障碼0143</p><p>  如果返回的診斷故障碼少于3個,在應(yīng)答幀中應(yīng)該將那些空閑的字節(jié)置0,以保證整個數(shù)據(jù)的長度符合要求。</p><p>  模式三中診斷設(shè)備獲取具體故障碼時所發(fā)送的請求報文如表

70、所示: </p><p>  表3-3-1獲取故障碼服務(wù)請求報文</p><p>  ECU應(yīng)答報文如表3-3-2所示:</p><p>  表3-3-2診斷故障碼請求應(yīng)答報文</p><p>  3.4模式四:清除或置位與排放相關(guān)的診斷信息</p><p>  該模式為診斷設(shè)備提供了清除ECU中所有與排放相關(guān)的診斷信

71、息的方法。這些診斷信息包括:</p><p> ?。?)診斷故障碼的編號;</p><p><b> ?。?)診斷故障碼;</b></p><p> ?。?)導(dǎo)致凍結(jié)幀的故障碼;</p><p><b> ?。?)凍結(jié)幀;</b></p><p> ?。?)氧傳感器測試數(shù)據(jù);

72、</p><p> ?。?)測控系統(tǒng)測試狀態(tài);</p><p>  (7)在線診斷系統(tǒng)測試結(jié)果;</p><p>  (8)故障燈點亮期間汽車行駛的里程;</p><p> ?。?)診斷故障碼被清除后汽車啟動的次數(shù);</p><p>  (10)故障診斷碼被清除后行駛的里程;</p><p> 

73、?。?1)故障燈點亮后發(fā)動機運行的時間;</p><p> ?。?2)故障碼被清除的時間。</p><p>  出于安全的考慮,有些汽車的ECU可能不允許清除其中的一些數(shù)據(jù)。模式四中診斷設(shè)備的服務(wù)請求報文如表3-4-1所示:</p><p>  表3-4-1清除或置位診斷信息時服務(wù)請求報文</p><p>  ECU的應(yīng)答報文如表所示:<

74、;/p><p>  表3-4-2清除或置位診斷信息請求應(yīng)答報文</p><p>  3.5模式五:獲取氧傳感器監(jiān)控測試結(jié)果數(shù)據(jù)</p><p>  診斷設(shè)備通過該模式獲得在線氧傳感器的監(jiān)控測試結(jié)果。在請求報文中,包含一個測試標(biāo)識碼TID,該TID中包含了所需要的信息。測試ID值的定義請參照SAE J1979協(xié)議附錄C。</p><p>  不同的

75、汽車制造商采用的測試結(jié)果計算方法不同,因此,診斷設(shè)備必須能夠?qū)⑺@得的數(shù)值的單位轉(zhuǎn)換成國際標(biāo)準單位。</p><p>  ECU在應(yīng)答的時候?qū)⑹褂米钚碌臄?shù)據(jù)。ECU會保存最近的數(shù)據(jù)直到被更新的數(shù)據(jù)替換為止。并不是所有的車型都支持全部的測試標(biāo)識碼(TID),診斷設(shè)備可以詢問ECU都支持哪些測試標(biāo)識碼(TID)。</p><p>  模式五中獲取氧傳感器測試結(jié)果的服務(wù)請求報文如表3-5-1所示

76、:</p><p>  表3-5-1獲取氧傳感器測試結(jié)果服務(wù)請求報文</p><p>  ECU應(yīng)答報文如表3-5-2所示:</p><p>  表3-5-2獲取氧傳感器測試結(jié)果請求應(yīng)答報文</p><p>  3.6模式六:獲取特殊監(jiān)測對象的在線監(jiān)測結(jié)果數(shù)據(jù)</p><p>  該模式用來獲取汽車特殊監(jiān)測對象的在線診

77、斷監(jiān)測數(shù)據(jù)。所謂特殊監(jiān)測對象是指那些沒有被連續(xù)監(jiān)測的元件或系統(tǒng)。如催化劑的監(jiān)測和蒸發(fā)系統(tǒng)的監(jiān)測。汽車制造商為不同的系統(tǒng)或元件分配測試標(biāo)識碼(Test IDs)和元件標(biāo)識碼(ComponentIDs)。ECU的應(yīng)答報文中包含了測試值和極值。每幀里面只能包含一個極值,可以是上限或者下限,如果想要發(fā)送兩個極值,則要分兩幀發(fā)送。診斷設(shè)備也可以通過詢問來得到ECU所支持的測試標(biāo)識碼。該模式中服務(wù)請求報文和應(yīng)答報文如表3-6-1和表3-6-2所示。

78、</p><p>  表3-6-1獲取特殊監(jiān)測對象的在線監(jiān)測結(jié)果服務(wù)請求報文</p><p>  表3-6-2獲取特殊監(jiān)測對象在線監(jiān)測結(jié)果請求應(yīng)答報文</p><p>  3.7模式七:獲取排放系統(tǒng)相關(guān)的診斷故障碼(當(dāng)前或上一驅(qū)動周期)</p><p>  診斷設(shè)備通過該模式向ECU獲取排放系統(tǒng)相關(guān)的故障碼。這些故障碼是在當(dāng)前或者前一個已完成

79、的驅(qū)動循環(huán)(Driving cycle)中,通過對排放相關(guān)的元件和系統(tǒng)進行測試后得到的。</p><p>  模式七是為汽車修理專門設(shè)計的。在清除了所有的故障診斷信息之后的第一個驅(qū)動循環(huán)內(nèi)得到測試的結(jié)果。如果測試未通過,則給出相應(yīng)的診斷故障碼。通過模式七所得到的測試結(jié)果并不一定要包含發(fā)生故障的元件或系統(tǒng)的信息。如果在下一個循環(huán)中仍然出現(xiàn)了故障,故障燈就會點亮,產(chǎn)生相應(yīng)的診斷故障碼,并通過模式三返回一個應(yīng)答報文給出

80、發(fā)生故障的具體元件信息。</p><p>  在模式七中,ECU的應(yīng)答報文的數(shù)據(jù)部分和模式三中一樣。</p><p>  3.8模式八:對OBD系統(tǒng)、測試或者元件的控制請求</p><p>  診斷設(shè)備可以通過該模式對OBD系統(tǒng)、測試動作和元件進行控制。這些操作是通過測試標(biāo)識碼來實現(xiàn)的(Test ID),相關(guān)的測試標(biāo)識碼參考SAE J1979協(xié)議的附錄F。在服務(wù)請求

81、報文中可能會包含以下數(shù)據(jù)字節(jié):</p><p> ?。?)啟動OBD系統(tǒng)、測試或者某元件;</p><p>  (2)關(guān)閉OBD系統(tǒng)、測試動作或者某元件;</p><p> ?。?)使OBD系統(tǒng)、測試或者元件循環(huán)n秒。</p><p>  在應(yīng)答報文中可能會包含以下數(shù)據(jù)字節(jié):</p><p><b> ?。?

82、)系統(tǒng)狀態(tài)報告</b></p><p><b> ?。?)測試結(jié)果報告</b></p><p>  OBD系統(tǒng)控制服務(wù)請求報文和應(yīng)答報文如表3-7-1和表3-7-2所示。</p><p>  表3-7-1 OBD系統(tǒng)服務(wù)請求報文</p><p>  表3-7-2OBD系統(tǒng)服務(wù)請求應(yīng)答報文</p>

83、<p>  3.9模式九:獲取車輛信息</p><p>  診斷設(shè)備通過該模式獲取車輛信息。這些信息包含車輛身份碼和校準標(biāo)識碼等。相關(guān)的信息種類(INFOTYPE)請參照SAE J1979協(xié)議中附錄G。不同的車型可能支持不同的信息種類。診斷設(shè)備可以通過詢問的方式獲得ECU所支持的信息種類。獲取車輛信息時的服務(wù)請求報文如表3-9-1所示。</p><p>  表3-9-1獲取車輛

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論