申倍文,張振東,王 健
(上海理工大學 機械工程學院,上海 200093)
隨著汽車保有量的持續增長,城市公路建設正在跨越式發展,道路復雜程度越來越高,這些因素給交通管理和交通安全增加了難度[1]。車載GPS定位技術給車輛等交通工具提供了實時定位功能。通過車載GPS定位終端,駕駛員能隨時知道自己的位置,通過通信平臺將車輛定位信息發送給后臺監控中心,從而對車輛進行有效的監控和管理。
我國車載移動終端技術還處在由傳統終端向新型終端轉型的過渡階段,各項技術應用有待完善,特別是在復雜環境下的定位精度、數據傳輸實時性等方面需要大力改進[2]。江蘇大學劉軍等對智能車載終端硬件進行了研究改進;奇瑞汽車的姜竹勝等[3]在3G通信技術基礎上,對車載定位終端進行了研究;黃勇、王亞剛等[4]基于STM32、GPRS等技術,對車載終端進行了相應研究。以上研究對車載終端技術發展起到了推動作用,但仍存在定位精度低、實時性不高等缺陷。本文研究并設計了一種基于ARM芯片并結合當前較為成熟的4G通信技術的新型車載GPS定位終端,為將來汽車網聯提供一定的技術支撐。
車載定位終端是車輛監控系統的前端設備,其基本功能是實現車輛定位及數據傳輸[5]。車載定位終端由主控芯片ARM處理器模塊、GPS定位模塊、4G無線通信模塊、LED顯示模塊、電源模塊等組成,總體框架設計如圖1所示,實物如圖2所示。

圖1 總體框架

圖2 硬件實物
GPS模塊接收衛星定位信號,并將定位數據發送給ARM處理器,然后經過ARM傳輸到顯示模塊,在屏幕上顯示定位,同時經4G模塊傳送給遠程控制中心。遠程控制中心將其它車輛位置及交通狀況傳給車載終端,實現信息共享,讓車主了解目前的交通狀況,更好地作出決策。
在車載定位終端系統中,主控芯片對整個終端性能起著十分重要的作用。主控芯片主要用來控制GPS模塊、4G模塊、顯示模塊等,使它們都能按照所設計方式穩定運行[6]。
本系統選用Samsung公司的S3C2440作為主控芯片。該芯片應用資源豐富、性能優越,功耗較小,價格也較為便宜,可有效控制車載定位終端成本[7]。S3C2440的最小系統包含最基本的電源電路、復位電路、標準JTAG調試口、用戶指示燈及核心CPU和存儲單元6個部分[8]。
汽車電源主要為12V和24V兩種直流電源,而車載定位終端有5V、3.3V、1.8V、1.25V四種直流穩壓電源[9],因此電源解決方案如下:
第一級:將汽車提供的12V直流電源轉化成5V直流電源,見圖3。5V電源為LCD供電。這部分電路通常采用美國國家半導體公司生產的LM2596降壓芯片。LM2596的最高輸入電壓可達40V,適用于車內12V或24V直流電源轉換,但在濾波電路中需要加33uH的電感[10]。

圖3 12V轉5V電路
第二級:由5V電源再分別轉化成3.3V與1.8V電源,見圖4。S3C2440的I/O口和部分器件需要3.3V電壓,內核工作需要1.8V電壓。這部分電路所采用的降壓芯片分別是LM11117-3.3穩壓芯片和LM1117-1.8V線性穩壓芯片。

圖4 5V轉3.3V、1.8V電路

圖5 3.3V轉1.25V電路
第三級:由3.3V轉化成1.25V電源,見圖5,這部分選用MAX8860EUA18芯片。
ARM芯片與GPS模塊和4G模塊之間通過串口連接。由于GPS、4G芯片需要232電平,所以電路要經過電平轉換芯片MAX3232轉換[11]。
車載終端系統中的GPS定位模塊主要用于接收GPS衛星定位信號,解算GPS導航電文,把得到的經緯度、時間和速度等信息通過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分、東經120度53.0990分,速度為0。
本設計選用美國U-Blox公司的NEO-7N為GPS定位信號接收芯片,GPS模塊與S3C2440串口通信波特率通過U-CENTER設置為38400,8位數據位,1位停止位,無奇偶校驗位。
本車載終端系統中的4G無線通信模塊是車載終端與后臺監控中心進行通信的通道,用來實現將處理好的GPS數據和其它監控數據發送給監控中心,并接收后臺監控中心發送給車載終端的控制數據[13]。
本車載終端選用芯訊通公司的SIM7600CE-L作為4G無線通信芯片。SIM7600CE-L是一款7模全網通的4G模塊,性能穩定、性價比高,可以低功耗實現SMS和數據信息的傳輸,滿足客戶多種需求。另外,可直接使用AT命令對其控制,使用方便。
S3C2440芯片集成了LCD控制器,可支持各種單色、偽彩、真彩液晶屏、TFT彩屏,還提供1通道的LCD專用DMA[14]。本系統外接的LCD是NEC3.5吋觸摸式彩色液晶屏,型號為NL2432HC22-23B。
車載GPS定位終端軟件系統采用三層架構,由BSP層、框架層及應用層軟件組合而成,如圖6所示。圖中灰色部分是車載終端定位相關的軟件模塊,相互之間通過消息進行通訊。

圖6 軟件系統架構
車載模塊獲取到GPS數據后,按照表1所示軟件定義傳輸協議,進行編碼壓縮后傳遞到后臺服務器監控中心,進行應用層判斷。

表1 軟件協議與編碼定義
GPS原始NMEA數據流需要進行協議解析和處理。車載GPS定位終端軟件系統采用狀態機的系統結構,總體結構如圖7所示。其中圖7(a)為總體流程,圖7(b)為4G-LTE報文處理部分流程,圖7(c)為GPS報文處理部分流程。

圖7 程序總體結構
首先進行初始化,然后進入主控制循環[15]。在主控制循環中首先對4G的數據緩沖區進行檢查,檢查是否有完整的4G數據包。如果有則對其進行解析,并根據相關協議中的控制命令改變終端所處狀態。接著判斷GPS數據緩沖區是否有完整的GPS數據包,如有則取出該數據包并且解析。最后,終端進行操作。
GPS報文解析代碼如下:
_protocol(xGpsParserDelegate)
_optional(xBool, onGpsparser_NMEA_sentence(xGpsParser*, xpCChar NMEA, xUint8 length));
_optional(xVoid, onGpsparser_NMEA_GGA(xGpsParser*, stGGA& gga));//GPS全球定位數據
_optional(xVoid, onGpsparser_NMEA_GLL(xGpsParser*, stGLL& gll));//GPS大地坐標信息
_optional(xVoid, onGpsparser_NMEA_GSA(xGpsParser*, stGSA& gsa));//GPS衛星PRN數據
_optional(xVoid, onGpsparser_NMEA_GSV(xGpsParser*, stGSV& gsv));//GPS衛星狀態信息
_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協議數據語句,包含GPS時間、經緯度等信息,參數rmc為GPS信息結構體,實現如下:
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模塊為事件傳輸,應用信號處理技術實現如下:
void GpsDataParser::NMEA_RMC_Gps_Net(xGpsParser*, stRMC& rmc)
4G模塊主要接收來自GPS模塊信息,報文處理代碼如下:
INetwork: MCommon::IObject, MCommon::IEventRegistration{
string SendGpsMsg();
string RecvGpsMeg();
…
}
GPS標準數據由GPS模塊自動接收,傳送到ARM后,再由ARM把數據放入到外部存儲器中。數據超出一定范圍后進行數據提取,經解析,最后將數據發送至4G模塊。
下面對本文設計的車載定位終端進行試驗測試,與其它同類產品比較。
首先選定一條路線進行實車測試,如圖8所示。在實車測試過程中,為驗證終端性能,以一個業內認可的高精度設備作為參考基準,另一個市場同類產品作為對比設備,如圖9所示。

圖8 測試路線

圖9 參考基準和對比設備
測試結果如圖10所示,上排軌跡代表基準軌跡,中排軌跡為本車載定位終端,下排軌跡為市場同類產品軌跡。

圖10 測試軌跡結果
根據測試結果可知,本車載定位終端的行車軌跡與基準更靠近,而市場中同類產品的測試軌跡與基準偏離較遠。測試結果中,同樣的路況場景,本終端定位測試精度為2m,市場同類產品的精度為3m。因此,本車載定位終端在精度方面優于市場同類產品,同時數據傳輸速率也有較大提升。
本文利用高性能嵌入式微處理器設計了一種新型車載定位終端,對其進行測試得出如下結論:①在相同路況場景下,該終端的定位精度比其它同類產品精度高;②該車載定位終端搭載了4G通信模塊,數據傳輸速率有了較大提升。
本設計方案解決了采用多層軟件架構實現車載定位技術問題,為汽車聯網提供了一種終端軟硬件解決方案。隨著未來互聯網汽車和無人駕駛汽車的普及,該新型車載定位終端必將得到廣泛應用,為智能出行奠定堅實基礎。