陳鯉文,鄒復民
(福建工程學院 福建省汽車電子與電驅動技術重點實驗室,福建 福州 350108)
影響汽車安全行駛的因素很多,有駕駛員的行為和心理、道路狀況、周邊環境、天氣和車況等[1]。隨著汽車電子技術的發展,各遠程診斷手段開始出現,但歸其本質,車身狀態的判斷是基礎和執行目標。
隨著汽車總線技術的發展,各種車用傳感器得到發展,本研究通過ODB診斷接口向汽車發送診斷指令,將汽車的ECU的數據參數發送到CAN數據采集模塊,模塊讀取汽車故障碼,將采集的數據發送到車載智能診斷終端,經過分析處理后,診斷終端可通過LCD本地實時顯示車況信息,給駕駛員提示。同時,通過GPRS模塊等方式將數據遠程傳輸給維修人員,維修人員可以實時監控汽車行駛中的各項數據,給駕駛員以指導,真正起到實時預警,預防維修作用,切實保障行車安全。
采用OBD-II技術可以有效針對更廣泛的適用車型,由于其標準化得電子協議和標準化得診斷代碼,使得我們可以更方便地移植開發新的車型產品。為此OBD-II的許多標準協議均需運用起來、 例如 ISO14230(KWP2000)、ISO14229、ISO15765、SAE15031、SAEJ2012 等。 因此采用 OBD-II會大大減少我們更換車型所需編寫程序的代碼量以及工作量[2]。
ISO15765協議的物理層和數據鏈層遵循ISO11898-1標準。ISO11898即道路車輛——數字信息交換——通信用局域網控制器,第一部分規定了數據鏈路層和物理層。而早在1994年以前,ISO制定了ISO14230,到目前為止,ISO14230是許多汽車廠商采用的診斷通信標準,是基于K線的。由于診斷系統獨立于車載CAN網絡,這使得系統成本增加,內部網絡變得極為復雜。為解決這個問題,2000年歐洲汽車廠商推出了一種基于CAN總線的診斷系統通信標準ISO15765,它可以滿足E-BOD的系統要求。此作品采用CAN總線來對車輛進行診斷,因此ISO15765在車載智能診斷系統中運用十分廣泛。隨著CAN總線技術的不斷革新,CAN總線技術也越來越成熟,運用越來越多。因此采用CAN總線來進行數據傳輸和診斷可以更廣泛的適應車型的發展和需求。采用SAEJ2012是國際標準故障碼的協議,使用此協議可以更好更方便的檢查出大多數車型的常見故障。KWP2000是一套非常完善的車輛故障診斷協議標準,協議的分層結構使得KWP2000診斷服務并不依賴于某種特定的網絡介質,其應用層可以移植到任何一種物理層和數據鏈層協議之上。基于CAN總線的KWP2000成為車載診斷協議的主流[3-4]。
該技術運用OBD-II診斷[5],將車輛的信息及時反饋給上位機,并將其呈獻給駕駛員,其核心技術是如何運用OBD-II模塊以及OBD-II的協議來實現診斷功能,然后將其收集到的信息發回給LPC1752處理器,通過協議解碼數據并將數據顯示。
CORTEX-M3控制模塊作為核心控制部件,在UC/OSII系統下,控制存儲模塊、GSM的工作以用于CAN數據采集模塊,主要完成對車內ECU數據采集控制命令的發送與接收,并處理獲取的數據,將獲取的故障碼、傳感器數據如胎壓、發動機轉速、速度、里程、油溫、水溫、氣溫、負載率等數據與GPS數據一起打包按照規定的格式通過GSM/GPRS模塊發送到遠程診斷服務平臺,平臺實時存儲分析相關數據[6]。

圖1 系統硬件組成框圖Fig.1 Hardware architecture of System
車載故障診斷預警終端主要分為6個部分,由電源管理電路,核心控制存儲電路,CAN協議轉換接口電路,OBDⅡ診斷模塊接口電路,LCD顯示及預警和外界通信電路組成。
2.1.1 核心處理器
OBD-Ⅱ診斷使用的主芯片是LPC1752,LPC1700系列芯片采用高性能的ARM Cortex-M3 V2版本內核,工作頻率最高可達100 M。采用3級流水線和哈佛結構,帶獨立的指令和數據以及外設總線,使得代碼執行速度高達1.25 MIPS/MHz。LPC1752內置64 k字節的FLASH和16 k字節的SRAM,同時具備豐富的增強I/O端口和外設:包含6通道12位的ADC,4個通用16位定時器、電機控制PWM接口、2個I2C、2個SPI/SSP、4個 UART、1個 USB Device、1路 CAN 總線接口等。
LPC1700系列工作于-40~+85°C的溫度范圍,供電電壓為2.4~3.6 V。同時具備低功耗的特點。使得LPC1700微控制器適合于多種應用領域:電子測量、工業控制、汽車電子、醫療和手持設備、白色家電和電機控制等。
2.1.2 電源管理電路
電源管理模塊電路如圖2所示。
2.1.3 OBDⅡ診斷模塊協議轉換接口電路
在設計接口電路時,首先考慮了以控制芯片為核心設計網絡接口單元,由于需要實現網絡中信號格式的轉換、報文的拆解幀、差錯控制等數據鏈路層操作,程序比較復雜,由于時間關系,本文采用了協議轉換OBDⅡ診斷模塊,它完成了大部分數據鏈路層的工作,使接口的設計變得更加簡單,并以其為核心進行接口單元的設計。OBDⅡ診斷模塊的最大優點莫過于支持7種標準OBD-II通信協議。

圖2 電源管理模塊電路Fig.2 Power management model circuit
2.1.4 CAN協議轉換接口電路
由于的芯片內部集成了CAN控制器,因此只需要在外部搭配一個CAN收發器,便可以正常進行CAN報文的收發。在本設計中采用的CAN收發器是MCP2551。CAN通信接口電路圖如圖4所示。
在軟件編寫上,采用實時監控的方式,在未發送命令的時候時刻掃描車輛的基本信息。可以及時有效的返回當前汽車的狀態信息,以使駕駛員做出最快的判斷,幫助駕駛員安全的駕駛車輛。但由于這樣占用內存量十分巨大,因此如何控制好實時掃描時間以及什么時候進行實時掃面變成了關鍵的問題所在。除此之外,在發送命令后,此系統將先行處理完畢當前發送的命令,并將其返回命令獲取到并輸出之后,才會去繼續掃描未掃描完的信息。這優點是命令的處理不會再有更長的等待延遲時間,而是可以盡快的進行處理。通過顯示屏顯示可以更好地將信息直觀的反映出來,進行信息交互,同時可以讓駕駛員在行車途中實現對整個車輛更好地控制,也可以用來判斷車輛的幾項控制器是否出現故障或損壞。

圖3 OBD-Ⅱ模塊的接口電路圖Fig.3 OBD-Ⅱmodel interface circuit

圖4 CAN通信接口電路圖Fig.4 CAN communicational interface circuit
將該系統運用于車上可以更好地利于駕駛員觀察自己當前車輛的各種數據情況,使駕駛員及時發現自己車輛的問題所在,以利于駕駛員及時判斷車輛的狀態,達到提高安全的目的。同時駕駛員通過對車輛各項數據診斷結果的判斷,可以將車輛送修,以保障車輛得到及時的安全維修,提高安全系數。實驗終端通過串口調試助手實測數據如圖6所示。
以上車型為豐田,從實時剪切的數據可以看出,基于Cortex-M3內核的CPU上實現了此協議,波特率為9 600,數據無亂碼現象。設備成功讀取了車輛的OBD-II系統數據,能實時檢查汽車故障碼與汽車傳感器數據。數據包括發動機負荷計算值、發動機冷卻液溫度、發動機轉速、里程、車速、溫度、長期燃油修正值、氣缸提前點火角度、進氣岐管絕對壓力、瞬時油耗、車輛裝配的ODB類型、空氣流量、節氣門絕對位置、車輛電瓶電壓、環境溫度、前后左右門的開關狀態、尾箱門、ACC開關、檔位、TPMS/ABS/SRS和發動機的開關狀態等。

圖5 OBD-II主程序流程圖Fig.5 OBD-II flow-process diagram

圖6 車載診斷數據實時截圖Fig.6 Real-time data of vehicle diagnosis information
本方案采用基于uc/os II操作系統的嵌入式技術,應用ISO15765協議設計了與汽車OBD-II接口的軟硬件,同時在硬件結構基礎上設計了基于嵌入式實時操作系統的OBD-II診斷協議框架,并在基于Cortex-M3內核的CPU上實現了協議機制,成功讀取了車輛的OBD-II系統數據。車載診斷數據的采集是遠程汽車故障診斷、駕駛員行為分析等的基礎條件,本方案具備成本低、穩定、魯棒性強、靈活可移植的優勢。
[1]黃愛蓉,向鄭濤,張濤,等.車輛信息實時監視系統的設計和實現[J].計算機工程與設計.2010.31(8):1839-1847.HUANG Ai-rong,XIANG Zheng-tao,ZHANG Tao,et al.Design and implementation of vehicle information real-time monitoring system[J].Computer Engineering and Design,2010,31(8):1839-1847.
[2]王建海,方茂東,高繼東.汽油車車載診斷系統(OBD)基本原理及其應用[J].汽車工程,2006,5(28):491-494.WANG Jian-hai,FANG Mao-dong,GAO Ji-dong.Basic principle and application of on-board diagnostics for gasoline fuelled vehicles[J].Automotive Engineering,2010,31(8):1839-1847.
[3]張麗,方成,李建秋,等.基于ISO 15765的柴油機故障診斷接口開發[J].車用發動機,2009,4(183):16-19.ZHANG Li,FANG Cheng,LI Jian-qiu.Development of fault diagnosis interface for diesel engine based on ISO15765[J].Vehicle Engine,2009,4(183):16-19.
[4]于世濤,趙燕,王騫,等.發動機電控系統EU5+診斷系統開發[J].汽車技術,2011(12):36-39,47.YU Shi-tao,ZHAO Yan,WANG Qian,et al.EU5+diagnosis system development for engine electronic control system[J].Automobile Technology,2011(12):36-39,47.
[5]王東亮,黃開勝.汽油車OBD在用核心技術及其發展方向[J].汽車技術,2011(11):1-10 WANG Dong-liang,HUANG Kai-sheng.Core technology and development trend of on-board diagnostics system for gasoline vehicles[J].Automobile Technology,2011(11):1-10.
[6]胡杰,顏伏伍,鄒斌.基于OBD系統故障模擬裝置的開發與研究[J].內燃機工程,2010,31(2):6-10 HU Jie,YAN Fu-wu,ZOU Bin.Development and research of malfunction simulation device based on OBD system[J].Chinese Internal Combustion Engine Engineering,2010,31(2):6-10.