新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于GPS和GPRS的小型追蹤器

基于GPS和GPRS的小型追蹤器

作者: 時間:2008-03-04 來源: 收藏

  1 引 言

本文引用地址:http://m.butianyuan.cn/article/79619.htm

  隨著無線通訊、Internet網絡以及民用領域GPS的普遍應用,將三者合一使用已成為當今熱門的研究領域。

  (General Packed Radio ServICe,通用分組無線業(yè)務)采用TCP/IP協(xié)議,非常容易和現有的Internet技術及應用平臺整合,即將各種IP技術和服務同移動通信技術相結合,為用戶提供各種高速度、高質量的移動數據通信業(yè)務。的移動通信、價格低廉、快速登陸、永遠在線、組網靈活、信道保障、小功率防雷擊等特點使得GPRS已逐漸取代GSM網絡。

  GPS(Global Positioning System,全球定位系統(tǒng))除了更多地應用于高精尖端測量、測繪及導航領域外,也更多地推動了其在低成本、低精度的民用小型GPS設備領域的發(fā)展和使用。GPS收發(fā)機的主要任務就是捕獲一定高度截止角所選擇的待測衛(wèi)星的信號,同時對接收到的GPS信號進行變換放大和處理,解譯出GPS衛(wèi)星所發(fā)送的導航電文,最終實時計算出該觀測站的三維位置、三維速度和時間。

  整個系統(tǒng)方案如圖1所示,帶有兩個串口的微控制器一方面獲取來自GPS接收模塊的導航數據,另一方面將這些數據經過適當處理后轉換為GPRS可以傳送的數據,并通過網絡送入控制中心,當用戶需要獲得相應的追蹤數據時,通過網絡訪問即可。

  

 

  2 總體方案

  基于微控制器的GPS+GPRS系統(tǒng),主要由以下幾個部分組成:微控制器模塊、GPS+GPRS模塊、鍵盤及LCD顯示屏等附件。其基本原理框圖如圖2所示。

  

 

  MCU通過兩個串口接收和發(fā)送信號到GPS和GPRS模塊,MCU通過串口0中斷接收GPS發(fā)出的狀態(tài)信息(包括三維位置、三維速度、時間、航向等)并保存,經軟件打包后通過串口1發(fā)送到GPRS模塊。GPRS模塊受MCU控制將此信號轉換為射頻信號GPRS網絡并連接Internet網絡。Internet用戶通過連接相關網站,或手機用戶通過編寫指定格式的短信,發(fā)送消息給GPRS模塊,GPRS模塊通過串口1將信號送入MCU,MCU發(fā)出接受信號鈴聲并根據約定協(xié)議自動顯示相應信息,鍵盤操作簡單,可以方便地切換顯示信息。

  3 硬件選型

  該系統(tǒng)在選型時,在滿足使用要求的基礎上,主要的選擇目標是體積重量小、能耗低的產品以滿足室外使用和便于老人小孩攜帶的要求。

  3.1 MCU

  MCU選用超低功耗型MSP430系列16位單片機MSP430F149,片內有豐富的外設,可實現異步、同步及多址訪問的串行通信接口(USART0~1)以及液晶顯示驅動模塊,最多可達6×8條I/O線,工作電壓為1.8~3.6 V。5種低功耗模式的體系結構,使得該微控制器在便攜式測量等應用場合非常理想地延長了電池的使用壽命,省電模式下中斷喚醒只需6 μs。

  3.2 XT55 GPS+GPRS模塊

  XT55是Siemens推出的第一款也是目前的惟一一款集合了三頻GSM/GPRS和GPS接收器的模塊。預先配置的功能和超級緊湊的尺寸(體積53×34×5.1 mm3重11 g)使其十分易于集成在新的小巧型的應用設備中,節(jié)省了大量的時間和費用來做額外的硬件集成??捎糜趥鬏敹绦拧⒄Z音、傳真,用于數據傳輸時最大理論傳輸速率可達85.6 kb/s,缺省值為14.kb/s,工作電壓為3.3~4.8 V,XT55內置GPS接收器,能決定其當前的位置、速度、航向。這些數據可以由MCU保存,也可以直接發(fā)送到一個操作中心。

  4 系統(tǒng)構成

  4.1 硬件設計

  硬件設計上主要是MCU與XT55所集成的兩個模塊之間的串口連接。其中GPRS模塊與微控制器之間的通信協(xié)議是AT命令集,除處理串口發(fā)送、串口接收之外,微控制器與GPRS模塊之間還有一些硬件握手信號。

  硬件連接完成后,在進行GPRS上網操作之前,首先要對GPRS模塊進行一定的設置,主要的設置工作有:設置通信波特率,一般設置為19 200 b/s,無奇偶位,一位停止位;設置接入網關,通過AT+CGD CONT="1",“IP”,“CMNET”命令設置GPRS接入網關為移動夢網;設置移動終端的類別;測試GPRS服務是否開通。

  4.2 軟件設計

  程序中所有代碼都是由C語言編寫的,并采用分層結構,從底往上分別為串口驅動層,網絡設備驅動層、PPP協(xié)議層、uIP協(xié)議層、應用層。上層函數的實現需要應用到底層函數,最終完成應用層任務,即傳送數據。

  PPP(Point-to-Point Protocol)是為在同等單元之間傳輸數據包這樣的簡單鏈路而設計的,這種鏈路提供全雙工操作,并按照順序傳送數據包,為基于各種主機、網橋和路由器的簡單連接提供一種共通的解決方案。

  PPP數據幀格式如下:

  

 

  標志Flag:表示一個幀的開始和結束;

  地址Address:標準的廣播地址;

  控制Control:用戶數據采用無序幀方式傳輸;

  協(xié)議Protocol:標志封裝在幀的數據域中的協(xié)議類型,通過確定幀序列的結尾,為FCS域留出兩個字節(jié),便可確定數據域的結尾:0xC023為網絡認證數據報;0xC021為鏈路控制數據;0x8021為網絡控制數據;

  幀檢測序列FCS:差錯控制。

  4.2.1 uIP的體系結構

  瑞典計算機科學研究所Adam Dunkels開發(fā)的uIP0.9是一種TCP/IP協(xié)議棧,資源占用少是他的設計特點,尤其適用于8/16位單片機。他去掉了許多全功能協(xié)議棧中不常用的功能,而保留通訊所必須的協(xié)議機制,其設計重點放在IP,ICMP和TCP協(xié)議的實現上,將這3個模塊合為一個整體,而將UDP和ARP協(xié)議實現作為可選模塊。uIP的體系結構如圖3所示。

  

 

  uIP處于網絡通訊的中間層,上層協(xié)議在這里被稱為應用程序,而下層硬件或固件被稱為網絡設備驅動。顯然,uIP并不僅僅是針對以太網設計的,他具有媒體無關性。

  4.2.2 uIP的設備驅動程序接口

  uIP內部有兩個函數直接需要底層設備驅動程序的支持:

  一個是uip_input()。當設備驅動程序從網絡層收到一個數據包時,要調用這個函數,設備驅動程序必須事先將數據包存放到uip_buf[],包長放到uip_len,然后交由uip_input()處理。當函數返回時,如果uip_len不為0,則表示有帶外數據(如SYN,ACK等)要發(fā)送。當需要ARP支持時,還需要考慮更新ARP表或發(fā)出ARP請求和回應。

  另一個需要驅動程序支持的函數是uip_periodic(conn)。這個函數用于uIP內核對各連接的定時輪循,因此需要一個硬件支持的定時程序周期性地用他輪循各連接,一般用于檢查主機是否有數據要發(fā)送,如有,則構造IP包。

  4.2.3 uIP的應用程序接口

  為了將用戶的應用程序掛接到uIP中,必須將宏UIP APPCALL()定義成實際的應用程序函數名,這樣每當某個uIP事件發(fā)生時,內核就會調用該應用程序進行處理。如果要加入應用程序狀態(tài)的話,必須將宏UIP_APPSTATE_SIZE定義成應用程序狀態(tài)結構體的長度。在應用程序函數中,依靠uIP事件檢測函數來決定處理的方法,另外可以通過判斷當前連接的端口號來區(qū)分處理不同的連接。

  5 結語

  整個模塊撥號上網只需3~5 s,平均上網速度已經達到33~36 kb/s。數據上傳速度可以達到每秒2~2.5 kB,最高峰值可以達到8 kB,完全可靠地實現了短消息服務和一些文本信息傳遞。移動目標GPS數據、指令及相關應用情況下的報警數據均可通過GPRS網絡傳送到監(jiān)控中心。該系統(tǒng)的便攜性和方便使用的優(yōu)點,也可應用到需要對移動物體進行遠程監(jiān)控和調度的領域中。



關鍵詞: GPRS

評論


相關推薦

技術專區(qū)

關閉