本發(fā)明涉及到網(wǎng)絡(luò)測(cè)量中的時(shí)間同步技術(shù),具體涉及到一種網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法及裝置。
背景技術(shù):
在無線通信系統(tǒng)的發(fā)展過程中,對(duì)網(wǎng)絡(luò)的規(guī)劃,測(cè)量環(huán)節(jié)必不可少,然而,在這些環(huán)節(jié)中的測(cè)量設(shè)備與本地設(shè)備的時(shí)間同步問題一直是一個(gè)極具挑戰(zhàn)性的問題,設(shè)備秒計(jì)數(shù)周期和標(biāo)準(zhǔn)秒計(jì)數(shù)周期的差別等細(xì)微因素都會(huì)導(dǎo)致時(shí)間的不同步。時(shí)間不同步問題也直接導(dǎo)致網(wǎng)絡(luò)規(guī)劃、測(cè)量中參數(shù)的重大失誤,如時(shí)間提前量參數(shù),周期下行導(dǎo)頻測(cè)量參數(shù),隨機(jī)接入相關(guān)參數(shù)等,這些失誤的參數(shù)也由此失去了分析的意義。
現(xiàn)有技術(shù)網(wǎng)絡(luò)測(cè)量設(shè)備與本地設(shè)備的時(shí)間同步大多采用以下兩種方法:一是采用網(wǎng)絡(luò)時(shí)間服務(wù)器進(jìn)行同步,傳輸控制協(xié)議/網(wǎng)際協(xié)議TCP/IP中有專門用于校時(shí)的網(wǎng)絡(luò)時(shí)間協(xié)議/簡單網(wǎng)絡(luò)時(shí)間協(xié)議NTP/SNTP,這兩種協(xié)議能提供時(shí)間補(bǔ)償,減少網(wǎng)絡(luò)延時(shí)帶來的時(shí)間延時(shí)。但是,此方法誤差高達(dá)毫秒級(jí),在精度要求較高的場(chǎng)合不宜采用。二是通過全球定位系統(tǒng)GPS進(jìn)行時(shí)間同步,衛(wèi)星導(dǎo)航定位系統(tǒng)可提供高精度、全天候的授時(shí)服務(wù),具有GPS功能的設(shè)備可接收GPS上的時(shí)間信號(hào)。GPS時(shí)鐘是一種基于GPS高精度定位授時(shí)模塊開發(fā)的基礎(chǔ)型授時(shí)應(yīng)用產(chǎn)品,產(chǎn)品能夠按照用戶需求輸出符合規(guī)約的時(shí)間信息格式,從而完成同步授時(shí)服務(wù)。但是,GPS時(shí)鐘雖然精度高,但它僅能準(zhǔn)確的表示1秒的開始時(shí)刻(通常稱為秒頭),在兩個(gè)秒頭之間則需要依靠設(shè)備本地時(shí)鐘來進(jìn)行保持。通常本地時(shí)鐘的精度在10ppm到50ppm之間,這必然導(dǎo)致在兩個(gè)秒頭之間的時(shí)間存在誤差。其次,在將本地時(shí)間作為高速率數(shù)據(jù)采集設(shè)備的數(shù)據(jù)時(shí)間標(biāo)簽使用時(shí),時(shí)間精度要做到微秒,且不允許出現(xiàn)時(shí)間倒流的情況。顯然,現(xiàn)有技術(shù)網(wǎng)絡(luò)測(cè)量設(shè)備與本地設(shè)備的時(shí)間同步方法存在著誤差較高,或者對(duì)本地時(shí)鐘的精度和要求較高等問題。
技術(shù)實(shí)現(xiàn)要素:
為解決現(xiàn)有技術(shù)網(wǎng)絡(luò)測(cè)量設(shè)備與本地設(shè)備的時(shí)間同步方法存在的誤差較高,或者對(duì)本地時(shí)鐘的精度和要求較高等問題,本發(fā)明提出一種網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法及裝置。
本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法,以基于全球定位系統(tǒng)的GPS時(shí)鐘作為配置時(shí)間,根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作;在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正;所述時(shí)間同步操作是指采用同步使能信號(hào)控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器工作并以該同步使能信號(hào)對(duì)應(yīng)的時(shí)鐘頻率進(jìn)行計(jì)數(shù),使得本地時(shí)間與GPS配置時(shí)間同步;所述對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正是指采用修正使能信號(hào)得到同步使能信號(hào),從而控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器以該同步使能信號(hào)的時(shí)鐘頻率進(jìn)行計(jì)數(shù),使得本地時(shí)鐘秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期同步;其中,所述同步使能信號(hào)是指當(dāng)該同步使能信號(hào)有效時(shí)計(jì)數(shù)器工作并以該同步使能信號(hào)對(duì)應(yīng)時(shí)鐘頻率進(jìn)行計(jì)數(shù),該同步使能信號(hào)無效時(shí)計(jì)數(shù)器不工作;所述修正使能信號(hào)是指對(duì)本地時(shí)鐘的時(shí)鐘頻率進(jìn)行修正后得到的具有經(jīng)過修正后的時(shí)鐘頻率的信號(hào)。
進(jìn)一步的,所述本地時(shí)鐘的時(shí)鐘頻率為100MHZ;所述本地時(shí)間秒計(jì)數(shù)周期是指本地時(shí)鐘對(duì)100×106個(gè)脈沖計(jì)數(shù)實(shí)際所需的時(shí)間;所述本地時(shí)鐘的秒計(jì)數(shù)周期誤差是指本地時(shí)間秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期的差值。
進(jìn)一步的,所述根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作,包括,在配置開始時(shí),即在每一個(gè)GPS_1PPS秒脈沖上升沿時(shí)刻,計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n,判斷本地時(shí)間與GPS配置時(shí)間的超前或滯后關(guān)系,即判斷下式中n與0的大小關(guān)系:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n的單位為微秒;
如果n大于0表示本地時(shí)間超前GPS配置時(shí)間,采用慢速跟進(jìn)來等待配置時(shí)間,防止本地時(shí)間出現(xiàn)時(shí)間倒退現(xiàn)象;如果n小于0表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)鐘,以達(dá)到時(shí)間同步;如果n等于0表示本地時(shí)間準(zhǔn)確,不采取任何操作。
進(jìn)一步的,所述采用慢速跟進(jìn)來等待配置時(shí)間,包括,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);其中,n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒。
進(jìn)一步的,在計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n的過程中,采用20bit有符號(hào)減法器、32bit有符號(hào)減法器、乘法器和加法器進(jìn)行計(jì)算;其中,
20bit有符號(hào)減法器的輸入為本地時(shí)間微秒計(jì)數(shù)Us_cnt和GPS配置時(shí)間微秒計(jì)數(shù)Cfg_us兩個(gè)20bit的無符號(hào)數(shù),將本地時(shí)間微秒計(jì)數(shù)減去GPS配置時(shí)間微秒計(jì)數(shù),輸出為21bit的有符號(hào)數(shù),由此完成微秒的差值處理;
32bit有符號(hào)減法器的輸入為本地時(shí)間秒計(jì)數(shù)Sec_cnt和GPS配置時(shí)間秒計(jì)數(shù)Cfg_sec兩個(gè)32bit的無符號(hào)數(shù),將本地時(shí)間秒計(jì)數(shù)減去GPS配置時(shí)間秒計(jì)數(shù),輸出為33bit的有符號(hào)數(shù);由此完成秒的差值處理;其中,在32bit有符號(hào)減法器輸出正值時(shí),若結(jié)果大于32767,進(jìn)行上限調(diào)節(jié),將偏差值強(qiáng)制置為32767,否則,取其結(jié)果的低16bit使用;若輸出負(fù)值時(shí),當(dāng)結(jié)果小于-255,進(jìn)行上限調(diào)節(jié),將偏差值強(qiáng)制置為-255;否則,取其結(jié)果的低16bit使用;
乘法器輸入為上限調(diào)節(jié)后輸出的16bit有符號(hào)數(shù),輸出為37bit有符號(hào)數(shù);將上限調(diào)節(jié)單元輸出的值乘以1000000后輸出;
加法器輸入為乘法器輸出的37bit有符號(hào)數(shù)和20bit有符號(hào)減法器輸出的21bit有符號(hào)數(shù),輸出為38bit有符號(hào)數(shù);將微秒差和秒差相加,即得到輸出本地時(shí)間與GPS配置時(shí)間的偏差值n。
進(jìn)一步的,所述將GPS配置時(shí)間寫入本地時(shí)鐘,包括,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)鐘的秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù)。
進(jìn)一步的,所述在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括,在GPS配置秒信號(hào)GPS_1PPS與本地時(shí)鐘秒信號(hào)同步時(shí),對(duì)本地時(shí)鐘在一個(gè)GPS時(shí)鐘秒計(jì)數(shù)周期內(nèi)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;將100MHZ時(shí)鐘標(biāo)準(zhǔn)脈沖個(gè)數(shù)100×106與Cnt_1相減得到脈沖個(gè)數(shù)誤差值dfl,即dfl=100×106-Cnt_1;將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差修正的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);并且,在一個(gè)GPS時(shí)鐘標(biāo)準(zhǔn)秒周期內(nèi)需要修正的次數(shù)為Cnt_1/Perr;
如果Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正;即從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率11.11MHZ的修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
如果Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正,即從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率9.09MHZ修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
并且,在以后每次GPS配置秒信號(hào)GPS_1PPS與本地時(shí)鐘秒信號(hào)同步時(shí),均采用上述方法對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正。
進(jìn)一步的,所述以基于全球定位系統(tǒng)的GPS時(shí)鐘作為配置時(shí)間,根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作,包括以下步驟:
S101、以全球定位系統(tǒng)GPS時(shí)鐘作為配置時(shí)間,配置開始時(shí),即在GPS_1PPS秒脈沖上升沿時(shí)刻開始計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n,判斷本地時(shí)間與GPS配置時(shí)間的超前或滯后關(guān)系,即判斷下式中n與0的大小關(guān)系:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;其中,所述本地時(shí)鐘的時(shí)鐘頻率為100MHZ;
S102、判斷n>0?是則,表示本地時(shí)間超前GPS配置時(shí)間,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步完成;其中,n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù);否則,順序執(zhí)行步驟S103;
S103、判斷n<0?是則,表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)間,即從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)鐘的秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步完成;否則,順序執(zhí)行步驟S104;
S104、表示本地時(shí)間準(zhǔn)確,不采取任何操作,同步完成;
S105、在整個(gè)測(cè)量過程中,重復(fù)執(zhí)行步驟S101至S104;直至測(cè)量過程結(jié)束。
進(jìn)一步的,所述在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括以下步驟:
S201、在GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)同步時(shí),對(duì)本地時(shí)鐘在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;將100MHZ時(shí)鐘秒周期內(nèi)的脈沖個(gè)數(shù)100×106與Cnt_1相減得到誤差值dfl,即dfl=100×106-Cnt_1;將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差調(diào)整的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);其中,所述本地時(shí)間秒計(jì)數(shù)周期是指本地時(shí)鐘對(duì)100×106個(gè)脈沖計(jì)數(shù)實(shí)際所需的時(shí)間;所述本地時(shí)鐘的秒計(jì)數(shù)周期誤差是指本地時(shí)間秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期的差值;
S202、每經(jīng)過一個(gè)修正周期Perr,對(duì)Dadj值的正負(fù)進(jìn)行判斷,如果Dadj為正值,執(zhí)行步驟S203,否則,跳轉(zhuǎn)執(zhí)行步驟S204;
S203、Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率為11.11MHZ的修正使能信號(hào)Cen10M,跳轉(zhuǎn)執(zhí)行步驟S205;
S204、Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率為9.09MHZ的修正使能信號(hào)Cen10M;
S205、維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,對(duì)100MHZ時(shí)鐘恢復(fù)為默認(rèn)10分頻,修正使能信號(hào)Cen10M恢復(fù)時(shí)鐘頻率10MHZ;
S206、判斷GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)是否再次同步;是則,返回并順序執(zhí)行步驟S201至S205;否則,返回并順序執(zhí)行步驟S202至S205;
S207、在整個(gè)測(cè)量過程中,重復(fù)執(zhí)行步驟S201至S206;直至測(cè)量過程結(jié)束。
本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步裝置,該同步裝置單獨(dú)設(shè)置且通過接口與網(wǎng)絡(luò)測(cè)量設(shè)備配套使用,或者直接設(shè)置在網(wǎng)絡(luò)測(cè)量設(shè)備中;采用FPGA模塊作為硬件支撐,包括,在FPGA模塊上設(shè)置有GPS時(shí)間秒配置模塊、本地Cen10M時(shí)鐘修正模塊、同步使能信號(hào)產(chǎn)生模塊、差值計(jì)算模塊和配置模式控制模塊;其中,
所述GPS時(shí)間秒配置模塊用于將GPS時(shí)鐘轉(zhuǎn)化為秒單位,并在GPS_1PPS秒脈沖上升沿時(shí)刻發(fā)出配置信號(hào);
所述本地Cen10M時(shí)鐘修正模塊用于對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括9/10/11分頻器、誤差計(jì)數(shù)器、秒周期修正計(jì)數(shù)器、減法器和除法器,其中,
所述9/10/11分頻器用于產(chǎn)生修正使能信號(hào)Cen10M且默認(rèn)選擇10分頻,即修正使能信號(hào)Cen10M默認(rèn)時(shí)鐘頻率為10MHZ,若選擇9分頻或11分頻,則修正使能信號(hào)Cen10M的時(shí)鐘頻率分別為11.11MHZ或9.09MHZ;
誤差計(jì)數(shù)器在GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)同步時(shí)對(duì)本地時(shí)鐘在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;
減法器將100MHZ時(shí)鐘秒周期內(nèi)的脈沖個(gè)數(shù)100×106與Cnt_1相減得到誤差值dfl,即dfl=100×106-Cnt_1;
除法器將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差修正的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);
秒周期修正計(jì)數(shù)器每經(jīng)過一個(gè)修正周期Perr計(jì)數(shù)一次,每次計(jì)數(shù)時(shí)對(duì)Dadj值的正負(fù)進(jìn)行判斷:其中,
如果Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正;即從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率11.11MHZ的修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
如果Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正,即從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率9.09MHZ修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
其中,修正周期Perr以100MHZ時(shí)鐘信號(hào)為基準(zhǔn)計(jì)數(shù),在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)需要修正的次數(shù)為Cnt_1/Perr;所述n為本地時(shí)間與GPS配置時(shí)間的偏差值;
所述差值計(jì)算模塊用于計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值,包括20bit有符號(hào)減法器,32bit有符號(hào)減法器、加法器、乘法器和上限調(diào)節(jié)單元;采用下式計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n的單位為微秒;然后根據(jù)n與0的大小關(guān)系進(jìn)行配置模式控制,完成時(shí)間同步操作;其中,
20bit有符號(hào)減法器:輸入為本地時(shí)間微秒計(jì)數(shù)Us_cnt和GPS配置時(shí)間微秒計(jì)數(shù)Cfg_us兩個(gè)20bit的無符號(hào)數(shù),將本地時(shí)間微秒計(jì)數(shù)減去GPS配置時(shí)間微秒計(jì)數(shù),輸出為21bit的有符號(hào)數(shù),由此完成微秒的差值處理;
32bit有符號(hào)減法器:輸入為本地時(shí)間秒計(jì)數(shù)Sec_cnt和GPS配置時(shí)間秒計(jì)數(shù)Cfg_sec兩個(gè)32bit的無符號(hào)數(shù),將本地時(shí)間秒計(jì)數(shù)減去GPS配置時(shí)間秒計(jì)數(shù),輸出為33bit的有符號(hào)數(shù)。由此完成秒的差值處理;
上限調(diào)節(jié)單元:在32bit有符號(hào)減法器輸出正值時(shí),若結(jié)果大于32767,則將偏差值強(qiáng)制置為32767,否則,取其結(jié)果的低16bit使用;若輸出負(fù)值時(shí),當(dāng)結(jié)果小于-255,將偏差值強(qiáng)制置為-255;否則,取其結(jié)果的低16bit使用;
乘法器:輸入為上限調(diào)節(jié)單元輸出的16bit有符號(hào)數(shù),輸出為37bit有符號(hào)數(shù);將上限調(diào)節(jié)單元輸出的值乘以1000000后輸出;
加法器:輸入為乘法器輸出的37bit有符號(hào)數(shù)和20bit有符號(hào)減法器輸出的21bit有符號(hào)數(shù),輸出為38bit有符號(hào)數(shù);將微秒差和秒差相加,得到輸出本地時(shí)間與GPS配置時(shí)間的偏差值n;
所述使能信號(hào)產(chǎn)生模塊用于得到同步使能信號(hào)Cen1M,包括用于產(chǎn)生同步使能信號(hào)Cen1M的10/11分頻器,可分別選擇10分頻或11分頻,其同步使能信號(hào)Cen1M的時(shí)鐘頻率分別為1MHZ或0.909MHZ;其中,所述同步使能信號(hào)是指當(dāng)使能信號(hào)有效時(shí)計(jì)數(shù)器工作并以該時(shí)鐘使能信號(hào)對(duì)應(yīng)時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步使能信號(hào)無效時(shí)計(jì)數(shù)器不工作;
所述配置模式控制模塊根據(jù)偏差值n計(jì)算結(jié)果控制同步使能信號(hào)產(chǎn)生模塊的10/11分頻器和計(jì)數(shù)器的加載,包括,
當(dāng)配置啟動(dòng)時(shí),配置時(shí)間的微秒Cfg_us置為0,配置時(shí)間的秒Cfg_sec置為GPS的時(shí)間秒值(GPS_CFG_SEC);
當(dāng)配置啟動(dòng)時(shí),如果n>0,表示本地時(shí)間超前GPS配置時(shí)間,所述9/10/11分頻器以默認(rèn)10分頻從100MHZ時(shí)鐘上分頻得到Cen10M修正使能信號(hào),所述10/11分頻器將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);其中,n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒,Cfg_us為GPS配置時(shí)間的微秒;
當(dāng)配置啟動(dòng)時(shí),如果n<0,表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)間,所述9/10/11分頻器以默認(rèn)10分頻從100MHZ時(shí)鐘上分頻得到Cen10M修正使能信號(hào),所述10/11分頻器置將該使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)間秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);
當(dāng)配置啟動(dòng)時(shí),如果n=0,說明本地時(shí)間準(zhǔn)確,所述10/11分頻器置為10分頻,不采取任何操作。
本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法及裝置的有益技術(shù)效果是采用GPS時(shí)鐘作為配置時(shí)間實(shí)現(xiàn)時(shí)鐘同步,采用CLK100M標(biāo)準(zhǔn)時(shí)鐘的進(jìn)行秒周期計(jì)數(shù)誤差修正,其步驟簡單,方便操作,可以在較低的成本下完成高精度的時(shí)間同步。
附圖說明
附圖1為本發(fā)明方法時(shí)鐘同步的流程示意圖;
附圖2為本發(fā)明方法對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正的流程示意圖;
附圖3為本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步裝置結(jié)構(gòu)示意圖。
下面結(jié)合附圖對(duì)本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法及裝置作進(jìn)一步的說明。
具體實(shí)施方式
顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法,以基于全球定位系統(tǒng)的GPS時(shí)鐘作為配置時(shí)間,根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作;在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正;所述時(shí)間同步操作是指采用同步使能信號(hào)控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器工作并以該同步使能信號(hào)對(duì)應(yīng)的時(shí)鐘頻率進(jìn)行計(jì)數(shù),使得本地時(shí)間與GPS配置時(shí)間同步;所述對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正是指采用修正使能信號(hào)得到同步使能信號(hào),從而控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器以該同步使能信號(hào)的時(shí)鐘頻率進(jìn)行計(jì)數(shù),使得本地時(shí)鐘秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期同步;其中,所述同步使能信號(hào)是指當(dāng)該同步使能信號(hào)有效時(shí)計(jì)數(shù)器工作并以該同步使能信號(hào)對(duì)應(yīng)時(shí)鐘頻率進(jìn)行計(jì)數(shù),該同步使能信號(hào)無效時(shí)計(jì)數(shù)器不工作;所述修正使能信號(hào)是指對(duì)本地時(shí)鐘的時(shí)鐘頻率進(jìn)行修正后得到的具有經(jīng)過修正后的時(shí)鐘頻率的信號(hào)。
顯然,本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法采用精度較高的GPS時(shí)鐘作為基準(zhǔn),根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作,能夠保證本地時(shí)鐘的秒頭具有較高的精度。在時(shí)間同步的同時(shí)對(duì)本地時(shí)鐘的秒周期計(jì)數(shù)進(jìn)行修正,可以有效降低兩個(gè)秒頭之間的計(jì)時(shí)誤差。由此降低了采用GPS時(shí)鐘進(jìn)行秒頭同步時(shí)對(duì)本地時(shí)鐘精度的要求,使得大多數(shù)本地測(cè)量設(shè)備都能直接應(yīng)用到網(wǎng)絡(luò)測(cè)量中,且保持較高的時(shí)間同步精度。其中,作為具體實(shí)施例,所述本地時(shí)鐘的時(shí)鐘頻率為100MHZ;所述本地時(shí)間秒計(jì)數(shù)周期是指本地時(shí)鐘對(duì)100×106個(gè)脈沖計(jì)數(shù)實(shí)際所需的時(shí)間;所述本地時(shí)鐘的秒計(jì)數(shù)周期誤差是指本地時(shí)間秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期的差值。顯然,采用100MHZ的時(shí)鐘頻率作為本地時(shí)鐘頻率能過獲得較高的計(jì)時(shí)精度,也有利于對(duì)兩個(gè)秒頭之間的計(jì)時(shí)誤差進(jìn)行修正。
作為具體實(shí)施例,所述根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作,包括,在配置開始時(shí),即在每一個(gè)GPS_1PPS秒脈沖上升沿時(shí)刻,計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n,判斷本地時(shí)間與GPS配置時(shí)間的超前或滯后關(guān)系,即判斷下式中n與0的大小關(guān)系:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n的單位為微秒;
如果n大于0表示本地時(shí)間超前GPS配置時(shí)間,采用慢速跟進(jìn)來等待配置時(shí)間,防止本地時(shí)間出現(xiàn)時(shí)間倒退現(xiàn)象;如果n小于0表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)鐘,以達(dá)到時(shí)間同步;如果n等于0表示本地時(shí)間準(zhǔn)確,不采取任何操作。其中,
所述采用慢速跟進(jìn)來等待配置時(shí)間,包括,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);其中,n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒。
所述將GPS配置時(shí)間寫入本地時(shí)鐘,包括,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)鐘的秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù)。
顯然,n與0的大小關(guān)系反映了本地時(shí)間相對(duì)于GPS配置時(shí)間的超前或滯后關(guān)系。當(dāng)n大于0表示本地時(shí)間超前GPS配置時(shí)間,需要放慢本地時(shí)間,防止本地時(shí)間出現(xiàn)時(shí)間倒退現(xiàn)象。作為實(shí)施例,本發(fā)明采用慢速跟進(jìn)來等待配置時(shí)間,采用時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù)??梢姡捎帽日V档偷?.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù),可以“等待”GPS配置時(shí)間到來,實(shí)現(xiàn)本地時(shí)間與GPS配置時(shí)間的同步。當(dāng)n小于0表示本地時(shí)間滯后GPS配置時(shí)間,可以直接將GPS配置時(shí)間寫入本地時(shí)間,并采用時(shí)鐘頻率1MHZ的同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù)。當(dāng)n等于0表示本地時(shí)間準(zhǔn)確,可以不采取任何操作。
作為具體實(shí)施例(參見附圖3),本發(fā)明在計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n的過程中,采用20bit有符號(hào)減法器、32bit有符號(hào)減法器、乘法器和加法器進(jìn)行計(jì)算;其中,
20bit有符號(hào)減法器的輸入為本地時(shí)間微秒計(jì)數(shù)Us_cnt和GPS配置時(shí)間微秒計(jì)數(shù)Cfg_us兩個(gè)20bit的無符號(hào)數(shù),將本地時(shí)間微秒計(jì)數(shù)減去GPS配置時(shí)間微秒計(jì)數(shù),輸出為21bit的有符號(hào)數(shù),由此完成微秒的差值處理;
32bit有符號(hào)減法器的輸入為本地時(shí)間秒計(jì)數(shù)Sec_cnt和GPS配置時(shí)間秒計(jì)數(shù)Cfg_sec兩個(gè)32bit的無符號(hào)數(shù),將本地時(shí)間秒計(jì)數(shù)減去GPS配置時(shí)間秒計(jì)數(shù),輸出為33bit的有符號(hào)數(shù);由此完成秒的差值處理;其中,在32bit有符號(hào)減法器輸出正值時(shí),若結(jié)果大于32767,進(jìn)行上限調(diào)節(jié),將偏差值強(qiáng)制置為32767,否則,取其結(jié)果的低16bit使用;若輸出負(fù)值時(shí),當(dāng)結(jié)果小于-255,進(jìn)行上限調(diào)節(jié),將偏差值強(qiáng)制置為-255;否則,取其結(jié)果的低16bit使用;
乘法器輸入為上限調(diào)節(jié)后輸出的16bit有符號(hào)數(shù),輸出為37bit有符號(hào)數(shù);將上限調(diào)節(jié)單元輸出的值乘以1000000后輸出;
加法器輸入為乘法器輸出的37bit有符號(hào)數(shù)和20bit有符號(hào)減法器輸出的21bit有符號(hào)數(shù),輸出為38bit有符號(hào)數(shù);將微秒差和秒差相加,即得到輸出本地時(shí)間與GPS配置時(shí)間的偏差值n。
作為具體實(shí)施例,所述在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括,在GPS配置秒信號(hào)GPS_1PPS與本地時(shí)鐘秒信號(hào)同步時(shí),對(duì)本地時(shí)鐘在一個(gè)GPS時(shí)鐘秒計(jì)數(shù)周期內(nèi)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;將100MHZ時(shí)鐘標(biāo)準(zhǔn)脈沖個(gè)數(shù)100×106與Cnt_1相減得到脈沖個(gè)數(shù)誤差值dfl,即dfl=100×106-Cnt_1;將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差修正的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);并且,在一個(gè)GPS時(shí)鐘標(biāo)準(zhǔn)秒周期內(nèi)需要修正的次數(shù)為Cnt_1/Perr;
如果Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,說明本地時(shí)鐘較GPS時(shí)鐘“慢”,需要加快計(jì)數(shù)速度,即需要增大時(shí)鐘頻率。采取的措施是每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正;即從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率11.11MHZ的修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
如果Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,說明本地時(shí)鐘較GPS時(shí)鐘“快”,需要降低計(jì)數(shù)速度,即需要減小時(shí)鐘頻率。采取的措施是每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正,即從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率9.09MHZ修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
并且,在以后每次GPS配置秒信號(hào)GPS_1PPS與本地時(shí)鐘秒信號(hào)同步時(shí),均采用上述方法對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正。其中,修正周期Perr以100MHZ時(shí)鐘信號(hào)為基準(zhǔn)計(jì)數(shù),在一個(gè)GPS時(shí)鐘標(biāo)準(zhǔn)秒周期內(nèi)需要修正的次數(shù)為Cnt_1/Perr;所述n為本地時(shí)間與GPS配置時(shí)間的偏差值。
附圖1為本發(fā)明方法時(shí)鐘同步的流程示意圖,由圖可知,所述以基于全球定位系統(tǒng)的GPS時(shí)鐘作為配置時(shí)間,根據(jù)本地時(shí)間與配置時(shí)間的偏差值進(jìn)行時(shí)間同步操作,包括以下步驟:
S101、以全球定位系統(tǒng)GPS時(shí)鐘作為配置時(shí)間,配置開始時(shí),即在GPS_1PPS秒脈沖上升沿時(shí)刻開始計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n,判斷本地時(shí)間與GPS配置時(shí)間的超前或滯后關(guān)系,即判斷下式中n與0的大小關(guān)系:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;其中,所述本地時(shí)鐘的時(shí)鐘頻率為100MHZ;
S102、判斷n>0?是則,表示本地時(shí)間超前GPS配置時(shí)間,從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步完成;其中,n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù);否則,順序執(zhí)行步驟S103;
S103、判斷n<0?是則,表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)間,即從100MHZ時(shí)鐘上進(jìn)行10分頻得到時(shí)鐘頻率為10MHZ的修正使能信號(hào)Cen10M,再將該修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)鐘的秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步完成;否則,順序執(zhí)行步驟S104;
S104、表示本地時(shí)間準(zhǔn)確,不采取任何操作,同步完成;
S105、在整個(gè)測(cè)量過程中,重復(fù)執(zhí)行步驟S101至S104;直至測(cè)量過程結(jié)束。
附圖2為本發(fā)明方法對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正的流程示意圖,由圖可知,所述在時(shí)間同步時(shí)對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括以下步驟:
S201、在GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)同步時(shí),對(duì)本地時(shí)鐘在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;將100MHZ時(shí)鐘秒周期內(nèi)的脈沖個(gè)數(shù)100×106與Cnt_1相減得到誤差值dfl,即dfl=100×106-Cnt_1;將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差調(diào)整的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);其中,所述本地時(shí)間秒計(jì)數(shù)周期是指本地時(shí)鐘對(duì)100×106個(gè)脈沖計(jì)數(shù)實(shí)際所需的時(shí)間;所述本地時(shí)鐘的秒計(jì)數(shù)周期誤差是指本地時(shí)間秒計(jì)數(shù)周期與GPS時(shí)鐘秒計(jì)數(shù)周期的差值;
S202、每經(jīng)過一個(gè)修正周期Perr,對(duì)Dadj值的正負(fù)進(jìn)行判斷,如果Dadj為正值,執(zhí)行步驟S203,否則,跳轉(zhuǎn)執(zhí)行步驟S204;
S203、Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率為11.11MHZ的修正使能信號(hào)Cen10M,跳轉(zhuǎn)執(zhí)行步驟S205;
S204、Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率為9.09MHZ的修正使能信號(hào)Cen10M;
S205、維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,對(duì)100MHZ時(shí)鐘恢復(fù)為默認(rèn)10分頻,修正使能信號(hào)Cen10M恢復(fù)時(shí)鐘頻率10MHZ;
S206、判斷GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)是否再次同步;是則,返回并順序執(zhí)行步驟S201至S205;否則,返回并順序執(zhí)行步驟S202至S205;
S207、在整個(gè)測(cè)量過程中,重復(fù)執(zhí)行步驟S201至S206;直至測(cè)量過程結(jié)束。
附圖3為本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步裝置結(jié)構(gòu)示意圖,由圖可知,本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步裝置,該同步裝置單獨(dú)設(shè)置且通過接口與網(wǎng)絡(luò)測(cè)量設(shè)備配套使用,或者直接設(shè)置在網(wǎng)絡(luò)測(cè)量設(shè)備中;采用FPGA模塊作為硬件支撐,包括,在FPGA模塊上設(shè)置有GPS時(shí)間秒配置模塊、本地Cen10M時(shí)鐘修正模塊、同步使能信號(hào)產(chǎn)生模塊、差值計(jì)算模塊和配置模式控制模塊;其中,
所述GPS時(shí)間秒配置模塊用于將GPS時(shí)鐘轉(zhuǎn)化為秒單位,并在GPS_1PPS秒脈沖上升沿時(shí)刻發(fā)出配置信號(hào);
所述本地Cen10M時(shí)鐘修正模塊用于對(duì)本地時(shí)鐘的秒計(jì)數(shù)周期誤差進(jìn)行修正,包括9/10/11分頻器、誤差計(jì)數(shù)器、秒周期修正計(jì)數(shù)器、減法器和除法器,其中,
所述9/10/11分頻器用于產(chǎn)生修正使能信號(hào)Cen10M且默認(rèn)選擇10分頻,即修正使能信號(hào)Cen10M默認(rèn)時(shí)鐘頻率為10MHZ,若選擇9分頻或11分頻,則修正使能信號(hào)Cen10M的時(shí)鐘頻率分別為11.11MHZ或9.09MHZ;
誤差計(jì)數(shù)器在GPS配置秒信號(hào)GPS_1PPS與100MHZ時(shí)鐘信號(hào)同步時(shí)對(duì)本地時(shí)鐘在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)個(gè)數(shù)記為Cnt_1;
減法器將100MHZ時(shí)鐘秒周期內(nèi)的脈沖個(gè)數(shù)100×106與Cnt_1相減得到誤差值dfl,即dfl=100×106-Cnt_1;
除法器將Cnt_1與dfl相除得到本地時(shí)間秒計(jì)數(shù)周期誤差修正的修正周期Perr,即Perr=Cnt_1/(100×106-Cnt_1),其中,Perr的正負(fù)符號(hào)位記為Dadj,Perr為正值時(shí),Dadj為正,反之,Dadj為負(fù);
秒周期修正計(jì)數(shù)器每經(jīng)過一個(gè)修正周期Perr計(jì)數(shù)一次,每次計(jì)數(shù)時(shí)對(duì)Dadj值的正負(fù)進(jìn)行判斷:其中,
如果Dadj為正值,說明本地時(shí)間秒計(jì)數(shù)周期大于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正;即從100MHZ時(shí)鐘上進(jìn)行9分頻得到時(shí)鐘頻率11.11MHZ的修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
如果Dadj為負(fù)值,說明本地時(shí)間秒計(jì)數(shù)周期小于GPS時(shí)鐘標(biāo)準(zhǔn)秒計(jì)數(shù)周期,則每經(jīng)過一個(gè)修正周期Perr對(duì)修正使能信號(hào)Cen10M的時(shí)鐘頻率進(jìn)行一次修正,即從100MHZ時(shí)鐘上進(jìn)行11分頻得到時(shí)鐘頻率9.09MHZ修正使能信號(hào)Cen10M,在時(shí)間同步過程中采用該修正使能信號(hào)Cen10M得到同步使能信號(hào)Cen1M;維持100MHZ時(shí)鐘信號(hào)的一個(gè)脈沖時(shí)間,在100MHZ時(shí)鐘信號(hào)的下一個(gè)脈沖信號(hào)上升沿時(shí)刻,將修正使能信號(hào)Cen10M恢復(fù)為默認(rèn)時(shí)鐘頻率10MHZ;
其中,修正周期Perr以100MHZ時(shí)鐘信號(hào)為基準(zhǔn)計(jì)數(shù),在一個(gè)GPS標(biāo)準(zhǔn)秒周期內(nèi)需要修正的次數(shù)為Cnt_1/Perr;所述n為本地時(shí)間與GPS配置時(shí)間的偏差值;
所述差值計(jì)算模塊用于計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值,包括20bit有符號(hào)減法器,32bit有符號(hào)減法器、加法器、乘法器和上限調(diào)節(jié)單元;采用下式計(jì)算本地時(shí)間與GPS配置時(shí)間的偏差值n:
n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us)
式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒計(jì)數(shù),Cfg_us為GPS配置時(shí)間的微秒計(jì)數(shù),n的單位為微秒;然后根據(jù)n與0的大小關(guān)系進(jìn)行配置模式控制,完成時(shí)間同步操作;其中,
20bit有符號(hào)減法器:輸入為本地時(shí)間微秒計(jì)數(shù)Us_cnt和GPS配置時(shí)間微秒計(jì)數(shù)Cfg_us兩個(gè)20bit的無符號(hào)數(shù),將本地時(shí)間微秒計(jì)數(shù)減去GPS配置時(shí)間微秒計(jì)數(shù),輸出為21bit的有符號(hào)數(shù),由此完成微秒的差值處理;
32bit有符號(hào)減法器:輸入為本地時(shí)間秒計(jì)數(shù)Sec_cnt和GPS配置時(shí)間秒計(jì)數(shù)Cfg_sec兩個(gè)32bit的無符號(hào)數(shù),將本地時(shí)間秒計(jì)數(shù)減去GPS配置時(shí)間秒計(jì)數(shù),輸出為33bit的有符號(hào)數(shù)。由此完成秒的差值處理;
上限調(diào)節(jié)單元:在32bit有符號(hào)減法器輸出正值時(shí),若結(jié)果大于32767,則將偏差值強(qiáng)制置為32767,否則,取其結(jié)果的低16bit使用;若輸出負(fù)值時(shí),當(dāng)結(jié)果小于-255,將偏差值強(qiáng)制置為-255;否則,取其結(jié)果的低16bit使用;
乘法器:輸入為上限調(diào)節(jié)單元輸出的16bit有符號(hào)數(shù),輸出為37bit有符號(hào)數(shù);將上限調(diào)節(jié)單元輸出的值乘以1000000后輸出;
加法器:輸入為乘法器輸出的37bit有符號(hào)數(shù)和20bit有符號(hào)減法器輸出的21bit有符號(hào)數(shù),輸出為38bit有符號(hào)數(shù);將微秒差和秒差相加,得到輸出本地時(shí)間與GPS配置時(shí)間的偏差值n;
所述使能信號(hào)產(chǎn)生模塊用于得到同步使能信號(hào)Cen1M,包括用于產(chǎn)生同步使能信號(hào)Cen1M的10/11分頻器,可分別選擇10分頻或11分頻,其同步使能信號(hào)Cen1M的時(shí)鐘頻率分別為1MHZ或0.909MHZ;其中,所述同步使能信號(hào)是指當(dāng)使能信號(hào)有效時(shí)計(jì)數(shù)器工作并以該時(shí)鐘使能信號(hào)對(duì)應(yīng)時(shí)鐘頻率進(jìn)行計(jì)數(shù),同步使能信號(hào)無效時(shí)計(jì)數(shù)器不工作;
所述配置模式控制模塊根據(jù)偏差值n計(jì)算結(jié)果控制同步使能信號(hào)產(chǎn)生模塊的10/11分頻器和計(jì)數(shù)器的加載,包括,
當(dāng)配置啟動(dòng)時(shí),配置時(shí)間的微秒Cfg_us置為0,配置時(shí)間的秒Cfg_sec置為GPS的時(shí)間秒值(GPS_CFG_SEC);
當(dāng)配置啟動(dòng)時(shí),如果n>0,表示本地時(shí)間超前GPS配置時(shí)間,所述9/10/11分頻器以默認(rèn)10分頻從100MHZ時(shí)鐘上分頻得到Cen10M修正使能信號(hào),所述10/11分頻器將該修正使能信號(hào)Cen10M進(jìn)行11分頻得到時(shí)鐘頻率為0.909MHZ的同步使能信號(hào)Cen1M,采用該同步使能信號(hào)Cen1M控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器開始工作并以0.909MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);維持n×10個(gè)脈沖個(gè)數(shù)后,對(duì)修正使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率為1MHZ的同步使能信號(hào)Cen1M并以此控制本地時(shí)鐘的秒和微秒計(jì)數(shù)器采用1MHZ的時(shí)鐘頻率進(jìn)行計(jì)數(shù);其中,n為本地時(shí)間與GPS配置時(shí)間的偏差值,單位為微秒;n=(Sec_cnt-Cfg_sec)×1000000+(Us_cnt-Cfg_us),式中,Sec_cnt為本地時(shí)間秒計(jì)數(shù),Us_cnt為本地時(shí)間微秒計(jì)數(shù),Cfg_sec為GPS配置時(shí)間的秒,Cfg_us為GPS配置時(shí)間的微秒;
當(dāng)配置啟動(dòng)時(shí),如果n<0,表示本地時(shí)間滯后GPS配置時(shí)間,將GPS配置時(shí)間寫入本地時(shí)間,所述9/10/11分頻器以默認(rèn)10分頻從100MHZ時(shí)鐘上分頻得到Cen10M修正使能信號(hào),所述10/11分頻器置將該使能信號(hào)Cen10M進(jìn)行10分頻得到時(shí)鐘頻率1MHZ的同步使能信號(hào)Cen1M,將GPS配置時(shí)間的秒和微秒寫入本地時(shí)間秒和微秒計(jì)數(shù)器,采用該同步使能信號(hào)Cen1M控制本地時(shí)間的秒和微秒計(jì)數(shù)器開始工作并以1MHZ時(shí)鐘頻率進(jìn)行計(jì)數(shù);
當(dāng)配置啟動(dòng)時(shí),如果n=0,說明本地時(shí)間準(zhǔn)確,所述10/11分頻器置為10分頻,不采取任何操作。
顯然,本發(fā)明網(wǎng)絡(luò)測(cè)量中本地時(shí)鐘與GPS時(shí)鐘的時(shí)間同步方法及裝置的有益技術(shù)效果是采用GPS時(shí)鐘作為配置時(shí)間實(shí)現(xiàn)時(shí)鐘同步,采用CLK100M標(biāo)準(zhǔn)時(shí)鐘的進(jìn)行秒周期計(jì)數(shù)誤差修正,其步驟簡單,方便操作,可以在較低的成本下完成高精度的時(shí)間同步。