高金濤,張宏鵬
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710032)
在道路運(yùn)輸和租賃行業(yè)中,企業(yè)無法掌握工作車輛具體位置和實際使用狀態(tài),目前普遍存在騙租、過期不還、過度使用、終端軟件維護(hù)成本高等情況對企業(yè)造成負(fù)面影響。本論文針對該行業(yè)管理難題,設(shè)計了基于GPS/GPRS技術(shù)的車輛定位控制跟蹤系統(tǒng),使運(yùn)輸企業(yè)能夠及時了解工作車輛的位置信息,提高管理效率,降低管理成本。依靠本系統(tǒng)搭建的C/S架構(gòu)車輛信息監(jiān)控平臺和GPS車載終端,使用戶可以24 h遠(yuǎn)程掌握車輛的位置信息和運(yùn)行狀態(tài),并可以按照要求對車輛進(jìn)行相應(yīng)的改造,實現(xiàn)對車輛的遠(yuǎn)程控制。并提出基于GPRS的嵌入式軟件遠(yuǎn)程在線升級方案,較好地解決了數(shù)量龐大并且分布范圍較廣的車載終端軟件在線升級或維護(hù)的問題。
本系統(tǒng)由GPS衛(wèi)星定位系統(tǒng)、GPS車載終端、GPRS無線傳輸網(wǎng)絡(luò)、車輛監(jiān)控管理中心、遠(yuǎn)程監(jiān)控5大部分組成。文中主要介紹GPS車載終端的設(shè)計及實現(xiàn)方法。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1)GPS車載終端通過GPS模塊接收GPS衛(wèi)星定位系統(tǒng)發(fā)送的車輛經(jīng)緯度等數(shù)據(jù)信息,并通過GPRS模塊和移動運(yùn)營商的GPRS網(wǎng)絡(luò)與監(jiān)控中心建立雙向數(shù)據(jù)通道,執(zhí)行發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、處理數(shù)據(jù)、存儲數(shù)據(jù)等指令,包括經(jīng)緯度計算、超速/偏航/越界等報警信號檢測、本地數(shù)據(jù)處理、接受遠(yuǎn)程參數(shù)設(shè)置、終端軟件遠(yuǎn)程更新等功能,以實現(xiàn)車輛的監(jiān)控及管理。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure
2)車輛監(jiān)控中心通過GPRS網(wǎng)絡(luò)與GPS車載終端建立UDP連接,以實現(xiàn)雙向數(shù)據(jù)傳送及數(shù)據(jù)處理[2]。
3)車輛監(jiān)控中心數(shù)據(jù)庫服務(wù)器與監(jiān)控服務(wù)器建立連接,執(zhí)行數(shù)據(jù)的存儲功能。
4)遠(yuǎn)程監(jiān)控通過WEB瀏覽器訪問監(jiān)控服務(wù)器,執(zhí)行電子地圖操作、參數(shù)遠(yuǎn)程設(shè)置、與GPS車載終端進(jìn)行文字、圖片等信息交互、車輛管理、偏航路線和區(qū)域設(shè)置、信息統(tǒng)計等功能。
5)超級用戶通過登錄平臺網(wǎng)關(guān)服務(wù)器,執(zhí)行終端軟件版本遠(yuǎn)程升級。
1)主控芯片選用ATmega128,主要優(yōu)點(diǎn):低功耗、8位的微處理器,供電電壓為3.3 V;內(nèi)置128 kB的片內(nèi)Flash存儲器、4 kB的EEPROM存儲器和4 kB的SRAM,最大處理速度可達(dá)16 MIPS;-55~125℃的工作溫度,適合終端的正常工作條件。
2)GPS模塊采用華訊GPS OEM模塊6128U,該模塊采用SiRFIII低功耗單芯片,具有全方位的定位功能。特點(diǎn):冷熱啟動時間短,接收機(jī)靈敏度高,定位速度快,可選擇坐標(biāo)系,2個全速TTL串口,工作溫度范圍-40~+85℃,供電電壓為3.3 V。支持外接GPS有源天線,有源天線的中心頻率[3]1 575.42 MHz。
3)GPRS模塊選用華為GTM900C模塊,工作電壓為4 V,工作溫度-20~70℃,關(guān)機(jī)漏極電流為 50 μA,符合常溫、低電壓和低功耗的設(shè)計要求。它是一款兩頻段的GSM/GPRS模塊。與現(xiàn)有的手機(jī)網(wǎng)絡(luò)兼容,可通過手機(jī)對終端進(jìn)行控制操作。
由圖2可以了解遠(yuǎn)程車載監(jiān)控終端的功能劃分,主要分為主控單元、控制輸出模塊、GPS數(shù)據(jù)模塊、GPRS通信模塊、音頻處理單元和電源。文中主要介紹GPRS通信模塊和語音解碼模塊。
圖2 硬件功能框圖Fig.2 Hardware function diagram
2.2.1 GPRS通信模塊
GTM900C提供一路全雙工串口,通過AT命令與主控芯片直接進(jìn)行信息交互。同時該模塊具有兩路的音頻輸入輸出通道,可以同時進(jìn)行音頻的輸入和輸出?;谠O(shè)計的需要本設(shè)計只使用了第一路音頻輸入輸出通道。音頻輸入通道MIC與音頻信號轉(zhuǎn)換芯片相連接,用以輸入單片機(jī)中存儲的音頻信息;音頻輸出通道EAR與音頻解碼芯片相連接,傳送外部的語音信息進(jìn)行DTMF解碼[4]。
2.2.2 音頻處理電路
音頻處理采用HT9170。該芯片是綜合數(shù)字解碼器和多帶濾波器功能的雙音多頻(DTMF)接收器,把16倍的DTMF音頻解碼,高精度的轉(zhuǎn)換電容濾波器把音頻信號分離為低頻信號和高頻信號,輸出4位代碼到主控單片機(jī),其判斷外部輸入的命令后做出相應(yīng)的動作。EST端通常為低電平,通過的RC放電使能端RT/GT保持低。當(dāng)檢測到有效音頻信號輸入時,EST變成高電平,從而使RT/GT端通過RC電路對其充電。當(dāng)RT/GT端的電壓從0上升到VTRT時,輸入信號為有效,然后經(jīng)編碼檢測器產(chǎn)生的編碼信號輸出。當(dāng)D0~D3輸出信號被完全鎖存時,DV端變成高電平。當(dāng)RT/GT端電壓從VDD下降到VTRT時,DV端變成低電平,此時D0~D3數(shù)據(jù)將一直被保持,直到接收到下一個有效信號為止。
圖3 無線模塊單元電路Fig.3 Wireless module unit circuit
圖4 DTMF解碼電路Fig.4 DTMF decoder circuit
終端軟件采用模塊化設(shè)計,每個模塊都有一個功能,每個函數(shù)都以子程序的形式出現(xiàn),縮短了開發(fā)時間,易于程序的修改和移植,同時,在軟件編寫時,預(yù)留了其他的軟件應(yīng)用接口,方便軟件功能升級。軟件功能框圖如圖5所示。文中主要介紹BootLoader遠(yuǎn)程升級。
圖5 軟件功能框圖Fig.5 Software function diagram
終端的遠(yuǎn)程升級主要以GPRS網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的傳輸,GPRS網(wǎng)絡(luò)帶寬較窄,延遲較大,不適于采用TCP協(xié)議進(jìn)行通信[5]。而采用UDP協(xié)議無連接方式傳輸,其優(yōu)點(diǎn)是效率高,流量小,節(jié)省網(wǎng)絡(luò)帶寬資源。缺點(diǎn)是沒有確認(rèn)機(jī)制,有可能引起丟包,根據(jù)實際經(jīng)驗發(fā)現(xiàn),采用UDP方式傳輸,丟包率能控制在1%以下,因此可通過在傳輸協(xié)議上實現(xiàn)類似TCP的包確認(rèn)和重傳機(jī)制,從而提高通信效率及可靠性。
1)終端遠(yuǎn)程升級請求
平臺發(fā)送升級請求,終端的傳輸層接收到平臺下發(fā)的升級指令判斷是否進(jìn)行升級,做出相應(yīng)的回答。終端遠(yuǎn)程升級請求的幀格式如下:
①升級標(biāo)識:01h——強(qiáng)制升級。無需版本號比較,直接強(qiáng)制升級為目標(biāo)版本;02h——邀請升級。終端可根據(jù)本號規(guī)則判斷確定要不要升級。
②升級類型:01h——操作系統(tǒng);02h——應(yīng)用程序。
③目標(biāo)版本信息:需要升級的版本信息。
④MD5值:整個升級數(shù)據(jù)MD5值,下載完以此來校驗數(shù)據(jù)的完整性。
⑤數(shù)據(jù)量大小:指示整個升級數(shù)據(jù)的大小。
⑥包長:用來指示升級包大小。
2)遠(yuǎn)程升級應(yīng)答
終端收到平臺下發(fā)的遠(yuǎn)程升級指令后,應(yīng)給平臺相應(yīng)的回復(fù)。終端回復(fù)內(nèi)容:
①01h——操作成功,同意升級;
②02h——操作失敗,有參數(shù)異常;
③03h——拒絕升級。
3)遠(yuǎn)程升級數(shù)據(jù)下載
在遠(yuǎn)程升級命令下發(fā)前,遠(yuǎn)程升級的數(shù)據(jù)文件應(yīng)已經(jīng)準(zhǔn)備好。在移動終端確認(rèn)下載后,會采用下載模式來獲取遠(yuǎn)程升級數(shù)據(jù)。
①D_LEN:升級數(shù)據(jù)長度;
②DATA:升級數(shù)據(jù)內(nèi)容;
③Update_type(1):01h——操作系統(tǒng);02h——應(yīng)用程序;
④Target_ver(L):需要升級到的目標(biāo)版本信息。
針對于平臺要進(jìn)行大數(shù)據(jù)下載,采取建立下載鏈路的方式進(jìn)行批量數(shù)據(jù)傳輸。平臺發(fā)起下載邀請,然后終端建立起與平臺的臨時鏈路,按照分包批量傳遞機(jī)制從平臺批量地“取”數(shù)據(jù),傳輸完畢后拆鏈。具體過程如下:
①下載數(shù)據(jù)索取。終端在核對了數(shù)據(jù)總量、包尺寸等之前平臺發(fā)來的數(shù)據(jù)包后,若一切正常,發(fā)送下載數(shù)據(jù)包索取請求,等待平臺發(fā)送數(shù)據(jù)。
②索取數(shù)據(jù)應(yīng)答。平臺在接收終端①后,按照順序向終端發(fā)送數(shù)據(jù)包。
③按照索取的起止順序下發(fā)數(shù)據(jù)包,并進(jìn)行排序。
④起止數(shù)據(jù)包都發(fā)完后,馬上下發(fā)查詢,查詢終端是否全部接收到。
⑤接收結(jié)果報告。在③過程中若隔了10 s仍然沒有數(shù)據(jù)到來,執(zhí)行此過程。
⑥根據(jù)⑤發(fā)送報告,平臺選擇重新傳送或者續(xù)傳。
⑦下載拆鏈請求。若⑤返回報告全部接收完畢或平臺服務(wù)器出現(xiàn)異常,終端發(fā)送請求拆鏈。
⑧下載拆鏈應(yīng)答。平臺收到⑦后,拆掉鏈路并回復(fù),一次下載過程結(jié)束。
如果在傳輸過程中遇到不可抗拒因素是傳輸中斷,協(xié)議還支持?jǐn)帱c(diǎn)續(xù)傳,當(dāng)終端重新工作時,會向平臺發(fā)送上次傳輸?shù)淖詈笠粋€包得流水號,平臺會根據(jù)流水號繼續(xù)傳遞下一個流水號的數(shù)據(jù)包,重復(fù)以上過程。
ATmega128的存儲器分為兩個部分,用戶程序區(qū)和BootLoader。用戶程序區(qū)包含了應(yīng)用程序的代碼,而BootLoader包含了自編程的代碼。另外一種劃分應(yīng)用程序區(qū)和BootLoader的方法也是將Flash劃分為兩個固定大小的區(qū)域。一部分是讀寫同步區(qū)域(RWW),另一部分是讀寫分時區(qū)域(NRWW)。NRWW和RWW之間不同的地方是當(dāng)RWW升級的時候,NRWW可以被訪問,但當(dāng)升級NRWW時,RWW不可以被訪問。Flash被按頁分配,每頁包含32、62或128字。應(yīng)用程序部分包含應(yīng)用程序的主代碼,可以通過引導(dǎo)程序?qū)ζ溥M(jìn)行改寫;引導(dǎo)程序部分包含實際自編譯的代碼自編譯部分在引導(dǎo)程序部分被執(zhí)行??梢酝ㄟ^網(wǎng)絡(luò)直接以上位機(jī)進(jìn)行數(shù)據(jù)交互,從而對主程序進(jìn)行更新。引導(dǎo)程序的大小通過熔絲位進(jìn)行設(shè)定。
文中設(shè)定 BootLoader的起始地址為 0xFC00,大小為1 024個字節(jié)。終端的頁寫入過程如圖6所示。終端接收到的每一個數(shù)據(jù)包后,都會先存入EEPROM內(nèi),等待下接收一個數(shù)據(jù)包。在進(jìn)行程序更新時,每頁寫入新的數(shù)據(jù)之前,必須將這頁原有的數(shù)據(jù)擦除。向頁寫入數(shù)據(jù)時,首先必須先將數(shù)據(jù)寫入RAM頁緩沖區(qū)中,臨時保存。緩沖區(qū)被一字一字填滿后,再將緩沖區(qū)的內(nèi)容按頁復(fù)制到Flash,完成應(yīng)用程序區(qū)的程序更新。
圖6 程序更新流程圖Fig.6 Flow chart of program updates
文中介紹了基于GPS/GPRS的車輛監(jiān)控終端的一種實現(xiàn)設(shè)計方案,給出了詳細(xì)的軟件及硬件組成和設(shè)計實現(xiàn),并針對數(shù)量龐大并且分布范圍較廣的車載終端軟件在線升級或維護(hù)的問題,提出了一種GPRS的多點(diǎn)遠(yuǎn)程在線升級方案。經(jīng)多次試驗效果良好,該系統(tǒng)可以應(yīng)用于交通指揮系統(tǒng),物流管理系統(tǒng)、城市汽車租賃管理系統(tǒng),具有十分廣泛的應(yīng)用前景。
[1]江杰,趙建霞.基于GPS/GSM雙定位模式的車載導(dǎo)航系統(tǒng)設(shè)計[J].科技創(chuàng)新導(dǎo)報,2008(5):46.JIANG Jie,ZHAO Jian-xia.Based on GPS/GSM double localization model of the car’s navigation system design[J].Science and Technology Innovation Herald,2008(25):46.
[2]洪利,王敏,章?lián)P.無線CPU與移動IP網(wǎng)絡(luò)開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2008.
[3]HUAXUN Microelectronics Inc.GPS OEM U6128[S].2008:1-13.
[4]倪建軍,范躍祖,李松林.利用GSM短消息業(yè)務(wù)實現(xiàn)GPS車輛監(jiān)控[J].電子技術(shù)應(yīng)用 2000(7):12-19.NI Jian-jun,F(xiàn)AN Yue-zu,LI Song-lin.Use GSM short news business to realize GPS vehicle monitoring[J].Applicationof Electronic Technology,2000(7):12-19.
[5]陳新.GSM數(shù)字蜂窩移動通信技術(shù)[M].北京:人民郵電出版社,2005.
[6]Bradford W,Parkinson,James J,et al.Global Positioning System:Theory and Applications[M].AIAA,2006:5-26.