新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 基于ARM9與Win CE系統的車輛GPS定位信息采集

        基于ARM9與Win CE系統的車輛GPS定位信息采集

        作者: 時間:2010-09-26 來源:網絡 收藏


        3.5 串口接收的實現
        完成定位信息的采集,需要實現的串口主要的API函數包括:
        1)打開串口函數。原型為Open(LPT OpenPort(LPCTSTRPort,int BaudRate,int DataBits,int StopBits,int Parity)。其中,Port代表串口名,如COMl等,BaudRate為波特率,DataBits為數據位;StopBits為停止位,Parity為奇偶校驗。
        2)關閉串口函數。該函數在程序操作串口發生錯誤時使用,用于關閉該串口。實現的主要方法是:先判斷串口操作句柄hComm的值是否為INVALID_HANDLE_VALUE,如果是,則調用SetCommMask(),將上述代碼段中的EV_RXCHAR改為0,然后清除緩沖區,再利用CloseHandle函數關閉串行口操作句柄。
        3)添加打開串口單擊事件代碼,通過創建一個串口接收線程和顯示線程來實現。
        4)串口接收線程CommRecvTread()與回調函數OnCommRecv()。串口接收線程為一個無限循環,它不斷查詢串口接收線程退出事件m_Exit-ThreadEvent。如果退出事件有效,則該循環結束退出。如果調用讀串口函數查詢得知接收到數據,則調用串口接收成功回調函數0nCommRecv()。

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

        4 實驗數據及分析
        設置好串口參數后,打開串口COMl,既可獲取實驗數據。圖7為在某型軍車上一次實測的數據。實測數據界面拍攝的時間為2009年11月10日晚上9點45分,地點為某訓練場。數據在靜止的狀態下測得。該定位顯示的數據包括“原始數據”和解析后“經緯度、時間、海拔”等信息。通過分析圖7(a)界面的數據發現,$GPGSV語句有兩條,而在“星數”對應的Edit框中顯示的定位所用衛星數為8,由于每一條GPGSV最多能顯示4顆衛星的信息,故$GPGSV語句為兩條。這說明星數與$GPGSV語句數是吻合的。而獲取有效的定位信息,至少需要4顆定位衛星。這也說明此次數據是有效的定位數據。

        該界面顯示的經緯度信息分別為N:38°3.6788’,E:114°29.1765’;其中,N代表北緯,E代表東經。而用GoolgeEarth軟件查閱數據可知,石家莊軍械學院南門的精確經度/緯度信息為:北緯38°3.1650’,東經114°29.0046’,軍械學院西門的精確經度/緯度信息為:北緯38°3.394O’,東經114°28.5432’。通過與二者的經緯度信息比對發現,界面實時顯示的精度和緯度信息非常精確。通過實
        時比對標準的北京時間,說明時間和日期信息顯示也完全正確。
        速度信息在靜止情況下測得,故理想的速度為0 k/s。而實際測得數據分別為0.060 00 k/s,前文已論述,1 k/s換算成標準的速度信息約0.514 444 m/s,故測得的速度誤差分別約為O.030 867 m/s。可以看出,測量的速度誤差相對而言是很小的。
        界面顯示的海拔信息為:68.800 00 m。而通過石家莊市規劃局提供的資料可知:石家莊市區二環路內地勢西北高,海拔高度為81.5 m,東南低,海拔高度為64.3 m。測得的海拔高度還是存在微小的誤差。這可能跟接收的信號的漂移有關。從圖7(b)部分的衛星視圖可以看出,衛星與觀測點的方位關系能清晰的表示,而且衛星的編號也能實時顯示,從上到下依次分別為:23、17、3、4、19、20、32、11。

        5 結論
        GPS定位為單點定位,用一臺接收機觀測衛星,獨立定出觀測點在WGS-84(地心坐標)中的絕對位置。為嵌入式微處理器,以dowsCE為嵌入式操作,通過串行口實現GPS接收機與ARM之間的通信,構建了某型軍車的GPS定位信息采集。實驗表明:該系統能實時顯示精度較高、持久有效的GPS定位數據,具有重要的實用價值和參考意義。


        上一頁 1 2 3 4 下一頁

        關鍵詞: ARM9 Win GPS 系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 容城县| 蒙山县| 师宗县| 奈曼旗| 莒南县| 吉水县| 巴塘县| 古丈县| 荔波县| 望都县| 扎兰屯市| 扶风县| 永靖县| 商丘市| 壤塘县| 安乡县| 会泽县| 石城县| 柘荣县| 汾阳市| 晋州市| 克拉玛依市| 绥中县| 沧源| 常德市| 启东市| 青铜峡市| 大邑县| 辽源市| 汉源县| 迁安市| 岱山县| 民勤县| 新昌县| 昆明市| 万山特区| 宜兰县| 苏尼特右旗| 益阳市| 永平县| 剑河县|