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