亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        GPS導(dǎo)航數(shù)據(jù)提取的設(shè)計與研究*

        2010-05-18 07:28:22王景中
        關(guān)鍵詞:嵌入式

        牛 立,王景中

        (北方工業(yè)大學(xué) 信息工程學(xué)院多媒體實驗室,北京100144)

        Windows CE是一個開放的、可裁剪的、32位實時嵌入式窗口操作系統(tǒng),具有可靠性好、實時性高、內(nèi)核體積小的特點(diǎn),廣泛應(yīng)用于各種智能式設(shè)備的開發(fā)。系統(tǒng)通過微軟提供的Platform Builder定制需要的Windows CE5.0系統(tǒng),運(yùn)行在硬件平臺上。硬件平臺采用博創(chuàng)科技PXA270實驗箱,該實驗箱嵌入式處理器是基于ARMV5E的Xscale核心PXA270,并支持串口通信。

        GPS導(dǎo)航芯片采用天寶iQ 46240,將接收到的數(shù)據(jù)通過串口發(fā)送給處理器。串口是計算機(jī)系統(tǒng)與外部串行設(shè)備之間的數(shù)據(jù)傳輸通道,是嵌入式通信最可靠、最通用的通信方式。程序員利用Windows API函數(shù)可以編寫出高效、可移植性的應(yīng)用程序。Windows CE不支持Windows下常用的串行通信異步I/O方式(Overlapped,非阻塞),因此在嵌入式環(huán)境下采用了同步I/O方式的通信程序設(shè)計方法。

        實驗設(shè)計根據(jù)GPS導(dǎo)航數(shù)據(jù)有效性確認(rèn)的標(biāo)準(zhǔn),對提取的數(shù)據(jù)進(jìn)行處理,把緩存中接收到的GPS數(shù)據(jù)格式轉(zhuǎn)化為電子地圖上常用的浮點(diǎn)型格式。此設(shè)計已應(yīng)用于智能閱讀器盲用定位模塊中。

        1 串口通信同步I/O方式的程序設(shè)計

        串口通信是串行通信的一種,串行通信的模式一般分為上位機(jī)和下位機(jī)通信。上位機(jī)可以讀取下位機(jī)的狀態(tài)數(shù)據(jù),也可以設(shè)置下位機(jī)的狀態(tài)。一般串行通信協(xié)議可分為兩類,即讀和寫。讀寫協(xié)議的描述如圖1所示,常用的效驗碼有異或、累加和、CRC等[1]。

        圖1 通信協(xié)議的一般結(jié)構(gòu)

        在實驗設(shè)計中,GPS接收裝置作為下位機(jī)只負(fù)責(zé)提供固定格式的數(shù)據(jù),實驗箱作為上位機(jī)不必發(fā)送指令,只負(fù)責(zé)定時讀取GPS接收裝置發(fā)送的數(shù)據(jù)。即可以簡化通信協(xié)議,提高工作效率。

        1.1 設(shè)計開發(fā)環(huán)境

        在Windows NT/ME環(huán)境下安裝eVC4.0編程環(huán)境,設(shè)置順序如下:

        (1)安裝同步軟件 Microsoft ActiveSync 4.0;

        (2)安裝 eVC4.0;

        (3)利用 PB(Platform Builder5.0)定制 Wince系統(tǒng)對應(yīng)的SDK并安裝;

        (4)利用PB將定制的wince系統(tǒng)下載到實驗箱上,并與 PC機(jī)同步[2]。

        1.2 同步I/O方式讀取的設(shè)計方法

        為完成串口通信同步I/O方式程序設(shè)計,分為三個部分,每個部分有一個函數(shù)完成其對應(yīng)的功能[3]。函數(shù)原型為:

        串口接收的具體流程圖如圖2所示,圖中對應(yīng)了串口設(shè)置的三個功能函數(shù)。

        圖2 串口接收的具體程序流程圖

        1.3 程序設(shè)計的核心代碼實現(xiàn)

        1.3.1 打開并設(shè)置通信串口參數(shù)

        以同步讀取方式打開串口COM1

        1.3.2 GPS定位信息的接收

        在成功打開并設(shè)置通信口后,在主程序中創(chuàng)建線程函數(shù) ReadThreadFunc(LPVOID lparam):

        //創(chuàng)建串口接收線程

        hRecvThread=CreateThread(0,0,CommRecvTread,this,0,&IDThread);

        然后在線程函數(shù)中采取事件觸發(fā)方式進(jìn)行接收處理,通過等待EV_RXCHAR事件的發(fā)生來啟動ReadFile函數(shù)完成對GPS定位信息的接收:

        2 對導(dǎo)航數(shù)據(jù)的格式進(jìn)行處理

        對于實驗中所使用的iQ46240接收芯片,其發(fā)送到計算機(jī)的數(shù)據(jù)(采用NEMA0183語句)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有“$GPGGA”、“$GPGSA”、“$GPRMC”等。 這些幀頭標(biāo)識了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾識別一幀的結(jié)束。本文中,定位數(shù)據(jù)經(jīng)緯度、速度、時間等均可以從“$GPGGA”幀中獲取得到。該幀的結(jié)構(gòu)及各字段釋義如下[4]:

        2.1 GPS導(dǎo)航數(shù)據(jù)有效性確認(rèn)標(biāo)準(zhǔn)

        GPS定位的基本原理是根據(jù)高速運(yùn)動衛(wèi)星的瞬間位置作為已知的起算數(shù)據(jù),采用空間距離后方交會的方法確定待測點(diǎn)的位置。假設(shè)t時刻在地面待測點(diǎn)安置GPS接收機(jī),可以測定GPS信號到達(dá)接收機(jī)的時間,加上接收機(jī)所接收到的衛(wèi)星星歷等其他數(shù)據(jù)可以確定以下4個方程式。衛(wèi)星定位示意圖如圖3所示。

        圖3 衛(wèi)星定位示意圖

        上述 4個方程式中待測點(diǎn) x、y、z和Δt0為未知參數(shù),其中 dt=c(Δt0=1,2,3,4)分別為衛(wèi)星 1、2、3、4 到接收機(jī)的距離。 Δti(i=1,2,3,4)分別為衛(wèi)星 1、2、3、4 的信號到達(dá)接收機(jī)所經(jīng)歷的時間。c為GPS信號的傳播速度(c為光速)。

        xi,yi,zi(i=1,2,3,4)分別代表衛(wèi)星 1、2、3、4 在 t時刻的空間直角坐標(biāo),可由衛(wèi)星導(dǎo)航電文求得,Vti代表衛(wèi)星鐘差,Vt0為接收機(jī)的鐘差。

        由以上4個方程式可計算出待測點(diǎn)的坐標(biāo) x、y、z和接收機(jī)的鐘差Vt0。因此導(dǎo)航數(shù)據(jù)能夠有效計算必須保證接收到4個衛(wèi)星的星歷。對固定格式的導(dǎo)航電碼中提取衛(wèi)星符號進(jìn)行確認(rèn),如果滿足4個衛(wèi)星的接收狀態(tài)即可確定當(dāng)前接收的導(dǎo)航電碼可用于數(shù)據(jù)處理。通常,3顆衛(wèi)星可以在二維平面上得到經(jīng)度緯度坐標(biāo),為精確起見,4顆衛(wèi)星可以保證獲得三維空間坐標(biāo)。

        2.2 有效數(shù)據(jù)提取和數(shù)據(jù)格式轉(zhuǎn)化

        有效數(shù)據(jù)的提取和數(shù)據(jù)格式轉(zhuǎn)化都是在回調(diào)函數(shù)中進(jìn)行的[5]。幀內(nèi)各數(shù)據(jù)段由逗號分割,因此在處理緩存數(shù)據(jù)時,可以通過搜索ASCII碼“$”來判斷是否是幀頭。對幀頭類別進(jìn)行識別后,再通過對所經(jīng)歷逗號的個數(shù)計數(shù)來判斷當(dāng)前處理的是哪一種定位導(dǎo)航參數(shù),并做相應(yīng)的處理。eVC支持CString類型格式,由于定位信息格式固定,本文先利用mbstowcs函數(shù)將緩存中的字符型數(shù)據(jù)轉(zhuǎn)換為寬字符型,然后強(qiáng)制轉(zhuǎn)化為字符串類型。

        WCHAR wszbuf[512];

        mbstowcs(wszbuf,(char*)buf,strlen((char*)buf));字符串類型進(jìn)行處理,然后利用Find函數(shù),搜索"$GPGGA",

        strRecv.Find(_T("$GPGGA"),1);state=strRecv.Mid(pos+37,1);得到GPS質(zhì)量指示指標(biāo)

        strSatelliteNum=strRecv.Mid(pos+39,1);

        得到接收到的衛(wèi)星數(shù)量字符,將衛(wèi)星數(shù)量字符型轉(zhuǎn)化為整型判斷衛(wèi)星數(shù)量是否大于4,作為判斷是否為有效數(shù)據(jù)的標(biāo)準(zhǔn)。

        intiSatelliteNum=atoi ((LPSTR)(LPCTSTR)strSatelliteNum);

        當(dāng) iSatelliteNum>3&&state==‘1’ 時說明接收到的是有效數(shù)據(jù),可對strRecv中的數(shù)據(jù)進(jìn)行提取,并賦給經(jīng)緯度和時間變量。

        strLatitude=strRecv.Mid(pos+16,8);strLongitude=strRecv.Mid(pos+27,9);將提取到得經(jīng)度緯度字符型數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型數(shù)據(jù),通過atof函數(shù)實現(xiàn)。

        double Longitude_new=(atof(strLongitude))/100;

        double Latitude_new=(atof(strLatitude))/100;

        這樣將經(jīng)度緯度信息提取到GPS結(jié)構(gòu)數(shù)組中,后續(xù)的處理和高層決策可根據(jù)該結(jié)構(gòu)中存儲的數(shù)據(jù)作出相應(yīng)的處理。

        3 程序運(yùn)行結(jié)果分析

        程序運(yùn)行后,在實驗平臺上收集的部分?jǐn)?shù)據(jù)如表1所示。

        對以上結(jié)果分析,可知通過串口在不同時段接收的數(shù)據(jù)是比較穩(wěn)定的,能夠以此為基礎(chǔ)提取到有效的數(shù)據(jù)和定位信息,本系統(tǒng)結(jié)合超圖格式(pwr,pmw)的北京市公交站點(diǎn)地圖數(shù)據(jù),在編寫程序時調(diào)用超圖接口函數(shù)打開電子地圖數(shù)據(jù),將串口接收到的數(shù)據(jù)讀入,得到附近的公交站點(diǎn)并以文本方式輸出到界面。

        表1 提取到的部分?jǐn)?shù)據(jù)

        本文結(jié)合相關(guān)程序代碼陳述了基于eVC環(huán)境下串口通信程序的設(shè)計,對GPS全球定位系統(tǒng)定位信息的接收和數(shù)據(jù)提取進(jìn)行了詳細(xì)的分析和討論。主要解決了EVC編程環(huán)境下實現(xiàn)串口通信功能、對GPS定位信息的提取和處理的問題。實驗對wince5.0自定義平臺下開發(fā)GPS接收裝置給出了代碼樣例供參考,并已應(yīng)用于智能閱讀器項目中盲用定位模塊。

        [1]張文軍.GPS與嵌入式系統(tǒng)軟硬件接口及導(dǎo)航信息提取軟件[J].計算機(jī)工程,2005,31(18):210-212.

        [2]張冬泉,譚南林,蘇樹強(qiáng).WindowsCE實用開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2009.

        [3]錢燕,張繼鋒.基于 EVC環(huán)境的串口通信程序設(shè)計[J].科學(xué)技術(shù)與工程.2007,7(10):2361-2364.

        [4]翟羽佳,張曉林,李宏偉.基于Wince的 GPS導(dǎo)航信息處理軟件的實現(xiàn)[J].電子測量技術(shù).2007,30(10):93-95.

        [5]李現(xiàn)勇.Visual c++串口通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2004.

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設(shè)計與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開發(fā)平臺
        基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
        嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        精品久久久久久久久久久aⅴ| 欧美巨鞭大战丰满少妇 | 忘忧草社区www日本高清| 粗大的内捧猛烈进出在线视频 | 少妇高潮太爽了免费网站| 中文字幕在线看精品乱码| 国语对白做受xxxxx在| 亚洲中久无码永久在线观看软件 | 国内露脸中年夫妇交换| 无码AV大香线蕉伊人久久| 亚洲av乱码一区二区三区人人| 日韩av无码久久一区二区| 97精品伊人久久大香线蕉| 九九精品国产99精品| 国产麻豆一区二区三区在| 97在线视频免费人妻| 久久久久久久女国产乱让韩| 99久久精品国产片| 国内精品国产三级国产| 特黄做受又硬又粗又大视频小说| 男人扒开女人双腿猛进女人机机里| 91久久精品一二三区蜜桃| 亚洲国产中文字幕一区| 欧美黑人性暴力猛交喷水| 欧美日韩国产一区二区三区地区| 日本在线中文字幕一区| 色吧噜噜一区二区三区| 亚洲aⅴ在线无码播放毛片一线天 中国国语毛片免费观看视频 | 亚洲最大一区二区在线观看| 亚洲精品成人av在线| 一本一本久久a久久精品 | 人妻少妇粉嫩av专区一| 无码乱肉视频免费大全合集| 失禁大喷潮在线播放| h动漫尤物视频| 国产精品国产自产自拍高清av| 精品少妇无码av无码专区| 啪啪无码人妻丰满熟妇| 风间由美中文字幕在线| 国产后入清纯学生妹| 亚洲精品国产成人AV|