《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM9與WinCE的車輛GPS定位信息采集系統(tǒng)
基于ARM9與WinCE的車輛GPS定位信息采集系統(tǒng)
摘要: 本文研究基于ARM920T內(nèi)核的嵌入式微處理器S3C2440和WindowsCE 5.0(簡(jiǎn)稱WindowsCE)的某型軍車GPS定位信息的采集與處理。
關(guān)鍵詞: ARM GPS ARM920T WinCE
Abstract:
Key words :

 GPS可提供連續(xù)、高精度、實(shí)時(shí)的時(shí)間基準(zhǔn)、三維位置、三維速度、整周模糊度等數(shù)據(jù),具有性能好、精度高的特點(diǎn),因而廣泛應(yīng)用于GPS載波相位測(cè)姿、精確制導(dǎo)、SINS/GPS組合導(dǎo)航、嵌入式車輛導(dǎo)航監(jiān)控等軍事與民用領(lǐng)域。而嵌入式系統(tǒng)以其低功耗、小體積、高穩(wěn)定性和便攜等優(yōu)勢(shì),在GPS的應(yīng)用中占據(jù)重要的位置。本文研究基于ARM920T內(nèi)核的嵌入式微處理器S3C2440和WindowsCE 5.0(簡(jiǎn)稱WindowsCE)的某型軍車GPS定位信息的采集與處理。

1 系統(tǒng)硬/軟件平臺(tái)概述

車輛GPS定位信息采集系統(tǒng)的硬件平臺(tái)結(jié)構(gòu)如圖l所示。


該平臺(tái)可以分為3大模塊:

1)微系統(tǒng)核心模塊 由基于ARM920T的32位嵌入式微處理器S3C2440、SDRAM和Nand Flash構(gòu)成和總線接口構(gòu)成。2片32 MB的HY57V561620構(gòu)成64 MB的SDRAM存儲(chǔ)器,用于運(yùn)行系統(tǒng)主程序。存儲(chǔ)容量為64 M×8 bit的Nand FlashK9F1208UOM,因其具有掉點(diǎn)保護(hù)功能,用于存儲(chǔ)操作系統(tǒng)內(nèi)核、Bootloader的啟動(dòng)代碼和用戶程序。

2)GPS原始數(shù)據(jù)接收模塊 由一臺(tái)遵循NMEA-0183協(xié)議標(biāo)準(zhǔn)的GPS接收機(jī)和PS天線組成。通過外接GPS接收機(jī),將接收到的GPS原始信息,送入到嵌入式微處理器進(jìn)行數(shù)據(jù)解析,最終得出戰(zhàn)車所在位置的位置、速度和海拔等信息。

3)外設(shè)控制模塊 包括LCD+觸摸屏、USB主/從口、電源、JTAG調(diào)試接口、復(fù)位電路。選用東華的自帶4線模擬電阻式觸摸屏和硬件驅(qū)動(dòng)的3.5#TFT型LCD,用于人機(jī)交互以及現(xiàn)實(shí)解析后的GPS信息。USB主口用于擴(kuò)展U盤,用于數(shù)據(jù)存儲(chǔ),從口用于下載WinCE內(nèi)核文件以及與軟件開發(fā)主機(jī)進(jìn)行數(shù)據(jù)交互,JTAG調(diào)試接口用于硬件調(diào)試以及燒載Bootloader。

軟件平臺(tái)為微軟公司的嵌入式操作系統(tǒng)WindowsCE,它界面友好,支持嵌套中斷、更好的線程響應(yīng)、更多的優(yōu)先級(jí)別;支持串口和網(wǎng)絡(luò)通信;具有豐富的API函數(shù),具有強(qiáng)大的開發(fā)工具;多硬件平臺(tái)支持,支持ARM、MIPS等處理器。經(jīng)過Platform Builder定制移植的WindowsCE操作系統(tǒng)如圖2所示。

 

2 定位信息數(shù)據(jù)格式

GPS的輸出數(shù)據(jù)遵循NMEA-0183協(xié)議標(biāo)準(zhǔn),即美海軍的電子設(shè)備標(biāo)準(zhǔn)。根據(jù)NMEA-0183協(xié)議,獲取GPS定位信息,必須將串行口的波特率設(shè)置為4800b/s,數(shù)據(jù)位設(shè)置為8 bit,停止位設(shè)置為1 bit,校驗(yàn)為設(shè)置為無。該協(xié)議定義了GPS接收機(jī)輸出的標(biāo)準(zhǔn)信息,最常用、兼容性最廣的語句格式包括:$GPRMC、$GPGGA、$GPGSV、$GPGSA、$GPGLL等。應(yīng)用到的GPS數(shù)據(jù)格式包括$GPRMC、$GPGGA、$GPGSV三種。其中,用$GPRMC語句獲取時(shí)間、經(jīng)緯度、速度、年月日信息,用$GPGSV語句獲取海拔高度信息,用$GPGSV語句獲取可見衛(wèi)星數(shù)信息及衛(wèi)星的方位角和仰角信息,用以獲取衛(wèi)星的視圖。各語句的數(shù)據(jù)段的含義,參考NMEA-0183協(xié)議標(biāo)準(zhǔn)。

3 GPS定位信息采集和處理的軟件實(shí)現(xiàn)

本系統(tǒng)的軟件開發(fā)在可視化開發(fā)工具Embedded VisualC++(簡(jiǎn)稱EVC)中,采用MFC編程技術(shù)實(shí)現(xiàn)。

3.1 GPS數(shù)據(jù)處理狀態(tài)轉(zhuǎn)換
GPS與ARM之間用RS232串口方式進(jìn)行通信,串口對(duì)象負(fù)責(zé)接收數(shù)據(jù),并把接收到的數(shù)據(jù)放置到串口緩沖區(qū)。GPS對(duì)象按照協(xié)議結(jié)構(gòu)負(fù)責(zé)處理串口對(duì)象接收到的數(shù)據(jù)。圖3為GPS數(shù)據(jù)處理之間的狀態(tài)轉(zhuǎn)換示意圖。GPS數(shù)據(jù)處理狀態(tài)共包括4個(gè)狀態(tài):開始狀態(tài)、數(shù)據(jù)幀頭狀態(tài)、GPS數(shù)據(jù)正文狀態(tài)和校驗(yàn)狀態(tài)。


開始狀態(tài)是一個(gè)數(shù)據(jù)幀的起始狀態(tài),它處理和判斷數(shù)據(jù)幀的起始字符$。若起始符號(hào)不是其中的$,則一直停留在開始狀態(tài),直到$到來位置,數(shù)據(jù)幀頭狀態(tài)用于判斷數(shù)據(jù)幀的格式是否與我們目前需要的目標(biāo)數(shù)據(jù)幀相匹配。如果相匹配,那么將退轉(zhuǎn)到下一個(gè)狀態(tài):GPS數(shù)據(jù)正文狀態(tài),開始進(jìn)行數(shù)據(jù)處理。如果不匹配,則轉(zhuǎn)移到開始狀態(tài)。

數(shù)據(jù)處理中用到了緩沖區(qū)的概念,它一邊累積計(jì)算接收的數(shù)據(jù)的異或和,一邊把相應(yīng)的數(shù)據(jù)域送入緩沖區(qū)。這樣既降低了數(shù)據(jù)提取校驗(yàn)的復(fù)雜度,也提高了數(shù)據(jù)處理的延續(xù)性和正確性。當(dāng)GPS數(shù)據(jù)正文狀態(tài)完成,進(jìn)入“*”字符的時(shí)候,將進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài),它用于判斷數(shù)據(jù)接收和處理的有效與否。若校驗(yàn)成功,則接收有效,收到CR,LF字符后又重新跳轉(zhuǎn)到開始狀態(tài)。若校驗(yàn)失敗,則放棄處理的數(shù)據(jù),直接跳轉(zhuǎn)至開始狀態(tài)。

3.2 完整GPS數(shù)據(jù)幀的截取

了解了GPS數(shù)據(jù)處理的四個(gè)狀態(tài)之間的相互轉(zhuǎn)換,下面論述一個(gè)完整的GPS數(shù)據(jù)幀的提取和處理,它是獲取車輛GPS定位數(shù)據(jù)的關(guān)鍵。一個(gè)完整的GPS數(shù)據(jù)幀的提取流程如圖4所示。


圖4中,m_strRecDisp為一個(gè)CString變量,用于表示接收數(shù)據(jù)的字符串,該程序流程中,用到兩個(gè)最重要的函數(shù)即:字符(串)查找函數(shù)和字符串截取函數(shù)。

1)字符(串)查找函數(shù) 該函數(shù)CString∷Find()用于從一個(gè)已有的字符串當(dāng)中查找與目標(biāo)字符(串)相匹配的首次出現(xiàn)的一個(gè)單字符或一個(gè)子字符串。一個(gè)重要的函數(shù)原型為:int Find(TCHAR ch,int nStart)const:其中,ch為要查找的目標(biāo)字符,nStart為開始查找位置。

2)字符串截取函數(shù) 該函數(shù)CString∷Mid()用于截取一個(gè)字符,也可從一個(gè)具體位置開始截取一個(gè)子字符串,返回值即為字符或字符串常量。函數(shù)原型為:Mid(int nFirst,intnCount)const;其中nFirst為字符串開始截取的位置,nCount為截取字符數(shù)目。

3.3 GPS數(shù)據(jù)幀的處理

截取出一個(gè)完整的數(shù)據(jù)幀后,將數(shù)據(jù)幀賦值給CString變量data,data再將其字符內(nèi)容淵源不斷的送給緩沖pBuffer,解壓縮數(shù)據(jù)幀后,進(jìn)入到如圖5所示的GPS數(shù)據(jù)幀處理流程。在處理GPS時(shí)間數(shù)據(jù)時(shí),因?yàn)楸本┪挥跂|八區(qū),UTC時(shí)間與北京時(shí)間相差8 h,得到UTC時(shí)間后,如果要得到標(biāo)準(zhǔn)的北京時(shí)間,應(yīng)在此時(shí)間的基礎(chǔ)上,加上8 h。



3.4 二維衛(wèi)星視圖的獲取

衛(wèi)星視圖的獲取首先要用到站心切平面坐標(biāo)系。坐標(biāo)系如圖6所示,站心切平面以P點(diǎn)的法線為Z軸且向上為正,X軸垂直于Z軸并指向北極.Y軸垂直于Z軸并向東為正。


顯然,若衛(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)添加打開串口單擊事件代碼,通過創(chuàng)建一個(gè)串口接收線程和顯示線程來實(shí)現(xiàn)。

4)串口接收線程CommRecvTread()與回調(diào)函數(shù)OnCommRecv()。串口接收線程為一個(gè)無限循環(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í)間、海拔”等信息。通過分析圖7(a)界面的數(shù)據(jù)發(fā)現(xiàn),$GPGSV語句有兩條,而在“星數(shù)”對(duì)應(yīng)的Edit框中顯示的定位所用衛(wèi)星數(shù)為8,由于每一條GPGSV最多能顯示4顆衛(wèi)星的信息,故$GPGSV語句為兩條。這說明星數(shù)與$GPGSV語句數(shù)是吻合的。而獲取有效的GPS定位信息,至少需要4顆定位衛(wèi)星。這也說明此次數(shù)據(jù)是有效的定位數(shù)據(jù)。


該界面顯示的經(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’。通過與二者的經(jīng)緯度信息比對(duì)發(fā)現(xiàn),界面實(shí)時(shí)顯示的精度和緯度信息非常精確。通過實(shí)時(shí)比對(duì)標(biāo)準(zhǔn)的北京時(shí)間,說明時(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。可以看出,測(cè)量的速度誤差相對(duì)而言是很小的。

界面顯示的海拔信息為:68.800 00 m。而通過石家莊市規(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),通過串行口實(shí)現(xiàn)GPS接收機(jī)與ARM之間的通信,構(gòu)建了某型軍車的GPS定位信息采集系統(tǒng)。實(shí)驗(yàn)表明:該系統(tǒng)能實(shí)時(shí)顯示精度較高、持久有效的GPS定位數(shù)據(jù),具有重要的實(shí)用價(jià)值和參考意義。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲影院免费观看| 欧美成人69av| 日韩视频免费在线| 久久精品1区| 久久成人国产| 校园春色综合网| 亚洲免费影院| 亚洲男人天堂2024| 亚洲欧美成人网| 午夜精品av| 午夜综合激情| 欧美一级在线亚洲天堂| 亚洲欧美精品伊人久久| 亚洲尤物影院| 亚洲综合电影一区二区三区| 一区二区三区欧美亚洲| 夜夜嗨av一区二区三区网页| 99精品欧美一区二区三区综合在线| 亚洲精品日本| 99精品国产99久久久久久福利| 日韩一级片网址| av成人手机在线| 亚洲午夜精品17c| 亚洲一区二区三区久久| 亚洲一区二区在线播放| 午夜精品福利视频| 性感少妇一区| 亚洲高清色综合| 亚洲国产日韩美| 欧美日本精品| 欧美精品久久久久久久| 欧美精品乱码久久久久久按摩| 欧美精品久久一区二区| 欧美午夜激情视频| 国产精品免费电影| 国产午夜精品一区理论片飘花 | 欧美日韩在线第一页| 国产精品盗摄一区二区三区| 国产精品综合不卡av| 国模精品一区二区三区色天香| 韩国三级电影一区二区| 在线欧美电影| av成人国产| 欧美一区二区免费视频| 亚洲国产中文字幕在线观看| 99国产成+人+综合+亚洲欧美| 亚洲香蕉成视频在线观看| 午夜精品视频一区| 老司机久久99久久精品播放免费| 欧美激情第8页| 国产精品免费看久久久香蕉| 国模私拍视频一区| 亚洲麻豆视频| 国产一区二区三区黄视频| 在线观看久久av| 99成人免费视频| 午夜视频在线观看一区| 亚洲国产综合在线| 亚洲午夜电影网| 久久亚洲国产成人| 欧美日韩一区不卡| 黄色av日韩| 日韩视频免费大全中文字幕| 亚洲欧美激情四射在线日| 亚洲精品亚洲人成人网| 欧美一区二粉嫩精品国产一线天| 美女视频网站黄色亚洲| 欧美午夜影院| 在线播放视频一区| 亚洲无亚洲人成网站77777 | 夜夜精品视频| 久久精品国产综合精品| 欧美精品三级日韩久久| 国产欧美日韩视频一区二区| 91久久极品少妇xxxxⅹ软件| 亚洲欧美一区二区激情| 日韩一区二区精品在线观看| 久久国产精品72免费观看| 欧美日韩小视频| 黑人操亚洲美女惩罚| 亚洲深爱激情| 亚洲精品一区二| 久久电影一区| 欧美色欧美亚洲高清在线视频| 国产色爱av资源综合区| 国产精品国产福利国产秒拍| 在线日韩av| 欧美一级大片在线观看| 亚洲欧美电影在线观看| 免费亚洲电影在线观看| 国产精品一区二区视频| 一区二区欧美国产| 99在线|亚洲一区二区| 久久综合亚州| 国产视频亚洲| 亚洲视频一区二区| 亚洲精品资源| 老司机精品福利视频| 国产伦精品一区二区三区视频孕妇 | 日韩亚洲国产欧美| 91久久黄色| 久久久精品999| 国产精品毛片在线| 9l视频自拍蝌蚪9l视频成人| 亚洲全部视频| 久久青草欧美一区二区三区| 国产精品一区毛片| 亚洲视频在线观看免费| 亚洲视频一起| 欧美日韩一区二区三区四区在线观看| 在线观看日韩av电影| 久久高清国产| 亚洲国产精选| 久久米奇亚洲| 国产一区二区高清不卡| 欧美一级视频一区二区| 久久国产精品一区二区三区四区| 国产精品一区免费在线观看| 亚洲一区二区三区四区五区黄| 中文在线资源观看视频网站免费不卡| 欧美精品导航| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产另类精品专区| 久久在线免费观看| 精品999日本| 亚洲国产精品久久久久婷婷老年| 久久婷婷国产综合国色天香| 国内揄拍国内精品少妇国语| 欧美在线一二三区| 久久躁日日躁aaaaxxxx| 亚洲盗摄视频| 亚洲精品老司机| 欧美激情综合在线| 亚洲美女av电影| 亚洲在线网站| 国产视频一区二区在线观看| 欧美一级大片在线观看| 卡通动漫国产精品| 亚洲高清av| 夜夜嗨av色综合久久久综合网| 欧美午夜精品电影| 亚洲欧美卡通另类91av| 久久午夜影视| 亚洲国产一区二区视频| 中文av一区二区| 国产精品免费一区二区三区观看| 午夜影院日韩| 欧美凹凸一区二区三区视频| 亚洲精品五月天| 亚洲在线一区| 国语自产偷拍精品视频偷| 亚洲三级影院| 欧美视频中文一区二区三区在线观看 | 欧美精品久久久久a| 宅男66日本亚洲欧美视频| 香蕉尹人综合在线观看| 国内成+人亚洲| 亚洲精品在线观| 国产精品久久久久久久电影| 欧美一级久久久| 免费日韩成人| 一本色道久久综合亚洲精品按摩 | 亚洲综合二区| 久久夜精品va视频免费观看| 亚洲国产精品成人| 亚洲在线中文字幕| 激情成人综合网| 一区二区高清视频在线观看| 国产精品私房写真福利视频 | 亚洲午夜精品国产| 国产亚洲欧美aaaa| 9l视频自拍蝌蚪9l视频成人| 国产精品视频xxx| 亚洲成人在线免费| 国产精品福利av| 亚洲高清免费在线| 欧美午夜视频在线观看| 久久国产精品72免费观看| 欧美区在线播放| 香蕉久久精品日日躁夜夜躁| 欧美激情按摩| 欧美影院成年免费版| 欧美啪啪成人vr| 欧美一区二区三区播放老司机| 欧美国产视频在线观看| 亚洲欧美日韩系列| 欧美精品一区二区三区很污很色的| 亚洲免费视频成人| 欧美精品一卡二卡| 久久成人精品电影| 欧美午夜性色大片在线观看| 91久久极品少妇xxxxⅹ软件| 国产精品一区二区a| 日韩系列在线| 国语精品中文字幕| 欧美一区二区视频在线| 亚洲免费播放| 美女国产精品| 先锋影音一区二区三区| 欧美午夜宅男影院|