趙文杰,張曉東,李 靜,董建奇
(北奔重汽(北京)汽車研發有限公司,北京 102308)
隨著整車電控系統的不斷增多,整車電控系統故障診斷各自分離,像發動機、變速器、防抱死系統、車身系統等,它們都有各自專用診斷工具,診斷工具品種多,傳輸協議不一致,連接接口不一致,診斷效率低。為了提高整車電控系統故障診斷效率,解決主機廠集成診斷的問題,在整車網絡架構基礎上,基于控制器診斷協議以及主機廠故障解決經驗,結合系統臺架、實車測試手段,開發一款診斷功能覆蓋全面、擴展性強的多功能診斷儀系統,滿足主機廠和售后服務系統診斷需求。
首先對北奔重型載貨汽車的網絡架構進行分析。目前北奔重型載貨汽車主要由車身總線和動力總線組成。以北奔重型載貨某款車型為例,車身總線主要有組合儀表IC、車載終端TP、駕駛員門模塊TMFTMB、車身控制器CBCU等節點。動力總線主要有發動機控制器EMS、后處理單元DCU、防抱死系統ABS、變速器單元TCU、緩速器單元RCU等節點。根據整車網絡規劃以及控制器診斷需求,車身總線、動力總線以及部分控制器診斷總線均在整車OBD預留點位定義口。整車網絡如圖1所示。
根據對不同廠家控制器的診斷協議調研,目前控制器的診斷主要有K線診斷和CAN線診斷。
K線診斷主要采用的是Keyword Protocol 2000(KWP2000)協議,采用ISO 14230標準。其OSI參考模型如圖2所示。
ISO 14230-1中規定了K線通信的信號和電氣特性,包括信號傳輸電壓、波特率、編碼方式等信息。根據對供應商控制器診斷協議調研,K線采用的波特率為10 400b/s。

圖1 某車型網絡架構

圖2 KWP2000 OSI參考模型
ISO 14230-2中規定了數據鏈路層規范,包括報文結構、初始化過程、通信連接管理、定時參數和錯誤處理等內容。KWP2000協議報文結構由報文頭、數據字節以及校驗和3部分組成。如圖3所示。

圖3 KWP2000報文數據格式
1)報文頭。最大由4個字節組成:①格式字節(Fmt)包含了報文的形式和形態信息。2個比特位(A0和A1)給出尋址信息,6個比特位(L0-L5)給出數據字節。②目標地址(Tgt)指明向哪個通信節點傳輸信息。③源地址(Src)指出信息來自哪一條通信節點。④長度(Len)確定有用數據字節的數量,最大255個字節。目標字節、源地址以及長度字節都與格式字節的參數有關。
2)數據域。每個報文可發送最高255個字節的有用數據,有用數據的第一個字節總是服務標識字節(Sid),之后緊跟著的是與該服務有關的數據字節。
3)校驗和。除校驗和自己之外的報文中全部字節的模數值。
ISO標準中給出了2種初始化方法:5波特率初始化和快速初始化。目前控制器使用的是快速初始化。在快速初始化時,診斷儀發送1個喚醒模式(WuP)。該模式由一個25 ms的低電平和一個25 ms的高電平組成。在WuP發送完后,診斷儀發送10 400b/s波特率的通信服務,控制器回復1個包括關鍵字節在內的主動應答。此后結束初始化,可以開始常規通信。如圖4所示。

圖4 K線初始化
ISO 14230-3規定了應用層的服務規范,包括診斷管理功能組、數據傳輸功能組、診斷信息傳輸功能組、輸入/輸出控制功能組、遠程啟動ECU例程功能組、數據上載/下載功能組和擴展功能組等服務。
CAN線主要采用的協議為UDS(Unified diagnostic services)協議。其OSI參考模型如圖5所示。
基于CAN總線的KWP2000協議,即ISO15765協議,其中ISO 15765-1為物理層和數據鏈路層,ISO 15765-2對應網絡層,ISO 15765-3對應于應用層。在早期的版本中,ISO 15765使用的是ISO 14230的應用層,在以后的版本中采用的是ISO 14229的標準。ISO 15765-3規定了服務命令的格式,沒有規定服務的具體內容,ISO 14229-1規定了服務的具體內容?;贑AN總線的UDS是在ISO 15765-3和ISO 14229-1兩個相關的協議基礎上定義的診斷服務。
在基于CAN總線的診斷協議中,物理層和數據鏈路層采用基于ISO 11898的CAN總線底層協議。調研的診斷協議中波特率分為250kb/s和1Mb/s兩種。采用物理尋址的方式。物理地址格式如表1所示。

圖5 UDS OSI參考模型

表1 CAN ID格式
網絡層15765-2中定義了數據的封裝與解封裝、分包和組包、多幀處理等問題。其中數據幀分為以下4種情況:單幀(SF)、首幀(FF)、連續幀(CF)、流控制(FC)。如表2所示。

表2 幀格式
應用層采用ISO 14229-1和ISO 14230-3協議,主要定義了診斷服務功能,包括診斷服務管理、數據傳輸、輸入輸出控制、啟動例程等服務。
經過調研,控制器診斷協議主要分為CAN線診斷和K線診斷。K線診斷的控制器在物理層和數據鏈路層都基本一致,在應用層診斷協議有所差異。CAN線診斷的控制器在波特率和應用層診斷協議有差異,其他基本一致。如表3所示。
在應用層協議中,不同控制器使用的診斷服務不同,比如K線的控制器在讀取故障碼功能時,使用的服務有18(readDiagnosticTroubleCodesByStatus)和13(readDiagnosticTroubleCodes)服務。CAN線的控制器在讀取故障碼功能時,使用的服務有17(readStatusOfDiagnostic TroubleCodes)、19(readDTCInformation)和18(readDiag nosticTroubleCodesByStatus)服務。各控制器診斷服務的子服務也存在較大差別。

表3 控制器診斷協議匯總
根據整車網絡架構以及控制器診斷協議的分析,結合主機廠實際診斷需求設計診斷系統。
根據上述診斷協議分析,設計診斷系統診斷功能如下。
1)系統識別功能 診斷儀可以識別不同控制器的軟、硬件版本等信息。
2)讀取/清除故障碼功能 ①讀故障碼:診斷儀可以讀取控制器當前故障和歷史故障;②清故障碼:通過診斷儀能夠實現歷史故障的清除;③凍結幀:診斷儀可以讀取控制器故障碼的凍結幀。
3)執行器動作測試 診斷儀可以對電控單元發送命令,使其執行負載動作,對負載進行檢測。
4)控制器標定 診斷儀能對控制器參數進行標定。
5)數據流監控 診斷儀可以動態監控控制器端口信號的輸入輸出狀況。
6)數據刷寫 診斷儀可以實現控制器應用層數據的刷寫。
7)故障維修指導 診斷儀配備整車電控系統故障維修數據庫,當出現故障時,診斷儀可以給出相應故障的維修指導,方便用戶排查故障。
診斷系統主要由PC軟件和硬件適配器組成。在診斷應用模塊中,進行控制器診斷參數(診斷協議、波特率、診斷方式、適配器參數等)配置,之后調用協議棧模塊進行診斷命令請求發送,硬件驅動模塊驅動適配器發送報文與整車網絡中的控制器進行信息交互,診斷響應模塊根據控制器響應命令進行邏輯處理,之后將信息傳輸給報文解析模塊并向上層輸出顯示接口,最后界面顯示模塊進行數據顯示。數據管理模塊用于用戶權限、控制器分類、診斷參數等信息管理。數據庫模塊用于診斷系統數據存儲管理。維修幫助模塊用于整車電控系統故障維修指導管理。系統框架如圖6所示。

圖6 診斷系統框架
根據不同控制器的診斷協議以及診斷功能的設計,診斷系統軟件架構設計為適配器驅動層、標準協議層、業務邏輯層、業務顯示層和控制器業務顯示層。如圖7所示。
1)適配器驅動層 將適配器驅動進行二次封裝,輸出統一接口供上層調用。

圖7 軟件架構
2)標準協議層 實現標準協議的各種標準服務(各標準協議對應OSI模型中的數據鏈路層、網絡層、應用層的實現),為上一層提供標準服務調用接口。
3)業務邏輯層 實現讀/清故障碼、系統信息、數據流、執行器測試、參數標定、數據刷寫等各種業務的通信邏輯,并向上一層輸出顯示結果。
4)業務顯示層 UI設計,實現各個業務的顯示,供上層動態調用。
5)控制器業務顯示層 實現用戶權限管理、車型分類、控制器選擇等功能,并根據配置信息調用下層接口,顯示控制器診斷功能。
硬件適配器的主要功能就是對整車網路中CAN線、K線數據進行收發,并將數據轉化為USB數據或WIFI數據傳給上位機。
根據控制器診斷協議分析以及整車控制器網絡架構設計適配器。適配器一端通過USB/WIFI方式與上位機通信,另一端直接連接整車OBD口。適配器收到上位機發送的信號后,控制跳線器電路,將適配器的CAN/K路與所需的整車OBD口的CAN路/K路導通,隨后MCU即可發送CAN/K數據與整車網絡中的控制器進行數據交互。硬件結構如圖8所示。

圖8 系統硬件結構
經過臺架和實車測試,多功能診斷儀系統可以根據需要與整車任意CAN/K網絡通信。設計的多功能診斷儀系統可以實現不同廠家控制器的診斷功能,可以實現控制器信息讀取、歷史故障碼清除、故障碼查看、凍結幀查看、動態數據流監測、執行器動作測試、參數標定、控制器應用層程序刷寫等診斷功能。多功能診斷儀系統配備故障維修系統,提供相關故障維修指導幫助,方便指導用戶快速維修故障。
通過以上方法設計的多功能診斷儀系統,實現了一套系統即可實現不同控制器的診斷,實現北奔全系列車型電控系統的診斷功能。北奔多功能診斷儀系統具備可擴展性,可以快速增加新控制的診斷功能。目前北奔多功能診斷儀系統已經批量應用于北奔研發系統、生產系統和售后服務系統,有效解決了電控系統故障診斷問題,提高故障診斷效率,得到廣大用戶的一致好評。
參考文獻:
[1] 郭凱凱.CAN總線UDS的研究與應用[D]. 淮南:安徽理工大學,2013.
[2] 李銳.基于ISO15765的車載CAN網絡診斷設計[J].計算機工程,2012(38):36-38.
[3] 張宏, 詹德凱, 林長加. 基于CAN 總線的汽車故障診斷系統[J]. 汽車工程, 2008, 30(10):934-937.
[4] ISO 15765-2:2004 Road vehieles-Diagnostics on Controller Area Networks (CAN) -Part2:Network layer services[S].
[5] ISO 15765-3:2004 Road vehieles-Diagnostics on Controller Area Networks (CAN) –Part3:Implementation of unified diagnostic services(UDS on CAN) [S].
[6]ISO14230-3:Keyword protocol 2000 - Part 3:ApplicationLayer[S].
[7][德]萊夫(Reif,K.). BOSH汽車電氣與電子[M].孫澤昌,譯.北京:北京理工大學出版社,2014.