摘要 通過研究GPS導航以及基于GPRS無線網絡數據傳輸的組合導航技術, 給出基于GPRS網絡的GPS圖形導航儀單元的設計方案。由GPS接收機、ARM微控制器、GPRS無線模塊、大容量Flash存儲芯片,以及大屏幕的TFT彩色液晶屏組成。本圖形導航設備能幫助使用者獲得極佳的地理信息導航幫助,以及對重要信息的監(jiān)控。
關鍵詞 通用分組無線業(yè)務(GPRS) 全球定位系統(tǒng)(GPS) 圖形 導航儀
引言
隨著近年來科技的發(fā)展以及人們對通信及導航技術的要求進一步提高,以全球定位系統(tǒng)(GPS) 定位技術為主的定位導航及監(jiān)控技術得到了高速的發(fā)展。GPS導航定位技術在眾多的行業(yè)中都得到了廣泛的應用,如交通、航海、安全等眾多的領域。然而,大多數已經投入使用的GPS導航監(jiān)控設備里,很少有通過無線網絡把重要的數據傳輸給監(jiān)控者功能的設備。其余附帶了數據傳輸功能的設備大多數也僅僅是通過發(fā)送短消息的方式進行重要數據的傳輸和接收,但是由于短消息本身具有延時不確定,速度慢以及容易丟失等缺點,使得整個系統(tǒng)的穩(wěn)定性下降。
本系統(tǒng)通過基于全新的GPRS無線網絡來發(fā)送重要數據,采用大屏幕的TFT彩色液晶屏作為地圖顯示設備,使定位的可視化效果及數據傳輸功能的穩(wěn)定性都得到了極大的加強。
1 系統(tǒng)組成及特點
在本導航設備中,涉及的核心技術是通用分組無線業(yè)務GPRS和全球定位系統(tǒng)GPS,下面簡單介紹這兩個系統(tǒng)的核心模塊。
GPS(Global Positioning System,全球定位系統(tǒng)),是美國的國防導航衛(wèi)星系統(tǒng),是一個全球性、全天候、全天時、高精度的導航定位和時間傳遞系統(tǒng)。24顆衛(wèi)星位于6個傾角為55°的軌道平面內,高度為20 182 km,周期近12小時。衛(wèi)星用兩個 L波段頻率發(fā)射單向測距信號,區(qū)別不同衛(wèi)星采用碼分多址。它是一個軍民兩用系統(tǒng),提供兩個等級的服務。GPS系統(tǒng)是為全球范圍內的飛機、艦船、坦克、地面車輛、步兵、導彈以及航天飛機等提供全天候、連續(xù)、實時、高精度的三維位置、三維速度和精確時間,因此,具有極高的軍用價值和民用前景。
GPRS(General Packet Radio Service,通用無線分組業(yè)務),是一種基于GSM系統(tǒng)的無線分組交換技術,提供端到端的、廣域的無線IP連接。通俗地講,GPRS是一項高速數據處理的技術,方法是以“分組”的形式傳送資料到用戶手上。雖然GPRS是現(xiàn)有GSM網絡向第三代移動通信演變的過渡技術,但是它在許多方面都具有顯著的優(yōu)勢。GPRS是歐洲電信協(xié)會GSM系統(tǒng)中有關分組數據的標準。它采用信道捆綁(目前GPRS 的設計可以在一個載頻或8 個信道中實現(xiàn)捆綁) 和增強數據速率的方法實現(xiàn)高速接入,理論上可提供高達115 kbps的空中接口傳輸速率,使若干移動用戶能夠同時共享一個無線信道,一個移動用戶也可以使用多個無線信道。實際發(fā)送或接收數據包的用戶僅占很少一部分網絡資源,并且網絡容量只有在實際傳輸時才被占用。GPRS與現(xiàn)有的GSM語音系統(tǒng)最根本的區(qū)別是: GSM是一種電路交換系統(tǒng),而GPRS是一種分組交換系統(tǒng)。因此,GPRS特別適用于間斷的、突發(fā)的或頻繁的、少量的數據傳輸,也適用于偶爾的大數據量傳輸。這一特點正適合大多數移動互聯(lián)和設備對傳輸數據的要求。
GPS-GPRS定位系統(tǒng)車載終端的組成如圖1所示。
導航儀的大致工作流程為:首先,終端導航設備通過自帶的GPS接收模塊獲得自身的具體地理位置信息以及附屬信息(如行駛速度和時間等)。然后,通過對內置的海量存儲設備中的地圖,把其對應當前位置的地圖部分在TFT彩色液晶屏上顯示出來,并且同時顯示自身的狀態(tài)(如速度、時間、收到了控制中心的何種消息等),設置自帶的GPRS模塊撥號上網,實現(xiàn)與Internet的連接。接下來,就可將剛才通過GPS接收模塊所獲得的具體信息傳輸給指定的網絡服務器。
網絡服務器通過特定的上位機軟件或相應的傳輸協(xié)議,對所監(jiān)控的終端設備進行當前所在的位置、速度等相關信息的實時監(jiān)控,并可通過網絡對受控終端進行控制,實現(xiàn)移動終端與監(jiān)控中心的雙向數據傳輸,完成對受控終端運行狀態(tài)、安全狀態(tài)、技術狀態(tài)的監(jiān)控。
2 導航系統(tǒng)原理
整個導航系統(tǒng)的原理框圖如圖2所示。其中核心控制器使用基于ARM7內核的AT91SAM7S64;GPS接收模塊采用瑞士UBlox公司的TIMLH,信號接收能力強;GPRS模塊采用Motorola公司的G20無線模塊,特點是內嵌了TCP/IP協(xié)議,使用簡單,性能穩(wěn)定,顯示部分采用的是Sharp公司生產的8寸TFT彩色液晶屏,通過顯示當前位置的彩色地圖,達到良好的可視化效果。片外存儲設備使用的是Samsung公司生產的大容量Flash存儲體,優(yōu)點是價格便宜,與控制器的接口簡單(高速SPI總線)。
本導航終端主要的功能如下:
、 終端用戶進行當前所在地理位置的查詢;
、 當獲得了當前的地理位置信息后,在TFT液晶屏上顯示出對應的地圖區(qū)域;
、 導航終端可對指定了網絡服務器發(fā)送自身的相關信息,如地理位置、自身狀態(tài)等;
、 導航終端通過接收網絡服務器發(fā)送的控制命令進行相應的控制;
⑤ 終端用戶可以通過GPRS模塊撥打電話。
系統(tǒng)的工作原理如下:
導航終端的核心控制部分是基于ARM7內核的AT91SAM7S64微控制器,其核心是對GPS接收模塊的定位數據讀取;對GPRS模塊的控制,包括連接Internet、向網絡監(jiān)控服務器發(fā)送數據和讀取服務器發(fā)送過來的數據;最后是針對Flash存儲體的控制,通過對當前獲得的地理位置信息,讀取存儲在Flash存儲體中所存儲的地圖的對應部分,然后在TFT彩色液晶屏上顯示出來。
其中,控制器對GPRS模塊的控制是通過串行口UART0實現(xiàn)的,通過發(fā)送對應的AT命令實現(xiàn)對G20模塊的控制,如連接Internet、向服務器發(fā)送信息和接收數據、撥打電話等。關鍵命令如下:
at+mipcall=1,cmnet //建立一個無線GPRS鏈接
+MIPCALL: 10.103.201.135
//返回本地IP地址(注:當GPRS模塊撥號上網后,會獲得一個服務器提供的唯一IP,這里以10.103.201.135為例)
at+mipopen=1,2000,"10.103.67.30",3000,1
//打開一個SOCKET,本地端口為2000,目標IP地址為
//“10.103.67.30”
OK
+MIPOPEN: 1,1 //返回目標端口為3000,協(xié)議類型為UDP
at+mipsend=1,"41424344" //向服務器發(fā)送“ABCD”4個字母,這里以發(fā)送“ABCD”字//符為例,來代替所要發(fā)送的數據
+MIPSEND: 1,1367
OK//發(fā)送成功
at+mippush=1//準備接收數據
+MIPPUSH: 0
OK//接收數據成功
+MIPRUDP: 211.139.189.180,47280,1,5,5152535455 //接收到服務器發(fā)送來的數據“QRSTU”字符
對GPS模塊的數據接收是通過串行口UART1實現(xiàn)的,通過設定GPS模塊指定的波特率從模塊的串行口獲得定位數據。GPS通用的命令格式是NMEA0183,而最需要的關鍵信息是其中的一組定位信息。如果此時GPS接收機和衛(wèi)星的通信正常,則可以接收到的定位信息的那組數據格式如下:
$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E
數據說明如下:
$GPRMC代表GPS推薦的最短數據;
204700 UTC_TIME代表24小時制的標準時間,按照小時/分鐘/秒的格式;
A A或者 V A表示數據“OK”,V表示一個警告;3403.868 LAT緯度值,精確到小數點前4位,后 3位N LAT_DIR N表示北緯,S表示南緯;
11709.432 LON經度值,精確到小數點前5位,后3位W LON_DIR W表示西經,E表示東經。
如果當前沒有和衛(wèi)星取得聯(lián)系,那么字符串的格式為:
$GPRMC,UTC_TIME,V,...
下面是一個例子:
$GPRMC,204149,V,,,,,,,170698,,*3A
由于這里僅僅需要接收的信息為定位信息,即GPS推薦的最短數據,所以在接收GPS模塊的數據時,只需要判斷每行數據開頭的關鍵字是否為“$GPRMC”,如是,則接收下來。
最后是針對Flash存儲體和TFT彩色液晶屏的控制。這里,CPU使用普通的SPI高速串行總線來驅動Flash存儲體?梢詮漠數氐目睖y部門獲得普通精度的數字彩色經緯地圖,并將其存儲到Flash存儲體中,而用普通的I/O引腳來驅動TFT彩色液晶屏,將從GPS模塊里獲得的定位信息進行分析,然后通過處理,再在LCD上面顯示Flash存儲體中所存儲的地圖的對應部分。
3 系統(tǒng)軟件設計
在整個GPS導航系統(tǒng)中,全套軟件系統(tǒng)由用戶軟件、導航儀底層驅動軟件和服務器端控制軟件組成。這里,以導航儀底層驅動軟件來說明整個系統(tǒng)的軟件是如何設計和運作的。
整個導航儀底層驅動軟件劃分成若干個模塊,由主模塊和多個子模塊組成。這里,使用了實時嵌入式系統(tǒng)μC/OS-II,其優(yōu)點是功能強大,對系統(tǒng)資源的占用要求小,實時響應,而且可以很輕松地實現(xiàn)多個任務的調度。這里,將所有的子程序設置成不同的任務,如下:
、 OSTaskCreate(SystemInit, (void *)0, (OS_STK *)&SystemInit[OSTaskStkSiz], 4);
//整個系統(tǒng)的初始化,作為第一個任務,包括對CPU、GPRS、GPS以及LCD的初始化工作
、 OSTaskCreate(GPS_Get_Data, (void *)0, (OS_STK *)&GPS[OSTaskStkSiz], 5);
//將從GPS模塊讀取定位信息作為第二個任務
、 OSTaskCreate(GPRS_Send_Data, (void *)0, (OS_STK *)&GPRS_S[OSTaskStkSiz], 6);
//設置通過GPRS模塊向指定的網絡服務器發(fā)送數據作為一個任務
、 OSTaskCreate(GPRS_Get_Data, (void *)0, (OS_STK *)&GPRS_R[OSTaskStkSiz], 7);
//設置通過GPRS模塊從指定的網絡服務器接收數據作為另外一個任務
、 OSTaskCreate(LCD_Draw, (void *)0, (OS_STK *)&LCD[OSTaskStkSiz], 8);
//驅動TFT LCD讓其顯示對應當前地理位置區(qū)域的地圖部分,作為整個顯示部分的任務
、 OSTaskCreate(Flash_Drive, (void *)0, (OS_STK *)&LCD[OSTaskStkSiz], 9);
//驅動Flash存儲體來讀取對應地理位置信息的地圖部分,從而為LCD顯示部分作好準備
完成整個系統(tǒng)軟件的模塊化設計后,通過調用OSStart()函數讓整個系統(tǒng)運行起來。從以上的軟件組成說明,可以了解整個系統(tǒng)軟件的工作流程如下:
、 CPU通過GPS模塊獲得當前的地理位置信息。
② CPU利用剛才所獲得的GPS定位信息,可以從Flash存儲體中獲得對應當前區(qū)域的地圖部分,然后通過驅動TFT彩色液晶屏將其顯示出來。
③ 如需要,CPU通過GPRS模塊撥號連接上Internet后,將其所獲得的定位信息發(fā)送到指定的網絡服務器上,或接收從服務器上發(fā)過來的數據。
、 接收到服務器的控制命令后,返回響應并采取相應措施,如停止GPS數據的接收,改變導航終端通過GPRS網絡向服務器發(fā)送數據的周期等。
最終搭建成的導航系統(tǒng)如圖3所示。
在實際的測試中,使用了當地普通精度的數字彩色經緯地圖,并將其裝載到了導航系統(tǒng)的Flash存儲體中。通過在實際露天的測試對比,本導航系統(tǒng)可以良好地通過讀取當前的GPS定位信息,在TFT彩色液晶屏上顯示出對應當前區(qū)域的地圖部分,并在安裝了特定網絡監(jiān)控軟件的服務器上很好地接收到導航終端發(fā)送過來的定位信息以及相關數據。
結語
在本套導航系統(tǒng)中,其核心設計與以往傳統(tǒng)的GPSGSM定位系統(tǒng)有著很大的區(qū)別。首先,利用GPRS無線網絡來傳輸數據與以往通過GSM網絡發(fā)送短信的方式相比,無論是運營成本,還是可靠性都得到了極大的改善,尤其是其運營成本,相比起傳統(tǒng)的GPS-GSM定位系統(tǒng)下降了2個數量級。其次,本導航系統(tǒng)中良好的可視化效果為用戶提供了相當優(yōu)秀的導航界面,相比起來,市面上傳統(tǒng)的GPS定位系統(tǒng)僅僅顯示了當前的GPS定位的數據,當前的周邊地理狀況則無法良好地提供給用戶;而本套導航系統(tǒng),控制核心采用的高性能的基于ARM7內核的微控制器,因而無論是性能還是可升級性方面,都比起使用傳統(tǒng)的8位單片機作為控制核心有著相當大的優(yōu)勢。目前,隨著人們對GPS導航技術的要求一步步的提升,以及GPRS網絡在國內的高速普及,我們相信以這兩者相結合的新一代導航技術將會獲得極大的成功。
參考文獻
[1] 曹軍. 基于GPRS實現(xiàn)橋梁檢測遠程數據傳輸, 森林工程, 2006(2).
[2] 畢危危. 基于GPRS和DGPS的車輛管理系統(tǒng),北京交通大學學報,2006(2).
[3] Motorola. G20_AT_Commands, 2005-04-06.
[4] UBlox. Application for TIMLH GPS module, 2005-03.
[5] 張勤,李家權. GPS測量原理及應用. 北京:科學出版社, 2005-07.
[6] 徐愛鈞. IAR EWARM嵌入式系統(tǒng)編程與實踐. 北京:北京航空航天大學出版社, 2006.
[7] 李平均. 基于GPRS網絡的單片機的Internet接入. 微電子學與計算機, 2006(3)