新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌什县| 德清县| 齐齐哈尔市| 扎囊县| 望都县| 曲周县| 陆川县| 刚察县| 固阳县| 池州市| 高雄市| 全椒县| 阆中市| 潮州市| 东莞市| 菏泽市| 宁陕县| 百色市| 景泰县| 邢台市| 叶城县| 孝昌县| 延川县| 千阳县| 蒙自县| 衡阳市| 黄山市| 东丰县| 奉节县| 龙门县| 连山| 红原县| 邵东县| 荣昌县| 昂仁县| 滦平县| 郴州市| 达拉特旗| 闽侯县| 郓城县| 大姚县|