申倍文,張振東,王 健
(上海理工大學 機械工程學院,上海 200093)
隨著汽車保有量的持續(xù)增長,城市公路建設(shè)正在跨越式發(fā)展,道路復雜程度越來越高,這些因素給交通管理和交通安全增加了難度[1]。車載GPS定位技術(shù)給車輛等交通工具提供了實時定位功能。通過車載GPS定位終端,駕駛員能隨時知道自己的位置,通過通信平臺將車輛定位信息發(fā)送給后臺監(jiān)控中心,從而對車輛進行有效的監(jiān)控和管理。
我國車載移動終端技術(shù)還處在由傳統(tǒng)終端向新型終端轉(zhuǎn)型的過渡階段,各項技術(shù)應(yīng)用有待完善,特別是在復雜環(huán)境下的定位精度、數(shù)據(jù)傳輸實時性等方面需要大力改進[2]。江蘇大學劉軍等對智能車載終端硬件進行了研究改進;奇瑞汽車的姜竹勝等[3]在3G通信技術(shù)基礎(chǔ)上,對車載定位終端進行了研究;黃勇、王亞剛等[4]基于STM32、GPRS等技術(shù),對車載終端進行了相應(yīng)研究。以上研究對車載終端技術(shù)發(fā)展起到了推動作用,但仍存在定位精度低、實時性不高等缺陷。本文研究并設(shè)計了一種基于ARM芯片并結(jié)合當前較為成熟的4G通信技術(shù)的新型車載GPS定位終端,為將來汽車網(wǎng)聯(lián)提供一定的技術(shù)支撐。
車載定位終端是車輛監(jiān)控系統(tǒng)的前端設(shè)備,其基本功能是實現(xiàn)車輛定位及數(shù)據(jù)傳輸[5]。車載定位終端由主控芯片ARM處理器模塊、GPS定位模塊、4G無線通信模塊、LED顯示模塊、電源模塊等組成,總體框架設(shè)計如圖1所示,實物如圖2所示。
圖1 總體框架
圖2 硬件實物
GPS模塊接收衛(wèi)星定位信號,并將定位數(shù)據(jù)發(fā)送給ARM處理器,然后經(jīng)過ARM傳輸?shù)斤@示模塊,在屏幕上顯示定位,同時經(jīng)4G模塊傳送給遠程控制中心。遠程控制中心將其它車輛位置及交通狀況傳給車載終端,實現(xiàn)信息共享,讓車主了解目前的交通狀況,更好地作出決策。
在車載定位終端系統(tǒng)中,主控芯片對整個終端性能起著十分重要的作用。主控芯片主要用來控制GPS模塊、4G模塊、顯示模塊等,使它們都能按照所設(shè)計方式穩(wěn)定運行[6]。
本系統(tǒng)選用Samsung公司的S3C2440作為主控芯片。該芯片應(yīng)用資源豐富、性能優(yōu)越,功耗較小,價格也較為便宜,可有效控制車載定位終端成本[7]。S3C2440的最小系統(tǒng)包含最基本的電源電路、復位電路、標準JTAG調(diào)試口、用戶指示燈及核心CPU和存儲單元6個部分[8]。
汽車電源主要為12V和24V兩種直流電源,而車載定位終端有5V、3.3V、1.8V、1.25V四種直流穩(wěn)壓電源[9],因此電源解決方案如下:
第一級:將汽車提供的12V直流電源轉(zhuǎn)化成5V直流電源,見圖3。5V電源為LCD供電。這部分電路通常采用美國國家半導體公司生產(chǎn)的LM2596降壓芯片。LM2596的最高輸入電壓可達40V,適用于車內(nèi)12V或24V直流電源轉(zhuǎn)換,但在濾波電路中需要加33uH的電感[10]。
圖3 12V轉(zhuǎn)5V電路
第二級:由5V電源再分別轉(zhuǎn)化成3.3V與1.8V電源,見圖4。S3C2440的I/O口和部分器件需要3.3V電壓,內(nèi)核工作需要1.8V電壓。這部分電路所采用的降壓芯片分別是LM11117-3.3穩(wěn)壓芯片和LM1117-1.8V線性穩(wěn)壓芯片。
圖4 5V轉(zhuǎn)3.3V、1.8V電路
圖5 3.3V轉(zhuǎn)1.25V電路
第三級:由3.3V轉(zhuǎn)化成1.25V電源,見圖5,這部分選用MAX8860EUA18芯片。
ARM芯片與GPS模塊和4G模塊之間通過串口連接。由于GPS、4G芯片需要232電平,所以電路要經(jīng)過電平轉(zhuǎn)換芯片MAX3232轉(zhuǎn)換[11]。
車載終端系統(tǒng)中的GPS定位模塊主要用于接收GPS衛(wèi)星定位信號,解算GPS導航電文,把得到的經(jīng)緯度、時間和速度等信息通過RS232串口輸出NMEA0183語句,傳送給ARM主控模塊[12]。NMEA0183語句格式如MYMGPRMC,092005,A,4 990.347 2,N,12 053.099 0,E,000.0,000.0,050318,002.5,W,A*71,表示目前的時間是18年3月5日9點 20分05秒(這是UTC時間,不是本地時間,兩者大約相差8小時),位置是北緯49度90.347 2分、東經(jīng)120度53.0990分,速度為0。
本設(shè)計選用美國U-Blox公司的NEO-7N為GPS定位信號接收芯片,GPS模塊與S3C2440串口通信波特率通過U-CENTER設(shè)置為38400,8位數(shù)據(jù)位,1位停止位,無奇偶校驗位。
本車載終端系統(tǒng)中的4G無線通信模塊是車載終端與后臺監(jiān)控中心進行通信的通道,用來實現(xiàn)將處理好的GPS數(shù)據(jù)和其它監(jiān)控數(shù)據(jù)發(fā)送給監(jiān)控中心,并接收后臺監(jiān)控中心發(fā)送給車載終端的控制數(shù)據(jù)[13]。
本車載終端選用芯訊通公司的SIM7600CE-L作為4G無線通信芯片。SIM7600CE-L是一款7模全網(wǎng)通的4G模塊,性能穩(wěn)定、性價比高,可以低功耗實現(xiàn)SMS和數(shù)據(jù)信息的傳輸,滿足客戶多種需求。另外,可直接使用AT命令對其控制,使用方便。
S3C2440芯片集成了LCD控制器,可支持各種單色、偽彩、真彩液晶屏、TFT彩屏,還提供1通道的LCD專用DMA[14]。本系統(tǒng)外接的LCD是NEC3.5吋觸摸式彩色液晶屏,型號為NL2432HC22-23B。
車載GPS定位終端軟件系統(tǒng)采用三層架構(gòu),由BSP層、框架層及應(yīng)用層軟件組合而成,如圖6所示。圖中灰色部分是車載終端定位相關(guān)的軟件模塊,相互之間通過消息進行通訊。
圖6 軟件系統(tǒng)架構(gòu)
車載模塊獲取到GPS數(shù)據(jù)后,按照表1所示軟件定義傳輸協(xié)議,進行編碼壓縮后傳遞到后臺服務(wù)器監(jiān)控中心,進行應(yīng)用層判斷。
表1 軟件協(xié)議與編碼定義
GPS原始NMEA數(shù)據(jù)流需要進行協(xié)議解析和處理。車載GPS定位終端軟件系統(tǒng)采用狀態(tài)機的系統(tǒng)結(jié)構(gòu),總體結(jié)構(gòu)如圖7所示。其中圖7(a)為總體流程,圖7(b)為4G-LTE報文處理部分流程,圖7(c)為GPS報文處理部分流程。
圖7 程序總體結(jié)構(gòu)
首先進行初始化,然后進入主控制循環(huán)[15]。在主控制循環(huán)中首先對4G的數(shù)據(jù)緩沖區(qū)進行檢查,檢查是否有完整的4G數(shù)據(jù)包。如果有則對其進行解析,并根據(jù)相關(guān)協(xié)議中的控制命令改變終端所處狀態(tài)。接著判斷GPS數(shù)據(jù)緩沖區(qū)是否有完整的GPS數(shù)據(jù)包,如有則取出該數(shù)據(jù)包并且解析。最后,終端進行操作。
GPS報文解析代碼如下:
_protocol(xGpsParserDelegate)
_optional(xBool, onGpsparser_NMEA_sentence(xGpsParser*, xpCChar NMEA, xUint8 length));
_optional(xVoid, onGpsparser_NMEA_GGA(xGpsParser*, stGGA& gga));//GPS全球定位數(shù)據(jù)
_optional(xVoid, onGpsparser_NMEA_GLL(xGpsParser*, stGLL& gll));//GPS大地坐標信息
_optional(xVoid, onGpsparser_NMEA_GSA(xGpsParser*, stGSA& gsa));//GPS衛(wèi)星PRN數(shù)據(jù)
_optional(xVoid, onGpsparser_NMEA_GSV(xGpsParser*, stGSV& gsv));//GPS衛(wèi)星狀態(tài)信息
_optional(xVoid, onGpsparser_NMEA_RMC(xGpsParser*, stRMC& rmc));//運輸定位信息
_optional(xVoid, onGpsparser_NMEA_VTG(xGpsParser*, stVTG& vtg));//地面速度信息
_optional(xVoid, onGpsparser_NMEA_ZDA(xGpsParser*, stZDA& zda));//UTC時間和日期
_endprotocol
其中void GpsDataParser::onGpsparser_NMEA_RMC(xGpsParser*, stRMC& rmc)為NMEA協(xié)議數(shù)據(jù)語句,包含GPS時間、經(jīng)緯度等信息,參數(shù)rmc為GPS信息結(jié)構(gòu)體,實現(xiàn)如下:
void GpsDataParser::onGpsparser_NMEA_RMC(xGpsParser*, stRMC& rmc){
…
Poco::DateTime now;
m_gpsInfo.currentTime.UTC_day = now.day();
m_gpsInfo.currentTime.UTC_month= now.month();
m_gpsInfo.currentTime.UTC_year= now.year()-2000;
m_gpsInfo.currentTime.UTC_hour= now.hour();
m_gpsInfo.currentTime.UTC_min= now.minute();
m_gpsInfo.currentTime.UTC_second= now.second();
m_gpsInfo.currentLatitude = rmc.latitude;
m_gpsInfo.currentLongitude = rmc.longitude;
m_gpsInfo.GpsSpeed = rmc.speed;
m_gpsInfo.azimuthAngle = rmc.azimuthAngle;
m_gpsInfo.declination = rmc.declination;
…
}
GPS信息傳輸至4G模塊為事件傳輸,應(yīng)用信號處理技術(shù)實現(xiàn)如下:
void GpsDataParser::NMEA_RMC_Gps_Net(xGpsParser*, stRMC& rmc)
4G模塊主要接收來自GPS模塊信息,報文處理代碼如下:
INetwork: MCommon::IObject, MCommon::IEventRegistration{
string SendGpsMsg();
string RecvGpsMeg();
…
}
GPS標準數(shù)據(jù)由GPS模塊自動接收,傳送到ARM后,再由ARM把數(shù)據(jù)放入到外部存儲器中。數(shù)據(jù)超出一定范圍后進行數(shù)據(jù)提取,經(jīng)解析,最后將數(shù)據(jù)發(fā)送至4G模塊。
下面對本文設(shè)計的車載定位終端進行試驗測試,與其它同類產(chǎn)品比較。
首先選定一條路線進行實車測試,如圖8所示。在實車測試過程中,為驗證終端性能,以一個業(yè)內(nèi)認可的高精度設(shè)備作為參考基準,另一個市場同類產(chǎn)品作為對比設(shè)備,如圖9所示。
圖8 測試路線
圖9 參考基準和對比設(shè)備
測試結(jié)果如圖10所示,上排軌跡代表基準軌跡,中排軌跡為本車載定位終端,下排軌跡為市場同類產(chǎn)品軌跡。
圖10 測試軌跡結(jié)果
根據(jù)測試結(jié)果可知,本車載定位終端的行車軌跡與基準更靠近,而市場中同類產(chǎn)品的測試軌跡與基準偏離較遠。測試結(jié)果中,同樣的路況場景,本終端定位測試精度為2m,市場同類產(chǎn)品的精度為3m。因此,本車載定位終端在精度方面優(yōu)于市場同類產(chǎn)品,同時數(shù)據(jù)傳輸速率也有較大提升。
本文利用高性能嵌入式微處理器設(shè)計了一種新型車載定位終端,對其進行測試得出如下結(jié)論:①在相同路況場景下,該終端的定位精度比其它同類產(chǎn)品精度高;②該車載定位終端搭載了4G通信模塊,數(shù)據(jù)傳輸速率有了較大提升。
本設(shè)計方案解決了采用多層軟件架構(gòu)實現(xiàn)車載定位技術(shù)問題,為汽車聯(lián)網(wǎng)提供了一種終端軟硬件解決方案。隨著未來互聯(lián)網(wǎng)汽車和無人駕駛汽車的普及,該新型車載定位終端必將得到廣泛應(yīng)用,為智能出行奠定堅實基礎(chǔ)。