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