謝鈺敏
(廣州汽車集團股份有限公司 汽車工程研究院,廣東 廣州510640)
隨著科技的發展及汽車電子控制技術的提高,汽車的診斷方法也逐漸從以前的人工定性檢查轉變到現在的車載自診斷系統。現在主流的車載自診斷系統主要為手持式故障診斷儀,此類診斷儀一般具有強大的功能和廣泛的實用性,但是由于價格昂貴和功能的專業針對性,加上其體積較不易攜帶,導致其只適合于專業維修使用,在一般車主中推廣存在難度。
而本文設計的汽車故障診斷儀,只需要一臺配備藍牙的智能手機并安裝上相應的手機程序,即可實現汽車故障診斷及車輛狀態監測。由于現在的智能手機普及率高,而且本診斷儀體積小,成本低,易于攜帶,非常有利于推廣和使用,具有很強的市場競爭力。
如圖 1所示,整個診斷系統包括兩個部分,分別是藍牙故障診斷終端及手機應用。
藍牙故障診斷終端通過汽車OBD-II口與車輛通信,并通過藍牙模塊(Bluetooth,簡稱BT)和智能手機通信。所以通過本藍牙故障診斷系統,即可實現用手機對汽車進行故障診斷和車輛狀態監測。其中,完成診斷模塊和車輛的數據交互,是該系統中最重要的方面。
系統符合ISO15765診斷規范及OBD-II標準。其中OBD-II標準是為了解決汽車對外的通訊協議和通訊接口的統一問題,美國汽車工程師協會(SAE)在1993年制訂的。
OBD-II接口引腳定義如表格1所示。其中本診斷儀用到的通信協議為:ISO15765(CAN-BUS)[4],通過 OBD-II口的 1、9、6、14 腳連接,這樣就可以直接跟汽車內任何CAN節點進行交互通信。

圖1 基于OBD-II的汽車藍牙故障診斷系統Fig.1 Bluetooth vehicle fault diagnosis system based on OBD-II
手機應用方面主要負責人機交互界面及診斷數據的儲存。用戶通過手機提供的人機交互界面顯示選擇相應的診斷服務,然后手機應用程序會將相應的指令發送到藍牙故障診斷終端去執行,執行結果同樣經過藍牙信道返回到藍牙故障診斷終端,并將數據顯示到界面。見表1。

表1 OBD-II接口引腳定義Tab.1 OBD-II interface pin definitions
1.2.1 藍牙故障診斷終端的軟件架構

圖2 軟件架構Fig.2 Software Architecture
1)藍牙故障診斷系統的操作系統
系統采用符合OSEK/VDX規范的車規級操作系統。此標準定義了三個組件來構成OSEK/VDX標準:實時的操作系統(OSEK OS)[1],通訊子系統(OSEK COM)[2]和網絡管理系統(OSEK NM)[3]。 圖 2 給出了OSEK/VDX的基本結構和各組件間的關系。
2)藍牙故障診斷終端應用軟件任務劃分
本藍牙故障診斷系統的應用軟件主要劃分為兩個任務:藍牙任務(BT Task)及CAN總線任務(CAN Task)。兩個任務之間通過消息進行通信。
3)CAN 總線任務

圖3 CAN總線任務通訊流程圖Fig.3 CAN bus task communication flowchart
CAN總線任務主要完成CAN總線診斷命令的收發,應用數據的組包解包等與汽車各ECU節點交互通訊相關。主要的流程圖如圖3所示。
4)藍牙任務
藍牙任務主要處理藍牙的連接管理,藍牙數據收發,應用數據組包解包等與手機交互通訊相關為藍牙故障診斷終端軟件的一個重要部分,其流程圖如圖4所示。

圖4 藍牙通訊流程圖Fig.4 Bluetooth task communication flowchart
1.2.2 手機應用程序的執行流程的設計
汽車藍牙故障診斷系統通過藍牙接口與智能手機相連,并需要設計出與本系統通信配套的手機應用程序。該手機應用程序實現的功能主要是:
1)發起對藍牙故障診斷系統的連接。
2)通過手機界面,將診斷指令經藍牙信道發送到本藍牙故障診斷系統。
3)接收藍牙故障診斷系統返回的信息,解包,分類并顯示到手機界面。
目前只針對安卓手機設計出與本系統配套的APK程序,通訊流程如圖5所示。
通過手機應用程序與本故障診斷系統相結合,可以實現下面功能,如讀清各個ECU節點的故障碼,讀取ECU信息等。手機應用程序則將本故障診斷系統返回的信息解包及分類顯示到手機界面,如故障碼的數目及對應故障碼的信息。還可以根據診斷信息生成診斷報告,其中包括診斷的時間,及對應的汽車狀態參數等。
此外,根據用戶需要,還可以生成汽車內部運行的數據流曲線,例如:發動機轉速,平均油耗等等。這些記錄均可以生成*.csv文件,并存儲到手機的存儲卡中。

圖5 診斷通信流程Fig.5 Diagnostic communication processes

圖6 診斷數據Fig.6 Diagnostic Data
如圖6所示,為本藍牙汽車故障診斷系統對8個ECU進行連續診斷的總線數據記錄,由結果可得,本系統能基本實現汽車故障診斷功能。
本藍牙故障診斷儀能夠實現基本的汽車故障診斷功能,而且使用范圍廣,極大方便車主或汽車修理專業人士對汽車的管理及汽車運行數據的分析,而且擴展性強,易于攜帶,具有很大的實用意義。
[1]International Organization for Standardization.ISO 17356-3,Road vehicles-Open interface for embedded automotive applications-Part 3:OSEK/VDX Operating System(OS)[S].2005.
[2]International Organization for Standardization.ISO 17356-5,Road vehicles-Open interface for embedded automotive applications-Part 5:OSEK/VDX Network Management(NM)[S].2006.
[3]International Organization for Standardization.ISO 17356-4,Road vehicles-Open interface for embedded automotive applications-Part 4:OSEK/VDX Communication(COM)[S].2005.
[4]ISO 15765-3,Road vehicles-Diagnostics on Controller Area Networks(CAN)-Part 3:Implementation of unified diagnostic services (UDS on CAN)[S].International Organization for Standardization,2004.