專利名稱:一種提高分布式網(wǎng)絡(luò)系統(tǒng)中時鐘同步精度的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路技術(shù)領(lǐng)域,涉及分布式網(wǎng)絡(luò)系統(tǒng)中實時同步的方法,尤其涉及一種基于IEEE1588協(xié)議來提高分布式網(wǎng)絡(luò)系統(tǒng)中時鐘同步精度的方法。
背景技術(shù):
IEEE1588標準協(xié)議定義了一個在測量和自動化系統(tǒng)中的時鐘同歩協(xié) 議,即精確時鐘同步協(xié)議PTP (Precision Time Protocol),該協(xié)議適合 于分布式網(wǎng)絡(luò)系統(tǒng),可以實現(xiàn)微妙級高精度的時鐘同步,使得在分配控 制工作時無需再進行專門的同步通信,從而達到了通信時間模式與應(yīng)用 程序執(zhí)行時間模式分開的效果。由于高精度的同步工作,使以太網(wǎng)技術(shù) 所固有的數(shù)據(jù)傳輸時間波動降低到可以接受的,不影響控制精度的范圍。 在所有的網(wǎng)絡(luò)同歩算法中,都要考慮到線路延時對同步系統(tǒng)造成的影響, 因而線路延時計算的準確性直接影響了同歩系統(tǒng)的精度。線路延時主要 由通信棧延時和物理網(wǎng)絡(luò)上的傳輸延時組成,當數(shù)據(jù)在一個沒有存儲轉(zhuǎn) 發(fā)功能的網(wǎng)絡(luò)中進行通信時,由物理網(wǎng)絡(luò)所產(chǎn)生的線路延時一般是穩(wěn)定 的,而通信棧軟件在執(zhí)行過程中有很大的不確定性,使得通信棧的延時 會產(chǎn)生較大的抖動。另外在網(wǎng)絡(luò)中由于各設(shè)備時鐘晶振的速度存在偏差, 使得線路延時在計算過程中亦會造成不準確,這兩種原因會導(dǎo)致實時同 步精度大大的降低。發(fā)明內(nèi)容本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提供一種基于IEEE1588協(xié)議 來提高時鐘同歩精度的方法,從而解決上述由于網(wǎng)絡(luò)不確定性產(chǎn)生的大 擾動問題以及各設(shè)備時鐘晶振的速度存在偏差而造成的后果。本發(fā)明的具體內(nèi)容包括1.針對于網(wǎng)絡(luò)不確定性產(chǎn)生的大擾動,本發(fā)明方法采用了如下步驟 l-l.比較第一次本地從時鐘和主時鐘之間的時間偏差與用戶通過寄 存器配置的偏差值大小,如果本地從時鐘和主時鐘之間的時間偏差大于 用戶通過寄存器配置的偏差值,則作為網(wǎng)絡(luò)中偶然的一次過大干擾而不 予考慮,即過濾了此次偏差,不對本地從時鐘的時間進行調(diào)整;如果本 地從時鐘和主時鐘之間的時間偏差小于或等于用戶通過寄存器配置的偏 差值,根據(jù)該時間偏差值調(diào)整本地從時鐘的時間;1- 2.如果相鄰的第二次本地從時鐘和主時鐘之間的時間偏差仍然大 于用戶通過寄存器配置的偏差值,則判斷目前的干擾并非偶然存在的, 記錄此次本地從時鐘和主時鐘之間的時間偏差值,根據(jù)該時間偏差值調(diào) 整本地從時鐘的時間,即可提高本地從時鐘同步到主時鐘的精度。根據(jù) 時間偏差值調(diào)整本地從時鐘的時間的方法采用現(xiàn)有的成熟技術(shù)。2.針對于各設(shè)備時鐘晶振的速度存在偏差,本發(fā)明采用了如下步驟2- 1.本地從時鐘對主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔和 從時鐘連續(xù)兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔進行比 較,若兩者相等,則認為兩臺設(shè)備的晶振速度一致,不存在偏差;若主 時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔大于從時鐘連續(xù)兩次接收到 主時鐘發(fā)來的Sync同步報文的時間間隔,則認為本地從時鐘晶振運行較 主時鐘快,需要減慢從時鐘系統(tǒng)時間的計時,然后轉(zhuǎn)到歩驟2-2;若小于, 則認為本地從時鐘晶振運行較主時鐘慢,需要加快從時鐘系統(tǒng)時間的計 時,然后轉(zhuǎn)到步驟2-2;2-2.將主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔和從時鐘連續(xù) 兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔的間隔之差平均分配 到同歩間隔之內(nèi),即在平均分配的每個點上調(diào)整本地從時鐘的系統(tǒng)時間。 這樣即可以保證調(diào)整速度的均勻,同時還可以保證在同步周期間隔之內(nèi) 把本地從時鐘的晶振補償完成。本發(fā)明中的所涉及的操作(如寄存器配置、減法等)為基本技術(shù)常識,采用常規(guī)技術(shù)手段。本發(fā)明的發(fā)明點在于提供一種較為先進的實時同步方 法。本發(fā)明基于IEEE1588協(xié)議提出了一種提高分布式網(wǎng)絡(luò)中各設(shè)備實時同 步精度的方法,這種方法解決了網(wǎng)絡(luò)不確定性造成的大擾動及各設(shè)備晶振 速度存在偏差的問題,從而使同步精度達到微妙級。
圖1為本發(fā)明方法中針對大干擾調(diào)整的流程圖; 圖2為本發(fā)明方法中針對晶振速度偏差調(diào)整的流程圖。
具體實施例方式下面結(jié)合附圖與實施例對本發(fā)明作進一步說明。如圖1,本發(fā)明方法針對網(wǎng)絡(luò)不確定性產(chǎn)生的大擾動問題具體實施方式
包括以下步驟1 、本地從時鐘計算出與主時鐘之間的時間偏差;2、 根據(jù)上述步驟1中的時間偏差,把它和用戶通過寄存器配置的偏差值進行比較,若大于用戶通過寄存器配置的偏差值,則舍棄掉這次所 計算出的時間偏差,同時不糾偏系統(tǒng)時間。同時我們可以分析得出這是 由于網(wǎng)絡(luò)中的一次偶然的大擾動造成這樣的結(jié)果。若小于或等于用戶通過寄存器配置的偏差值,則根據(jù)該時間偏差值調(diào)整本地從時鐘的時間;3、 相鄰的第二次本地從時鐘和主時鐘之間的時間偏差仍然大于用戶 通過寄存器配置的偏差值,則判斷目前的干擾并非偶然存在的,記錄此 次本地從時鐘和主時鐘之間的時間偏差值,根據(jù)該時間偏差值調(diào)整本地 從時鐘的時間,即可提高本地從時鐘同歩到主時鐘的精度。如圖2,本發(fā)明方法針對各設(shè)備時鐘晶振的速度存在偏差進行補償具體實施方式
包括以下步驟1 、本地從時鐘計算出主時鐘連續(xù)兩次發(fā)送同歩報文的時間間隔;2、本地從時鐘計算出連續(xù)兩次接收到主時鐘發(fā)來的同歩報文的時間間隔;3、 根據(jù)上述步驟1和2中計算出的兩個時間間隔,用連續(xù)兩次發(fā)送同歩報文的時間間隔減去連續(xù)兩次接收到主時鐘發(fā)來的同步報文的時間間隔,若相減結(jié)果為0,則表明兩臺設(shè)備的晶振速度一致,不存在偏差; 若相減結(jié)果大于0,則說明本地從時鐘晶振速度運行較快,需減慢系統(tǒng)時 間的計時,即把計時使能信號的頻率降低,也即增加分頻系數(shù),同時轉(zhuǎn) 到步驟4;若相減結(jié)果小于0,則說明本地從時鐘晶振速度運行較慢,需 加快系統(tǒng)時間的計時,即把計時使能信號的頻率增加,也即降低分頻系 數(shù),同時轉(zhuǎn)到步驟4;4、 根據(jù)上述步驟3中計算出的連續(xù)兩次發(fā)送時間間隔和連續(xù)兩次接收時間間隔的間隔之差,把此間隔之差平均分配到同步間隔之內(nèi),即只 有在平均分配的每個點上調(diào)整本地從時鐘的系統(tǒng)時間,此改進方法即可 以保證調(diào)整速度的均勻,使得調(diào)整更加穩(wěn)定,同時還可以保證在同步周期間隔之內(nèi)把本地從時鐘的晶振補償完成;根據(jù)上述步驟4所采用的方法,具體包括4-1.為了把間隔之差平均分配到同步間隔之內(nèi),即在平均分配的每個點上調(diào)整本地從時鐘的系統(tǒng)時間,則首先應(yīng)算出每次調(diào)整一個周期的時間需調(diào)整多少次;4-2.根據(jù)上述步驟4-1算出的調(diào)整次數(shù),算出在同步周期間隔內(nèi)平均 分配的每個點,即當調(diào)整算法啟動后,每經(jīng)過多長時間需調(diào)整一次。
權(quán)利要求
1、一種提高分布式網(wǎng)絡(luò)系統(tǒng)中時鐘同步精度的方法,包括針對網(wǎng)絡(luò)不確定性產(chǎn)生的大擾動的調(diào)整和針對各設(shè)備時鐘晶振的速度存在偏差的調(diào)整,其特征在于針對于網(wǎng)絡(luò)不確定性產(chǎn)生的大擾動的調(diào)整方法包括如下步驟a.比較第一次本地從時鐘和主時鐘之間的時間偏差與用戶通過寄存器配置的偏差值大小,如果本地從時鐘和主時鐘之間的時間偏差大于用戶通過寄存器配置的偏差值,則作為網(wǎng)絡(luò)中偶然的一次過大干擾而不予考慮,不對本地從時鐘的時間進行調(diào)整;如果本地從時鐘和主時鐘之間的時間偏差小于或等于用戶通過寄存器配置的偏差值,根據(jù)該時間偏差值調(diào)整本地從時鐘的時間;b.如果相鄰的第二次本地從時鐘和主時鐘之間的時間偏差仍然大于用戶通過寄存器配置的偏差值,則判斷目前的干擾并非偶然存在的,記錄此次本地從時鐘和主時鐘之間的時間偏差值,根據(jù)該時間偏差值調(diào)整本地從時鐘的時間;針對各設(shè)備時鐘晶振的速度存在偏差的調(diào)整方法包括如下步驟c.本地從時鐘對主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔和從時鐘連續(xù)兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔進行比較,若兩者相等,則認為兩臺設(shè)備的晶振速度一致,不存在偏差;若主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔大于從時鐘連續(xù)兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔,則認為本地從時鐘晶振運行較主時鐘快,需要減慢從時鐘系統(tǒng)時間的計時,然后轉(zhuǎn)到步驟d;若小于,則認為本地從時鐘晶振運行較主時鐘慢,需要加快從時鐘系統(tǒng)時間的計時,然后轉(zhuǎn)到步驟d;d.將主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔和從時鐘連續(xù)兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔的間隔之差平均分配到同步間隔之內(nèi),即在平均分配的每個點上調(diào)整本地從時鐘的系統(tǒng)時間。
全文摘要
本發(fā)明涉及一種提高分布式網(wǎng)絡(luò)系統(tǒng)中時鐘同步精度的方法。目前同步精度較低。本發(fā)明針對不確定性大擾動,只在本地從時鐘和主時鐘之間的時間偏差小于或等于用戶通過寄存器配置的偏差值下進行調(diào)整;如果相鄰的第二次仍然大于,則根據(jù)該時間偏差值調(diào)整本地從時鐘的時間。針對于時鐘晶振的速度存在偏差,本地從時鐘對主時鐘連續(xù)兩次發(fā)送Sync同步報文的時間間隔和從時鐘連續(xù)兩次接收到主時鐘發(fā)來的Sync同步報文的時間間隔進行比較,并將時間間隔的間隔之差平均分配到同步間隔之內(nèi)。本發(fā)明方法通過濾波算法和同步間隔內(nèi)均勻調(diào)整主從時鐘晶振偏差,來解決時鐘同步精度下降問題,從而使同步精度達到了微秒級。
文檔編號H04L7/04GK101252429SQ200810059860
公開日2008年8月27日 申請日期2008年2月22日 優(yōu)先權(quán)日2008年2月22日
發(fā)明者廉玉平, 艷 張, 陳金龍, 霍明旭, 雁 韓, 韓曉霞 申請人:浙江大學(xué)