陳鯉文,鄒復(fù)民
(福建工程學(xué)院 福建省汽車電子與電驅(qū)動技術(shù)重點實驗室,福建 福州 350108)
影響汽車安全行駛的因素很多,有駕駛員的行為和心理、道路狀況、周邊環(huán)境、天氣和車況等[1]。隨著汽車電子技術(shù)的發(fā)展,各遠(yuǎn)程診斷手段開始出現(xiàn),但歸其本質(zhì),車身狀態(tài)的判斷是基礎(chǔ)和執(zhí)行目標(biāo)。
隨著汽車總線技術(shù)的發(fā)展,各種車用傳感器得到發(fā)展,本研究通過ODB診斷接口向汽車發(fā)送診斷指令,將汽車的ECU的數(shù)據(jù)參數(shù)發(fā)送到CAN數(shù)據(jù)采集模塊,模塊讀取汽車故障碼,將采集的數(shù)據(jù)發(fā)送到車載智能診斷終端,經(jīng)過分析處理后,診斷終端可通過LCD本地實時顯示車況信息,給駕駛員提示。同時,通過GPRS模塊等方式將數(shù)據(jù)遠(yuǎn)程傳輸給維修人員,維修人員可以實時監(jiān)控汽車行駛中的各項數(shù)據(jù),給駕駛員以指導(dǎo),真正起到實時預(yù)警,預(yù)防維修作用,切實保障行車安全。
采用OBD-II技術(shù)可以有效針對更廣泛的適用車型,由于其標(biāo)準(zhǔn)化得電子協(xié)議和標(biāo)準(zhǔn)化得診斷代碼,使得我們可以更方便地移植開發(fā)新的車型產(chǎn)品。為此OBD-II的許多標(biāo)準(zhǔn)協(xié)議均需運用起來、 例如 ISO14230(KWP2000)、ISO14229、ISO15765、SAE15031、SAEJ2012 等。 因此采用 OBD-II會大大減少我們更換車型所需編寫程序的代碼量以及工作量[2]。
ISO15765協(xié)議的物理層和數(shù)據(jù)鏈層遵循ISO11898-1標(biāo)準(zhǔn)。ISO11898即道路車輛——數(shù)字信息交換——通信用局域網(wǎng)控制器,第一部分規(guī)定了數(shù)據(jù)鏈路層和物理層。而早在1994年以前,ISO制定了ISO14230,到目前為止,ISO14230是許多汽車廠商采用的診斷通信標(biāo)準(zhǔn),是基于K線的。由于診斷系統(tǒng)獨立于車載CAN網(wǎng)絡(luò),這使得系統(tǒng)成本增加,內(nèi)部網(wǎng)絡(luò)變得極為復(fù)雜。為解決這個問題,2000年歐洲汽車廠商推出了一種基于CAN總線的診斷系統(tǒng)通信標(biāo)準(zhǔn)ISO15765,它可以滿足E-BOD的系統(tǒng)要求。此作品采用CAN總線來對車輛進(jìn)行診斷,因此ISO15765在車載智能診斷系統(tǒng)中運用十分廣泛。隨著CAN總線技術(shù)的不斷革新,CAN總線技術(shù)也越來越成熟,運用越來越多。因此采用CAN總線來進(jìn)行數(shù)據(jù)傳輸和診斷可以更廣泛的適應(yīng)車型的發(fā)展和需求。采用SAEJ2012是國際標(biāo)準(zhǔn)故障碼的協(xié)議,使用此協(xié)議可以更好更方便的檢查出大多數(shù)車型的常見故障。KWP2000是一套非常完善的車輛故障診斷協(xié)議標(biāo)準(zhǔn),協(xié)議的分層結(jié)構(gòu)使得KWP2000診斷服務(wù)并不依賴于某種特定的網(wǎng)絡(luò)介質(zhì),其應(yīng)用層可以移植到任何一種物理層和數(shù)據(jù)鏈層協(xié)議之上?;贑AN總線的KWP2000成為車載診斷協(xié)議的主流[3-4]。
該技術(shù)運用OBD-II診斷[5],將車輛的信息及時反饋給上位機,并將其呈獻(xiàn)給駕駛員,其核心技術(shù)是如何運用OBD-II模塊以及OBD-II的協(xié)議來實現(xiàn)診斷功能,然后將其收集到的信息發(fā)回給LPC1752處理器,通過協(xié)議解碼數(shù)據(jù)并將數(shù)據(jù)顯示。
CORTEX-M3控制模塊作為核心控制部件,在UC/OSII系統(tǒng)下,控制存儲模塊、GSM的工作以用于CAN數(shù)據(jù)采集模塊,主要完成對車內(nèi)ECU數(shù)據(jù)采集控制命令的發(fā)送與接收,并處理獲取的數(shù)據(jù),將獲取的故障碼、傳感器數(shù)據(jù)如胎壓、發(fā)動機轉(zhuǎn)速、速度、里程、油溫、水溫、氣溫、負(fù)載率等數(shù)據(jù)與GPS數(shù)據(jù)一起打包按照規(guī)定的格式通過GSM/GPRS模塊發(fā)送到遠(yuǎn)程診斷服務(wù)平臺,平臺實時存儲分析相關(guān)數(shù)據(jù)[6]。
圖1 系統(tǒng)硬件組成框圖Fig.1 Hardware architecture of System
車載故障診斷預(yù)警終端主要分為6個部分,由電源管理電路,核心控制存儲電路,CAN協(xié)議轉(zhuǎn)換接口電路,OBDⅡ診斷模塊接口電路,LCD顯示及預(yù)警和外界通信電路組成。
2.1.1 核心處理器
OBD-Ⅱ診斷使用的主芯片是LPC1752,LPC1700系列芯片采用高性能的ARM Cortex-M3 V2版本內(nèi)核,工作頻率最高可達(dá)100 M。采用3級流水線和哈佛結(jié)構(gòu),帶獨立的指令和數(shù)據(jù)以及外設(shè)總線,使得代碼執(zhí)行速度高達(dá)1.25 MIPS/MHz。LPC1752內(nèi)置64 k字節(jié)的FLASH和16 k字節(jié)的SRAM,同時具備豐富的增強I/O端口和外設(shè):包含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微控制器適合于多種應(yīng)用領(lǐng)域:電子測量、工業(yè)控制、汽車電子、醫(yī)療和手持設(shè)備、白色家電和電機控制等。
2.1.2 電源管理電路
電源管理模塊電路如圖2所示。
2.1.3 OBDⅡ診斷模塊協(xié)議轉(zhuǎn)換接口電路
在設(shè)計接口電路時,首先考慮了以控制芯片為核心設(shè)計網(wǎng)絡(luò)接口單元,由于需要實現(xiàn)網(wǎng)絡(luò)中信號格式的轉(zhuǎn)換、報文的拆解幀、差錯控制等數(shù)據(jù)鏈路層操作,程序比較復(fù)雜,由于時間關(guān)系,本文采用了協(xié)議轉(zhuǎn)換OBDⅡ診斷模塊,它完成了大部分?jǐn)?shù)據(jù)鏈路層的工作,使接口的設(shè)計變得更加簡單,并以其為核心進(jìn)行接口單元的設(shè)計。OBDⅡ診斷模塊的最大優(yōu)點莫過于支持7種標(biāo)準(zhǔn)OBD-II通信協(xié)議。
圖2 電源管理模塊電路Fig.2 Power management model circuit
2.1.4 CAN協(xié)議轉(zhuǎn)換接口電路
由于的芯片內(nèi)部集成了CAN控制器,因此只需要在外部搭配一個CAN收發(fā)器,便可以正常進(jìn)行CAN報文的收發(fā)。在本設(shè)計中采用的CAN收發(fā)器是MCP2551。CAN通信接口電路圖如圖4所示。
在軟件編寫上,采用實時監(jiān)控的方式,在未發(fā)送命令的時候時刻掃描車輛的基本信息??梢约皶r有效的返回當(dāng)前汽車的狀態(tài)信息,以使駕駛員做出最快的判斷,幫助駕駛員安全的駕駛車輛。但由于這樣占用內(nèi)存量十分巨大,因此如何控制好實時掃描時間以及什么時候進(jìn)行實時掃面變成了關(guān)鍵的問題所在。除此之外,在發(fā)送命令后,此系統(tǒng)將先行處理完畢當(dāng)前發(fā)送的命令,并將其返回命令獲取到并輸出之后,才會去繼續(xù)掃描未掃描完的信息。這優(yōu)點是命令的處理不會再有更長的等待延遲時間,而是可以盡快的進(jìn)行處理。通過顯示屏顯示可以更好地將信息直觀的反映出來,進(jìn)行信息交互,同時可以讓駕駛員在行車途中實現(xiàn)對整個車輛更好地控制,也可以用來判斷車輛的幾項控制器是否出現(xiàn)故障或損壞。
圖3 OBD-Ⅱ模塊的接口電路圖Fig.3 OBD-Ⅱmodel interface circuit
圖4 CAN通信接口電路圖Fig.4 CAN communicational interface circuit
將該系統(tǒng)運用于車上可以更好地利于駕駛員觀察自己當(dāng)前車輛的各種數(shù)據(jù)情況,使駕駛員及時發(fā)現(xiàn)自己車輛的問題所在,以利于駕駛員及時判斷車輛的狀態(tài),達(dá)到提高安全的目的。同時駕駛員通過對車輛各項數(shù)據(jù)診斷結(jié)果的判斷,可以將車輛送修,以保障車輛得到及時的安全維修,提高安全系數(shù)。實驗終端通過串口調(diào)試助手實測數(shù)據(jù)如圖6所示。
以上車型為豐田,從實時剪切的數(shù)據(jù)可以看出,基于Cortex-M3內(nèi)核的CPU上實現(xiàn)了此協(xié)議,波特率為9 600,數(shù)據(jù)無亂碼現(xiàn)象。設(shè)備成功讀取了車輛的OBD-II系統(tǒng)數(shù)據(jù),能實時檢查汽車故障碼與汽車傳感器數(shù)據(jù)。數(shù)據(jù)包括發(fā)動機負(fù)荷計算值、發(fā)動機冷卻液溫度、發(fā)動機轉(zhuǎn)速、里程、車速、溫度、長期燃油修正值、氣缸提前點火角度、進(jìn)氣岐管絕對壓力、瞬時油耗、車輛裝配的ODB類型、空氣流量、節(jié)氣門絕對位置、車輛電瓶電壓、環(huán)境溫度、前后左右門的開關(guān)狀態(tài)、尾箱門、ACC開關(guān)、檔位、TPMS/ABS/SRS和發(fā)動機的開關(guān)狀態(tài)等。
圖5 OBD-II主程序流程圖Fig.5 OBD-II flow-process diagram
圖6 車載診斷數(shù)據(jù)實時截圖Fig.6 Real-time data of vehicle diagnosis information
本方案采用基于uc/os II操作系統(tǒng)的嵌入式技術(shù),應(yīng)用ISO15765協(xié)議設(shè)計了與汽車OBD-II接口的軟硬件,同時在硬件結(jié)構(gòu)基礎(chǔ)上設(shè)計了基于嵌入式實時操作系統(tǒng)的OBD-II診斷協(xié)議框架,并在基于Cortex-M3內(nèi)核的CPU上實現(xiàn)了協(xié)議機制,成功讀取了車輛的OBD-II系統(tǒng)數(shù)據(jù)。車載診斷數(shù)據(jù)的采集是遠(yuǎn)程汽車故障診斷、駕駛員行為分析等的基礎(chǔ)條件,本方案具備成本低、穩(wěn)定、魯棒性強、靈活可移植的優(yōu)勢。
[1]黃愛蓉,向鄭濤,張濤,等.車輛信息實時監(jiān)視系統(tǒng)的設(shè)計和實現(xiàn)[J].計算機工程與設(shè)計.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]王建海,方茂東,高繼東.汽油車車載診斷系統(tǒng)(OBD)基本原理及其應(yīng)用[J].汽車工程,2006,5(28):491-494.WANG Jian-hai,F(xiàn)ANG 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的柴油機故障診斷接口開發(fā)[J].車用發(fā)動機,2009,4(183):16-19.ZHANG Li,F(xiàn)ANG Cheng,LI Jian-qiu.Development of fault diagnosis interface for diesel engine based on ISO15765[J].Vehicle Engine,2009,4(183):16-19.
[4]于世濤,趙燕,王騫,等.發(fā)動機電控系統(tǒng)EU5+診斷系統(tǒng)開發(fā)[J].汽車技術(shù),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在用核心技術(shù)及其發(fā)展方向[J].汽車技術(shù),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系統(tǒng)故障模擬裝置的開發(fā)與研究[J].內(nèi)燃機工程,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.