新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > GPS的定位測向系統的軟件實現

        GPS的定位測向系統的軟件實現

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

        1 NMEA-0183協議

        本文引用地址:http://www.104case.com/article/152011.htm

        1.1 協議簡介

        NEMA協議是為了在不同的GPS導航設備中建立統一的RTCM(海事無線電技術委員會)標準,由美國國家海洋電子協會(The National Marine ElectronicsAssociation,NMEA)制定的。目前大部分的GPS接收設備都遵循這一標準。該接口協議定義了在波特率為19 200的串口數據總線上傳輸電信號的需求、數據傳輸協議和時間以及詳細的語句格式。

        1.2 NMEA-0183語句格式

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

        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時間(世界協調時),hhmmss(時分秒);

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

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

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

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

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

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

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

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

        10>地球橢球面相對大地水準面的高度;

        11>差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空);

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

        2 MSComm控件的應用及數據采集

        2.1 端口設置

        由于GPS串行通訊參數是固定的“波特率=19200;無奇偶校驗;數據位=8;停止位=1”,在編程時直接設置串口通訊參數便可以了。

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

        2.2 數據采集

        MSComm控件提供兩種處理通信的方式:事件驅動方式和查詢方式

        (1)事件驅動方式

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

        (2)查詢方式

        查詢方式實質上還是事件驅動,在程序的每個關鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。

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

        3 核心功能及其VB實現

        的核心部分主要是對獲取數據進行預處理以提取完整的語句信息,同時解析出測向所需的位置、時間以及航向信息。

        3.1 數據預處理

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南投县| 赣州市| 甘洛县| 托里县| 察哈| 丰镇市| 环江| 安图县| 治县。| 湟中县| 行唐县| 四平市| 乐平市| 三门峡市| 荣昌县| 禄劝| 南溪县| 苍山县| 东明县| 固始县| 上犹县| 原平市| 北宁市| 乌鲁木齐市| 嘉定区| 疏勒县| 康定县| 永丰县| 达尔| 平邑县| 格尔木市| 乐至县| 霍州市| 德州市| 昭觉县| 阳高县| 蚌埠市| 遂川县| 三门峡市| 巫山县| 绿春县|