關(guān)鍵詞:GPS GPS OEM 串口通信
1 概述
GPS(Global Positioning System)全球定位系統(tǒng)是利用美國的24顆GPS地址衛(wèi)星所發(fā)射的信號而建立的導(dǎo)航、定位、授時的系統(tǒng)。美國政府已承諾,在今后相當長的一段時間內(nèi),GPS系統(tǒng)將向全世界免費開放。目前,GPS系統(tǒng)廣泛地應(yīng)用在導(dǎo)航、大地測量、精確授時、車輛定位及防盜等領(lǐng)域。因此,開展對GPS系統(tǒng)的研究和應(yīng)用,將極大地提高生產(chǎn)力,并產(chǎn)生巨大的經(jīng)濟效益。本文旨在通過利用GPS所提供的精確授時的功能,采用單片機技術(shù),設(shè)計適合于需要精確授時的高精度時鐘系統(tǒng)。
GSU-16是日本光電(KODEN)公司生產(chǎn)的并行11通道GPS OEM接收板,由于采用了先進半導(dǎo)體設(shè)計手段,它具有尺寸小、功耗低、性能穩(wěn)定、性價比高等優(yōu)良特性。利用它,可以方便、快速地開發(fā)出各種GPS應(yīng)用系統(tǒng)。其主要性能指標如下:
接收通道——11通道并行接收,可同時跟蹤11顆衛(wèi)星;
授時精度——小于400ns,無累計誤差;
數(shù)據(jù)更新時間——1s;
體積和重量——65mm×35mm,約重40g(含鋰電池);
數(shù)據(jù)輸出格式——NMEA-0183 v2.0;RTCM-sc104 v2.0;
環(huán)境工作溫度——-30~+75℃;
正常工作參數(shù)——電壓5(1±0.05)V;電流100mA;功耗100mW。
2 GSU-16的硬件接口和軟件接口
(1)硬件接口
GSU-16同時提供12腳接口(J3)和5腳接口(J4)。本設(shè)計中采用5鏈接口J4,各引腳的功能如表1所列。
表1
接口編號 | 信號名稱 |
功 能 |
1 | GND | 電源地 |
2 | backup in | 備份電源輸入,3V時消耗2μA |
3 | SD1 | 串行輸出 |
4 | RD1 | 串行輸入 |
5 | +5V | 主供電電源輸入 |
GSU-16的RD1腳為RS232C的通信接口,其邏輯電平為TTL電平。這樣能夠很方便地與各種單片機連接連接,無須電平轉(zhuǎn)換。同時,12腳接口還提供了高精度的秒脈沖輸出,可用于需要更高精度定時服務(wù)的測量系統(tǒng)。在此,我們僅使用其時鐘信息,故只需在其輸出的ASCII數(shù)據(jù)中直接提取即可。
(2)軟件接口
GSU-16的通信波特率為4800,1個起始位,8個數(shù)據(jù)位,1個停止位,無奇偶校驗。通常使用NMEA-0183格式輸出,數(shù)據(jù)代碼為ASCII碼字符。
NMEA-0183是美國海洋電子協(xié)會為海用電子設(shè)備制定的標準格式,目前廣泛使用V2.0版本。由于該格式為ASCII碼字符串,比較直觀和易于處理,在許多高級語言中都可以直接進行判別、分離,以提取用戶所需要的數(shù)據(jù)。
NMEA-0183主要語句中,最常見的幾種格式為:
GPGGA GPS定位數(shù)據(jù)
GPGLL 地址位置和經(jīng)緯度
GPZDA 日期和時間
GPVTG 方位角對地速度
例如,GPZDA為時間和日期輸出語句,其標準格式如下:
又如,$GP GGA為定位導(dǎo)航數(shù)據(jù)輸出語句,其標準格式如下:
在具體使用時,可以在收到一條消息后,用軟件來判別消息引導(dǎo)頭是否為“$GPZDA”或“$GPGGA”來確認收到的消息正確與否,然后從消息中提取世界時,一定要注意將提取到的世界時加上8小時才是北京時間,而且軟件還必須對16:00~24:00世界時作相應(yīng)的處理,以轉(zhuǎn)換為正確的北京日期和時間。
3 應(yīng)用電路和程序設(shè)計
在設(shè)計該時鐘系統(tǒng)時,我們采用的單片機是Motolola公司的MC68HC08的通用芯片MC68HC908GP32。該芯片以它的高性能、低功耗、低價位獲得了廣泛的應(yīng)用,其主要特性為:
①32KB片內(nèi)Flash存儲器,具有在線可編程能力和保密功能;
②512B片內(nèi)RAM;
③增強型串行通信口和串行外圍接口;
④支持C語言。
其接口電路可按圖1設(shè)計,程序流程如圖2所示。
單片機初始化程序樣例如下:
SCBR EQU $0019
SCC1 EQU $0013
SCC2 EQU $0014
SCC3 EQU $0015
SCS1 EQU $0016
SCS2 EQU $0017
SCDR EQU $0018
TEMP EQU $40 ;定義1個字節(jié)的臨時存儲空間
ORG $8000 ;定義程序的起始位置
INIT:LDA#%00100010;初始化開始
STA SCBR ;波特率定義
LDA #%01000000
STA SCC1
LDA #%00001100
STA SCC2
LDA #%00000000
STA SCC3
START:JSR GETDATA ;接收1個字符
STA TEMP ;將其存放臨時空間
CMP #$"$";判是否為“$”符,如不是轉(zhuǎn)START
……
;判是否為GPZDA信息模塊,如不是則轉(zhuǎn)START重新接收
……
;數(shù)據(jù)接收與處理模塊
……
;時鐘驅(qū)動與顯示模塊
……
;返回START重新接收下一組消息
GETDATA:BRCLR 5,SCS1,GETDATA
LDA SCRA
RTS
4 結(jié)論
時間信號的準確與否,直接關(guān)系到人們的日常生活、工業(yè)生產(chǎn)和社會發(fā)展。由于計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)、GPS定位技術(shù)等相關(guān)技術(shù)的發(fā)展和礅,以及GPS OEM板價格的降低,已經(jīng)具備了為各個應(yīng)用領(lǐng)域提供高精度授時的可能性。
GPS精密時鐘主要應(yīng)用于城市重要公共建筑,如車站、碼頭、公園、交通路口、標志建筑等場所和電信行業(yè)的移動及固定電話報時等方面。它是供了準確的公眾時間,為人們的日常生活提供便利,避免了因時鐘不準確而帶來的不便。同時,也為GPS系統(tǒng)的應(yīng)用開拓了一個較好的用途,具廣泛的現(xiàn)實意義。