摘 要:全球定位系統(GPS)的發展給導航領域帶來了一場革命。詳細介紹了一種手持式GPS接收機的設計方案。此方案基于單片機、GPS-OEM板和液晶顯示屏等硬件,并從單片機系統部分和GPS解碼導航電文部分兩個方面討論了方案的軟件設計。經過實踐測試,這種接收機可以達到基本GPS信息接收以及顯示。它可以做到體積小、成本低、可廣泛應用于個人野外旅游探險、出租汽車定位及海上作業等領域。
關鍵詞:GPS;單片機;手持接收機;液晶
中圖分類號:TP228文獻標識碼:B文章編號:1004373X(2008)1906003
Design of Portable GPS Receiver Based on MCU
HU Xiaoli
(Qishan Rainbow Electronic Co.Ltd.,Qishan,722405,China)
Abstract:GPS plays an important role in navigation field,a design scheme of portable GPS receiver is introduced which is based on single chip computer,GPS-OEM and LCD.The software design in single chip computer system and GPS decoding navigation data message is discussed.By practical measurement,the receiver can achive GPS information receive and display.It has small size and low cost,can be used in wild adventure tourism,taxi positioning and operations at sea.
Keywords:GPS;single chip computer;portable receiver;LCD
1 引 言
導航衛星定時測距全球定位系統(Navigation Satellite Timing and Ranging Global Position System,GPS)是美國第二代衛星導航系統。它在1973年底由美國陸海空三軍等單位協調分工提出的能取代舊式的導航設備,為軍用艦船、飛機、車輛等用戶提供全球、全天候、連續實時服務的高精度三維導航系統。
系統由空間部分、地面監控部分和地面接收機部分組成。定位服務包括精密定位服務(PPS)和標準定位服務(SPS)。PPS 授權的精密定位系統用戶需要密碼設備和特殊的接收機。SPS 對于普通民用用戶,供全世界用戶免費、無限制地使用。
2 GPS原理
GPS系統是利用電磁波的傳播時間來定位的。在一個空間坐標系中,設3顆衛星在相同的時刻發射電磁波,電磁波以衛星為球心,向空間球形輻射。如果用戶能計算出每一顆衛星發射的電磁波到達用戶的傳播時間,記為t1,t2,t3,經過電磁波傳播計算以及中間修正等步驟,可以得到三顆衛星到目標P點的距離,設為ρ1,ρ2,ρ3,通過導航電文解譯出該時刻三顆GPS衛星的三維坐標分別為(xj,yj,zj)(j=1,2,3),用距離交匯的方法求解P點的三維坐標(x,y,z)的觀測方程為:
ρ2j=(x-xj)2+(y-yj)2+(z-zj)2
(j=1,2,3)(1)
實際上,衛星的時鐘和接收機的時鐘均不可避免地存在著誤差。在應用中,衛星的時鐘差包含在導航電文中,而接收機的時鐘差未知,將此也作為一個求解量并入式(1)中,需要增加一個方程,這也就是為什么GPS定位需要接收多余四顆衛星的原因[1]。
3 系統設計
3.1 硬件設計
3.1.1 GPS-OEM板
在接收GPS導航信號時,我們選用GPS-OEM板。GPS-OEM板是將GPS接收機的主要部件做成大規模集成電路片,并集成在一塊電路板上。如圖1所示。這個電路板具有接收GPS信號、處理信號、輸出觀測信號和定位結果等功能。利用OEM板進行二次硬件開發可研制成各種應用的GPS接收機。
TFAG-30是臺灣飛鷹航太公司生產的一款GPS接收模塊,該模塊體積小,重量輕,封裝在一個方形金屬殼內,有天線插孔與接收天線相連,用戶可以使用一根串行線完成數據接收工作。有兩個標準的RS 232串行接口,輸出電平3.3 V,數據輸出速率4 800 b/s,非常適合作嵌入式產品。

3.1.2 單片機系統
方案中采用Atmel公司的AT89S52 ,圖2為其單片機總線結構。 AT89S52是一種帶8 kB閃速可編程可擦除制度存儲器(PEROM),低電壓,高性能的CMOS微控制器。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的89S52是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案[2]。

3.1.3 串口通信和液晶控制
在該方案中,我們采用MAX232芯片連接GPS-OEM板,接收的導航電文解碼后,將需要的信息顯示在液晶屏幕上。圖3和圖4分別是串口通訊電路和液晶顯示控制器模塊。
3.2 軟件設計
軟件部分可分為2個部分:單片機系統部分和GPS解碼導航電文部分。系統部分功能包括了:整機初始化,硬件部分的自檢,鍵盤掃描及操作,畫面的設計與顯示實現,完成要求功能所需的各種庫文件和庫函數,如所需的字庫、圖標庫等。解碼部分用來從導航電文中獲得我們需要的信息。

GPS-OEM板串行輸出格式采用美國國家海洋電子協會制定的NMEA-0183通信標準格式。其輸出數據采用的是ASCII碼,內容包含了緯度、經度、高度、速度、日期、時間、航向以及衛星狀況等信息,常用語句有6 種,包括GGA,GLL,GSA,GSV,RMC和VTG。
系統只關心其時間、經緯度、海拔高度、地面速度信息以及衛星使用數信息,因而可只選用GGA。
一條GGA 語句包括17個字段:語句標識頭,世界時間,緯度,緯度半球,經度,經度半球,定位質量指示,使用衛星數量,水平精確度,海拔高度,高度單位,大地水準面高度,300高度單位,差分GPS數據期限,差分參考基站標號,校驗和結束標記(用回車符
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
$GPGGA:起始引導符及語句格式說明(本句為GPS定位數據);
<1> UTC時間,格式為hh.mm.ss.sss;
<2> 緯度,格式為ddmm.mmmm(第一位是零也將傳送);
<3> 緯度半球,N或S(北緯或南緯);
<4> 經度,格式為dddmm.mmmm(第一位零也將傳送);
<5> 經度半球,E或W(東經或西經)。
以上只列出了系統關心的一些參數[4]。根據以上格式,可以采用軟件解碼,從中提取出所需要的信息,具體流程如圖5所示。

3.3 結 論
以上我們設計了一種基于單片機嵌入式的手持GPS接收器的實現方案,經過實踐測試,這種接收機可以達到基本GPS信息接收以及顯示。它可以做到體積小、成本低、可廣泛應用于個人野外旅游探險、出租汽車定位及海上作業等領域。
4 結 語
由于GPS具有全球覆蓋以及精度高、定位速度快、實時性好、抗干擾能力強等特點,近年來在國內外得到廣泛的應用,在各個領域發揮了極大的作用,已成為信息時代不可缺少的一部分。各種GPS民用產品的開發,已是經濟和社會發展的必然要求,其前景將會非常廣闊和光明,尤其是在我國,通過這些年來對它認識的不斷加深,我國的GPS開發應用也一定會以科技力量推動經濟和社會發展的一顆巨星,對我國的經濟和社會的發展產生重大的影響。
參考文獻
[1]李明峰,馮寶紅,劉三枝.GPS定位技術及其應用[M].北京:國防工業出版社,2006.
[2]沙占友,孟志永,王彥朋.單片機及外圍電路陸設計[M].北京:電子工業出版社,2006.
[3]周寶林,林知明,李中奇.基于單片機的GPS手持設備的研制[J].華東交通大學學報,2005,22(4):55-59.
[4]段修生,王志強,孫書鷹.GPS數據的獲取與傳輸技術[J].武漢大學學報:工學版,2003,36(Z1):199-201.
[5]石劍民,崔建國.手持式GPS接收機的設計[J].沈陽航空工業學院學報,2005,22(2):55-57.
[6]程炳華.一種高靈敏度GPS接收機的設計[J].現代電子技術,2006,29(8):103-104,107.
[7]李立早.基于MSComm控件的GPS接收機數據終端接口設計[J].現代電子技術,2006,29(20):97-98.
[8]肖飛,羅斌鳳.GPS接收機射頻模塊的設計[J].現代電子技術,2006,29(12):120-121,125.
[9]黃凌.基于單片機的GPS信息處理系統[J].現代電子技術,2007,30(21):60-61,75.
[10]周航慈.單片機程序設計基礎[M].北京:北京航空航天大學出版社,2003.