百合提努爾
【摘要】本文主要研究了基于安卓智能手機的汽車診斷系統(tǒng)的實現,通過對帕薩特B5示教板進行實際測試驗證了對診斷數據的處理和管理的有效性,并實現了汽車故障代碼的讀取及汽車實時數據的監(jiān)控。
【關鍵詞】汽車診斷 OBD-Ⅱ 藍牙 安卓智能手機
【摘要】 In this paper study on the implementation of Android-based smart phones automotive diagnostic system, through PassatB5 teaching board actual test the validity of the diagnostic data processing and management, and to achieved the car fault codereader and vehicle real-time data monitoring.
【關鍵詞】 Vehicle Diagnosis OBD-Ⅱ Bluetooth Android Smart Phone
一、前言
在20世紀90年代人們認識到,為了限制控制器和診斷檢測儀在接口方面的維護費用,不僅要對數據傳輸層,而且對應用層也要進行標準化。這項標準化的工作,促進了法規(guī)的制定。尤其對于檢查汽車重要廢氣排放的系統(tǒng)功能,急需一種相對統(tǒng)一的OBD-Ⅱ(車載診斷系統(tǒng))接口。另一方面,由于全球的汽車制造商之間日益增長的合作,部分組件或整車由多個制造商共同研發(fā)和使用。但是由于這個標準化的過程太慢,導致出現許多的專種性和不兼容的個體性解決方案。
汽車的故障診斷由OBD-Ⅱ車載診斷系統(tǒng)收集的有關信息通過OBD-Ⅱ接口實現的。許多汽車要求使用外設來監(jiān)控汽車的運行狀態(tài)。本文主要研究如何利用安卓智能手機與OBD-Ⅱ連接器進行通信,并監(jiān)控實時數據。
二、汽車診斷
2.1 0BD- II硬件特點及系統(tǒng)檢測
我國已經出臺相關規(guī)定,出廠新車必須配備OBD-Ⅱ系統(tǒng)、否則不允許上牌。裝備OBD-Ⅱ的汽車具有如下基本特點:
(1)排氣管上安裝的氧傳感器檢測廢氣中氧的含量、也對催化轉換器的凈化率進行監(jiān)控,同時對燃油控制進行補償。
(2)具有32位(也有64位)處理器功能的動力傳動模塊,應OBD-Ⅱ的需要,增加了上萬個新的標定常數。
(3)帶有EEPROM的控制器,使其中的軟件可重新編程,通過終端接口及外部計算機可對其重新寫入新的軟件。
(4)增強型的燃油蒸發(fā)系統(tǒng),帶有一個排氣電磁閥、一個燃油箱壓力傳感器和一個診斷測試裝置。
(5)采用數據線和16端子的連接器。
通過這些新增的硬件以及汽車上的相關傳感器構成眾多監(jiān)測器,如失火監(jiān)測器、燃油系統(tǒng)監(jiān)測器、組合元件監(jiān)測器、氧傳感器監(jiān)測器、EGR監(jiān)測器等,對汽車運行狀態(tài)進行監(jiān)測。
OBD-Ⅱ系統(tǒng)的控制模塊內有監(jiān)測自適應軟件,它通過上述的監(jiān)測器來完成故障自診斷,當以上監(jiān)測器監(jiān)測到變異信號,立即點亮故障指示燈。
故障檢測儀器一般分為專用檢測儀和通用檢測儀。一般汽車制造廠家提供專用的檢測儀器,其檢測診斷功能非常好,但是比較昂貴。通用的檢測儀器采用標準化的代碼。
2.2 0BD- lI通信協(xié)議
為了實現和汽車控制器的通信,首先應該學習汽車OBD-Ⅱ系統(tǒng)所使用的協(xié)議,才能和它進行自由的溝通。目前在汽車上使用的OBD協(xié)議很多,有標準的,也有非標準的。標準的有兩種,一種是由國際標準組織( ISO)開發(fā)的,另一種是由美國汽車工程師協(xié)會( SAE)制定的。現在最常見的三種通信方式:
1)K線通信方式,它使用的是IS0 9141和IS014230協(xié)議,它是一種面向字符的協(xié)議,它能與每個控制器和運算器中的串行接口進行連接,根據UART(通用異步中集器和收發(fā)器)完成簡單的診斷任務。
2) VPW/PWM(可變脈寬調制/脈沖寬度調制)通信方式,它使用的是SAE J1850協(xié)議,是面向比特流的A/B級協(xié)議,用于在線和離線通信。經過仔細的研究發(fā)現,其本質是關于兩個在物理層和比特傳輸層彼此不兼容的總線系統(tǒng),但是卻采用共同的數據鏈路層。
3) CAN-BUS通信方式,它使用的是IS0 15765-4協(xié)議,它是多路訪問、非破壞性、沖突檢測的競爭協(xié)議。節(jié)點尋址方式在協(xié)議中沒有具體規(guī)定。每個幀的標識符( ID)就表示報文,而它定義為應用中生成的傳輸信息。數據幀和遠程幀有兩種格式,即標準格式(11位ID)和擴展格式(11位的基本ID+18位的擴展ID)。
雖然各個汽車廠商通常使用三種不同的通信協(xié)議,但給定的汽車將只使用一種協(xié)議,因此診斷設備必須兼容這三種協(xié)議。OBD-Ⅱ通信協(xié)議的報頭信息如表l所示。
2.3故障診斷模式
標準要求每一個傳遞給汽車的OBD命令或者請求必須遵循固定的格式。將要發(fā)送的第一字節(jié)(被稱為模式字節(jié))表示請求的數據類型,第二個字節(jié)(也許是第三個或者第四個字節(jié))才說明要求的實際信息。模式字節(jié)之后緊跟的字節(jié)叫做參數標識或者PID數字字節(jié)。要使接收OBD請求的數據,首先必須OBD-Ⅱ端口寫成如下格式:
在格式中XX表示請求的模式,YY表示請求的PID。例如:要想知道汽車進氣溫度,那么請求的模式是1、請求的PID是OF,因此給OBD-Ⅱ端口發(fā)送OlOF。不同的模式如表2所示。
三、OBD- lI藍牙設備
藍牙是目前汽車上最受歡迎的無線通信技術,許多車用電子產品都引入藍牙技術,如耳機、免提電話等。本文采用ELM327藍牙設備。ELM327是屬于通用OBD解釋程序接口,用于標準OBD-Ⅱ協(xié)議的汽車。解釋程序以AT命令或者OBD命令進行詢問的。AT命令是內部命令,主要面向ELM327。OBD命令是經網關至發(fā)動機控制單元或其他控制單元。endprint
3.1 AT命令
ELM327藍牙設備能識別每一個“AT”開頭的和(\n)結束的AT命令。如果命令能順利調整特性,會發(fā)送“OK”來應答。有些命令以自變量的方式請求數字。這些數字一般要用成對地寫成十六進制。通常與汽車通信連接之前,不要改變AT命令。
3.2 0BD-Ⅱ命令
凡是沒有“AT”兩個字開頭的所有命令可以被認為汽車OBD命令。如果被測試的每一對字節(jié)確實是十六進制數字就會發(fā)送。OBD命令先打成數據包,然后發(fā)送給汽車各系統(tǒng)。許多標準請求的三個字節(jié)的報頭和字節(jié)錯誤(檢驗和)與報文格式一樣的。
ELM327藍牙設備接受來自安卓手機的AT命令和OBD命令,同時它能回答AT命令,也能發(fā)送OBD命令(圖1)。
如果OBD命令以控制字符結束時,ELM327藍牙設備不時地保持重復命令和向安卓手機發(fā)送數據。在圖2所示的232接口可以是串行USB或者藍牙接口。當設備插入時,LED指示燈發(fā)光并已準備接收命令。它有一個小的內存從而保存了像正在使用的協(xié)議、查詢時間等數據。
圖2 0BD-Ⅱ方塊圖
四、安卓手機
安卓手機基本上是使用藍牙ELM327設備進行通信。它開始發(fā)送AT命令,然后從ELM327設備接收數據并顯示在屏幕上。例如,發(fā)動機轉數、車速、油門和發(fā)動機負荷等數據。安卓手機用軟件是JAVA程序語言設計開發(fā)的。JAVA語言是一種面向對象的高級語言。
五、汽車診斷實現
本研究用試驗設備采用帕薩特B5示教板,實物元件主要包括有發(fā)動機控制單元、防抱死制動控制單元、自動變速器控制單元、曲軸位置傳感器、霍爾傳感器、組合儀表(網關)、OBD診斷座、點火線圈、火花塞、轉向燈、舒適控制單元、左前門窗控制單元、左后門窗控制單元、右后門窗控制單元、左前門鎖、右前門鎖、左后門鎖、右后門鎖、組合開關等組成。試驗模塊如圖3所示??刂茊卧筛咚倌K和低速模塊組成。高速模塊要求連續(xù)監(jiān)控、低速模塊要求斷續(xù)監(jiān)控。
圖3試驗模塊
六、結論
(1)文中深入研究分析了OBD通信協(xié)議、OBD命令以及故障診斷模式等,尤其是故障模式對汽車實時診斷極為重要。
(2)基于安卓智能手機的車載診斷系統(tǒng)能對帕薩特B5示教板中一些重要的數據進行實時監(jiān)測,并相關的故障信息顯示在手機上。
(3)利用這種OBD-Ⅱ藍牙設備技術,可以方便地進行汽車工作狀態(tài)實時監(jiān)測,方便地進行車輛的實時診斷,極大地提高了對汽車的監(jiān)控、維護和管理水平。
參 考 文 獻[1]胡杰,盛詳政,李洪飛,曾愷,顏伏伍.基于智能手機的汽車故障診斷系統(tǒng)研究與開發(fā)[J].汽車技術,2011.9[2]蔡黎,代妮娜,鄧明.基于OBD協(xié)議的Android平臺汽車虛擬儀表設計[J].電子技術應用,2011.12[3]ELM Electronics: ELM327 0BD to RS232 InterpreLer Datasheet, [online] 2012.04.21[4]Available online: .endprint