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