基于MSComm控件的GPS接收機數(shù)據(jù)終端接口設計
1 引 言
全世界定位系統(tǒng)(GPS)是20世紀70年代由美國陸??杖娐?lián)合研制的空間衛(wèi)星導航定位系統(tǒng),其目的是為美國軍方提供實時精確的定位、導航和授時等服務通常GPS系統(tǒng)由3個部份組成:空間部分:包括24顆GPS衛(wèi)星;地面控制部分:對GPS衛(wèi)星實施監(jiān)控;用戶部分:接收來自GPS衛(wèi)星的定位等信息,通常包括天線和接收機等設備GPS系統(tǒng)在進行定位時,必須要確定用戶所在的位置(包括x,y,z三個坐標),同時還要考慮到衛(wèi)星時鐘與接收機時鐘之間的誤差t,要解算4個未知量必須建立4個方程,通??梢酝ㄟ^測量衛(wèi)星與-用戶之間的偽距,來建立相應的方程,因此需要同時觀測4顆衛(wèi)星,才能實現(xiàn)精確定位隨著時代發(fā)展,GPS系統(tǒng)不再局限于美國軍方,已被廣泛應用于社會生活的各個方面,從大地測繪到車輛導航都能找到其身影鑒于衛(wèi)星導航技術在民用和軍事領域的重要意義,我國也建立了相應的“北斗導航系統(tǒng)”,但目前我國應用最為廣泛的還是GPS系統(tǒng)本文針對GPS系統(tǒng),介紹了定位信息在GPS接收機與PC機之間的傳輸和提取方法
2 定位信息的格式
要實現(xiàn)定位信息的提取和顯示,首先要實現(xiàn)定位信息的傳輸,即通過相應的接口實現(xiàn)GPS接收機與PC機之間的通信本文介紹的接收機采用SiRF Technology公司的GPS接收芯片,通過天線接收GPS衛(wèi)星信號,并進行相應處理產(chǎn)生定位信息,再通過串口(RS 232)輸出GPS通訊協(xié)議較多,本文采用應用最為廣泛的NMEA—0183協(xié)議在此協(xié)議中包括了“$GPGGA”、“$GPGSA”、“$GPGSV”和“$GPRMC”等格式,本文以最簡格式“$GPRMC”語句為例介紹協(xié)議中各數(shù)據(jù)段的含義例如:$GPRMC,161022.A,3212.875,N,11893.578,E,O.O,11O.4,140406,2.3,W,A*302
在此列中各數(shù)據(jù)段通過逗號分開,其中:
$GPRMC為幀頭,標識后續(xù)幀內(nèi)數(shù)據(jù)組成結(jié)構(gòu);161022為UTC標準時間,格式為“hh/mm/ss”;A表示數(shù)據(jù)有效,如為V則表示可跟蹤衛(wèi)星小于3顆;3212.875為緯度值,格式為“ddmm.mmmm”;N表示北緯,如為S則表示南緯;11893.578為經(jīng)度值,格式為“dddmm.mmmm”;E表示東經(jīng),如為W則表示西經(jīng);0.0表示速度;110.4表示方位角,從000.0°~359.9°;140406為UTC標準日期,格式為“mm/dd/yy”;2.3表示地磁變化,從000.O°~180.0°;W表示地磁變化方向,包括w或E;
在這些數(shù)據(jù)中,本文主要關心的是地理坐標和時間,即緯度、經(jīng)度和UTC日期、時間
3 定位信息的傳輸和提取
定位信息的傳輸,即GPS接收機與PC機之間的通信,通常采用串口來實現(xiàn)本文中采用VB提供的MSComm控件來編寫串口程序達到通信的目的MSComm控件被廣泛用來實現(xiàn)串口通信,對于他的介紹這里不再贅述在本文中實現(xiàn)具體的串口通信時,必須對MSComm控件的相關屬性進行設置在默認設置基礎上需要進行更改的設置包括下面3個部分:
(1)考慮到GPS串口通信采用固定的參數(shù),因此要將MSComm控件中的Settings屬性設置為“4800,N,8,1”,即波特率為4 800 b/s,無奇偶校驗位,數(shù)據(jù)位為8,停止位為1
(2)根據(jù)所采用的接收機的不同,還需對MSComm控件中的inputMode屬性進行設置,本文中采用“comInputMode Text”方式
(3)根據(jù)所選擇的串口將MSComm控件中的Commport屬性設置為相應的串口號,本文中為“1”
定位信息的提取,包括2個部分:
(1)從“$GPRMC”數(shù)據(jù)列中提取經(jīng)緯度等信息;
(2)將這些信息在文本框內(nèi)顯示這一工作可以在MSComm控件中的OnComm事件中通過編程具體實現(xiàn)流程圖如圖1所示
部分代碼如下:
首先,將緩存中的“$GPRMC”格式的定位信息賦給字符串變量“GPRMC”,根據(jù)前面介紹過的“$GPRMC”的格式,通過相應的語句從變量“GPRMC”中提取出所需的緯度、經(jīng)度、速度和時間日期等信息,并賦給相應的變量需要注意的是,在提取時間信息時需要將UTC時間轉(zhuǎn)換為北京時間,并對24進行模運算,以確保時間的準確然后,將提取出來的定位信息在預先設計的文本框中顯示出來通過這些步驟即完成定位信息的提取工作,具體的效果如圖2所示
4 結(jié)語
本文介紹了一種使用VB實現(xiàn)GPS定位信息提取的方法,具有簡單、實用的特點通過這一方法可以實現(xiàn)GPS接收機和PC機之間的數(shù)據(jù)通信,并能將所需的定位信息直觀地在相應窗口顯示出來