基于GPS的授時(shí)服務(wù)器的設(shè)計(jì)
在系統(tǒng)中, 使用HTM4002A的點(diǎn)陣圖形液晶模塊,該模塊使用S6A0069控制驅(qū)動(dòng)器,內(nèi)置國(guó)標(biāo)一、二級(jí)字庫(kù),該液晶模塊不僅顯示字符、漢字,而且也可以顯示連續(xù)、完整的圖形。 該模塊使用單電源5V供電,無(wú)需負(fù)壓。
3.5 邏輯電路及輸出
邏輯電路主要由CPLD來(lái)實(shí)現(xiàn),采用了Altera的 MAX 7000S系列的EPM-7128,基于電可擦除可編程只讀存儲(chǔ)器(EEPROM)的MAX7000產(chǎn)品采用先進(jìn)的CMOS工藝制造,提供從32到512個(gè)宏單元的密度范圍,速度達(dá)3.5 ns的管腳到管腳延遲。支持在系統(tǒng)可編程能力(ISP),可以在現(xiàn)場(chǎng)輕松進(jìn)行重配置。
EPM-7128產(chǎn)生本地秒脈沖,它在有GPS秒脈沖時(shí)不起作用,在失去GPS信號(hào)時(shí)代替GPS給單片機(jī)提供秒脈沖輸出。如圖2所示,信號(hào)1即為本地秒脈沖,它是依據(jù)前1S的1PPS信號(hào)上升沿為起始時(shí)刻,定時(shí)1S得到的,同時(shí)為了在一定誤差情況下使自產(chǎn)生的脈沖不至于覆蓋正常工作時(shí)的GPS秒脈沖,所以加了一段延時(shí)△t,而在檢測(cè)到失去GPS信號(hào)時(shí),就要去掉△t,以代替GPS秒脈沖。信號(hào)2為EPM-7128輸出的一個(gè)窄脈沖信號(hào),用來(lái)屏蔽脈沖干擾,它分布在GPS秒脈沖上升沿兩側(cè),與GPS秒脈沖進(jìn)行與操作。在窄脈沖之外的脈沖干擾就會(huì)被屏蔽。這樣就實(shí)現(xiàn)了防止GPS信號(hào)失效和抗干擾脈沖功能。
輸出模塊包括MAX232、DS90C031、74HC245等多種芯片,它們將EPM-7128的輸出轉(zhuǎn)換為232、差分及TTL等多種電氣特性的秒脈沖信號(hào)的輸出,為各種應(yīng)用提供便捷的解決方案。
4 軟件設(shè)計(jì)
本系統(tǒng)采用C51編程[2]實(shí)現(xiàn),主程序流程見(jiàn)圖3.首先初始化,OEM板輸出的數(shù)據(jù)是以數(shù)據(jù)流的形式輸出,采集的起始時(shí)刻未必是一幀數(shù)據(jù)的開(kāi)始時(shí)刻,所以在數(shù)據(jù)采集時(shí),必須先判斷字頭塊,在接收到字頭塊后,開(kāi)始采集數(shù)據(jù)。設(shè)定單片機(jī)的波特率為4800bit/s,使其與GPS OEM 板的傳輸波特率一致。給OEM 板發(fā)送一條指令,使其發(fā)送的0183 數(shù)據(jù)格式為“$GPGGA”,該指令預(yù)先存在數(shù)據(jù)存儲(chǔ)器里,用循環(huán)方式順次從程序存儲(chǔ)器里取出數(shù)據(jù)就可循環(huán)發(fā)送,然后OEM 板將輸出相應(yīng)格式的數(shù)據(jù)。單片機(jī)對(duì)接收的信息進(jìn)行判斷,由于接收到的時(shí)間是協(xié)調(diào)世界時(shí)(UTC),因此在此時(shí)間上加上8小時(shí)才是準(zhǔn)確的北京時(shí)間,并對(duì)時(shí)間信息做相應(yīng)的處理,然后進(jìn)行顯示。
5 結(jié)論
本文采用的GPS OEM 板的串口輸出的協(xié)調(diào)世界時(shí)進(jìn)行授時(shí),其操作簡(jiǎn)便,實(shí)用性強(qiáng),并且提供了豐富的秒脈沖接口,能滿足大多數(shù)用戶的要求。在GPS信號(hào)正常時(shí)具有較高的精度,授時(shí)系統(tǒng)經(jīng)實(shí)驗(yàn)室測(cè)試,誤差小于100ns,結(jié)果較為滿意。在GPS信號(hào)失效時(shí)也能保證相當(dāng)?shù)木_性,但其精度和穩(wěn)定度與恒溫晶振的頻率精度和穩(wěn)定度有直接的關(guān)系,如果CPLD采用精度更高的時(shí)鐘信號(hào),結(jié)果將會(huì)更為理想。
評(píng)論