吳瑞坤 賴儒華
(福建師范大學(xué)福清分校電子與信息工程系,福州 350300)
全球定位系統(tǒng)是由美國國防部研制并維護的系統(tǒng),衛(wèi)星系統(tǒng)位于地球中距離的圓形軌道上,能為地球表面靜止的物體提供準確的定位信息,也能為運動的物體進行定位和速度測量,還能提供精確的時間標準等,目前,民用的GPS定位服務(wù)無須授權(quán),且定位精度可達10 m左右。由于它具有功能多、精度高,在不良氣候條件下信號仍很穩(wěn)定等特點,已逐漸代替無線電導(dǎo)航、天文導(dǎo)航等傳統(tǒng)導(dǎo)航技術(shù),成為一種普遍適用的導(dǎo)航定位技術(shù)?;诙ㄎ幌到y(tǒng)的強大功能,本文設(shè)計一種單片機處理的GPS定位系統(tǒng),它由GPS接收電路、單片機控制電路和液晶顯示電路等組成,經(jīng)過實驗測量,該系統(tǒng)具有良好的定位性能。
全球定位系統(tǒng)框圖如圖1所示,由單片機、GPS接收模塊、液晶顯示和外接電源組成。系統(tǒng)選用SCT公司C52系列單片機AT89C52作為主控芯片,GPS模塊采用SIRF三代的芯片,支持NAEA 0183 GPS協(xié)議,可以同時追蹤12個衛(wèi)星信道。
由GPS接收器接收到數(shù)據(jù),通過串行通訊的方式,輸入并緩存至單片機的可讀寫存儲器RAM中,再通過并口輸出到液晶屏顯示。使用2個硬件接口電路,用來連接GPS接收模塊和液晶屏幕,單片機的讀操作和信號識別翻譯都用C語言程序來完成。
圖1 全球定位系統(tǒng)框圖
接收機的任務(wù)是對所跟蹤衛(wèi)星信號進行處理和量測。接收機工作時,會不斷將接收到的GPS導(dǎo)航信息通過信號傳輸接口送出并存儲到緩存器中,信息本身是一串?dāng)?shù)據(jù)與字符,必須通過處理程序把需要的信息從這些數(shù)據(jù)中提取出來,并轉(zhuǎn)化成直觀的數(shù)據(jù),供用戶使用[1]。GPS接收電路為 RoyalTek REB-3571LP3E,它具有并行12通道,最多可同時接收12顆衛(wèi)星,重新連接衛(wèi)星時間小于2 s,熱啟動時間為24 s,自動搜索時間為10 s等特點,因采用SIRF3定位芯片,最小定位精度可達1 m。
控制及顯示電路如圖2所示,主控電路由C52系列單片機AT89C52及其簡單的外圍電路組成,通過P30/RxD引腳接收來自GPS模塊第二腳即TX口的輸出信號,經(jīng)過單片機的程序解碼后,再將信號通過單片機P0口輸出,作用于液晶顯示器12864LCD,將GPS信息轉(zhuǎn)換為中文可讀的數(shù)據(jù)顯示出來。
圖2 控制及顯示電路
單片機 P1口的 P10、P11、P12引腳分別連接LCD的模塊的4、5和6引腳,用于控制LCD寄存器選擇、LCD讀寫控制和LCD的使能控制。設(shè)計電路中采用并行通訊模式,所以,LCD的第15管腳接單片機的P35,由P35腳輸出高電平控制液晶屏幕采用并行通訊的模式進行工作。
單片機P2口的P25,P26,P27引腳用作GPS工作狀態(tài)指示。P25引腳所接的發(fā)光二極管,當(dāng)P30口接受數(shù)據(jù)時開始周期閃爍,表明GPS模塊開始工作;P26引腳的發(fā)光二極管,當(dāng)GPRMC數(shù)據(jù)有效時亮,GPRMC無信號時滅;P27所接的發(fā)光二極管,當(dāng)GPGGA數(shù)據(jù)有效時亮,GPGGA無信號時滅。
系統(tǒng)程序包含主程序和接收子程序。它們的流程圖分別見圖3和圖4。
單片機工作時,先設(shè)置波特率,對LCD進行初始化,并且開放中斷。當(dāng)接收到正確的GPS信息時,將其存入單片機的RAM中,等待微控制器工作,在LCD空閑時把所要顯示的數(shù)據(jù)于LCD上顯示。在設(shè)計中,選擇的工作方式為模式1。電路晶振頻率為11.059 2 MHz,波特率為4 800,則設(shè)置波特率初始值為 0XFFFA[2]。
GPS的日期、時間、經(jīng)緯度、衛(wèi)星數(shù)、定位精度等信號含在NEMA語句的GPRMC和GPGGA子語句中,當(dāng)GPS秒脈沖同步信號上升沿到來時引發(fā)的INT0中斷,在其中斷服務(wù)程序中將GPRMC和GPGGA子語句讀入,并將日期、時間、經(jīng)緯度、衛(wèi)星數(shù)、定位精度等信息轉(zhuǎn)換成十進制形式先存入單片機內(nèi)部RAM中,再輸出到LCD顯示。
圖3 全球定位系統(tǒng)主程序流程圖
圖4 全球定位系統(tǒng)接收子程序流程圖
由于GPS幀信號支持TTL電平,可通過USB單片機寫入工具模擬串口,在計算機上通過軟件讀取GPS輸出的幀信號,便于檢測分析。其中GPS幀信息如圖5所示,接收到的衛(wèi)星信號強度及位置如圖6及圖7所示。
圖5 GPS幀信息
圖6 衛(wèi)星信號強度
圖7 衛(wèi)星位置
對GPS進行信息提取必須先明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對各定位信息的提取。對于本設(shè)計中采用到的GPS接收模塊,需要解析的數(shù)據(jù)可以直接從幀信息中得到。
表示接收到的衛(wèi)星信號的衛(wèi)星所在的位置,以平面經(jīng)緯度表示。
選取某大學(xué)校園內(nèi)5個地點,與手機GPS測試數(shù)據(jù)對比。某學(xué)校信號采集點示意圖見圖8,平面圖資料取自谷歌地圖。
采集信號的地點分別是:①學(xué)校北大門;②學(xué)校網(wǎng)球場;③學(xué)校教學(xué)樓;④學(xué)生宿舍樓;⑤燈光籃球場。測量結(jié)果如表1所示。
圖8 某學(xué)校信號采集點示意圖
表1 實地測試結(jié)果
當(dāng)系統(tǒng)初始化完畢,信號指示燈開始按周期亮滅,2號燈和3號燈開始亮,表示系統(tǒng)正常工作,接收到GPRMC和GPGGA信號,開始解析輸出。系統(tǒng)采集到的GPS衛(wèi)星時間日期均與手機標準時間符合,證明時間日期的接收解析程序正確。設(shè)計中顯示的GPS經(jīng)緯度數(shù)據(jù)與手機GPS定位的基本吻合,只是因為液晶屏幕的數(shù)字顯示部分位數(shù)限制,導(dǎo)致經(jīng)緯度秒的部分只能顯示秒的整數(shù)部分。例如在燈光籃球場5號位置手機定位數(shù)據(jù)顯示是東經(jīng)119°22'29.662″北緯 25°42'25.998″,而 GPS 定位系統(tǒng)上面只能顯示東經(jīng) 119°22'29″北緯 25°42'25″。分析可見,基于單片機的GPS定位電路在測量時準確度較高,關(guān)于經(jīng)緯度秒的小數(shù)部分的顯示可以通過算法修改來實現(xiàn)。GPS定位電路上面顯示的連接的衛(wèi)星數(shù)跟精確度大體呈正比關(guān)系,符合預(yù)期的結(jié)果。
當(dāng)解析GPGGA信號時,發(fā)現(xiàn)在海拔顯示方面不是很準確,不論是手機GPS上面的數(shù)據(jù)還是設(shè)計中的手持式GPS定位系統(tǒng),都在一個范圍內(nèi)跳變,比較難以獲得一個精確的數(shù)值。經(jīng)過分析,GPS測量海拔高度需要一個比較精密的過程,普通的GPS芯片比較難以獲得一個準確的數(shù)值,只能大體上獲得一個范圍。所以,測量得到的海拔高度只能作為一個參考,如果要得到一個精確的海拔數(shù)據(jù)還需要一個更復(fù)雜的系統(tǒng)及更高端的芯片。
總之,本設(shè)計采用STC89C52與液晶顯示模塊、GPS接收機等硬件電路,加載設(shè)計的應(yīng)用程序,實現(xiàn)了具有基本導(dǎo)航定位功能的低成本的手持GPS設(shè)備。經(jīng)過實際測試,電路工作正常,能實時顯示文本形式的GPS經(jīng)緯度、當(dāng)前時間日期、接收衛(wèi)星數(shù)、海拔和定位精度等。
[1]袁雪松.基于GPS的三維因特網(wǎng)超文本信息系統(tǒng)的研究[J].大慶師范大學(xué)學(xué)報,2005(4):74-78.
[2]周寶林,林知明,李中奇.基于單片機的GPS手持設(shè)備的研制[J].華東交通大學(xué)學(xué)報,2005(4):56-59.