《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于GPRS網(wǎng)絡的GPS圖形導航儀
基于GPRS網(wǎng)絡的GPS圖形導航儀
何科 仲鋒 朱嶸臻
三峽大學
摘要: 通過研究GPS導航以及基于GPRS無線網(wǎng)絡數(shù)據(jù)傳輸?shù)慕M合導航技術, 給出基于GPRS網(wǎng)絡的GPS圖形導航儀單元的設計方案,。由GPS接收機,、ARM微控制器,、GPRS無線模塊,、大容量Flash存儲芯片,,以及大屏幕的TFT彩色液晶屏組成,。本圖形導航設備能幫助使用者獲得極佳的地理信息導航幫助,,以及對重要信息的監(jiān)控,。
Abstract:
Key words :

引言

  隨著近年來科技的發(fā)展以及人們對通信及導航技術的要求進一步提高,,以全球定位系統(tǒng)(GPS) 定位技術為主的定位導航及監(jiān)控技術得到了高速的發(fā)展,。GPS導航定位技術在眾多的行業(yè)中都得到了廣泛的應用,,如交通、航海,、安全等眾多的領域,。然而,大多數(shù)已經(jīng)投入使用的GPS導航監(jiān)控設備里,,很少有通過無線網(wǎng)絡把重要的數(shù)據(jù)傳輸給監(jiān)控者功能的設備,。其余附帶了數(shù)據(jù)傳輸功能的設備大多數(shù)也僅僅是通過發(fā)送短消息的方式進行重要數(shù)據(jù)的傳輸和接收,但是由于短消息本身具有延時不確定,,速度慢以及容易丟失等缺點,,使得整個系統(tǒng)的穩(wěn)定性下降。

  本系統(tǒng)通過基于全新的GPRS無線網(wǎng)絡來發(fā)送重要數(shù)據(jù),,采用大屏幕的TFT彩色液晶屏作為地圖顯示設備,,使定位的可視化效果及數(shù)據(jù)傳輸功能的穩(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是一項高速數(shù)據(jù)處理的技術,方法是以“分組”的形式傳送資料到用戶手上,。雖然GPRS是現(xiàn)有GSM網(wǎng)絡向第三代移動通信演變的過渡技術,,但是它在許多方面都具有顯著的優(yōu)勢。GPRS是歐洲電信協(xié)會GSM系統(tǒng)中有關分組數(shù)據(jù)的標準,。它采用信道捆綁(目前GPRS 的設計可以在一個載頻或8 個信道中實現(xiàn)捆綁) 和增強數(shù)據(jù)速率的方法實現(xiàn)高速接入,理論上可提供高達115 kbps的空中接口傳輸速率,使若干移動用戶能夠同時共享一個無線信道,一個移動用戶也可以使用多個無線信道,。實際發(fā)送或接收數(shù)據(jù)包的用戶僅占很少一部分網(wǎng)絡資源,并且網(wǎng)絡容量只有在實際傳輸時才被占用。GPRS與現(xiàn)有的GSM語音系統(tǒng)最根本的區(qū)別是: GSM是一種電路交換系統(tǒng),而GPRS是一種分組交換系統(tǒng),。因此,GPRS特別適用于間斷的,、突發(fā)的或頻繁的、少量的數(shù)據(jù)傳輸,也適用于偶爾的大數(shù)據(jù)量傳輸,。這一特點正適合大多數(shù)移動互聯(lián)和設備對傳輸數(shù)據(jù)的要求,。

  GPS-GPRS定位系統(tǒng)車載終端的組成如圖1所示。

圖1

  導航儀的大致工作流程為:首先,,終端導航設備通過自帶的GPS接收模塊獲得自身的具體地理位置信息以及附屬信息(如行駛速度和時間等),。然后,通過對內置的海量存儲設備中的地圖,,把其對應當前位置的地圖部分在TFT彩色液晶屏上顯示出來,,并且同時顯示自身的狀態(tài)(如速度、時間,、收到了控制中心的何種消息等),,設置自帶的GPRS模塊撥號上網(wǎng),實現(xiàn)與Internet的連接,。接下來,,就可將剛才通過GPS接收模塊所獲得的具體信息傳輸給指定的網(wǎng)絡服務器。

  網(wǎng)絡服務器通過特定的上位機軟件或相應的傳輸協(xié)議,,對所監(jiān)控的終端設備進行當前所在的位置,、速度等相關信息的實時監(jiān)控,并可通過網(wǎng)絡對受控終端進行控制,實現(xiàn)移動終端與監(jiān)控中心的雙向數(shù)據(jù)傳輸,完成對受控終端運行狀態(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公司生產(chǎn)的8寸TFT彩色液晶屏,,通過顯示當前位置的彩色地圖,達到良好的可視化效果,。片外存儲設備使用的是Samsung公司生產(chǎn)的大容量Flash存儲體,,優(yōu)點是價格便宜,與控制器的接口簡單(高速SPI總線),。

圖2


  本導航終端主要的功能如下:

 ?、?終端用戶進行當前所在地理位置的查詢;
 ?、?當獲得了當前的地理位置信息后,,在TFT液晶屏上顯示出對應的地圖區(qū)域;
 ?、?導航終端可對指定了網(wǎng)絡服務器發(fā)送自身的相關信息,,如地理位置、自身狀態(tài)等,;
 ?、?導航終端通過接收網(wǎng)絡服務器發(fā)送的控制命令進行相應的控制;
 ?、?終端用戶可以通過GPRS模塊撥打電話,。

  系統(tǒng)的工作原理如下:

  導航終端的核心控制部分是基于ARM7內核的AT91SAM7S64微控制器,其核心是對GPS接收模塊的定位數(shù)據(jù)讀??;對GPRS模塊的控制,包括連接Internet,、向網(wǎng)絡監(jiān)控服務器發(fā)送數(shù)據(jù)和讀取服務器發(fā)送過來的數(shù)據(jù),;最后是針對Flash存儲體的控制,通過對當前獲得的地理位置信息,,讀取存儲在Flash存儲體中所存儲的地圖的對應部分,,然后在TFT彩色液晶屏上顯示出來。

  其中,,控制器對GPRS模塊的控制是通過串行口UART0實現(xiàn)的,,通過發(fā)送對應的AT命令實現(xiàn)對G20模塊的控制,如連接Internet,、向服務器發(fā)送信息和接收數(shù)據(jù),、撥打電話等,。關鍵命令如下:

at+mipCAll=1,cmnet //建立一個無線GPRS鏈接
+MIPCALL: 10.103.201.135
    //返回本地IP地址(注:當GPRS模塊撥號上網(wǎng)后,會獲得一個服務器提供的唯一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ā)送的數(shù)據(jù)
+MIPSEND: 1,1367
OK//發(fā)送成功
at+mippush=1//準備接收數(shù)據(jù)
+MIPPUSH: 0
OK//接收數(shù)據(jù)成功
+MIPRUDP: 211.139.189.180,47280,1,5,5152535455 //接收到服務器發(fā)送來的數(shù)據(jù)“QRSTU”字符

  對GPS模塊的數(shù)據(jù)接收是通過串行口UART1實現(xiàn)的,,通過設定GPS模塊指定的波特率從模塊的串行口獲得定位數(shù)據(jù)。GPS通用的命令格式是NMEA0183,,而最需要的關鍵信息是其中的一組定位信息,。如果此時GPS接收機和衛(wèi)星的通信正常,則可以接收到的定位信息的那組數(shù)據(jù)格式如下:

  $GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E

  數(shù)據(jù)說明如下:

  $GPRMC代表GPS推薦的最短數(shù)據(jù);
  204700 UTC_TIME代表24小時制的標準時間,,按照小時/分鐘/秒的格式;
  A A或者 V A表示數(shù)據(jù)“OK”,,V表示一個警告;3403.868 LAT緯度值,精確到小數(shù)點前4位,,后  3位N LAT_DIR N表示北緯,S表示南緯;
  11709.432 LON經(jīng)度值,,精確到小數(shù)點前5位,,后3位W LON_DIR W表示西經(jīng),E表示東經(jīng),。

  如果當前沒有和衛(wèi)星取得聯(lián)系,,那么字符串的格式為:

$GPRMC,UTC_TIME,V,...

  下面是一個例子:

  $GPRMC,204149,V,,,,,,,170698,,*3A

  由于這里僅僅需要接收的信息為定位信息,即GPS推薦的最短數(shù)據(jù),所以在接收GPS模塊的數(shù)據(jù)時,,只需要判斷每行數(shù)據(jù)開頭的關鍵字是否為“$GPRMC”,,如是,則接收下來,。

  最后是針對Flash存儲體和TFT彩色液晶屏的控制,。這里,CPU使用普通的SPI高速串行總線來驅動Flash存儲體,??梢詮漠?shù)氐目睖y部門獲得普通精度的數(shù)字彩色經(jīng)緯地圖,并將其存儲到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模塊向指定的網(wǎng)絡服務器發(fā)送數(shù)據(jù)作為一個任務
 ?、?OSTaskCreate(GPRS_Get_Data, (void *)0, (OS_STK *)&GPRS_R[OSTaskStkSiz], 7);
  //設置通過GPRS模塊從指定的網(wǎng)絡服務器接收數(shù)據(jù)作為另外一個任務
  ⑤ 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()函數(shù)讓整個系統(tǒng)運行起來,。從以上的軟件組成說明,可以了解整個系統(tǒng)軟件的工作流程如下:

 ?、?CPU通過GPS模塊獲得當前的地理位置信息,。
  ② CPU利用剛才所獲得的GPS定位信息,,可以從Flash存儲體中獲得對應當前區(qū)域的地圖部分,,然后通過驅動TFT彩色液晶屏將其顯示出來。
 ?、?如需要,,CPU通過GPRS模塊撥號連接上Internet后,將其所獲得的定位信息發(fā)送到指定的網(wǎng)絡服務器上,,或接收從服務器上發(fā)過來的數(shù)據(jù),。
  ④ 接收到服務器的控制命令后,返回響應并采取相應措施,,如停止GPS數(shù)據(jù)的接收,,改變導航終端通過GPRS網(wǎng)絡向服務器發(fā)送數(shù)據(jù)的周期等。

  最終搭建成的導航系統(tǒng)如圖3所示,。

圖3

  在實際的測試中,,使用了當?shù)仄胀ň鹊臄?shù)字彩色經(jīng)緯地圖,并將其裝載到了導航系統(tǒng)的Flash存儲體中,。通過在實際露天的測試對比,,本導航系統(tǒng)可以良好地通過讀取當前的GPS定位信息,在TFT彩色液晶屏上顯示出對應當前區(qū)域的地圖部分,,并在安裝了特定網(wǎng)絡監(jiān)控軟件的服務器上很好地接收到導航終端發(fā)送過來的定位信息以及相關數(shù)據(jù),。

結語

  在本套導航系統(tǒng)中,其核心設計與以往傳統(tǒng)的GPSGSM定位系統(tǒng)有著很大的區(qū)別,。首先,,利用GPRS無線網(wǎng)絡來傳輸數(shù)據(jù)與以往通過GSM網(wǎng)絡發(fā)送短信的方式相比,無論是運營成本,,還是可靠性都得到了極大的改善,,尤其是其運營成本,相比起傳統(tǒng)的GPS-GSM定位系統(tǒng)下降了2個數(shù)量級,。其次,,本導航系統(tǒng)中良好的可視化效果為用戶提供了相當優(yōu)秀的導航界面,相比起來,,市面上傳統(tǒng)的GPS定位系統(tǒng)僅僅顯示了當前的GPS定位的數(shù)據(jù),當前的周邊地理狀況則無法良好地提供給用戶,;而本套導航系統(tǒng),,控制核心采用的高性能的基于ARM7內核的微控制器,因而無論是性能還是可升級性方面,,都比起使用傳統(tǒng)的8位單片機作為控制核心有著相當大的優(yōu)勢,。目前,隨著人們對GPS導航技術的要求一步步的提升,,以及GPRS網(wǎng)絡在國內的高速普及,,我們相信以這兩者相結合的新一代導航技術將會獲得極大的成功。

參考文獻

[1] 曹軍. 基于GPRS實現(xiàn)橋梁檢測遠程數(shù)據(jù)傳輸, 森林工程, 2006(2).
[2] 畢危危. 基于GPRS和DGPS的車輛管理系統(tǒng),北京交通大學學報,2006(2).
[3] Motorola. G20_AT_Commands, 2005-04-06.
[4] UBlox. Application for TIMLH GPS module, 2005-03.
[5] 張勤,李家權. GPS測量原理及應用. 北京:科學出版社, 2005-07.
[6] 徐愛鈞. IAR EWARM嵌入式系統(tǒng)編程與實踐. 北京:北京航空航天大學出版社, 2006.
[7] 李平均. 基于GPRS網(wǎng)絡的單片機的Internet接入. 微電子學與計算機, 2006(3)

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。