摘要 通過(guò)研究GPS導(dǎo)航以及基于GPRS無(wú)線網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)慕M合導(dǎo)航技術(shù), 給出基于GPRS網(wǎng)絡(luò)的GPS圖形導(dǎo)航儀單元的設(shè)計(jì)方案。由GPS接收機(jī)、ARM微控制器、GPRS無(wú)線模塊、大容量Flash存儲(chǔ)芯片,以及大屏幕的TFT彩色液晶屏組成。本圖形導(dǎo)航設(shè)備能幫助使用者獲得極佳的地理信息導(dǎo)航幫助,以及對(duì)重要信息的監(jiān)控。
關(guān)鍵詞 通用分組無(wú)線業(yè)務(wù)(GPRS) 全球定位系統(tǒng)(GPS) 圖形 導(dǎo)航儀
引言
隨著近年來(lái)科技的發(fā)展以及人們對(duì)通信及導(dǎo)航技術(shù)的要求進(jìn)一步提高,以全球定位系統(tǒng)(GPS) 定位技術(shù)為主的定位導(dǎo)航及監(jiān)控技術(shù)得到了高速的發(fā)展。GPS導(dǎo)航定位技術(shù)在眾多的行業(yè)中都得到了廣泛的應(yīng)用,如交通、航海、安全等眾多的領(lǐng)域。然而,大多數(shù)已經(jīng)投入使用的GPS導(dǎo)航監(jiān)控設(shè)備里,很少有通過(guò)無(wú)線網(wǎng)絡(luò)把重要的數(shù)據(jù)傳輸給監(jiān)控者功能的設(shè)備。其余附帶了數(shù)據(jù)傳輸功能的設(shè)備大多數(shù)也僅僅是通過(guò)發(fā)送短消息的方式進(jìn)行重要數(shù)據(jù)的傳輸和接收,但是由于短消息本身具有延時(shí)不確定,速度慢以及容易丟失等缺點(diǎn),使得整個(gè)系統(tǒng)的穩(wěn)定性下降。
本系統(tǒng)通過(guò)基于全新的GPRS無(wú)線網(wǎng)絡(luò)來(lái)發(fā)送重要數(shù)據(jù),采用大屏幕的TFT彩色液晶屏作為地圖顯示設(shè)備,使定位的可視化效果及數(shù)據(jù)傳輸功能的穩(wěn)定性都得到了極大的加強(qiáng)。
1 系統(tǒng)組成及特點(diǎn)
在本導(dǎo)航設(shè)備中,涉及的核心技術(shù)是通用分組無(wú)線業(yè)務(wù)GPRS和全球定位系統(tǒng)GPS,下面簡(jiǎn)單介紹這兩個(gè)系統(tǒng)的核心模塊。
GPS(Global Positioning System,全球定位系統(tǒng)),是美國(guó)的國(guó)防導(dǎo)航衛(wèi)星系統(tǒng),是一個(gè)全球性、全天候、全天時(shí)、高精度的導(dǎo)航定位和時(shí)間傳遞系統(tǒng)。24顆衛(wèi)星位于6個(gè)傾角為55°的軌道平面內(nèi),高度為20 182 km,周期近12小時(shí)。衛(wèi)星用兩個(gè) L波段頻率發(fā)射單向測(cè)距信號(hào),區(qū)別不同衛(wèi)星采用碼分多址。它是一個(gè)軍民兩用系統(tǒng),提供兩個(gè)等級(jí)的服務(wù)。GPS系統(tǒng)是為全球范圍內(nèi)的飛機(jī)、艦船、坦克、地面車(chē)輛、步兵、導(dǎo)彈以及航天飛機(jī)等提供全天候、連續(xù)、實(shí)時(shí)、高精度的三維位置、三維速度和精確時(shí)間,因此,具有極高的軍用價(jià)值和民用前景。
GPRS(General Packet Radio Service,通用無(wú)線分組業(yè)務(wù)),是一種基于GSM系統(tǒng)的無(wú)線分組交換技術(shù),提供端到端的、廣域的無(wú)線IP連接。通俗地講,GPRS是一項(xiàng)高速數(shù)據(jù)處理的技術(shù),方法是以“分組”的形式傳送資料到用戶(hù)手上。雖然GPRS是現(xiàn)有GSM網(wǎng)絡(luò)向第三代移動(dòng)通信演變的過(guò)渡技術(shù),但是它在許多方面都具有顯著的優(yōu)勢(shì)。GPRS是歐洲電信協(xié)會(huì)GSM系統(tǒng)中有關(guān)分組數(shù)據(jù)的標(biāo)準(zhǔn)。它采用信道捆綁(目前GPRS 的設(shè)計(jì)可以在一個(gè)載頻或8 個(gè)信道中實(shí)現(xiàn)捆綁) 和增強(qiáng)數(shù)據(jù)速率的方法實(shí)現(xiàn)高速接入,理論上可提供高達(dá)115 kbps的空中接口傳輸速率,使若干移動(dòng)用戶(hù)能夠同時(shí)共享一個(gè)無(wú)線信道,一個(gè)移動(dòng)用戶(hù)也可以使用多個(gè)無(wú)線信道。實(shí)際發(fā)送或接收數(shù)據(jù)包的用戶(hù)僅占很少一部分網(wǎng)絡(luò)資源,并且網(wǎng)絡(luò)容量只有在實(shí)際傳輸時(shí)才被占用。GPRS與現(xiàn)有的GSM語(yǔ)音系統(tǒng)最根本的區(qū)別是: GSM是一種電路交換系統(tǒng),而GPRS是一種分組交換系統(tǒng)。因此,GPRS特別適用于間斷的、突發(fā)的或頻繁的、少量的數(shù)據(jù)傳輸,也適用于偶爾的大數(shù)據(jù)量傳輸。這一特點(diǎn)正適合大多數(shù)移動(dòng)互聯(lián)和設(shè)備對(duì)傳輸數(shù)據(jù)的要求。
GPS-GPRS定位系統(tǒng)車(chē)載終端的組成如圖1所示。
圖1
導(dǎo)航儀的大致工作流程為:首先,終端導(dǎo)航設(shè)備通過(guò)自帶的GPS接收模塊獲得自身的具體地理位置信息以及附屬信息(如行駛速度和時(shí)間等)。然后,通過(guò)對(duì)內(nèi)置的海量存儲(chǔ)設(shè)備中的地圖,把其對(duì)應(yīng)當(dāng)前位置的地圖部分在TFT彩色液晶屏上顯示出來(lái),并且同時(shí)顯示自身的狀態(tài)(如速度、時(shí)間、收到了控制中心的何種消息等),設(shè)置自帶的GPRS模塊撥號(hào)上網(wǎng),實(shí)現(xiàn)與Internet的連接。接下來(lái),就可將剛才通過(guò)GPS接收模塊所獲得的具體信息傳輸給指定的網(wǎng)絡(luò)服務(wù)器。
網(wǎng)絡(luò)服務(wù)器通過(guò)特定的上位機(jī)軟件或相應(yīng)的傳輸協(xié)議,對(duì)所監(jiān)控的終端設(shè)備進(jìn)行當(dāng)前所在的位置、速度等相關(guān)信息的實(shí)時(shí)監(jiān)控,并可通過(guò)網(wǎng)絡(luò)對(duì)受控終端進(jìn)行控制,實(shí)現(xiàn)移動(dòng)終端與監(jiān)控中心的雙向數(shù)據(jù)傳輸,完成對(duì)受控終端運(yùn)行狀態(tài)、安全狀態(tài)、技術(shù)狀態(tài)的監(jiān)控。
2 導(dǎo)航系統(tǒng)原理
整個(gè)導(dǎo)航系統(tǒng)的原理框圖如圖2所示。其中核心控制器使用基于ARM7內(nèi)核的AT91SAM7S64;GPS接收模塊采用瑞士UBlox公司的TIMLH,信號(hào)接收能力強(qiáng);GPRS模塊采用Motorola公司的G20無(wú)線模塊,特點(diǎn)是內(nèi)嵌了TCP/IP協(xié)議,使用簡(jiǎn)單,性能穩(wěn)定,顯示部分采用的是Sharp公司生產(chǎn)的8寸TFT彩色液晶屏,通過(guò)顯示當(dāng)前位置的彩色地圖,達(dá)到良好的可視化效果。片外存儲(chǔ)設(shè)備使用的是Samsung公司生產(chǎn)的大容量Flash存儲(chǔ)體,優(yōu)點(diǎn)是價(jià)格便宜,與控制器的接口簡(jiǎn)單(高速SPI總線)。
圖2
本導(dǎo)航終端主要的功能如下:
① 終端用戶(hù)進(jìn)行當(dāng)前所在地理位置的查詢(xún);
?、?nbsp; 當(dāng)獲得了當(dāng)前的地理位置信息后,在TFT液晶屏上顯示出對(duì)應(yīng)的地圖區(qū)域;
?、?nbsp; 導(dǎo)航終端可對(duì)指定了網(wǎng)絡(luò)服務(wù)器發(fā)送自身的相關(guān)信息,如地理位置、自身狀態(tài)等;
?、?nbsp; 導(dǎo)航終端通過(guò)接收網(wǎng)絡(luò)服務(wù)器發(fā)送的控制命令進(jìn)行相應(yīng)的控制;
⑤ 終端用戶(hù)可以通過(guò)GPRS模塊撥打電話(huà)。
系統(tǒng)的工作原理如下:
導(dǎo)航終端的核心控制部分是基于ARM7內(nèi)核的AT91SAM7S64微控制器,其核心是對(duì)GPS接收模塊的定位數(shù)據(jù)讀?。粚?duì)GPRS模塊的控制,包括連接Internet、向網(wǎng)絡(luò)監(jiān)控服務(wù)器發(fā)送數(shù)據(jù)和讀取服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù);最后是針對(duì)Flash存儲(chǔ)體的控制,通過(guò)對(duì)當(dāng)前獲得的地理位置信息,讀取存儲(chǔ)在Flash存儲(chǔ)體中所存儲(chǔ)的地圖的對(duì)應(yīng)部分,然后在TFT彩色液晶屏上顯示出來(lái)。
其中,控制器對(duì)GPRS模塊的控制是通過(guò)串行口UART0實(shí)現(xiàn)的,通過(guò)發(fā)送對(duì)應(yīng)的AT命令實(shí)現(xiàn)對(duì)G20模塊的控制,如連接Internet、向服務(wù)器發(fā)送信息和接收數(shù)據(jù)、撥打電話(huà)等。關(guān)鍵命令如下:
at+mipcall=1,cmnet //建立一個(gè)無(wú)線GPRS鏈接
+MIPCALL: 10.103.201.135
//返回本地IP地址(注:當(dāng)GPRS模塊撥號(hào)上網(wǎng)后,會(huì)獲得一個(gè)服務(wù)器提供的唯一IP,這里以10.103.201.135為例)
at+mipopen=1,2000,"10.103.67.30",3000,1
//打開(kāi)一個(gè)SOCKET,本地端口為2000,目標(biāo)IP地址為
//“10.103.67.30”
OK
+MIPOPEN: 1,1 //返回目標(biāo)端口為3000,協(xié)議類(lèi)型為UDP
at+mipsend=1,"41424344" //向服務(wù)器發(fā)送“ABCD”4個(gè)字母,這里以發(fā)送“ABCD”字//符為例,來(lái)代替所要發(fā)送的數(shù)據(jù)
+MIPSEND: 1,1367
OK//發(fā)送成功
at+mippush=1//準(zhǔn)備接收數(shù)據(jù)
+MIPPUSH: 0
OK//接收數(shù)據(jù)成功
+MIPRUDP: 211.139.189.180,47280,1,5,5152535455 //接收到服務(wù)器發(fā)送來(lái)的數(shù)據(jù)“QRSTU”字符
對(duì)GPS模塊的數(shù)據(jù)接收是通過(guò)串行口UART1實(shí)現(xiàn)的,通過(guò)設(shè)定GPS模塊指定的波特率從模塊的串行口獲得定位數(shù)據(jù)。GPS通用的命令格式是NMEA0183,而最需要的關(guān)鍵信息是其中的一組定位信息。如果此時(shí)GPS接收機(jī)和衛(wèi)星的通信正常,則可以接收到的定位信息的那組數(shù)據(jù)格式如下:
$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E
數(shù)據(jù)說(shuō)明如下:
$GPRMC代表GPS推薦的最短數(shù)據(jù);
204700 UTC_TIME代表24小時(shí)制的標(biāo)準(zhǔn)時(shí)間,按照小時(shí)/分鐘/秒的格式;
A A或者 V A表示數(shù)據(jù)“OK”,V表示一個(gè)警告;3403.868 LAT緯度值,精確到小數(shù)點(diǎn)前4位,后 3位N LAT_DIR N表示北緯,S表示南緯;
11709.432 LON經(jīng)度值,精確到小數(shù)點(diǎn)前5位,后3位W LON_DIR W表示西經(jīng),E表示東經(jīng)。
如果當(dāng)前沒(méi)有和衛(wèi)星取得聯(lián)系,那么字符串的格式為:
$GPRMC,UTC_TIME,V,...
下面是一個(gè)例子:
$GPRMC,204149,V,,,,,,,170698,,*3A
由于這里僅僅需要接收的信息為定位信息,即GPS推薦的最短數(shù)據(jù),所以在接收GPS模塊的數(shù)據(jù)時(shí),只需要判斷每行數(shù)據(jù)開(kāi)頭的關(guān)鍵字是否為“$GPRMC”,如是,則接收下來(lái)。
最后是針對(duì)Flash存儲(chǔ)體和TFT彩色液晶屏的控制。這里,CPU使用普通的SPI高速串行總線來(lái)驅(qū)動(dòng)Flash存儲(chǔ)體??梢詮漠?dāng)?shù)氐目睖y(cè)部門(mén)獲得普通精度的數(shù)字彩色經(jīng)緯地圖,并將其存儲(chǔ)到Flash存儲(chǔ)體中,而用普通的I/O引腳來(lái)驅(qū)動(dòng)TFT彩色液晶屏,將從GPS模塊里獲得的定位信息進(jìn)行分析,然后通過(guò)處理,再在LCD上面顯示Flash存儲(chǔ)體中所存儲(chǔ)的地圖的對(duì)應(yīng)部分。
3 系統(tǒng)軟件設(shè)計(jì)
在整個(gè)GPS導(dǎo)航系統(tǒng)中,全套軟件系統(tǒng)由用戶(hù)軟件、導(dǎo)航儀底層驅(qū)動(dòng)軟件和服務(wù)器端控制軟件組成。這里,以導(dǎo)航儀底層驅(qū)動(dòng)軟件來(lái)說(shuō)明整個(gè)系統(tǒng)的軟件是如何設(shè)計(jì)和運(yùn)作的。
整個(gè)導(dǎo)航儀底層驅(qū)動(dòng)軟件劃分成若干個(gè)模塊,由主模塊和多個(gè)子模塊組成。這里,使用了實(shí)時(shí)嵌入式系統(tǒng)μC/OS-II,其優(yōu)點(diǎn)是功能強(qiáng)大,對(duì)系統(tǒng)資源的占用要求小,實(shí)時(shí)響應(yīng),而且可以很輕松地實(shí)現(xiàn)多個(gè)任務(wù)的調(diào)度。這里,將所有的子程序設(shè)置成不同的任務(wù),如下:
?、?nbsp; OSTaskCreate(SystemInit, (void *)0, (OS_STK *)&SystemInit[OSTaskStkSiz], 4);
//整個(gè)系統(tǒng)的初始化,作為第一個(gè)任務(wù),包括對(duì)CPU、GPRS、GPS以及LCD的初始化工作
?、?nbsp; OSTaskCreate(GPS_Get_Data, (void *)0, (OS_STK *)&GPS[OSTaskStkSiz], 5);
//將從GPS模塊讀取定位信息作為第二個(gè)任務(wù)
?、?nbsp; OSTaskCreate(GPRS_Send_Data, (void *)0, (OS_STK *)&GPRS_S[OSTaskStkSiz], 6);
//設(shè)置通過(guò)GPRS模塊向指定的網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)作為一個(gè)任務(wù)
?、?nbsp; OSTaskCreate(GPRS_Get_Data, (void *)0, (OS_STK *)&GPRS_R[OSTaskStkSiz], 7);
//設(shè)置通過(guò)GPRS模塊從指定的網(wǎng)絡(luò)服務(wù)器接收數(shù)據(jù)作為另外一個(gè)任務(wù)
?、?nbsp; OSTaskCreate(LCD_Draw, (void *)0, (OS_STK *)&LCD[OSTaskStkSiz], 8);
//驅(qū)動(dòng)TFT LCD讓其顯示對(duì)應(yīng)當(dāng)前地理位置區(qū)域的地圖部分,作為整個(gè)顯示部分的任務(wù)
⑥ OSTaskCreate(Flash_Drive, (void *)0, (OS_STK *)&LCD[OSTaskStkSiz], 9);
//驅(qū)動(dòng)Flash存儲(chǔ)體來(lái)讀取對(duì)應(yīng)地理位置信息的地圖部分,從而為L(zhǎng)CD顯示部分作好準(zhǔn)備
完成整個(gè)系統(tǒng)軟件的模塊化設(shè)計(jì)后,通過(guò)調(diào)用OSStart()函數(shù)讓整個(gè)系統(tǒng)運(yùn)行起來(lái)。從以上的軟件組成說(shuō)明,可以了解整個(gè)系統(tǒng)軟件的工作流程如下:
?、?nbsp; CPU通過(guò)GPS模塊獲得當(dāng)前的地理位置信息。
?、?nbsp; CPU利用剛才所獲得的GPS定位信息,可以從Flash存儲(chǔ)體中獲得對(duì)應(yīng)當(dāng)前區(qū)域的地圖部分,然后通過(guò)驅(qū)動(dòng)TFT彩色液晶屏將其顯示出來(lái)。
?、?nbsp; 如需要,CPU通過(guò)GPRS模塊撥號(hào)連接上Internet后,將其所獲得的定位信息發(fā)送到指定的網(wǎng)絡(luò)服務(wù)器上,或接收從服務(wù)器上發(fā)過(guò)來(lái)的數(shù)據(jù)。
④ 接收到服務(wù)器的控制命令后,返回響應(yīng)并采取相應(yīng)措施,如停止GPS數(shù)據(jù)的接收,改變導(dǎo)航終端通過(guò)GPRS網(wǎng)絡(luò)向服務(wù)器發(fā)送數(shù)據(jù)的周期等。
最終搭建成的導(dǎo)航系統(tǒng)如圖3所示。
圖3
在實(shí)際的測(cè)試中,使用了當(dāng)?shù)仄胀ň鹊臄?shù)字彩色經(jīng)緯地圖,并將其裝載到了導(dǎo)航系統(tǒng)的Flash存儲(chǔ)體中。通過(guò)在實(shí)際露天的測(cè)試對(duì)比,本導(dǎo)航系統(tǒng)可以良好地通過(guò)讀取當(dāng)前的GPS定位信息,在TFT彩色液晶屏上顯示出對(duì)應(yīng)當(dāng)前區(qū)域的地圖部分,并在安裝了特定網(wǎng)絡(luò)監(jiān)控軟件的服務(wù)器上很好地接收到導(dǎo)航終端發(fā)送過(guò)來(lái)的定位信息以及相關(guān)數(shù)據(jù)。
結(jié)語(yǔ)
在本套導(dǎo)航系統(tǒng)中,其核心設(shè)計(jì)與以往傳統(tǒng)的GPSGSM定位系統(tǒng)有著很大的區(qū)別。首先,利用GPRS無(wú)線網(wǎng)絡(luò)來(lái)傳輸數(shù)據(jù)與以往通過(guò)GSM網(wǎng)絡(luò)發(fā)送短信的方式相比,無(wú)論是運(yùn)營(yíng)成本,還是可靠性都得到了極大的改善,尤其是其運(yùn)營(yíng)成本,相比起傳統(tǒng)的GPS-GSM定位系統(tǒng)下降了2個(gè)數(shù)量級(jí)。其次,本導(dǎo)航系統(tǒng)中良好的可視化效果為用戶(hù)提供了相當(dāng)優(yōu)秀的導(dǎo)航界面,相比起來(lái),市面上傳統(tǒng)的GPS定位系統(tǒng)僅僅顯示了當(dāng)前的GPS定位的數(shù)據(jù),當(dāng)前的周邊地理狀況則無(wú)法良好地提供給用戶(hù);而本套導(dǎo)航系統(tǒng),控制核心采用的高性能的基于ARM7內(nèi)核的微控制器,因而無(wú)論是性能還是可升級(jí)性方面,都比起使用傳統(tǒng)的8位單片機(jī)作為控制核心有著相當(dāng)大的優(yōu)勢(shì)。目前,隨著人們對(duì)GPS導(dǎo)航技術(shù)的要求一步步的提升,以及GPRS網(wǎng)絡(luò)在國(guó)內(nèi)的高速普及,我們相信以這兩者相結(jié)合的新一代導(dǎo)航技術(shù)將會(huì)獲得極大的成功。
參考文獻(xiàn)
[1] 曹軍. 基于GPRS實(shí)現(xiàn)橋梁檢測(cè)遠(yuǎn)程數(shù)據(jù)傳輸, 森林工程, 2006(2).
[2] 畢危危. 基于GPRS和DGPS的車(chē)輛管理系統(tǒng),北京交通大學(xué)學(xué)報(bào),2006(2).
[3] Motorola. G20_AT_Commands, 2005-04-06.
[4] UBlox. Application for TIMLH GPS module, 2005-03.
[5] 張勤,李家權(quán). GPS測(cè)量原理及應(yīng)用. 北京:科學(xué)出版社, 2005-07.
[6] 徐愛(ài)鈞. IAR EWARM嵌入式系統(tǒng)編程與實(shí)踐. 北京:北京航空航天大學(xué)出版社, 2006.
[7] 李平均. 基于GPRS網(wǎng)絡(luò)的單片機(jī)的Internet接入. 微電子學(xué)與計(jì)算機(jī), 2006(3)