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