<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM9與WindowsCE的車輛GPS定位信息采集系統(tǒng)

          基于ARM9與WindowsCE的車輛GPS定位信息采集系統(tǒng)

          作者: 時(shí)間:2010-08-27 來(lái)源:網(wǎng)絡(luò) 收藏
          顯然,若衛(wèi)星P與觀測(cè)點(diǎn)之間的距離為r,E為任意可見衛(wèi)星P的仰角,B為衛(wèi)星的方位角,則P的三維坐標(biāo)為(X,Y,Z)滿足:

          因?yàn)槔L制的是二維圖形,故只能將半球坐標(biāo)系壓縮到觀測(cè)者所在的平面內(nèi)(稱這個(gè)面為基礎(chǔ)面),圖上所表示出的衛(wèi)星的位置實(shí)際為衛(wèi)星在該平面的投影點(diǎn),該坐標(biāo)系的參數(shù)有2個(gè),一個(gè)是表達(dá)衛(wèi)星的投影點(diǎn)和觀測(cè)者的方位關(guān)系的方位角;另一個(gè)是表達(dá)衛(wèi)星真實(shí)所在位置以基礎(chǔ)面為準(zhǔn)與觀測(cè)者所構(gòu)成的仰角關(guān)系的仰角。有了這2個(gè)參數(shù)就能在該坐標(biāo)系中唯一確定一個(gè)具有物理意義的點(diǎn)。本系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)簡(jiǎn)單的坐標(biāo)系,它有2個(gè)同心圓和4條直線組成。繪制出衛(wèi)星視圖之前進(jìn)行的簡(jiǎn)單的坐標(biāo)變換算法思想為:將衛(wèi)星實(shí)際的方位角、仰角立體坐標(biāo)轉(zhuǎn)換為平面內(nèi)的橫縱(PX、PY)坐標(biāo),具體表示如式(2)所示。其中,(POX,POY)分別為兩同心圓原點(diǎn)(看作是觀測(cè)點(diǎn))在LCD上的像素坐標(biāo),而T為對(duì)話框窗體客戶區(qū)長(zhǎng)度的1/4。

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

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

          本文引用地址:http://www.ex-cimer.com/article/151616.htm


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

          5 結(jié)論
          GPS定位為單點(diǎn)定位,用一臺(tái)接收機(jī)觀測(cè)衛(wèi)星,獨(dú)立定出觀測(cè)點(diǎn)在WGS-84(地心坐標(biāo))中的絕對(duì)位置。系統(tǒng)以ARM9為嵌入式微處理器,以WindowsCE為嵌入式操作系統(tǒng),通過(guò)串行口實(shí)現(xiàn)GPS接收機(jī)與ARM之間的通信,構(gòu)建了某型軍車的GPS定位信息采集系統(tǒng)。實(shí)驗(yàn)表明:該系統(tǒng)能實(shí)時(shí)顯示精度較高、持久有效的GPS定位數(shù)據(jù),具有重要的實(shí)用價(jià)值和參考意義。


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

          關(guān)鍵詞: 收發(fā)器

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();