基于GPS和GPRS的小型追蹤器
1 引 言
本文引用地址:http://dyxdggzs.com/article/79619.htm隨著(zhù)GPRS無(wú)線(xiàn)通訊、Internet網(wǎng)絡(luò )以及民用領(lǐng)域GPS的普遍應用,將三者合一使用已成為當今熱門(mén)的研究領(lǐng)域。
GPRS(General Packed Radio ServICe,通用分組無(wú)線(xiàn)業(yè)務(wù))采用TCP/IP協(xié)議,非常容易和現有的Internet技術(shù)及應用平臺整合,即將各種IP技術(shù)和服務(wù)同移動(dòng)通信技術(shù)相結合,為用戶(hù)提供各種高速度、高質(zhì)量的移動(dòng)數據通信業(yè)務(wù)。GPRS的移動(dòng)通信、價(jià)格低廉、快速登陸、永遠在線(xiàn)、組網(wǎng)靈活、信道保障、小功率防雷擊等特點(diǎn)使得GPRS已逐漸取代GSM網(wǎng)絡(luò )。
GPS(Global Positioning System,全球定位系統)除了更多地應用于高精尖端測量、測繪及導航領(lǐng)域外,也更多地推動(dòng)了其在低成本、低精度的民用小型GPS設備領(lǐng)域的發(fā)展和使用。GPS收發(fā)機的主要任務(wù)就是捕獲一定高度截止角所選擇的待測衛星的信號,同時(shí)對接收到的GPS信號進(jìn)行變換放大和處理,解譯出GPS衛星所發(fā)送的導航電文,最終實(shí)時(shí)計算出該觀(guān)測站的三維位置、三維速度和時(shí)間。
整個(gè)系統方案如圖1所示,帶有兩個(gè)串口的微控制器一方面獲取來(lái)自GPS接收模塊的導航數據,另一方面將這些數據經(jīng)過(guò)適當處理后轉換為GPRS可以傳送的數據,并通過(guò)網(wǎng)絡(luò )送入控制中心,當用戶(hù)需要獲得相應的追蹤數據時(shí),通過(guò)網(wǎng)絡(luò )訪(fǎng)問(wèn)即可。

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

MCU通過(guò)兩個(gè)串口接收和發(fā)送信號到GPS和GPRS模塊,MCU通過(guò)串口0中斷接收GPS發(fā)出的狀態(tài)信息(包括三維位置、三維速度、時(shí)間、航向等)并保存,經(jīng)軟件打包后通過(guò)串口1發(fā)送到GPRS模塊。GPRS模塊受MCU控制將此信號轉換為射頻信號GPRS網(wǎng)絡(luò )并連接Internet網(wǎng)絡(luò )。Internet用戶(hù)通過(guò)連接相關(guān)網(wǎng)站,或手機用戶(hù)通過(guò)編寫(xiě)指定格式的短信,發(fā)送消息給GPRS模塊,GPRS模塊通過(guò)串口1將信號送入MCU,MCU發(fā)出接受信號鈴聲并根據約定協(xié)議自動(dòng)顯示相應信息,鍵盤(pán)操作簡(jiǎn)單,可以方便地切換顯示信息。
3 硬件選型
該系統在選型時(shí),在滿(mǎn)足使用要求的基礎上,主要的選擇目標是體積重量小、能耗低的產(chǎn)品以滿(mǎn)足室外使用和便于老人小孩攜帶的要求。
3.1 MCU
MCU選用超低功耗型MSP430系列16位單片機MSP430F149,片內有豐富的外設,可實(shí)現異步、同步及多址訪(fǎng)問(wèn)的串行通信接口(USART0~1)以及液晶顯示驅動(dòng)模塊,最多可達6×8條I/O線(xiàn),工作電壓為1.8~3.6 V。5種低功耗模式的體系結構,使得該微控制器在便攜式測量等應用場(chǎng)合非常理想地延長(cháng)了電池的使用壽命,省電模式下中斷喚醒只需6 μs。
3.2 XT55 GPS+GPRS模塊
XT55是Siemens推出的第一款也是目前的惟一一款集合了三頻GSM/GPRS和GPS接收器的模塊。預先配置的功能和超級緊湊的尺寸(體積53×34×5.1 mm3重11 g)使其十分易于集成在新的小巧型的應用設備中,節省了大量的時(shí)間和費用來(lái)做額外的硬件集成??捎糜趥鬏敹绦?、語(yǔ)音、傳真,用于數據傳輸時(shí)最大理論傳輸速率可達85.6 kb/s,缺省值為14.kb/s,工作電壓為3.3~4.8 V,XT55內置GPS接收器,能決定其當前的位置、速度、航向。這些數據可以由MCU保存,也可以直接發(fā)送到一個(gè)操作中心。
4 系統構成
4.1 硬件設計
硬件設計上主要是MCU與XT55所集成的兩個(gè)模塊之間的串口連接。其中GPRS模塊與微控制器之間的通信協(xié)議是AT命令集,除處理串口發(fā)送、串口接收之外,微控制器與GPRS模塊之間還有一些硬件握手信號。
硬件連接完成后,在進(jìn)行GPRS上網(wǎng)操作之前,首先要對GPRS模塊進(jìn)行一定的設置,主要的設置工作有:設置通信波特率,一般設置為19 200 b/s,無(wú)奇偶位,一位停止位;設置接入網(wǎng)關(guān),通過(guò)AT+CGD CONT="1",“IP”,“CMNET”命令設置GPRS接入網(wǎng)關(guān)為移動(dòng)夢(mèng)網(wǎng);設置移動(dòng)終端的類(lèi)別;測試GPRS服務(wù)是否開(kāi)通。
4.2 軟件設計
程序中所有代碼都是由C語(yǔ)言編寫(xiě)的,并采用分層結構,從底往上分別為串口驅動(dòng)層,網(wǎng)絡(luò )設備驅動(dòng)層、PPP協(xié)議層、uIP協(xié)議層、應用層。上層函數的實(shí)現需要應用到底層函數,最終完成應用層任務(wù),即傳送數據。
PPP(Point-to-Point Protocol)是為在同等單元之間傳輸數據包這樣的簡(jiǎn)單鏈路而設計的,這種鏈路提供全雙工操作,并按照順序傳送數據包,為基于各種主機、網(wǎng)橋和路由器的簡(jiǎn)單連接提供一種共通的解決方案。
PPP數據幀格式如下:

標志Flag:表示一個(gè)幀的開(kāi)始和結束;
地址Address:標準的廣播地址;
控制Control:用戶(hù)數據采用無(wú)序幀方式傳輸;
協(xié)議Protocol:標志封裝在幀的數據域中的協(xié)議類(lèi)型,通過(guò)確定幀序列的結尾,為FCS域留出兩個(gè)字節,便可確定數據域的結尾:0xC023為網(wǎng)絡(luò )認證數據報;0xC021為鏈路控制數據;0x8021為網(wǎng)絡(luò )控制數據;
幀檢測序列FCS:差錯控制。
4.2.1 uIP的體系結構
瑞典計算機科學(xué)研究所Adam Dunkels開(kāi)發(fā)的uIP0.9是一種TCP/IP協(xié)議棧,資源占用少是他的設計特點(diǎn),尤其適用于8/16位單片機。他去掉了許多全功能協(xié)議棧中不常用的功能,而保留通訊所必須的協(xié)議機制,其設計重點(diǎn)放在IP,ICMP和TCP協(xié)議的實(shí)現上,將這3個(gè)模塊合為一個(gè)整體,而將UDP和ARP協(xié)議實(shí)現作為可選模塊。uIP的體系結構如圖3所示。

uIP處于網(wǎng)絡(luò )通訊的中間層,上層協(xié)議在這里被稱(chēng)為應用程序,而下層硬件或固件被稱(chēng)為網(wǎng)絡(luò )設備驅動(dòng)。顯然,uIP并不僅僅是針對以太網(wǎng)設計的,他具有媒體無(wú)關(guān)性。
4.2.2 uIP的設備驅動(dòng)程序接口
uIP內部有兩個(gè)函數直接需要底層設備驅動(dòng)程序的支持:
一個(gè)是uip_input()。當設備驅動(dòng)程序從網(wǎng)絡(luò )層收到一個(gè)數據包時(shí),要調用這個(gè)函數,設備驅動(dòng)程序必須事先將數據包存放到uip_buf[],包長(cháng)放到uip_len,然后交由uip_input()處理。當函數返回時(shí),如果uip_len不為0,則表示有帶外數據(如SYN,ACK等)要發(fā)送。當需要ARP支持時(shí),還需要考慮更新ARP表或發(fā)出ARP請求和回應。
另一個(gè)需要驅動(dòng)程序支持的函數是uip_periodic(conn)。這個(gè)函數用于uIP內核對各連接的定時(shí)輪循,因此需要一個(gè)硬件支持的定時(shí)程序周期性地用他輪循各連接,一般用于檢查主機是否有數據要發(fā)送,如有,則構造IP包。
4.2.3 uIP的應用程序接口
為了將用戶(hù)的應用程序掛接到uIP中,必須將宏UIP APPCALL()定義成實(shí)際的應用程序函數名,這樣每當某個(gè)uIP事件發(fā)生時(shí),內核就會(huì )調用該應用程序進(jìn)行處理。如果要加入應用程序狀態(tài)的話(huà),必須將宏UIP_APPSTATE_SIZE定義成應用程序狀態(tài)結構體的長(cháng)度。在應用程序函數中,依靠uIP事件檢測函數來(lái)決定處理的方法,另外可以通過(guò)判斷當前連接的端口號來(lái)區分處理不同的連接。
5 結語(yǔ)
整個(gè)模塊撥號上網(wǎng)只需3~5 s,平均上網(wǎng)速度已經(jīng)達到33~36 kb/s。數據上傳速度可以達到每秒2~2.5 kB,最高峰值可以達到8 kB,完全可靠地實(shí)現了短消息服務(wù)和一些文本信息傳遞。移動(dòng)目標GPS數據、指令及相關(guān)應用情況下的報警數據均可通過(guò)GPRS網(wǎng)絡(luò )傳送到監控中心。該系統的便攜性和方便使用的優(yōu)點(diǎn),也可應用到需要對移動(dòng)物體進(jìn)行遠程監控和調度的領(lǐng)域中。
評論