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