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