巫肇彬,張守峰,何為星,周 航,沈啟廣
(廣西科技大學(xué) 電氣與信息工程學(xué)院,廣西 柳州 545006)
目前,汽車的社會保有量維持在一個較高的水平[1],車輛狀態(tài)信息在線監(jiān)測、遠(yuǎn)程定位及道路導(dǎo)航等需求逐漸增多[2-3];汽車功能的增多和智能化水平的不斷提高致使車輛的結(jié)構(gòu)越來越復(fù)雜、精細(xì),車輛狀態(tài)信息種類繁多,對維修人員的技術(shù)要求越來越苛刻,對在線監(jiān)測設(shè)備也提出了較高的要求。另一方面,道路安全評價對提高道路交通安全度尤為重要。據(jù)統(tǒng)計,截至2017 年6月,全國機動車數(shù)量突破3.04 億輛;2011~2017 年,全國每年約6 萬人死于交通事故,其中由駕駛員認(rèn)知及行為決策失誤造成的交通事故約占80%[4]。因此,駕駛員也渴望了解自己的汽車行駛過程中一些數(shù)據(jù),從而更加主動地對車輛進行管理[5]。
目前,交通領(lǐng)域已成為物聯(lián)網(wǎng)戰(zhàn)略技術(shù)產(chǎn)業(yè)重點推廣示范領(lǐng)域之一[6],其中車輛聯(lián)網(wǎng)是汽車未來發(fā)展的趨勢之一[7]。車載診斷系統(tǒng)(on board diagnostics, OBD)是車輛聯(lián)網(wǎng)的重要部分,當(dāng)與車載控制系統(tǒng)有關(guān)的控制系統(tǒng)或相關(guān)電子部件有故障時,其隨時向駕駛者發(fā)出警告[8]。最初使用 OBD 的目的是輔助維修人員進行車輛診斷,隨著汽車科技的發(fā)展和車聯(lián)網(wǎng)技術(shù)的應(yīng)用,OBD 的用戶逐漸從傳統(tǒng)汽車的服務(wù)專業(yè)人員轉(zhuǎn)向廣大車主[9]。雖然OBD 技術(shù)越來越成熟,具備了故障診斷、實時監(jiān)控及遠(yuǎn)程傳輸數(shù)據(jù)等一系列拓展功能[10],且各種各樣的OBD 技術(shù)層出不窮,但大多只局限于故障診斷這一方面,且人機交換功能并不完善[11];同時,僅部分高端車配置有在線監(jiān)測設(shè)備,且還存在功能單一、體積大、普適性差等缺點。針對此類問題,本文設(shè)計了一套車輛在線監(jiān)測系統(tǒng),其基于OBD 協(xié)議獲取車輛信息并結(jié)合物聯(lián)網(wǎng)通信技術(shù)實現(xiàn)車輛與網(wǎng)絡(luò)的互聯(lián),最終實現(xiàn)車輛信息在云端存儲。該系統(tǒng)不僅便于駕駛者與車輛管控人員實時了解車輛狀況,而且還可及時發(fā)現(xiàn)車輛行駛中的不良駕駛問題,從而減少或避免交通事故的發(fā)生。
車聯(lián)網(wǎng)信息監(jiān)測模塊作為現(xiàn)有車輛功能基礎(chǔ)上一項簡易、低廉的聯(lián)網(wǎng)設(shè)備,被逐漸擴展適配應(yīng)用于整個車輛市場。對于車聯(lián)網(wǎng)監(jiān)測方面的需求,目前主要體現(xiàn)在以下幾個方面: (1)能夠及時發(fā)現(xiàn)車輛異常信息并做出判斷;(2)對故障信息發(fā)出警告信號;(3)對車輛保養(yǎng)維護作出合理的建議;(4)能夠?qū)崟r的定位并具備防盜預(yù)警功能。
目前商品化的在線監(jiān)測設(shè)備特定性強,只能用于部分車輛,無法做到設(shè)備通用化。本文所設(shè)計的車輛遠(yuǎn)程控制系統(tǒng)不僅可實時遠(yuǎn)程監(jiān)測車輛運行狀態(tài)并將數(shù)據(jù)上傳至服務(wù)器,同時還將車輛的運行狀況反饋給監(jiān)控中心,以實現(xiàn)車輛的檢測、管理、監(jiān)督功能的一體化。該系統(tǒng)由嵌入式監(jiān)測模塊、云端數(shù)據(jù)庫和管理平臺3 部分組成(圖1),可實現(xiàn)數(shù)據(jù)的采集、分析及應(yīng)用等功能,其中監(jiān)測模塊用于車輛狀態(tài)信息流的獲取,云端數(shù)據(jù)庫用于遠(yuǎn)程數(shù)據(jù)存儲及分析,管理平臺負(fù)責(zé)數(shù)據(jù)狀態(tài)的監(jiān)控。
圖1 基于OBD 協(xié)議的車輛遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)Fig.1 Structure of the vehicle remote monitoring system based on OBD protocol
嵌入式監(jiān)測模塊主要由4 大模塊組成(圖2),分別為負(fù)責(zé)主控制中心的MCU 端、OBD 協(xié)議轉(zhuǎn)換模塊、GPS 定位模塊以及負(fù)責(zé)數(shù)據(jù)傳輸?shù)腉PRS/GSM 模塊。
圖2 嵌入式監(jiān)測模塊結(jié)構(gòu)Fig.2 Structure of the embedded monitoring module
主控制中心的MCU 端采用Cortex-M3 主控芯片,搭載微型嵌入式操作系統(tǒng)控制實現(xiàn)數(shù)據(jù)信息的交互,主要接收GPS 定位模塊、OBD 協(xié)議轉(zhuǎn)換模塊傳輸回來的數(shù)據(jù),并對此類數(shù)據(jù)進行處理分析;當(dāng)檢測到車輛發(fā)送的數(shù)據(jù)存在異常時,系統(tǒng)進入故障識別程序,提取故障碼識別,判斷出車輛發(fā)生故障的具體部位,并將此數(shù)據(jù)結(jié)合GPS 產(chǎn)生的定位信息構(gòu)建特定格式的數(shù)據(jù)包,由GPRS/GSM 通信協(xié)議將數(shù)據(jù)包發(fā)送至遠(yuǎn)程服務(wù)器終端。
OBD 協(xié)議轉(zhuǎn)換模塊搭載ELM327 轉(zhuǎn)換協(xié)議芯片,通過K 線協(xié)議與CAN 總線協(xié)議讀取識別車輛的電子控制單元,達到對車輛狀態(tài)信息采集的目的。
GPS 定位模塊主要是采集車輛的位置信息,并通過串行接口將車輛的位置信息發(fā)送給主控制中心的MCU 端。
GPRS/GSM 模塊主要將主控制中心MCU 端的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)服務(wù)器,實現(xiàn)車輛的遠(yuǎn)程監(jiān)控。
本文所設(shè)計的車輛遠(yuǎn)程控制系統(tǒng)主控芯片采用低功耗、高效率的STM32 型芯片,搭載GPS 定位模塊、GPRS/GSM 通信模塊、OBD 協(xié)議轉(zhuǎn)換模塊和電源模塊,其結(jié)構(gòu)如圖3 所示。
圖3 系統(tǒng)結(jié)構(gòu)原理框圖Fig.3 Block diagram of the system structure
GPS 定位模塊采用ATK-NEO-6M-V23 型模塊,此模塊核心采用UBLOX 公司NEO-6M 模組,具有50 個通道,追蹤靈敏度高達-161 dBm,測量輸出頻率最高可達5 Hz。此外,該模塊自帶陶瓷天線及MAXIM 公司20.5 dB 高增益LAN 芯片,搜星能力強;自帶可充電備用電池,可以掉電保持星歷數(shù)據(jù);可通過串口進行各種參數(shù)設(shè)置,使用方便,體積小巧,性能優(yōu)異,具有高性能、低功耗的優(yōu)點。定位模塊輸出TTL 電平,通過串行接口與遠(yuǎn)程監(jiān)控系統(tǒng)相連,具有很強的兼容性。GPS 定位模塊電路如圖4 所示。
圖4 GPS 定位模塊電路Fig.4 Circuit of the GPS positioning module
GPRS/GSM 通信模塊采用SIM800A 型模塊,其基于MT6261系列設(shè)計,雙工作頻段(GSM900/1800MHz),可以低功耗地實現(xiàn)語音通話、短信、GPRS 數(shù)據(jù)傳輸、文本播報(TTS)和基站定位等功能;并搭配TCP,UDP,F(xiàn)TP 及PPP 等多種協(xié)議,使得AT(attention)命令能夠直接調(diào)用這些傳輸協(xié)議,靈活地滿足各種不同的環(huán)境需求。SIM800A 模塊電源采用開關(guān)電源模塊供電,電源利用效率高,支持USB 直接供電,同時帶電源使能引腳,可以控制模塊電源,起到很好的保護和抗干擾作用。圖5 示出SIM800A 模塊電路。
OBD 協(xié)議轉(zhuǎn)換模塊采用ELM327 芯片,其支持所有OBD-II 自診斷系統(tǒng)及與其相兼容的通信協(xié)議檢測,OBD 協(xié)議數(shù)據(jù)被轉(zhuǎn)換成串口數(shù)據(jù)類型,車輛信息被準(zhǔn)確無誤地傳輸至CPU。圖6 示出OBD 協(xié)議轉(zhuǎn)換模塊電路。
圖5 SIM800A 模塊電路Fig.5 Circuit of SIM800A module
圖6 OBD 協(xié)議轉(zhuǎn)換模塊電路Fig.6 Circuit of the OBD protocol conversion module
電源轉(zhuǎn)換模塊為芯片提供能量。根據(jù)芯片的電壓工作范圍選擇合適的電源芯片,同時考慮噪聲、轉(zhuǎn)換效率等因素,模塊中采用LM2676 型開關(guān)電源芯片輸出3.3 V電壓,采用LT1761型線性電源芯片輸出5 V電壓。通過開關(guān)電源和線性電源芯片的優(yōu)化組合,使系統(tǒng)的電源效率最大化。圖7 示出電源轉(zhuǎn)換模塊電路。
圖7 電源轉(zhuǎn)換模塊電路Fig.7 Circuit of the power conversion module
基于OBD 協(xié)議的車輛遠(yuǎn)程監(jiān)控系統(tǒng)軟件設(shè)計主要包括終端OBD 監(jiān)測程序和遠(yuǎn)程監(jiān)控界面的設(shè)計(圖8)。終端OBD 監(jiān)測程序通過AT 指令讀取車輛內(nèi)部ECU 實時數(shù)據(jù)、GPS 定位數(shù)據(jù)等,并將此類數(shù)據(jù)融合成特定的數(shù)據(jù)包,經(jīng)由GPRS/GSM 通信協(xié)議傳至服務(wù)器。用C#語言設(shè)計的Web 網(wǎng)頁端來呈現(xiàn)車輛運行數(shù)據(jù)信息,用戶可同時用電腦和手機登錄相應(yīng)IP地址進入網(wǎng)頁進行查看。
圖8 系統(tǒng)軟件框架Fig.8 Framework of the system software
將診斷設(shè)備接入汽車DLC 接口,校驗正確后,開始判斷協(xié)議以便進行數(shù)據(jù)采集處理。終端OBD 監(jiān)測程序中,首先使用OBD Task( )初始化系統(tǒng),打開 CAN接口并配置相應(yīng)的波特率和位數(shù)參數(shù),初始化I/O 接口、傳輸函數(shù)和應(yīng)用層函數(shù);然后通過AT 指令讀取車輛內(nèi)部ECU 實時數(shù)據(jù),將其轉(zhuǎn)換成標(biāo)準(zhǔn)的OBD 數(shù)據(jù),并判斷數(shù)據(jù)是否異常;將正常數(shù)據(jù)上傳至服務(wù)器,將錯誤代碼進行解析生成錯誤代碼存儲并上傳至服務(wù)器。終端OBD 監(jiān)測程序如圖9 所示。
圖9 終端OBD 監(jiān)測程序Fig.9 Terminal OBD monitor program
系統(tǒng)監(jiān)控界面設(shè)計架構(gòu)(圖10)包含用戶層、服務(wù)層和數(shù)據(jù)層3 部分。用戶可通過專有的IP 地址登錄服務(wù)器終端,對所需要的數(shù)據(jù)進行設(shè)置及請求,從而查看車輛的狀況信息,包括GPS 定位信息、車輛電氣參數(shù)等。通過系統(tǒng)監(jiān)控界面可實現(xiàn)對用戶數(shù)據(jù)、行車數(shù)據(jù)和診斷數(shù)據(jù)等的管理。
圖10 監(jiān)控界面架構(gòu)Fig.10 Architecture of the monitor interface
GPRS/GSM 模塊使用AT 指令進行相關(guān)操作。首先進行初始化,設(shè)置GPRS 連接服務(wù)器,待連接穩(wěn)定后進行數(shù)據(jù)包的鑒權(quán)分析,最后建立通信鏈路,通過TCP連接到遠(yuǎn)端服務(wù)器,實現(xiàn)高效率的數(shù)據(jù)傳送。GPRS/GSM 通信流程如圖11 所示。
圖11 GPRS/GSM 通信流程Fig.11 GPRS/GSM communication flow
為了檢測該系統(tǒng)能否正常地采集車輛數(shù)據(jù)并對數(shù)據(jù)進行分析判斷以實現(xiàn)車輛的遠(yuǎn)程監(jiān)控,對所設(shè)計的系統(tǒng)進行測試。OBD 診斷系統(tǒng)設(shè)備包括GPS 定位模塊、GPRS/GSM 通信模塊及OBD 協(xié)議轉(zhuǎn)換模塊。將連接好的整套OBD 檢測設(shè)備連接車輛的DLC 接口,啟動汽車,OBD 即可讀取車輛的相關(guān)數(shù)據(jù),OBD 診斷系統(tǒng)實物如圖12所示。
圖12 OBD 診斷設(shè)備實物Fig.12 Physical OBD diagnostic device
攜帶測試設(shè)備繞著廣西科技大學(xué)東環(huán)校區(qū)一圈,實時采集其定位數(shù)據(jù)并發(fā)送至終端服務(wù)器。隨著設(shè)備的移動,GPS 定位器實時地更新位置信息,并將位置信息打包,利用GPRS/GSM 通信協(xié)議發(fā)送至服務(wù)器;通過登錄IP 客戶端,即可在Web 網(wǎng)頁端查看設(shè)備所在位置和軌跡。測試設(shè)備的部分定位數(shù)據(jù)如表1 所示,測試設(shè)備的運動軌跡如圖13 所示。
表1 測試設(shè)備部分定位數(shù)據(jù)Tab.1 Some location data of test device
圖13 定位數(shù)據(jù)軌跡Fig.13 Location data trajectory
受限于實際條件,本實驗在常溫下采用OBD 模擬器產(chǎn)生車輛的模擬信號,通過OBD 協(xié)議傳輸?shù)綔y試設(shè)備。OBD 模擬器通過指令的控制,可以輸出發(fā)動機轉(zhuǎn)速、車速、發(fā)動機溫度、進氣管壓力等與車輛相關(guān)的參數(shù)。在實驗的過程中,實時更新OBD 模擬器輸出的車輛模擬信號,在監(jiān)測界面中可實時查看所采集的相關(guān)數(shù)據(jù),包含常見的發(fā)動機轉(zhuǎn)速、車速、發(fā)動機溫度、氣壓等,可根據(jù)需要隨時切換顯示內(nèi)容。此外,如果OBD 模擬器輸出信號存在異常情況,系統(tǒng)將會對異常數(shù)據(jù)代碼進行診斷分析,并發(fā)出相應(yīng)的警報。參數(shù)測試項目如表2所示。
表2 測試車輛參數(shù)Tab.2 Test vehicle parameters
車聯(lián)網(wǎng)在線檢測系統(tǒng)的使用能夠帶動汽車產(chǎn)業(yè)鏈的不斷延伸,搭建汽車服務(wù)和交通安全的橋梁,促進交通網(wǎng)絡(luò)的互通,提高資源的利用率,從而滿足汽車產(chǎn)業(yè)的可持續(xù)發(fā)展。本文設(shè)計了一種基于OBD 協(xié)議車輛遠(yuǎn)程監(jiān)控系統(tǒng),介紹了系統(tǒng)設(shè)計方案,給出了硬件電路結(jié)構(gòu)及軟件算法,并設(shè)計了遠(yuǎn)程監(jiān)控平臺。實驗測試結(jié)果表明,基于OBD 協(xié)議車輛遠(yuǎn)程監(jiān)控系統(tǒng)能夠?qū)崿F(xiàn)車輛相關(guān)信息的采集;一旦車輛出現(xiàn)異常情況,系統(tǒng)能迅速進行診斷并給出故障代碼,以便駕駛員及監(jiān)控中心工作人員實時掌握車輛狀況,實現(xiàn)車輛的遠(yuǎn)程診斷。 該系統(tǒng)的出現(xiàn)改善了車輛在信息獲取方面存在的程序煩瑣、時間滯后等問題,實現(xiàn)了車輛健康狀態(tài)的實時監(jiān)測,其推廣應(yīng)用對車輛監(jiān)測和車聯(lián)網(wǎng)的發(fā)展有一定的意義。優(yōu)化算法、提高故障代碼診斷率將是下一步研究的重要內(nèi)容。