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