介紹利用單片機處理GPS定位系統(tǒng)信息的原理方法,給出了系統(tǒng)的硬件電路及軟件流程。
利用GPS(Global Positioning System)全球定位系統(tǒng)而建立的實時導航、定位、授時系統(tǒng)目前已被廣泛應用。本文介紹使用GARMIN公司的GPS25-LVS系列OEM (Original Equipment Manufacturer)接收板及單片機實現(xiàn)實時時間、經緯度等綜合信息顯示的設計方法。
GPS25-LVS系列OEM板采用單一5V供電,內置保護電池,RS232、TTL兩種電平自動輸出NMEA 0183 2.0格式(ASCII字符型)語句,是目前應用最廣泛的GPS接收處理板,能滿足各種導航和授時領域的需求。具有很高的性價比和強有力的市場競爭力,其主要性能特點如下:
·并行12通道,可同時接收12顆衛(wèi)星
·定位時間:重捕<2sec,熱 啟 動為15sec,冷 啟 動45sec,自動搜索90sec
·定位精度:15mRMS/差分時<5m
·可接收實時差分信號用于精確定位,信號格式為RTCM SC-104,波特率自適應。
·1PPS秒脈沖信號輸出,精度指標高達10-6秒
·雙串口(TTL)輸出,波特率可由軟件設置(1200~9600)
·環(huán)境工作溫度: -35°C—+85°C
·尺寸:46.5×69.8×11.4mm
·重量:31g
·輸入電壓:5.0VDC+/-5%
·靈 敏 度:-166Dbw
·后備電源:板置3V鋰電池(10年壽命)
·功耗:1W
·天線接口:50—ohm MCX 接頭有源天線(5V)
·電源/數(shù)據(jù)口:單排12插針
1 控制系統(tǒng)的硬件原理
1.1 GPS25-LVS系列OEM接收板硬件接口
GPS25-LVS系列OEM接收板采用12腳的接口,接口各引腳的功能如圖1所示。設計中使用了串口1或12腳的NMEA輸出,串口1可用于PC機對OEM接收板進行參數(shù)設置,12腳NMEA輸出用于單片機信息處理。
1.2單片機控制系統(tǒng)的硬件電路原理
圖2. 單片機控制系統(tǒng)電路原理圖
單片機采用華邦W78E516B,該芯片具有在系統(tǒng)下載編程功能,修改調試程序十分方便。其主要特性為:
①32KB片內Flash存儲器,具有在線可編程能力和保密功能;
②512B片內RAM;
③增強型串行通信口和串行外圍接口;
④支持C語言。
系統(tǒng)的電路原理如圖2。系統(tǒng)采用12MHZ晶振,串口方式1接收GPS信息,P0口和P2口用于七段共陽LED顯示接口,可以輪流顯示實時時間、緯度、經度及其它GPS信息數(shù)據(jù)。
2 控制系統(tǒng)的軟件設計
2.1 GPS25-LVS的信息輸出格式
GPS25-LVS的通信波特率默認值為4800,1個起始位,8個數(shù)據(jù)位,1個停止位,無奇偶校驗。通常使用NMEA-0183格式輸出,數(shù)據(jù)代碼為ASCII碼字符。NMEA-0183是美國海洋電子協(xié)會為海用電子設備制定的標準格式,目前廣泛使用V2.0版本。由于該格式為ASCII碼字符串,比較直觀和易于處理,在許多高級語言中都可以直接進行判別、分離,以提取用戶所需要的數(shù)據(jù)。GPS25-LVS系列OEM板可輸出12句語句,分別是GPGGA,GPGSA,GPGSV,GPRMC,GPVTG,LCGLL,LCVTG,PGRME,PGRMF,PGRMT,PGRMV,GPGLL。不同的語句中傳送不同的信息,如GPGGA語句中傳送的格式為:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>
傳送的信息說明如下:
$GPGGA: 起始引導符及語句格式說明(本句為GPS定位數(shù)據(jù))
<1> UTC時間,時時分分秒秒格式
<2> 緯度,度度分分.分分分分格式(第一位是零也將傳送)
<3> 緯度半球,N或S(北緯或南緯)
<4> 經度,度度分分.分分分分格式(第一位零也將傳送)
<5> 經度半球,E或W(東經或西經)
<6> GPS質量指示,0=方位無法使用,1=非差分GPS獲得方位,2=差分方式獲得方位(DGPS),6=估計獲得
<7> 使用衛(wèi)星數(shù)量,從00到12(第一個零也將傳送)
<8> 水平精確度,0.5到99.9
<9> 天線離海平面的高度,-9999.9到9999.9米
M 指單位米
<10> 大地水準面高度,-999.9到9999.9米
M 指單位米
<11> 差分GPS數(shù)據(jù)期限(RTCM SC-104),最后設立RTCM傳送的秒數(shù)量(如無DGPS為0)
<12> 差分參考基站標號,從0000到1023(首位0也將傳送。如無DGPS為0)
* 語句結束標志符
hh 從$開始的所有ASCII碼的校驗和
<CR> 此項在GPS25-LVS板中不傳送
<LF> 此項在GPS25-LVS板中不傳送
OEM板輸出的信息可在PC機的超級中端中顯示,也可在GARMIN公司提供的GPSCFG.EXE設置軟件中顯示,如在PC機上看到的實時接收GPGGA語句為:
$GPGGA,114641,3002.3232,N,12206.1157,E,1,03,12.9,53.2,M,11.6,M,,*4A
這是一條GPS定位數(shù)據(jù)信息語句,意思為UTC時間為11時46分41秒,位置在北緯30度2.3232分,東經122度6.1157分,普通GPS定位方式,接收到3顆衛(wèi)星,水平精度12.9米,天線離海平面高度53.2米,所在地離地平面高度11.6米,校驗和為4AH。
2.2 單片機的信息接收處理
在單片機串口收到信息后,先判別是否為語句引導頭“$”,然后再接收信息內容,在收到“*”字符ASCⅡ碼后再接收二個字節(jié)結束接收,然后根據(jù)語句標識區(qū)分出信息類別以對收到ASCⅡ碼進行處理顯示。注意在處理北京時間時應在UTC時間上加上8小時才是準確的北京時,在超出24小時時應作減24小時處理。串口中斷程序的處理流程如下圖3。
圖3. 串口中斷程序流程圖
2.3 GPS接收信息在內存中的分配
表1. 內存內信息地址表
3 結束語
GPS接收OEM板價格的低廉和超小體積板子的大量生產,使得目前市場上手持GPS產品大量涌現(xiàn),為GPS的應用展示了廣闊的前景。
參考資料:
[1] GARMIN Corporation. spec25.pdf
[2]吳廣華,張杏谷.衛(wèi)星導航.北京:人民交通出版社,1998.4