《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于WinCE的GPS導航信息處理軟件的實現
基于WinCE的GPS導航信息處理軟件的實現
摘要: 摘要:GPSOEM板一般以原始的二進制格式提供導航報文,為了得到最終的定位結果,需要對報文進行解碼,獲得相關測量量以及衛星參數,再構成計算方程組進行求解。本文提出了一種在WinCE環境下的GPS導航信息處理
Abstract:
Key words :

摘要: GPS OEM 板一般以原始的二進制格式提供導航報文, 為了得到最終的定位結果, 需要對報文進行解碼, 獲得相關測量量以及衛星參數, 再構成計算方程組進行求解。本文提出了一種在WinCE 環境下的GPS 導航信息處理的軟件實現方案, 描述了嵌入式處理器與GPS OEM 板的連接方式與串口通信方法, 分析了GPS 導航電文的格式, 最后, 設計了導航解算軟件流程并給出了解算結果的顯示。此設計方案已經在車載導航型GPS 接收機的研制中得到應用, 工作穩定, 并滿足精度要求。

0   引言

衛星發出的信號通過GPS 接收機基帶處理程序后, 可以獲得相關的衛星星歷和偽距、偽距律、載波相位、多普勒頻移等原始觀測量, 如何利用這些信息解算出接收機的位置、速度、時間等定位信息, 是定位解算程序的主要目的。

本文主要介紹了GPS OEM 接收機原始導航信息的獲取、GPS 報文的解碼以及位置速度等信息的解算程序設計。

1   平臺設計

系統采用的操作系統為WinCE, WinCE 是一個多任務、完全搶占式的32 位嵌入式操作系統, 支持WinCEMFC、ATL、WinCE API 和一些附加的編程接口以及各種通信技術。開發工具采用eVC, eVC ( embedded visualC+ + ) 是Windows CE 上的主流開發工具, 封裝了網絡底層通訊、COM 互操作、RAPI 等。eVC 支持MFC 類庫的子集, 使Win32 平臺上的VC 程序可以很容易地遷移到WinCE 平臺上。

硬件平臺采用基于xscale PXA255 處理器的嵌入式系統, 采用NOVAT EL OEM4 接收機獲得原始的GPS 導航數據, 兩個平臺間采用串口進行通訊。

1. 1   串口通信設置

eVC 在實現串口數據通信中存在2 個局限性: 一是eVC 不支持串口通信控件MScomm, 另外, WinCE 不支持重疊I/ O 操作。因此, 要采用WinCE A PI 函數和多線程技術進行數據串口通信的底層開發。

對串口的操作都映射成對文件的操作, 因此, 讀取串口的數據相當于讀取文件的數據。在eVC 環境中, 通過調用CreateFile 函數來打開串口, 設置讀寫模式:

H ANDL E m_hCom=CreateFile( STrCom, GENERIC _READ | GEN ERIC_WRITE, 0, NU LL, OPEN _ EXIST _ ING, FILE _AT TRIBU TE_NORMAL, NU LL)

因為WinCE 不支持重疊I/ O, 所以CreateFile 的第6個參數不能設置為:

FILE_FLAG_OVER_LAPPED, 否則串行通信處理將被系統信息阻塞。

打開串口后, 可以通過串口的初始化函數SetCommStat e( ) 來配置各項串口參數, 如波特率、奇偶校驗方法、數據位和停止位數等。

1. 2   線程同步

WinCE 的API 不支持重疊I/ O 操作, 因此, 要采用多線程模式解決大量數據讀寫時產生的困難。當主線程忙時,可以使用單獨的線程來處理串口, 也就是異步I/ O 模式。

為了保證在數據讀取線程向主線程傳遞數據時所傳遞的變量不會被新的串口數據所覆蓋, 可以采用互斥體技術。通過以下代碼創建互斥體:

H ANDL ECreateMutex ( LPSECU RITY _ AT T RIBU T ESlpMutexAt tr ibutes,BOOL bInitialOwner , LPCTSTR lpN ame) .

線程通過一個等待函數來獲得互斥體的所有權, 互斥體的線程是不會被阻斷的, 完成對數據的處理后, 需要調用函數釋放互斥體, 可以使用如下函數:

BOOL ReleaseMutex( HANDLE hMutex)

2   GPS 導航電文解碼

2. 1   導航電文的格式

由衛星發出的導航電文是用戶用來定位和導航的基礎數據。導航電文一般包含衛星的星歷和歷書數據、工作狀態、時鐘改正、電離層時延修正、大氣層折射修正以及相應的觀測信息, 在報文中還包括奇偶校驗信息, 用來驗證報文接收的正確性。電文處理模塊的功能, 就是根據接收從基帶處理模塊中獲得的導航電文, 并進行奇偶校驗, 確定報文完整后, 根據電文格式, 對二進制電文進行解析, 從而獲得電文中的導航信息。

導航電文的格式是主幀、子幀、字碼和頁碼, 如圖1 所示。每主幀電文長度為1 500 b, 傳送速率為50 b/ s, 所以發播一幀電文需要30 s 時間。

     1.jpg

                       圖1  導航電文幀結構

每幀導航電文包括5 個子幀, 每個子幀長6 s, 共有300 b.第1、2、3 子幀各有10 個字碼。這3 個子幀的內容每30 s 重復一次, 每小時更新一次。第4、5 子幀各有25頁, 共有15 000 b.一幀完整的電文共有37 500 b.

2. 2   導航電文的內容

導航電文的內容包括遙測碼、轉換碼、第1 數據塊、第2 數據塊和第3 數據塊5 部分:

第1 子幀的第3~ 10 個字碼為第1 數據塊。它的主要內容是: 標志碼、數據齡期、衛星時鐘改正系數、衛星測距精度、大氣傳播時延改正。

第2 數據塊包括第2 和第3 子幀, 它載有衛星的星歷,用來計算衛星的位置。

第3 數據塊是由第4 和第5 兩個子幀構成的, 它提供了GPS 衛星的歷書數據。當接收機捕獲到某顆衛星后, 利用第3 數據塊的信息可以得到其他衛星的概略星歷、時鐘改正、碼分地址和衛星狀態等數據。用戶可以根據衛星歷書和自己所在的位置, 計算出該時刻能觀測到的衛星及其方位角和高度角, 從而選擇, 以快速捕獲和定位。

3   軟件編制

通過串口接收到GPS 導航電文并且經過奇偶驗證和解碼后, 就可以獲得GPS 衛星的星歷和觀測信息, 包括偽距、載波相位、多普勒頻移。利用衛星的星歷, 可以計算出當前可見衛星的坐標和在運行速度。一般情況下, 可見的衛星數都大于解算所需的衛星數, 為了獲得最優的定位精度, 要對當前可見的衛星進行選擇。本系統中, 采用最小GDOP 法進行選星, 選出的最優星座的衛星信息結合觀測量, 通過誤差修正程序進行偽距修正后, 就可以構成接收機位置的解算方程組。解出此方程組, 即可獲得接收機的當前位置和速度以及接收機鐘差。

軟件基本流程如圖2 所示。

   2.jpg

                 圖2  軟件主要流程


4   測試結果

2006 年7 月4 日, 在北航對系統進行了測試。經過測試, 系統工作正常, 解算結果散布在較小的范圍內。結果顯示如圖3~ 5 所示。

     3.jpg


                圖3   衛星位置示意圖和定位結果

          4.jpg

                   圖4  衛星信息顯示圖

  5.jpg

                圖5   計算結果輸出

5   結論

本文提出的基于嵌入式WinCE 的GPS 導航信息處理方案已經在某導航接收機的研制中得到應用, 系統工作穩定, 能夠滿足可靠性和實時性要求, 達到預期效果。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本四虎影视 | 欧美激情婷婷 | 五月激情开心网 | 中文字幕一区久久久久 | 99久久国产| 国产小视频在线高清播放 | 五月天电影网站 | 99久久国产综合精品2020 | 日韩精品福利片午夜免费 | 午夜免费电影网 | 国产成人女人在线视频观看 | 99re久久精品国产首页2020 | 黄色在线视频网址 | 国产在线视频www色 国产在线视频www片 | 欧美亚洲激情 | 日韩免费在线视频观看 | 国产精品视频免费看 | 四虎在线永久精品高清 | 精品一区二区在线观看 1080p | 久久综合综合久久97色 | 97视频在线免费观看 | 不忠无删减版手机在线播放 | 激情97| 精品一区二区三区四区乱码90 | 免费福利资源站在线视频 | 国产欧美日韩精品综合 | 欧美一区二区三区在线 | 久久精品国产一区 | 欧美在线成人午夜影视 | 欧美日韩 在线播放 | 免费观看黄色影片 | 久久精品无码一区二区三区 | 婷婷伊人网 | 一级毛片大全 | 看电影的网站入口 | 日韩欧美在线中文字幕 | 97在线视频观看 | 高清免费视频 | 不卡二区 | 日韩 综合| 成人夜色视频网站在线观看 |