馬 欣,齊 云,周永華(西南石油大學(xué) 理學(xué)院,成都 610500)
基于AVR主從式GPS數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
馬欣,齊云,周永華
(西南石油大學(xué)理學(xué)院,成都610500)
本文基于AVR單片機(jī)核心控制器,設(shè)計(jì)了一套主從式GPS數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用主從式數(shù)據(jù)采集系統(tǒng),對(duì)一定范圍內(nèi)不同地理位置信息進(jìn)行采集與處理,對(duì)多點(diǎn)位置信息數(shù)據(jù)進(jìn)行融合解算,實(shí)現(xiàn)多點(diǎn)信息相互關(guān)聯(lián)。
AVR;GPS;主從式;數(shù)據(jù)采集
GPS全球定位系統(tǒng)作為目前世界范圍內(nèi)通用的定位系統(tǒng),已經(jīng)應(yīng)用于國(guó)民經(jīng)濟(jì)的各個(gè)方面,其技術(shù)具有全天候、精度高和自動(dòng)測(cè)量等特點(diǎn)。但是,簡(jiǎn)易GPS系統(tǒng)僅僅能夠進(jìn)行單點(diǎn)獨(dú)立信息解算以及運(yùn)動(dòng)速率測(cè)量,無(wú)法滿足相對(duì)多點(diǎn)的數(shù)據(jù)融合解算。GPS數(shù)據(jù)采集系統(tǒng)的主從式設(shè)計(jì),可以將多點(diǎn)的數(shù)據(jù)信息融合,相互關(guān)聯(lián)解算,實(shí)現(xiàn)多個(gè)地理信息點(diǎn)的位置關(guān)聯(lián)。
系統(tǒng)分為主機(jī)和從機(jī)兩個(gè)子系統(tǒng)。從機(jī)對(duì)GPS信號(hào)進(jìn)行采集和信息解算,同時(shí)將信息不經(jīng)處理直接發(fā)送給主機(jī)系統(tǒng)。主機(jī)系統(tǒng)將信息進(jìn)行解算后,通過(guò)串口發(fā)送給PC機(jī),由PC機(jī)通過(guò)多點(diǎn)信息融合算法,對(duì)用多點(diǎn)信息進(jìn)行融合,將各點(diǎn)信息進(jìn)行關(guān)聯(lián),得到多個(gè)地點(diǎn)相對(duì)主機(jī)的位置,以及相互之間的相對(duì)位置關(guān)系。如圖1所示。
系統(tǒng)主要由最小系統(tǒng)板、GPS數(shù)據(jù)采集模塊、無(wú)線通信模塊、顯示模塊、電源模塊以及按鍵模塊等主要部分組成。系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)如圖2所示。
2.1最小系統(tǒng)板
該系統(tǒng)采用AVR系列的ATmega16L單片機(jī)芯片,它是基于增強(qiáng)的AVRRISC結(jié)構(gòu)的低功耗8位CMOS微控制器。該單片機(jī)內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器,片內(nèi)ISPFlash允許程序存儲(chǔ)器通過(guò)ISP串行接口,或者通用編程器進(jìn)行編程[1]。通過(guò)將8 位RISCCPU與系統(tǒng)內(nèi)可編程的Flash集成在一個(gè)芯片內(nèi)。最小系統(tǒng)電路原理圖如圖3所示。
2.2GPS數(shù)據(jù)采集模塊
GPS數(shù)據(jù)采集模塊采用HOLUXGR-87智慧型衛(wèi)星接收模組,是一個(gè)完整的衛(wèi)星定位接收器,它可以儲(chǔ)存衛(wèi)星資料[2,3]。GR-87接口協(xié)議是基于美國(guó)國(guó)家海洋電子協(xié)會(huì)的NMEA-0183ASCII的接口規(guī)范上的,默認(rèn)的NMEA通信參數(shù)波特率為4800波特,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)位[4]。參數(shù)記錄形式及意義如下表所示。
參數(shù)記錄形式及意義
2.3無(wú)線通信模塊
無(wú)線通信模塊的主要作用是將從機(jī)采集到的GPS數(shù)據(jù)信息發(fā)送給主機(jī),是以PT2262和PT2272無(wú)線發(fā)射接收芯片對(duì)為核心的傳輸模塊。發(fā)送模塊將串行數(shù)據(jù)進(jìn)行調(diào)制后,以344MHz的頻率信號(hào)發(fā)射出去;接收模塊接收到信號(hào)后,對(duì)信號(hào)進(jìn)行解調(diào),得到數(shù)據(jù)信息。
2.4顯示模塊
顯示模塊以128×64的LCD液晶為主,結(jié)合偏壓電路、數(shù)據(jù)總線和控制總線組成。該液晶顯示模塊可以顯示漢字和圖形,內(nèi)置8192個(gè)16×16點(diǎn)陣的中文漢字、128個(gè)8×16的字符以及64×256點(diǎn)陣顯示RAM。可與單片機(jī)以串行和8位并行數(shù)據(jù)總線的形式進(jìn)行連接。因此,采用該模塊方便顯示表達(dá)多樣的地理位置信息,增強(qiáng)了系統(tǒng)的可讀性和可操作性。
2.5電源模塊
在系統(tǒng)中主要對(duì)以下單元供電,分別是Atm ege16L單片機(jī)最小系統(tǒng)、液晶顯示單元、GPS數(shù)據(jù)接收單元和無(wú)線發(fā)射接收單元。前三個(gè)單元都需要5V電源供電,而無(wú)線發(fā)射單元需要12V電源供電,這就需要輸入的總電源至少不低于12V,同時(shí)還要有相應(yīng)的降壓、穩(wěn)壓部分,保證穩(wěn)定供電。系統(tǒng)選取AMS1117系列電源芯片以及濾波電容為各個(gè)單元提供穩(wěn)定電源。
2.6按鍵模塊
按鍵模塊由獨(dú)立按鍵組成。獨(dú)立按鍵用于顯示信息的選取、顯示信息翻頁(yè)以及時(shí)間校對(duì)功能的調(diào)節(jié)等。
程序運(yùn)用C語(yǔ)言在ICCAVR環(huán)境下進(jìn)行編寫(xiě),以JTAG方式將編譯的程序下載至Atmege16L單片機(jī)。程序運(yùn)行后,首先對(duì)顯示模塊、GPS數(shù)據(jù)讀取模塊、單片機(jī)串口等模塊進(jìn)行初始化。
進(jìn)入中斷服務(wù)程序后,立即關(guān)閉中斷,讀取出UDR緩沖器中的數(shù)據(jù),然后對(duì)局部變量進(jìn)行甄別之前,用發(fā)送函數(shù)將其通過(guò)單片機(jī)的TXD串口發(fā)送出去[5]。由于每次讀取的UDR中的數(shù)據(jù)為8位,即一個(gè)字節(jié)也是一個(gè)ASCII碼的長(zhǎng)度,進(jìn)而對(duì)每次讀取的ASCII碼值進(jìn)行甄別,若字頭不是“$GPGGA”則對(duì)所有局部變量清0,開(kāi)中斷后,中斷返回,從斷點(diǎn)處開(kāi)始執(zhí)行后面的程序,直到字頭為“$GPGGA”的信息到來(lái)。
當(dāng)甄別到字頭為“$GPGGA”的信息到來(lái)后,根據(jù)NMEA-0183通信協(xié)議特點(diǎn),對(duì)逗號(hào)“,”個(gè)數(shù)進(jìn)行計(jì)數(shù),將所需要的逗號(hào)后面的信息存入預(yù)先設(shè)置的全局?jǐn)?shù)組中,以便顯示函數(shù)的讀取。
本文介紹了基于AVR系列Atmege16L芯片的主從式GPS數(shù)據(jù)采集系統(tǒng)。利用GPS數(shù)據(jù)采集模塊對(duì)衛(wèi)星數(shù)據(jù)信號(hào)進(jìn)行分析處理,對(duì)各個(gè)從機(jī)采集到的數(shù)據(jù)信息進(jìn)行分離提取,應(yīng)用無(wú)線通信模塊將信息傳送回主機(jī)并通過(guò)PC機(jī)進(jìn)行解算。實(shí)現(xiàn)了多點(diǎn)地理位置信息的數(shù)據(jù)融合,進(jìn)而實(shí)現(xiàn)從機(jī)與主機(jī)、從機(jī)與從機(jī)之間相互位置信息關(guān)聯(lián)。
[1]馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2007:198-214.
[2]胡國(guó)軍,劉光明,李世忠,張瑛.GPS數(shù)據(jù)自動(dòng)化下載與處理軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程師.2007,33(02):52-55.
[3]郝代春,胡秀林,尚曉琥,張?zhí)N玉.單片機(jī)控制的GPS信息解調(diào)與顯示系統(tǒng)[J].電子工程師,2001,27(01):5-7.
[4]曹婷婷,高玉.GPS中NMEA-0183協(xié)議的應(yīng)用[J].電子工程師.2006,32(10):8-11.
[5]夏莉英,陳雁.AT89C51單片機(jī)與PC機(jī)的通信接口及編程[J].電子工程師.2006,32(09):52-55.
[6]黃迪明,余勤.C語(yǔ)言程序設(shè)計(jì)教程[M].北京:國(guó)防工業(yè)出版社,2006:77-110.