基於GPRS網路的GPS圖形導航儀

來源:互聯網
上載者:User
通過研究GPS導航以及基於GPRS無線網路資料轉送的組合導航技術, 給出基於GPRS網路的GPS圖形導航儀單元的設計方案。由GPS接收機、ARM微控制器、GPRS無線模組、大容量Flash儲存晶片,以及大螢幕的TFT彩色液晶屏組成。本圖形導航裝置能協助使用者獲得極佳的地理資訊導航協助,以及對重要訊息的監控。

引言

  隨著近年來科技的發展以及人們對通訊及導航技術的要求進一步提高,以全球定位系統(GPS) 定位技術為主的定位導航及監控技術得到了高速的發展。GPS導航定位技術在眾多的行業中都得到了廣泛的應用,如交通、航海、安全等眾多的領域。然而,大多數已經投入使用的GPS導航監控裝置裡,很少有通過無線網路把重要的資料轉送給監控者功能的裝置。其餘附帶了資料轉送功能的裝置大多數也僅僅是通過發送短訊息的方式進行重要資料的傳輸和接收,但是由於短訊息本身具有延時不確定,速度慢以及容易丟失等缺點,使得整個系統的穩定性下降。

  本系統通過基於全新的GPRS無線網路來發送重要資料,採用大螢幕的TFT彩色液晶屏作為地圖顯示裝置,使定位的視覺效果及資料轉送功能的穩定性都得到了極大的加強。

1 系統組成及特點

  在本導航裝置中,涉及的核心技術是整合封包無線電服務GPRS和全球定位系統GPS,下面簡單介紹這兩個系統的核心模組。

  GPS(Global Positioning System,全球定位系統),是美國的國防導航衛星系統,是一個全球性、全天候、全天時、高精度的導航定位和時間傳遞系統。24顆衛星位於6個傾角為55°的軌道平面內,高度為20 182 km,周期近12小時。衛星用兩個 L波段頻率發射單向測距訊號,區別不同衛星採用碼分多址。它是一個軍民兩用系統,提供兩個等級的服務。GPS系統是為全球範圍內的飛機、艦船、坦克、地面車輛、步兵、飛彈以及太空梭等提供全天候、連續、即時、高精度的三維位置、三維速度和精確時間,因此,具有極高的軍用價值和民用前景。

  GPRS(General Packet Radio Service,通用無線分組業務),是一種基於GSM系統的無線封包交換技術,提供端到端的、廣域的無線IP串連。通俗地講,GPRS是一項高速資料處理的技術,方法是以“分組”的形式傳送資料到使用者手上。雖然GPRS是現有GSM網路向第三代移動通訊演變的過渡技術,但是它在許多方面都具有顯著的優勢。GPRS是歐洲電信協會GSM系統中有關分組資料的標準。它採用通道捆綁(目前GPRS 的設計可以在一個載頻或8 個通道中實現捆綁) 和增強資料速率的方法實現高速接入,理論上可提供高達115 kbps的空中介面傳輸速率,使若干移動使用者能夠同時共用一個無線通道,一個移動使用者也可以使用多個無線通道。實際發送或接收資料包的使用者僅占很少一部分網路資源,並且網路容量只有在實際傳輸時才被佔用。GPRS與現有的GSM語音系統最根本的區別是: GSM是一種電路交換系統,而GPRS是一種封包交換系統。因此,GPRS特別適用於間斷的、突發的或頻繁的、少量的資料轉送,也適用於偶爾的大資料量傳輸。這一特點正適合大多數移動互聯和裝置對傳輸資料的要求。

  GPS-GPRS定位系統車載終端的組成1所示。

圖1

 

  導航儀的大致工作流程為:首先,終端導航裝置通過內建的GPS接收模組獲得自身的具體地理位置資訊以及附屬資訊(如行駛速度和時間等)。然後,通過對內建的海量存放裝置中的地圖,把其對應當前位置的地圖部分在TFT彩色液晶屏上顯示出來,並且同時顯示自身的狀態(如速度、時間、收到了控制中心的何種訊息等),設定內建的GPRS模組撥接,實現與Internet的串連。接下來,就可將剛才通過GPS接收模組所獲得的具體資訊傳輸給指定的網路伺服器。

  網路伺服器通過特定的上位機軟體或相應的傳輸協議,對所監控的終端裝置進行當前所在的位置、速度等相關資訊的即時監控,並可通過網路對受控終端進行控制,實現移動終端與監控中心的雙向資料轉送,完成對受控終端運行狀態、安全狀態、技術狀態的監控。

2 導航系統原理

  整個導航系統的原理框圖2所示。其中核心控制器使用基於ARM7核心的AT91SAM7S64;GPS接收模組採用瑞士UBlox公司的TIMLH,訊號接收能力強;GPRS模組採用Motorola公司的G20無線模組,特點是內嵌了TCP/IP協議,使用簡單,效能穩定,顯示部分採用的是Sharp公司生產的8寸TFT彩色液晶屏,通過顯示當前位置的彩色地圖,達到良好的視覺效果。片外存放裝置使用的是Samsung公司生產的大容量Flash儲存體,優點是價格便宜,與控制器的介面簡單(高速SPI匯流排)。

圖2

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

  ① 終端使用者進行當前所在地理位置的查詢;
  ② 當獲得了當前的地理位置資訊後,在TFT液晶屏上顯示出對應的地圖地區;
  ③ 導航終端可對指定了網路伺服器發送自身的相關資訊,如地理位置、自身狀態等;
  ④ 導航終端通過接收網路伺服器發送的控制命令進行相應的控制;
  ⑤ 終端使用者可以通過GPRS模組撥打到電話。

  系統的工作原理如下:

  導航終端的核心控制部分是基於ARM7核心的AT91SAM7S64微控制器,其核心是對GPS接收模組的定位元據讀取;對GPRS模組的控制,包括串連Internet、向網路監控伺服器發送資料和讀取伺服器發送過來的資料;最後是針對Flash儲存體的控制,通過對當前獲得的地理位置資訊,讀取儲存在Flash儲存體中所儲存的地圖的對應部分,然後在TFT彩色液晶屏上顯示出來。

  其中,控制器對GPRS模組的控制是通過串列口UART0實現的,通過發送對應的AT命令實現對G20模組的控制,如串連Internet、向伺服器發送資訊和接收資料、撥打到電話等。關鍵命令如下:

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,協議類型為UDP
at+mipsend=1,"41424344" //向伺服器發送“ABCD”4個字母,這裡以發送“ABCD”字//符為例,來代替所要發送的資料
+MIPSEND: 1,1367
OK//發送成功
at+mippush=1//準備接收資料
+MIPPUSH: 0
OK//接收資料成功
+MIPRUDP: 211.139.189.180,47280,1,5,5152535455 //接收到伺服器發送來的資料“QRSTU”字元

  對GPS模組的資料接收是通過串列口UART1實現的,通過設定GPS模組指定的傳輸速率從模組的串列口獲得定位元據。GPS通用的命令格式是NMEA0183,而最需要的關鍵資訊是其中的一組定位資訊。如果此時GPS接收機和衛星的通訊正常,則可以接收到的定位資訊的那組資料格式如下:

  $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表示東經。

  如果當前沒有和衛星取得聯絡,那麼字串的格式為:

$GPRMC,UTC_TIME,V,...

  下面是一個例子:

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

  由於這裡僅僅需要接收的資訊為定位資訊,即GPS推薦的最短資料,所以在接收GPS模組的資料時,只需要判斷每行資料開頭的關鍵字是否為“$GPRMC”,如是,則接收下來。

  最後是針對Flash儲存體和TFT彩色液晶屏的控制。這裡,CPU使用普通的SPI高速串列匯流排來驅動Flash儲存體。可以從當地的勘測部門獲得普通精度的數字彩色經緯地圖,並將其儲存到Flash儲存體中,而用普通的I/O引腳來驅動TFT彩色液晶屏,將從GPS模組裡獲得的定位資訊進行分析,然後通過處理,再在LCD上面顯示Flash儲存體中所儲存的地圖的對應部分。

3 系統軟體設計

  在整個GPS導航系統中,全套軟體系統由使用者軟體、導航儀底層驅動軟體和伺服器端控制軟體組成。這裡,以導航儀底層驅動軟體來說明整個系統的軟體是如何設計和運作的。

  整個導航儀底層驅動軟體劃分成若干個模組,由主模組和多個子模組組成。這裡,使用了即時嵌入式系統μC/OS-II,其優點是功能強大,對系統資源的佔用要求小,即時響應,而且可以很輕鬆地實現多個任務的調度。這裡,將所有的子程式設定成不同的任務,如下:

  ① OSTaskCreate(SystemInit, (void *)0, (OS_STK *)&SystemInit[OSTaskStkSiz], 4);
  //整個系統的初始化,作為第一個任務,包括對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模組向指定的網路伺服器發送資料作為一個任務
  ④ 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讓其顯示對應當前地理位置地區的地圖部分,作為整個顯示部分的任務
  ⑥ OSTaskCreate(Flash_Drive, (void *)0, (OS_STK *)&LCD[OSTaskStkSiz], 9);
  //驅動Flash儲存體來讀取對應地理位置資訊的地圖部分,從而為LCD顯示部分作好準備

  完成整個系統軟體的模組化設計後,通過調用OSStart()函數讓整個系統運行起來。從以上的軟體組成說明,可以瞭解整個系統軟體的工作流程如下:

  ① CPU通過GPS模組獲得當前的地理位置資訊。
  ② CPU利用剛才所獲得的GPS定位資訊,可以從Flash儲存體中獲得對應目前範圍的地圖部分,然後通過驅動TFT彩色液晶屏將其顯示出來。
  ③ 如需要,CPU通過GPRS模組撥號連線上Internet後,將其所獲得的定位資訊發送到指定的網路伺服器上,或接收從伺服器上發過來的資料。
  ④ 接收到伺服器的控制命令後,返迴響應並採取相應措施,如停止GPS資料的接收,改變導航終端通過GPRS網路向伺服器發送資料的周期等。

  最終搭建成的導航系統3所示。

圖3

  在實際的測試中,使用了當地普通精度的數字彩色經緯地圖,並將其裝載到了導航系統的Flash儲存體中。通過在實際露天的測試對比,本導航系統可以良好地通過讀取當前的GPS定位資訊,在TFT彩色液晶屏上顯示出對應目前範圍的地圖部分,並在安裝了特定網路監視軟體的伺服器上很好地接收到導航終端發送過來的定位資訊以及相關資料。

結語

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

參考文獻
[1] 曹軍. 基於GPRS實現橋樑檢測遠端資料傳輸, 森林工程, 2006(2).
[2] 畢危危. 基於GPRS和DGPS的車輛管理系統,北京交通大學學報,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嵌入式系統編程與實踐. 北京:北京航空航天大學出版社, 2006.
[7] 李平均. 基於GPRS網路的單片機的Internet接入. 微電子學與電腦, 2006(3)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.