新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > GPS的定位測(cè)向系統(tǒng)的軟件實(shí)現(xiàn)

GPS的定位測(cè)向系統(tǒng)的軟件實(shí)現(xiàn)

作者: 時(shí)間:2010-03-25 來(lái)源:網(wǎng)絡(luò) 收藏
全球()是由美國(guó)國(guó)防部主要為滿足軍事部門(mén)對(duì)海、陸、空設(shè)施進(jìn)行高精度導(dǎo)航和而研制的全球性被動(dòng)式無(wú)線電的應(yīng)用,探討用VB信息處理的方法仍是大家普遍關(guān)注的問(wèn)題。在Windows環(huán)境下通過(guò)VB編程語(yǔ)言及其提供的專門(mén)用于串口通信的MSComm控件,接收機(jī)與計(jì)算機(jī)的串口通信。將GPS接收機(jī)的小型化OEM板與計(jì)算機(jī)相結(jié)合,利用其輸出的數(shù)據(jù)信息,配置相應(yīng)的外圍設(shè)備,即可方便、自主地基于GPS的衛(wèi)星測(cè)量及無(wú)線電導(dǎo)航、和定時(shí)于一體的多功能。

1 NMEA-0183協(xié)議

本文引用地址:http://2s4d.com/article/152011.htm

1.1 協(xié)議簡(jiǎn)介

NEMA協(xié)議是為了在不同的GPS導(dǎo)航設(shè)備中建立統(tǒng)一的RTCM(海事無(wú)線電技術(shù)委員會(huì))標(biāo)準(zhǔn),由美國(guó)國(guó)家海洋電子協(xié)會(huì)(The National Marine ElectronicsAssociation,NMEA)制定的。目前大部分的GPS接收設(shè)備都遵循這一標(biāo)準(zhǔn)。該接口協(xié)議定義了在波特率為19 200的串口數(shù)據(jù)總線上傳輸電信號(hào)的需求、數(shù)據(jù)傳輸協(xié)議和時(shí)間以及詳細(xì)的語(yǔ)句格式。

1.2 NMEA-0183語(yǔ)句格式

NMEA-0183語(yǔ)句格式一般為:“$”為語(yǔ)句起始標(biāo)志;“,”為域分隔符;“*”為校驗(yàn)和識(shí)別符,其后面的兩位數(shù)為校驗(yàn)和;“CR>/LF>”為終止符,表示回車、換行。本文以GPGGA信息語(yǔ)句為例,進(jìn)行詳細(xì)分析。

GPGGA:Global Positioning System Fix Data(GGA)(GPS定位信息)

$GPGGA,1>,2>,3>,4>,5>,6>,7>,8>,9>,M,10>,M,11>,12>*hhCR>LF>

1>UTC時(shí)間(世界協(xié)調(diào)時(shí)),hhmmss(時(shí)分秒);

2>緯度:格式為度度分分、分分分分(ddmm.mmmm,前面的0也將被傳輸);

3>緯度半球N(北半球)或者S(南半球);

4>經(jīng)度:格式為度度分分、分分分分(ddmm.mmmm,前面的0也將被傳輸);

5>經(jīng)度半球E(東經(jīng))或W(西經(jīng));

6>GPS狀態(tài):0=未定位,1=非差分定位,2=差分定位,6=正在估算;

7>正在使用解算位置的衛(wèi)星數(shù)量(00~12)(前面的0也將被傳輸);

8>HDOP水平精度因子(0.5~99.9);

9>海拔高度(-9 999.9 m~99 999.9 m);

10>地球橢球面相對(duì)大地水準(zhǔn)面的高度;

11>差分時(shí)間(從最近一次接收到差分信號(hào)開(kāi)始的秒數(shù),如果不是差分定位將為空);

12>差分站ID號(hào):0000~1023(前面的0也將被傳輸,如果不是差分定位將為空)。

2 MSComm控件的應(yīng)用及數(shù)據(jù)采集

2.1 端口設(shè)置

由于GPS串行通訊參數(shù)是固定的“波特率=19200;無(wú)奇偶校驗(yàn);數(shù)據(jù)位=8;停止位=1”,在編程時(shí)直接設(shè)置串口通訊參數(shù)便可以了。

主要程序段為:NMEA協(xié)議設(shè)置 MSComml.Settings=“19200,n,8,1”。

2.2 數(shù)據(jù)采集

MSComm控件提供兩種處理通信的方式:事件驅(qū)動(dòng)方式和查詢方式

(1)事件驅(qū)動(dòng)方式

On Comm事件被用于捕獲Communications事件及錯(cuò)誤。因此可在MSComm控件的On Comm事件中加入處理函數(shù),以便在文本框區(qū)實(shí)時(shí)顯示、數(shù)據(jù)采集。

(2)查詢方式

查詢方式實(shí)質(zhì)上還是事件驅(qū)動(dòng),在程序的每個(gè)關(guān)鍵功能之后,可以通過(guò)檢查CommEvent屬性的值來(lái)查詢事件和錯(cuò)誤。

本程序采用查詢式串口通訊,利用Timer控件,程序如下:

3 核心功能及其VB實(shí)現(xiàn)

的核心部分主要是對(duì)獲取數(shù)據(jù)進(jìn)行預(yù)處理以提取完整的語(yǔ)句信息,同時(shí)解析出測(cè)向所需的位置、時(shí)間以及航向信息。

3.1 數(shù)據(jù)預(yù)處理

(1)預(yù)處理必要性。實(shí)際工作中,由于各種外界條件的影響接收機(jī)獲取的衛(wèi)星數(shù)據(jù)可能存在質(zhì)量問(wèn)題,同時(shí)采用查詢方式從串口提取數(shù)據(jù)也存在自身的限制性,比如:常常出現(xiàn)一條完整的語(yǔ)句(GPGGA/GPRMC語(yǔ)句等)在一次查詢中只接收了其中一部分的情況,我們需要對(duì)獲取的信息采用一些必要的預(yù)處理措施,以便于得到完整的語(yǔ)句信息進(jìn)行解析。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉