基于GPS和GPRS的小型追蹤器設(shè)計方案
摘要: 隨著GPRS無線通訊、Internet網(wǎng)絡(luò)以及民用領(lǐng)域GPS的普遍應(yīng)用,將三者合一使用已成為當(dāng)今熱門的研究領(lǐng)域。 GPRS(General Packed Radio Service,通用分組無線業(yè)務(wù))采用TCP/IP協(xié)議,非常容易和現(xiàn)有的Internet技術(shù)及應(yīng)用平臺整合,即將各種IP技術(shù)和服務(wù)同移動通信技術(shù)相結(jié)合,為用戶提供各種高速度、高質(zhì)量的移動數(shù)據(jù)通信業(yè)務(wù)。GPRS的移動通信、價格低廉、快速登陸、永遠(yuǎn)在線、組網(wǎng)靈活、信道保障、小功率防雷擊等特點使得GPRS已逐漸取代GSM網(wǎng)絡(luò)。
Abstract:
Key words :
</a></a>GPRS" title="GPRS">GPRS無線通訊、Internet網(wǎng)絡(luò)以及民用領(lǐng)域GPS的普遍應(yīng)用,將三者合一使用已成為當(dāng)今熱門的研究領(lǐng)域。
GPRS(General Packed Radio Service,通用分組無線業(yè)務(wù))采用TCP/IP協(xié)議,非常容易和現(xiàn)有的Internet技術(shù)及應(yīng)用平臺整合,即將各種IP技術(shù)和服務(wù)同移動通信技術(shù)相結(jié)合,為用戶提供各種高速度、高質(zhì)量的移動數(shù)據(jù)通信業(yè)務(wù)。GPRS的移動通信、價格低廉、快速登陸、永遠(yuǎn)在線、組網(wǎng)靈活、信道保障、小功率防雷擊等特點使得GPRS已逐漸取代GSM網(wǎng)絡(luò)。
GPS(Global Positioning System,全球定位系統(tǒng))除了更多地應(yīng)用于高精尖端測量、測繪及導(dǎo)航領(lǐng)域外,也更多地推動了其在低成本、低精度的民用小型GPS設(shè)備領(lǐng)域的發(fā)展和使用。GPS收發(fā)機(jī)的主要任務(wù)就是捕獲一定高度截止角所選擇的待測衛(wèi)星的信號,同時對接收到的GPS信號進(jìn)行變換放大和處理,解譯出GPS衛(wèi)星所發(fā)送的導(dǎo)航電文,最終實時計算出該觀測站的三維位置、三維速度和時間。
整個系統(tǒng)方案如圖1所示,帶有兩個串口的微控制器一方面獲取來自GPS接收模塊的導(dǎo)航數(shù)據(jù),另一方面將這些數(shù)據(jù)經(jīng)過適當(dāng)處理后轉(zhuǎn)換為GPRS可以傳送的數(shù)據(jù),并通過網(wǎng)絡(luò)送入控制中心,當(dāng)用戶需要獲得相應(yīng)的追蹤數(shù)據(jù)時,通過網(wǎng)絡(luò)訪問即可。
2 總體方案
基于微控制器的GPS+GPRS系統(tǒng),主要由以下幾個部分組成:微控制器模塊、GPS+GPRS模塊、鍵盤及LCD顯示屏等附件。其基本原理框圖如圖2所示。
MCU通過兩個串口接收和發(fā)送信號到GPS和GPRS模塊,MCU通過串口0中斷接收GPS發(fā)出的狀態(tài)信息(包括三維位置、三維速度、時間、航向等)并保存,經(jīng)軟件打包后通過串口1發(fā)送到GPRS模塊。GPRS模塊受MCU控制將此信號轉(zhuǎn)換為射頻信號GPRS網(wǎng)絡(luò)并連接Internet網(wǎng)絡(luò)。Internet用戶通過連接相關(guān)網(wǎng)站,或手機(jī)用戶通過編寫指定格式的短信,發(fā)送消息給GPRS模塊,GPRS模塊通過串口1將信號送入MCU,MCU發(fā)出接受信號鈴聲并根據(jù)約定協(xié)議自動顯示相應(yīng)信息,鍵盤操作簡單,可以方便地切換顯示信息。
3 硬件選型
該系統(tǒng)在選型時,在滿足使用要求的基礎(chǔ)上,主要的選擇目標(biāo)是體積重量小、能耗低的產(chǎn)品以滿足室外使用和便于老人小孩攜帶的要求。
3.1 MCU
MCU選用超低功耗型MSP430系列16位單片機(jī)MSP430F149,片內(nèi)有豐富的外設(shè),可實現(xiàn)異步、同步及多址訪問的串行通信接口(USART0~1)以及液晶顯示驅(qū)動模塊,最多可達(dá)6×8條I/O線,工作電壓為1.8~3.6 V。5種低功耗模式的體系結(jié)構(gòu),使得該微控制器在便攜式測量等應(yīng)用場合非常理想地延長了電池的使用壽命,省電模式下中斷喚醒只需6 μs。
3.2 XT55 GPS+GPRS模塊
XT55是Siemens推出的第一款也是目前的惟一一款集合了三頻GSM/GPRS和GPS接收器的模塊。預(yù)先配置的功能和超級緊湊的尺寸(體積53×34×5.1 mm3重11 g)使其十分易于集成在新的小巧型的應(yīng)用設(shè)備中,節(jié)省了大量的時間和費用來做額外的硬件集成??捎糜趥鬏敹绦拧⒄Z音、傳真,用于數(shù)據(jù)傳輸時最大理論傳輸速率可達(dá)85.6 kb/s,缺省值為14.kb/s,工作電壓為3.3~4.8 V,XT55內(nèi)置GPS接收器,能決定其當(dāng)前的位置、速度、航向。這些數(shù)據(jù)可以由MCU保存,也可以直接發(fā)送到一個操作中心。
4 系統(tǒng)構(gòu)成
4.1 硬件設(shè)計
硬件設(shè)計上主要是MCU與XT55所集成的兩個模塊之間的串口連接。其中GPRS模塊與微控制器之間的通信協(xié)議是AT命令集,除處理串口發(fā)送、串口接收之外,微控制器與GPRS模塊之間還有一些硬件握手信號。
硬件連接完成后,在進(jìn)行GPRS上網(wǎng)操作之前,首先要對GPRS模塊進(jìn)行一定的設(shè)置,主要的設(shè)置工作有:設(shè)置通信波特率,一般設(shè)置為19 200 b/s,無奇偶位,一位停止位;設(shè)置接入網(wǎng)關(guān),通過AT+CGD CONT="1",“IP”,“CMNET”命令設(shè)置GPRS接入網(wǎng)關(guān)為移動夢網(wǎng);設(shè)置移動終端的類別;測試GPRS服務(wù)是否開通。
4.2 軟件設(shè)計
程序中所有代碼都是由C語言編寫的,并采用分層結(jié)構(gòu),從底往上分別為串口驅(qū)動層,網(wǎng)絡(luò)設(shè)備驅(qū)動層、PPP協(xié)議層、uIP協(xié)議層、應(yīng)用層。上層函數(shù)的實現(xiàn)需要應(yīng)用到底層函數(shù),最終完成應(yīng)用層任務(wù),即傳送數(shù)據(jù)。
PPP(Point-to-Point Protocol)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路而設(shè)計的,這種鏈路提供全雙工操作,并按照順序傳送數(shù)據(jù)包,為基于各種主機(jī)、網(wǎng)橋和路由器的簡單連接提供一種共通的解決方案。
PPP數(shù)據(jù)幀格式如下:
標(biāo)志Flag:表示一個幀的開始和結(jié)束;
地址Address:標(biāo)準(zhǔn)的廣播地址;
控制Control:用戶數(shù)據(jù)采用無序幀方式傳輸;
協(xié)議Protocol:標(biāo)志封裝在幀的數(shù)據(jù)域中的協(xié)議類型,通過確定幀序列的結(jié)尾,為FCS域留出兩個字節(jié),便可確定數(shù)據(jù)域的結(jié)尾:0xC023為網(wǎng)絡(luò)認(rèn)證數(shù)據(jù)報;0xC021為鏈路控制數(shù)據(jù);0x8021為網(wǎng)絡(luò)控制數(shù)據(jù);
幀檢測序列FCS:差錯控制。
4.2.1 uIP的體系結(jié)構(gòu)
瑞典計算機(jī)科學(xué)研究所Adam Dunkels開發(fā)的uIP0.9是一種TCP/IP協(xié)議棧,資源占用少是他的設(shè)計特點,尤其適用于8/16位單片機(jī)。他去掉了許多全功能協(xié)議棧中不常用的功能,而保留通訊所必須的協(xié)議機(jī)制,其設(shè)計重點放在IP,ICMP和TCP協(xié)議的實現(xiàn)上,將這3個模塊合為一個整體,而將UDP和ARP協(xié)議實現(xiàn)作為可選模塊。uIP的體系結(jié)構(gòu)如圖3所示。
uIP處于網(wǎng)絡(luò)通訊的中間層,上層協(xié)議在這里被稱為應(yīng)用程序,而下層硬件或固件被稱為網(wǎng)絡(luò)設(shè)備驅(qū)動。顯然,uIP并不僅僅是針對以太網(wǎng)設(shè)計的,他具有媒體無關(guān)性。
4.2.2 uIP的設(shè)備驅(qū)動程序接口
uIP內(nèi)部有兩個函數(shù)直接需要底層設(shè)備驅(qū)動程序的支持:
一個是uip_input()。當(dāng)設(shè)備驅(qū)動程序從網(wǎng)絡(luò)層收到一個數(shù)據(jù)包時,要調(diào)用這個函數(shù),設(shè)備驅(qū)動程序必須事先將數(shù)據(jù)包存放到uip_buf[],包長放到uip_len,然后交由uip_input()處理。當(dāng)函數(shù)返回時,如果uip_len不為0,則表示有帶外數(shù)據(jù)(如SYN,ACK等)要發(fā)送。當(dāng)需要ARP支持時,還需要考慮更新ARP表或發(fā)出ARP請求和回應(yīng)。
另一個需要驅(qū)動程序支持的函數(shù)是uip_periodic(conn)。這個函數(shù)用于uIP內(nèi)核對各連接的定時輪循,因此需要一個硬件支持的定時程序周期性地用他輪循各連接,一般用于檢查主機(jī)是否有數(shù)據(jù)要發(fā)送,如有,則構(gòu)造IP包。
4.2.3 uIP的應(yīng)用程序接口
為了將用戶的應(yīng)用程序掛接到uIP中,必須將宏UIP APPCALL()定義成實際的應(yīng)用程序函數(shù)名,這樣每當(dāng)某個uIP事件發(fā)生時,內(nèi)核就會調(diào)用該應(yīng)用程序進(jìn)行處理。如果要加入應(yīng)用程序狀態(tài)的話,必須將宏UIP_APPSTATE_SIZE定義成應(yīng)用程序狀態(tài)結(jié)構(gòu)體的長度。在應(yīng)用程序函數(shù)中,依靠uIP事件檢測函數(shù)來決定處理的方法,另外可以通過判斷當(dāng)前連接的端口號來區(qū)分處理不同的連接。
5 結(jié)語
整個模塊撥號上網(wǎng)只需3~5 s,平均上網(wǎng)速度已經(jīng)達(dá)到33~36 kb/s。數(shù)據(jù)上傳速度可以達(dá)到每秒2~2.5 kB,最高峰值可以達(dá)到8 kB,完全可靠地實現(xiàn)了短消息服務(wù)和一些文本信息傳遞。移動目標(biāo)GPS數(shù)據(jù)、指令及相關(guān)應(yīng)用情況下的報警數(shù)據(jù)均可通過GPRS網(wǎng)絡(luò)傳送到監(jiān)控中心。該系統(tǒng)的便攜性和方便使用的優(yōu)點,也可應(yīng)用到需要對移動物體進(jìn)行遠(yuǎn)程監(jiān)控和調(diào)度的領(lǐng)域中。
GPRS(General Packed Radio Service,通用分組無線業(yè)務(wù))采用TCP/IP協(xié)議,非常容易和現(xiàn)有的Internet技術(shù)及應(yīng)用平臺整合,即將各種IP技術(shù)和服務(wù)同移動通信技術(shù)相結(jié)合,為用戶提供各種高速度、高質(zhì)量的移動數(shù)據(jù)通信業(yè)務(wù)。GPRS的移動通信、價格低廉、快速登陸、永遠(yuǎn)在線、組網(wǎng)靈活、信道保障、小功率防雷擊等特點使得GPRS已逐漸取代GSM網(wǎng)絡(luò)。
GPS(Global Positioning System,全球定位系統(tǒng))除了更多地應(yīng)用于高精尖端測量、測繪及導(dǎo)航領(lǐng)域外,也更多地推動了其在低成本、低精度的民用小型GPS設(shè)備領(lǐng)域的發(fā)展和使用。GPS收發(fā)機(jī)的主要任務(wù)就是捕獲一定高度截止角所選擇的待測衛(wèi)星的信號,同時對接收到的GPS信號進(jìn)行變換放大和處理,解譯出GPS衛(wèi)星所發(fā)送的導(dǎo)航電文,最終實時計算出該觀測站的三維位置、三維速度和時間。
整個系統(tǒng)方案如圖1所示,帶有兩個串口的微控制器一方面獲取來自GPS接收模塊的導(dǎo)航數(shù)據(jù),另一方面將這些數(shù)據(jù)經(jīng)過適當(dāng)處理后轉(zhuǎn)換為GPRS可以傳送的數(shù)據(jù),并通過網(wǎng)絡(luò)送入控制中心,當(dāng)用戶需要獲得相應(yīng)的追蹤數(shù)據(jù)時,通過網(wǎng)絡(luò)訪問即可。
2 總體方案
基于微控制器的GPS+GPRS系統(tǒng),主要由以下幾個部分組成:微控制器模塊、GPS+GPRS模塊、鍵盤及LCD顯示屏等附件。其基本原理框圖如圖2所示。
MCU通過兩個串口接收和發(fā)送信號到GPS和GPRS模塊,MCU通過串口0中斷接收GPS發(fā)出的狀態(tài)信息(包括三維位置、三維速度、時間、航向等)并保存,經(jīng)軟件打包后通過串口1發(fā)送到GPRS模塊。GPRS模塊受MCU控制將此信號轉(zhuǎn)換為射頻信號GPRS網(wǎng)絡(luò)并連接Internet網(wǎng)絡(luò)。Internet用戶通過連接相關(guān)網(wǎng)站,或手機(jī)用戶通過編寫指定格式的短信,發(fā)送消息給GPRS模塊,GPRS模塊通過串口1將信號送入MCU,MCU發(fā)出接受信號鈴聲并根據(jù)約定協(xié)議自動顯示相應(yīng)信息,鍵盤操作簡單,可以方便地切換顯示信息。
3 硬件選型
該系統(tǒng)在選型時,在滿足使用要求的基礎(chǔ)上,主要的選擇目標(biāo)是體積重量小、能耗低的產(chǎn)品以滿足室外使用和便于老人小孩攜帶的要求。
3.1 MCU
MCU選用超低功耗型MSP430系列16位單片機(jī)MSP430F149,片內(nèi)有豐富的外設(shè),可實現(xiàn)異步、同步及多址訪問的串行通信接口(USART0~1)以及液晶顯示驅(qū)動模塊,最多可達(dá)6×8條I/O線,工作電壓為1.8~3.6 V。5種低功耗模式的體系結(jié)構(gòu),使得該微控制器在便攜式測量等應(yīng)用場合非常理想地延長了電池的使用壽命,省電模式下中斷喚醒只需6 μs。
3.2 XT55 GPS+GPRS模塊
XT55是Siemens推出的第一款也是目前的惟一一款集合了三頻GSM/GPRS和GPS接收器的模塊。預(yù)先配置的功能和超級緊湊的尺寸(體積53×34×5.1 mm3重11 g)使其十分易于集成在新的小巧型的應(yīng)用設(shè)備中,節(jié)省了大量的時間和費用來做額外的硬件集成??捎糜趥鬏敹绦拧⒄Z音、傳真,用于數(shù)據(jù)傳輸時最大理論傳輸速率可達(dá)85.6 kb/s,缺省值為14.kb/s,工作電壓為3.3~4.8 V,XT55內(nèi)置GPS接收器,能決定其當(dāng)前的位置、速度、航向。這些數(shù)據(jù)可以由MCU保存,也可以直接發(fā)送到一個操作中心。
4 系統(tǒng)構(gòu)成
4.1 硬件設(shè)計
硬件設(shè)計上主要是MCU與XT55所集成的兩個模塊之間的串口連接。其中GPRS模塊與微控制器之間的通信協(xié)議是AT命令集,除處理串口發(fā)送、串口接收之外,微控制器與GPRS模塊之間還有一些硬件握手信號。
硬件連接完成后,在進(jìn)行GPRS上網(wǎng)操作之前,首先要對GPRS模塊進(jìn)行一定的設(shè)置,主要的設(shè)置工作有:設(shè)置通信波特率,一般設(shè)置為19 200 b/s,無奇偶位,一位停止位;設(shè)置接入網(wǎng)關(guān),通過AT+CGD CONT="1",“IP”,“CMNET”命令設(shè)置GPRS接入網(wǎng)關(guān)為移動夢網(wǎng);設(shè)置移動終端的類別;測試GPRS服務(wù)是否開通。
4.2 軟件設(shè)計
程序中所有代碼都是由C語言編寫的,并采用分層結(jié)構(gòu),從底往上分別為串口驅(qū)動層,網(wǎng)絡(luò)設(shè)備驅(qū)動層、PPP協(xié)議層、uIP協(xié)議層、應(yīng)用層。上層函數(shù)的實現(xiàn)需要應(yīng)用到底層函數(shù),最終完成應(yīng)用層任務(wù),即傳送數(shù)據(jù)。
PPP(Point-to-Point Protocol)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路而設(shè)計的,這種鏈路提供全雙工操作,并按照順序傳送數(shù)據(jù)包,為基于各種主機(jī)、網(wǎng)橋和路由器的簡單連接提供一種共通的解決方案。
PPP數(shù)據(jù)幀格式如下:
標(biāo)志Flag:表示一個幀的開始和結(jié)束;
地址Address:標(biāo)準(zhǔn)的廣播地址;
控制Control:用戶數(shù)據(jù)采用無序幀方式傳輸;
協(xié)議Protocol:標(biāo)志封裝在幀的數(shù)據(jù)域中的協(xié)議類型,通過確定幀序列的結(jié)尾,為FCS域留出兩個字節(jié),便可確定數(shù)據(jù)域的結(jié)尾:0xC023為網(wǎng)絡(luò)認(rèn)證數(shù)據(jù)報;0xC021為鏈路控制數(shù)據(jù);0x8021為網(wǎng)絡(luò)控制數(shù)據(jù);
幀檢測序列FCS:差錯控制。
4.2.1 uIP的體系結(jié)構(gòu)
瑞典計算機(jī)科學(xué)研究所Adam Dunkels開發(fā)的uIP0.9是一種TCP/IP協(xié)議棧,資源占用少是他的設(shè)計特點,尤其適用于8/16位單片機(jī)。他去掉了許多全功能協(xié)議棧中不常用的功能,而保留通訊所必須的協(xié)議機(jī)制,其設(shè)計重點放在IP,ICMP和TCP協(xié)議的實現(xiàn)上,將這3個模塊合為一個整體,而將UDP和ARP協(xié)議實現(xiàn)作為可選模塊。uIP的體系結(jié)構(gòu)如圖3所示。
uIP處于網(wǎng)絡(luò)通訊的中間層,上層協(xié)議在這里被稱為應(yīng)用程序,而下層硬件或固件被稱為網(wǎng)絡(luò)設(shè)備驅(qū)動。顯然,uIP并不僅僅是針對以太網(wǎng)設(shè)計的,他具有媒體無關(guān)性。
4.2.2 uIP的設(shè)備驅(qū)動程序接口
uIP內(nèi)部有兩個函數(shù)直接需要底層設(shè)備驅(qū)動程序的支持:
一個是uip_input()。當(dāng)設(shè)備驅(qū)動程序從網(wǎng)絡(luò)層收到一個數(shù)據(jù)包時,要調(diào)用這個函數(shù),設(shè)備驅(qū)動程序必須事先將數(shù)據(jù)包存放到uip_buf[],包長放到uip_len,然后交由uip_input()處理。當(dāng)函數(shù)返回時,如果uip_len不為0,則表示有帶外數(shù)據(jù)(如SYN,ACK等)要發(fā)送。當(dāng)需要ARP支持時,還需要考慮更新ARP表或發(fā)出ARP請求和回應(yīng)。
另一個需要驅(qū)動程序支持的函數(shù)是uip_periodic(conn)。這個函數(shù)用于uIP內(nèi)核對各連接的定時輪循,因此需要一個硬件支持的定時程序周期性地用他輪循各連接,一般用于檢查主機(jī)是否有數(shù)據(jù)要發(fā)送,如有,則構(gòu)造IP包。
4.2.3 uIP的應(yīng)用程序接口
為了將用戶的應(yīng)用程序掛接到uIP中,必須將宏UIP APPCALL()定義成實際的應(yīng)用程序函數(shù)名,這樣每當(dāng)某個uIP事件發(fā)生時,內(nèi)核就會調(diào)用該應(yīng)用程序進(jìn)行處理。如果要加入應(yīng)用程序狀態(tài)的話,必須將宏UIP_APPSTATE_SIZE定義成應(yīng)用程序狀態(tài)結(jié)構(gòu)體的長度。在應(yīng)用程序函數(shù)中,依靠uIP事件檢測函數(shù)來決定處理的方法,另外可以通過判斷當(dāng)前連接的端口號來區(qū)分處理不同的連接。
5 結(jié)語
整個模塊撥號上網(wǎng)只需3~5 s,平均上網(wǎng)速度已經(jīng)達(dá)到33~36 kb/s。數(shù)據(jù)上傳速度可以達(dá)到每秒2~2.5 kB,最高峰值可以達(dá)到8 kB,完全可靠地實現(xiàn)了短消息服務(wù)和一些文本信息傳遞。移動目標(biāo)GPS數(shù)據(jù)、指令及相關(guān)應(yīng)用情況下的報警數(shù)據(jù)均可通過GPRS網(wǎng)絡(luò)傳送到監(jiān)控中心。該系統(tǒng)的便攜性和方便使用的優(yōu)點,也可應(yīng)用到需要對移動物體進(jìn)行遠(yuǎn)程監(jiān)控和調(diào)度的領(lǐng)域中。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。