趙永發(fā),周 磊
(揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225000)
?
一種分布式時(shí)鐘同步系統(tǒng)設(shè)計(jì)
趙永發(fā),周磊
(揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225000)
分布式時(shí)鐘同步系統(tǒng)是分布式系統(tǒng)協(xié)同工作的基礎(chǔ),在時(shí)間同步技術(shù)基礎(chǔ)上,設(shè)計(jì)了一種分布式時(shí)鐘同步系統(tǒng)。該系統(tǒng)以IRIG-B(InterRange Instrumentation Group)時(shí)間基準(zhǔn)信號(hào)為時(shí)間同步源,不僅可以為機(jī)器提供高精度時(shí)鐘信號(hào),在一段時(shí)間內(nèi)保持高精度,而且可以以較小的體積嵌入到產(chǎn)品中,提高便捷性。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可以為機(jī)器在不同溫度條件下提供高精度時(shí)鐘信號(hào),而且具有較高的時(shí)鐘穩(wěn)定度。
分布式時(shí)間同步;時(shí)間守時(shí);時(shí)鐘穩(wěn)定度;恒溫晶體
隨著信息技術(shù)的不斷發(fā)展,對(duì)信息采集的速度和精度要求越來越高,機(jī)器之間的時(shí)鐘同步要求也越來越高。因此,分布式時(shí)鐘同步系統(tǒng)應(yīng)運(yùn)而生,該系統(tǒng)可以協(xié)調(diào)分布式網(wǎng)絡(luò)中的節(jié)點(diǎn)時(shí)間,為網(wǎng)絡(luò)中的節(jié)點(diǎn)提供準(zhǔn)確時(shí)鐘。但是由于分布式網(wǎng)絡(luò)環(huán)境的復(fù)雜性,時(shí)鐘本身溫漂、網(wǎng)絡(luò)延時(shí)和成本因素等影響,系統(tǒng)有時(shí)不能為機(jī)器長(zhǎng)時(shí)間提供高精度的時(shí)鐘。因此,設(shè)計(jì)高精度、穩(wěn)定、低成本的同步系統(tǒng)是必要的。
目前,時(shí)鐘同步主要有2類方法,一類方法是通過Network Time Protocol(NTP)服務(wù)器來提供時(shí)間信息,如文獻(xiàn)[1-7]中都采用了網(wǎng)絡(luò)時(shí)間來同步機(jī)器的時(shí)間,再通過補(bǔ)償算法來矯正網(wǎng)絡(luò)時(shí)間,以此來減少網(wǎng)絡(luò)延時(shí)誤差。但是,此方法得到的時(shí)間因?yàn)榫€路長(zhǎng)短,電腦時(shí)間分辨率和環(huán)境等原因,誤差有隨機(jī)性,同步精度只能達(dá)到幾十ms左右,對(duì)于實(shí)時(shí)性同步性很高的信息采集機(jī)器來說精度是不夠的。而且機(jī)器必須接入網(wǎng)絡(luò)才可以得到時(shí)間,這也大大限制了機(jī)器使用的范圍。另一類方法是通過解析GPS(Global Positioning System)的時(shí)間信息,來實(shí)時(shí)同步機(jī)器時(shí)間,GPS可以提供精度很高的時(shí)間信息,可以達(dá)到ns級(jí)別。通過解析GPS的時(shí)鐘同步系統(tǒng)精度也可以達(dá)到μs級(jí)別,如文獻(xiàn)[8-12]都是先通過同步GPS的時(shí)間信息來產(chǎn)生對(duì)應(yīng)的時(shí)間碼,再使用時(shí)間碼來同步機(jī)器時(shí)鐘。這樣可以得到高精度的時(shí)間信息,但是隨著機(jī)器數(shù)量的增加,使用此方法每一臺(tái)機(jī)器必須配備一臺(tái)GPS時(shí)間同步機(jī)器產(chǎn)生時(shí)間碼,成本大大增加。由于機(jī)器使用的流動(dòng)性,GPS時(shí)間同步機(jī)器需要一起移動(dòng),但是必須是可以接收到GPS信號(hào)的地方,這樣又限制了機(jī)器的使用,機(jī)器的便捷性減弱。
為解決以上問題,本文從第2類方法思路出發(fā),通過同步GPS源的基準(zhǔn)時(shí)間信號(hào),得到高精度的時(shí)間信號(hào)。為提高便捷性和降低成本,提出了一種同步GPS源的IRIG-B碼的方法。在此方法的基礎(chǔ)上使用FPGA器件,51單片機(jī)和恒溫晶體完成了多機(jī)器時(shí)間同步系統(tǒng)的硬件實(shí)現(xiàn)。該系統(tǒng)可以以很小的體積和較低的成本嵌入到產(chǎn)品中,為機(jī)器提供同步時(shí)鐘源,從而達(dá)到在便捷性的基礎(chǔ)上提高精度且降低成本的目的。
系統(tǒng)接收IRIG-B時(shí)鐘信號(hào)來同步時(shí)間。時(shí)鐘同步系統(tǒng)同步之后需要進(jìn)入守時(shí)狀態(tài),守時(shí)狀態(tài)影響時(shí)鐘精度的因素主要是本地時(shí)鐘的精度,首先本地時(shí)鐘精度需要滿足要求。
1.1時(shí)鐘誤差分析
時(shí)鐘同步系統(tǒng)要在系統(tǒng)同步完成后保持精度,首先系統(tǒng)內(nèi)部時(shí)鐘源精度需要滿足要求。同步GPS時(shí)間同步系統(tǒng)的IRIG-B碼為幾十ns的誤差,誤差可以忽略。同步時(shí)鐘按照1 kHz輸出、連續(xù)工作8h、誤差不大于0.5個(gè)時(shí)鐘周期計(jì)算,時(shí)鐘輸出精度為:
(1)
式(1)的時(shí)間誤差為一個(gè)時(shí)鐘周期的誤差要小于3.47*10-8s,機(jī)器信息采集一般誤差要小于0.5個(gè)時(shí)鐘周期,那么誤差為:
(2)
現(xiàn)采用JKOC36-25.6M型號(hào)的恒溫晶體,標(biāo)稱頻率為 25.6MHz,工作溫度為-40℃~70℃,在此范圍內(nèi),它的短期頻率穩(wěn)定度優(yōu)于 5E-12(阿倫方差),頻率溫度穩(wěn)定度<±5ppb(不帶隱含參考溫度,ppb為10-9),日老化<±0.5ppb,年老化<±0.05ppm。工作電壓為 5V,輸出方波,高電平為 2.85V,低電平為 0.25V,占空比為 45%~55%。短期穩(wěn)定度可以滿足要求,現(xiàn)主要考慮頻率溫度穩(wěn)定度:
u溫度=5*10-9s,
(3)
u溫度 (4) 由式(2)、式(3)和式(4)可得采用JKOC36-25.6M型號(hào)的恒溫晶體可以滿足時(shí)鐘按照1 kHz輸出、連續(xù)工作8 h、誤差不大于0.5個(gè)時(shí)鐘周期的要求(計(jì)算溫度對(duì)恒溫晶體的影響造成的累計(jì)誤差,按照最大誤差計(jì)算)。 1.2時(shí)鐘同步方案 時(shí)鐘同步方案結(jié)構(gòu)圖如圖1所示,主要由協(xié)議解析模塊,實(shí)時(shí)時(shí)間計(jì)數(shù)器模塊,高精度時(shí)鐘生成模塊和內(nèi)部時(shí)鐘源模塊組成。FPGA器件接收CT-TSS2000B時(shí)間同步系統(tǒng)輸出的IRIG-B,解析IRIG-B得到標(biāo)準(zhǔn)秒脈沖PPS和時(shí)間信息。將PPS和時(shí)間信息分別送到高精度時(shí)鐘生成模塊和實(shí)時(shí)時(shí)間模塊。JKOC36-25.6M 恒溫晶體為FPGA器件提供外部時(shí)鐘,再通過鎖相環(huán)電路倍頻到100MHz的頻率為高精度時(shí)鐘生成模塊提供基準(zhǔn)時(shí)鐘。在同步時(shí),高精度時(shí)鐘生成模塊通過PPS秒脈沖來同步本身的時(shí)鐘,并調(diào)整輸出時(shí)鐘的參數(shù),實(shí)時(shí)時(shí)間模塊直接接收解析的時(shí)間信息。在守時(shí)時(shí),高精度時(shí)鐘生成模塊根據(jù)同步時(shí)時(shí)鐘調(diào)整后的參數(shù)輸出時(shí)鐘,實(shí)時(shí)時(shí)間模塊通過接收高精度時(shí)鐘生成模塊輸出的PPS秒脈沖來更新時(shí)間。在同步半小時(shí)后,可以斷開時(shí)鐘源,進(jìn)入守時(shí)狀態(tài)。系統(tǒng)除了可以生成kHz的時(shí)鐘,還可以通過鎖相環(huán)動(dòng)態(tài)生成MHz的時(shí)鐘,輸出時(shí)鐘頻率可以通過STC12C5A60S2單片機(jī)來控制。 圖1 時(shí)鐘同步方案結(jié)構(gòu) 1.3高精度時(shí)鐘生成和守時(shí)模塊設(shè)計(jì) 高精度時(shí)鐘生成模塊的主要作用是,實(shí)現(xiàn)高精度時(shí)鐘的生成方案以及守時(shí)方案,它由同步整形電路、相位比較電路、啟動(dòng)電路、分頻電路和分頻系數(shù)控制電路組成。該模塊的結(jié)構(gòu)如圖2所示。 PPS秒脈沖接入高精度時(shí)鐘生成模塊模塊之后,先經(jīng)過同步整形電路,輸出一個(gè)系統(tǒng)時(shí)鐘(100MHz)周期寬度的秒脈沖PPS_Pulse。啟動(dòng)電路接收到PPS_Pulse信號(hào)之后,在信號(hào)的的上升沿發(fā)送啟動(dòng)信號(hào)給分頻電路。分頻電路在啟動(dòng)信號(hào)的上升沿啟動(dòng),以初始分頻系數(shù)108-1生成PPS_C秒脈沖信號(hào),并將PPS_C秒脈沖信號(hào)送給相位比較電路。相位比較電路接收PPS_Pulse信號(hào)和PPS_C信號(hào),并以系統(tǒng)時(shí)鐘為單位計(jì)數(shù)2個(gè)秒脈沖的相位差,并將相位差傳遞給啟動(dòng)模塊。啟動(dòng)模塊接收到相位差之后,在PPS_Pulse的上升沿判斷相位差是否小于20,如果連續(xù)20次相位差小于20個(gè)系統(tǒng)時(shí)鐘周期,表明恒溫晶體已經(jīng)穩(wěn)定,則發(fā)送啟動(dòng)信號(hào)給分頻系數(shù)控制電路。分頻系數(shù)控制電路接收相位差信號(hào),調(diào)整分頻系數(shù)并傳遞給分頻電路。分頻電路使用新的分頻系數(shù)生成PPS_C信號(hào),并傳遞給相位比較電路。相位比較電路再將相位差傳遞給啟動(dòng)電路模塊和分頻系數(shù)電路模塊。如此循環(huán),不斷調(diào)整分頻系數(shù),同步0.5 h后,分頻系數(shù)基本收斂穩(wěn)定,可以斷開時(shí)鐘源。此時(shí),可得到高精度的秒脈沖信號(hào),再用秒脈沖信號(hào)復(fù)位系統(tǒng)所需要的時(shí)鐘信號(hào),以此來消除時(shí)鐘信號(hào)的累計(jì)誤差,達(dá)到較長(zhǎng)時(shí)間保持時(shí)鐘精度的目的。 在此過程中,啟動(dòng)電路一共有3個(gè)狀態(tài)來控制其他電路的啟動(dòng)。啟動(dòng)信號(hào)模塊在PPS_Pulse脈沖的上升沿發(fā)送啟動(dòng)信號(hào)給分頻電路,分頻電路啟動(dòng)之后,啟動(dòng)電路獲取相位差,若相位差連續(xù)20次小于20,發(fā)送啟動(dòng)信號(hào)給分頻系數(shù)控制電路。啟動(dòng)電路的策略如圖3所示。 圖3 啟動(dòng)電路狀態(tài)轉(zhuǎn)換 相位比較電路共有3個(gè)狀態(tài),來計(jì)數(shù)2個(gè)秒脈沖的相位差,為啟動(dòng)電路和分頻控制電路提供依據(jù)。在PPS_Pulse的上升沿開始計(jì)數(shù),在PPS_C的下降沿停止計(jì)數(shù)。停止計(jì)數(shù)之后判斷計(jì)數(shù)值是否過大,如果數(shù)值大于256就重新計(jì)數(shù),小于256便輸出計(jì)數(shù)值。相位比較電路的狀態(tài)轉(zhuǎn)換圖如圖4所示。 分頻系數(shù)控制電路共有4個(gè)狀態(tài),如圖5所示。通過相位差來調(diào)整分頻系數(shù)。分頻控制電路接收到啟動(dòng)信號(hào),開始啟動(dòng),接收相位比較電路的相位差,再經(jīng)過處理得到調(diào)整之后的分頻系數(shù)。調(diào)整策略主要從時(shí)鐘突變和隨機(jī)誤差考慮,分別采用加權(quán)和平均的方法來處理隨機(jī)誤差和突變的影響。 圖4 相位比較電路狀態(tài) 圖5 分頻系數(shù)控制電路狀態(tài) 轉(zhuǎn)換 轉(zhuǎn)換 系統(tǒng)硬件裝置采用成都可為科技有限公司的CT-TSS2000B時(shí)間同步系統(tǒng)輸出的IRIG-B(InterRange Instrumentation Group)碼作為同步時(shí)鐘源,F(xiàn)PGA芯片EP4CE15F17C8核心板用來實(shí)現(xiàn)同步方案,完成時(shí)鐘同步系統(tǒng)的主要工作。STC12C5A60S2單片機(jī)最小系統(tǒng)系統(tǒng)作為控制器,控制FPGA時(shí)鐘輸出的頻率。JKOC36-25.6M 恒溫晶體作為EP4CE15F17C8芯片的外部時(shí)鐘源。電腦上位機(jī)軟件可以通過串口與單片機(jī)最小系統(tǒng)通信,來控制時(shí)鐘的輸出。系統(tǒng)硬件框圖如圖6所示。 圖6 系統(tǒng)硬件框圖 系統(tǒng)開始運(yùn)行,CT-TSS2000B時(shí)間同步系統(tǒng)首先接收GPS信號(hào)完成時(shí)間同步,完成同步之后輸出IRIG-B時(shí)間基準(zhǔn)信號(hào)。FPGA核心板接收IRIG-B信號(hào),解析出時(shí)間信號(hào)和PPS秒脈沖,經(jīng)過0.5 h時(shí)間完成同步。通過上述高精度時(shí)鐘生成方法,輸出PPS標(biāo)準(zhǔn)秒脈沖和高精度時(shí)鐘。使用人員可以通過PC機(jī)應(yīng)用軟件與單片機(jī)控制器通信,實(shí)現(xiàn)時(shí)間信息查詢和輸出時(shí)鐘頻率的控制。 3.1實(shí)驗(yàn)環(huán)境 在實(shí)驗(yàn)中,為了證明本系統(tǒng)達(dá)到要求,在不同溫度下可以保持精度。本文使用高低溫交變?cè)囼?yàn)箱作為外部溫度變化的模擬,高低溫交變?cè)囼?yàn)箱是用于測(cè)試和確定電工、電子及其他產(chǎn)品及材料進(jìn)行高溫、低溫、或恒定試驗(yàn)的溫度環(huán)境變化后的參數(shù)及性能。系統(tǒng)硬件裝置采用CT-TSS2000B時(shí)間同步系統(tǒng)輸出的IRIG-B(InterRange Instrumentation Group)碼作為同步時(shí)鐘源,采用Alter公司Cyclone IV系列EP4CE15F17C8芯片的核心板實(shí)現(xiàn)同步方案,STC12C5A60S2單片機(jī)系統(tǒng)作為控制器和JKOC36-25.6M恒溫晶體作為EP4CE15F17C8芯片的外部時(shí)鐘源。 3.2實(shí)驗(yàn)結(jié)果 3.2.1溫度試驗(yàn) 為了測(cè)試在不同溫度下,系統(tǒng)的時(shí)鐘精度是否達(dá)到要求。本次溫度實(shí)驗(yàn)分別設(shè)定高低溫交變?cè)囼?yàn)箱的溫度在-10℃,-5℃,0℃,10℃,20℃,30℃,40℃,45℃和50℃,在室溫下(25℃)同步完成之后,來測(cè)試溫度對(duì)系統(tǒng)時(shí)鐘精度的影響,每個(gè)溫度實(shí)驗(yàn)時(shí)間為1 h。得到溫度與時(shí)鐘誤差關(guān)系圖如圖7所示,實(shí)驗(yàn)表明在0℃~30℃誤差最小,通常1 h<20μs。隨著溫度的降低和升高,誤差略有增大,通常小于40μs。1 h的試驗(yàn)通常誤差已經(jīng)穩(wěn)定,可以預(yù)見為機(jī)器提供8 h的時(shí)鐘可以滿足要求。在-10℃~50℃之內(nèi)滿足要求,已達(dá)到高精度,低成本的要求。 圖7 溫度與時(shí)鐘誤差關(guān)系 3.2.2時(shí)鐘穩(wěn)定度試驗(yàn) 在本實(shí)驗(yàn)過程中,記錄了常溫下PPS_C秒脈沖在同步時(shí)的分頻數(shù)。同步時(shí)的分頻數(shù)表示時(shí)鐘的穩(wěn)定度,隨著時(shí)間的推移,分頻數(shù)的變化趨勢(shì)如圖8所示。 圖8 時(shí)間與分頻數(shù)偏移量關(guān)系 圖8表明,在常溫下,時(shí)鐘的分頻數(shù)在一定范圍內(nèi)波動(dòng),分頻數(shù)在108-4~108+2之間波動(dòng),均值在108-1左右,波動(dòng)范圍在±3之內(nèi),具有較高的時(shí)鐘穩(wěn)定度。 本文從設(shè)備的便捷性和成本角度出發(fā),提出了一種同步GPS時(shí)間同步系統(tǒng)的IRIG-B碼的方法。在此方法的基礎(chǔ)上使用FPGA器件,51單片機(jī)和恒溫晶體完成了多機(jī)器信息采集時(shí)間同步系統(tǒng)的硬件實(shí)現(xiàn)。該方法通過同步基準(zhǔn)時(shí)間信號(hào)源,并在斷開信號(hào)源之后,可以在一定時(shí)間內(nèi)保證時(shí)鐘的精度。通過該方法達(dá)到了在誤差不大于0.5個(gè)時(shí)鐘周期的精度要求下,1 k的時(shí)鐘輸出,可以連續(xù)工作8 h。該系統(tǒng)可以以很小的體積和較低的成本嵌入到產(chǎn)品中,為其他采集系統(tǒng)提供同步信號(hào)源。在進(jìn)一步的研究中將進(jìn)一步提高精度和系統(tǒng)的穩(wěn)定性。 [1]丁永紅,徐強(qiáng),汪蕓.基于 NTP 的 ORBUS 時(shí)間同步系統(tǒng)[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,36(3):477-482. [2]李杏.網(wǎng)絡(luò)時(shí)鐘同步及時(shí)鐘服務(wù)器穩(wěn)定性研究[D].北京:北京化工大學(xué),2012. [3]徐金平.網(wǎng)絡(luò)時(shí)鐘同步的研究[D].北京:北京化工大學(xué),2004. [4]辛欣,游雄,劉芳,等.分布式虛擬地理環(huán)境中時(shí)間同步問題研究[J].測(cè)繪工程,2010,19(1):21-24. [5]張紅亮.分布式系統(tǒng)時(shí)鐘同步技術(shù)的研究與應(yīng)用[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2002. [6]王剛,黃飛,喬純捷,等.分布式網(wǎng)絡(luò)時(shí)鐘同步研究[J].儀器儀表學(xué)報(bào),2008,29(11):2 399-2 403. [7]孫祥祥.分布式系統(tǒng)時(shí)鐘同步協(xié)議的研究與實(shí)現(xiàn)[D].杭州:杭州電子科技大學(xué),2014. [8]劉靖宇.基于 CAN 總線的分布式系統(tǒng)的時(shí)鐘同步算法研究[D].青島:青島科技大學(xué),2006. [9]熊慧.CAN 總線分布式系統(tǒng)高精度時(shí)鐘同步技術(shù)的研究[D].武漢:華中科技大學(xué),2007. [10]陳丕龍.分布式測(cè)試系統(tǒng)中的 GPS 時(shí)鐘同步系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2011. [11]龔曉春.分布式微型航天器的時(shí)鐘同步研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2007. [12]陳班賢.分布式水電廠監(jiān)控時(shí)鐘同步系統(tǒng)的研制[D].成都:電子科技大學(xué),2013. 趙永發(fā)男,(1991—),碩士研究生。主要研究方向:嵌入式系統(tǒng)。 周磊男,(1980—),博士,講師。主要研究方向:電子系統(tǒng)集成和專用集成電路設(shè)計(jì)。 Design on a Distributed Clock Synchronization System ZHAO Yong-fa,ZHOU Lei (CollegeofInformationEngineering,YangzhouUniversity,YangzhongJiangsu225000,China) The distributed clock synchronization system is the foundation of coordinated operation of distributed system.Based on the time synchronization technology,this paper designs a distributed clock synchronization system.Byusing IRIG-B(InterRange instrumentation group) time ignal as time synchronization source,this system can not only provide high-precision clock signal for the machine and maintain high precision within a period of time,but also improve the convenience with smaller volume embedding to the product.The experimental results show that the system can provide high-precision clock signals in different temperature conditions,and it has higher stability. distributed time synchronization;time keeping;clock stability;constant temperature crystal 10.3969/j.issn.1003-3106.2016.10.02 2016-06-23 國(guó)家自然科學(xué)基金資助項(xiàng)目(61376025,61301111);江蘇省高校自然科學(xué)基金資助項(xiàng)目(13KJB510039);江蘇省普通高校研究生科研實(shí)踐計(jì)劃項(xiàng)目(SJZZ_0182)。 TN919 A 1003-3106(2016)10-0008-04 引用格式:趙永發(fā),周磊.一種分布式時(shí)鐘同步系統(tǒng)設(shè)計(jì)[J].無線電工程,2016,46(10):8-11.2 硬件實(shí)現(xiàn)
3 實(shí)驗(yàn)結(jié)果
4 結(jié)束語