基于GPS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
摘要:為了設(shè)計(jì)高精度、全天候、全天時(shí)的數(shù)據(jù)采集系統(tǒng),采用了GPS技術(shù)實(shí)現(xiàn)通信,信息采用NMEA-0183格式,單片機(jī)接收GPS輸出的時(shí)間和定位信息后,將信息調(diào)整為我國的標(biāo)準(zhǔn),并將調(diào)整后的經(jīng)度、緯度、海拔高度和時(shí)間等信息通過液晶終端顯示。最終實(shí)現(xiàn)了GPS數(shù)據(jù)采集及轉(zhuǎn)換等工作,為事故定位、搜查救援等工作提供了技術(shù)依據(jù)。
關(guān)鍵詞:GPS數(shù)據(jù)采集;定位;數(shù)據(jù)處理;單片機(jī)
隨著科技的發(fā)展,移動(dòng)技術(shù)的不斷成熟,定位導(dǎo)航開辟了一個(gè)重要的新興市場(chǎng)。GPS(Global Positioning System)以其高精度、全天候、全天時(shí)的特點(diǎn),在定位、導(dǎo)航、測(cè)距等領(lǐng)域被廣泛應(yīng)用,具有測(cè)量精度高、速度快、用戶數(shù)量不限、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。不僅用于軍事領(lǐng)域,還廣泛用于工農(nóng)業(yè)生產(chǎn)、交通運(yùn)輸、野外探險(xiǎn)等領(lǐng)域。本系統(tǒng)實(shí)現(xiàn)的數(shù)據(jù)采集精確度較高;采集到的位置可以控制在2 m范圍之內(nèi),接收數(shù)據(jù)并處理的時(shí)間小于2 s,存精確度和實(shí)時(shí)性上要優(yōu)于其他數(shù)據(jù)采集系統(tǒng)。
1 GPS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
硬件系統(tǒng)中主要由主控制器、液晶顯示模塊和CPS射頻前端,數(shù)據(jù)傳輸單元組成,如圖1所示。
GPS信號(hào)通過天線接收值射頻前端模塊,在射頻芯片中實(shí)現(xiàn)A/D轉(zhuǎn)換,將模擬中頻信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)通過串口傳入單片機(jī),單片機(jī)接收的數(shù)據(jù)信息經(jīng)過時(shí)差,坐標(biāo)處理等操作,在通過LCD顯示出來。
2 GPS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
2.1 GPS語句的輸出格式
GPS-OEM板采用NMEA-0183通信格式,可以輸出多種句型,均以“$”開頭。其語句格式如表1所示。
輸出的語句按串口通信協(xié)議:1位開始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)。輸出數(shù)據(jù)采用的是ASCⅡ碼字符,內(nèi)容包含了緯度、經(jīng)度、速度、日期、航向及衛(wèi)星狀況等信息。語句達(dá)十余種,其中定位語句$GPRMC其結(jié)構(gòu)為:
$GPRMC,1>.2>,3>.4>,5>.6>,7>,8>,9>,10>,11>*hhCR>LF>
其中:
“GP”-交談識(shí)別符;
“RMC”-語句識(shí)別符;
“*”-校驗(yàn)和識(shí)別符;
“hh”-為校驗(yàn)和,其代表了“$”和“*”之間所有字符的按位異或值(不包括這兩個(gè)字符)。
$GPRMC語句數(shù)據(jù)區(qū)的內(nèi)容為:
1)定位點(diǎn)的協(xié)調(diào)世界時(shí)間(UTC),hhmmss(時(shí)分秒)格式;
2)定位狀態(tài),A=有效定位,V=無效定位;
3)定位點(diǎn)緯度,ddmm.mmmmm(度分)格式;
4)緯度半球,N(北半球)或S(南半球);
5)定位點(diǎn)經(jīng)度,dddmm.mmmmm(度分)格式;
6)經(jīng)度半球,E(東經(jīng))或W(西經(jīng));
7)地面速度,000.0節(jié)~999.9節(jié);
8)地面航向,000.0度~359.9度;
9)UTC日期,ddmmyy(日月年)格式;
10)磁偏角,000.0度~180度;
11)磁偏角方向,E(東)或W(西)。
2.2 GPS數(shù)據(jù)接收
利用單片機(jī)的串行接口接收GPS傳送過來的數(shù)據(jù),其硬件原理如圖2所示,GPS的接口及單片機(jī)串口均采用TTL電平傳輸數(shù)據(jù),所以GPS接口引腳4和3可直接與單片機(jī)的TXD和RXD引腳相連,無需電平轉(zhuǎn)換,硬件電路圖如圖2所示。
GPS模塊輸出的是數(shù)據(jù)流,每秒鐘更新一次數(shù)據(jù)。必須要用單片機(jī)對(duì)其輸出的數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行提取,以方便用戶直接讀取。首先打開串口中斷服務(wù)子程序,開始接收數(shù)據(jù),判斷其是否有“$”符號(hào),然后根據(jù)逗號(hào)的個(gè)數(shù)進(jìn)行判斷數(shù)據(jù)的類型,然后分別存儲(chǔ)時(shí)間、經(jīng)度、緯度、日期等信號(hào),若接收到“\n”則接收結(jié)束。
用C語言編程,其程序如下:
在PC機(jī)上接收的GPRMC語句信息如下:
$GPRMC,103320,A,4350.95221,N,12524.06042,E,000.0,000.0,130507,009.1,W*50
這是一條GPS定位數(shù)據(jù)信息語句,涵義是UTC時(shí)間為10時(shí)33分20秒,位置在北緯43度50.9522分,東經(jīng)125度24.0604分,移動(dòng)速度為0,移動(dòng)范圍為0,日期為2007年5月13日,地磁變化為9.10,地磁變化方向?yàn)槲?,校?yàn)和為50H。根據(jù)接收的信息用單片機(jī)進(jìn)行相應(yīng)的處理,就可以得到所需的信息了,信息處理過程見3節(jié)。
3 對(duì)接收信息的處理
數(shù)據(jù)的處理主要包括兩個(gè)方面:
1)時(shí)間的處理
直接從衛(wèi)星接收到的時(shí)間信息是UTC時(shí)間(格林尼治時(shí)間),需要處理成北京時(shí)間。
要變成北京時(shí)間需要加上8個(gè)小時(shí),如果超過24小時(shí),則減去24小時(shí)后,才是北京時(shí)間。
時(shí)間轉(zhuǎn)換處理程序如下:
2)定位的處理
GPS接受的經(jīng)度、緯度等信息采用的是美國的84坐標(biāo)系統(tǒng),需要轉(zhuǎn)換成我國的54坐標(biāo)系統(tǒng)。為便于描述設(shè)如下幾個(gè)參量:
大地坐標(biāo)-(B,L,H)
平面坐標(biāo)-(x,y,z)
橢球偏心率-C
橢球參數(shù)m,n-大地坐標(biāo)轉(zhuǎn)換到指教坐標(biāo)需要使用的參數(shù),則有:
4 結(jié)束語
本系統(tǒng)討論了用單片機(jī)對(duì)GPS數(shù)據(jù)的讀取及處理的方法,分析了GPS模塊的信息格式并編制了通信軟件,不僅成功地實(shí)現(xiàn)了GPS定位信息的接收與提取,而且具有硬件電路簡(jiǎn)單、成本低廉、編程方便、性能穩(wěn)定的特點(diǎn),具有一定的使用價(jià)值。
評(píng)論