專利名稱:一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及同步技術(shù),尤其是指一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步 方法及系統(tǒng)。
背景技術(shù):
隨著數(shù)據(jù)通信技術(shù)的發(fā)展,特別是高帶寬高速度的數(shù)據(jù)通信技術(shù)的出 現(xiàn),用同步以太網(wǎng)傳輸語音信號(hào)的使用越來越多,由此出現(xiàn)了多端口同步以 太網(wǎng)設(shè)備,所述設(shè)備上有多個(gè)板,各個(gè)板上又有多個(gè)端口,由于目前對時(shí)間 精度的要求越來越高,做出來的多端口同步以太網(wǎng)設(shè)備,需要達(dá)到設(shè)備整體 的時(shí)間同步。
目前用于同步時(shí)鐘的專利很多,但基于設(shè)備內(nèi)部同步的專利并不多。如
公開號(hào)為CN200410065340的發(fā)明專利是專門用于程控交換機(jī)通信系統(tǒng),也 描述了在一個(gè)板內(nèi)的時(shí)鐘同步處理辦法,但并沒有說明如何管理同一個(gè)設(shè)備 的多塊單板。又如公開號(hào)為US6178176的美國專利,雖然通過可堆疊的總 線對網(wǎng)絡(luò)中的中繼器進(jìn)行同步,但無法對多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步。
綜上所述,現(xiàn)有技術(shù)中尚沒有對多端口同步以太網(wǎng)設(shè)備的時(shí)鐘進(jìn)行同步 的方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種多端口同步以太網(wǎng)設(shè)備的時(shí) 鐘同步方法及系統(tǒng),能夠?qū)崿F(xiàn)多端口同步以太網(wǎng)的全設(shè)備時(shí)鐘同步。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步方法,至少兩個(gè)端口構(gòu)成的板,至少兩個(gè)所述板構(gòu)成多端口同步以太網(wǎng)設(shè)備,該方法包括以下步驟
A、 根據(jù)接收到的同步以太網(wǎng)發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘;
B、 根據(jù)各個(gè)端口的時(shí)鐘確定出從端口和主端口后,用從端口的時(shí)鐘來同 步板的實(shí)時(shí)時(shí)鐘RTC時(shí)鐘后,用板的RTC時(shí)鐘來同步板上各個(gè)主端口時(shí)鐘;
C、 根據(jù)各個(gè)板的RTC時(shí)鐘確定出從板和主板后,用從板的時(shí)鐘來同步設(shè) 備RTC時(shí)鐘,并將設(shè)備RTC時(shí)鐘下發(fā)給板;
D、 板根據(jù)設(shè)備RTC時(shí)鐘來同步板RTC時(shí)鐘,然后用同步后板的RTC時(shí) 鐘來同步板上各個(gè)端口的時(shí)鐘。
其中,步驟B中所述確定從端口和主端口或步驟C中所述確定從板和 主板時(shí),根據(jù)各個(gè)端口的時(shí)鐘精度級(jí)別和端口號(hào)確定,或根據(jù)各個(gè)板的時(shí)鐘 精度級(jí)別和板號(hào)確定。
進(jìn)一步地,步驟A之前,該方法進(jìn)一步包括全設(shè)名、啟動(dòng)、復(fù)位、計(jì) 數(shù)器清零后,獲得板初始RTC時(shí)鐘和設(shè)備初始RTC時(shí)鐘;根據(jù)同步以太網(wǎng) 首次發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘后,啟動(dòng)板計(jì)數(shù)器,將所述板計(jì)數(shù)器 的時(shí)鐘設(shè)置為設(shè)備默認(rèn)的從端口時(shí)鐘,并以設(shè)備默認(rèn)的從端口時(shí)鐘來同步板 RTC時(shí)鐘;啟動(dòng)設(shè)備計(jì)數(shù)器后,將設(shè)備默認(rèn)的從板RTC時(shí)鐘設(shè)置為設(shè)備計(jì) 數(shù)器時(shí)鐘,并以設(shè)備默認(rèn)從板的RTC時(shí)鐘來同步設(shè)備RTC時(shí)鐘,再用設(shè)備 RTC時(shí)鐘同步各個(gè)主板的RTC時(shí)鐘,用同步后各個(gè)主板的RTC時(shí)鐘同步各 個(gè)主板的各自所有端口的時(shí)鐘。
進(jìn)一步地,步驟B中確定出從端口和主端口后,將從端口的時(shí)鐘發(fā)給板 計(jì)數(shù)器;步驟C中確定出從板和主板后,將從板的時(shí)鐘發(fā)給設(shè)備計(jì)數(shù)器;將 設(shè)備RTC時(shí)鐘下發(fā)給板時(shí),將設(shè)備RTC同時(shí)下發(fā)給板計(jì)數(shù)器;所述所有計(jì) 數(shù)器的實(shí)時(shí)時(shí)鐘都是自身實(shí)時(shí)所接收到的時(shí)鐘。
較佳地,所有同步RTC時(shí)鐘的方法為得出校準(zhǔn)偏差,根據(jù)所述校準(zhǔn) 偏差來校準(zhǔn)RTC時(shí)鐘。
較佳地,所述得出校準(zhǔn)偏差的方法為設(shè)定讀數(shù)周期和時(shí)鐘校準(zhǔn)周期, 并設(shè)定偏差門限;讀數(shù)周期到來,讀取RTC時(shí)鐘和計(jì)數(shù)器的數(shù)值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值;根據(jù)初始RTC時(shí)鐘和讀數(shù)周期所讀 取的RTC時(shí)鐘得出相對運(yùn)行時(shí)間,再根據(jù)計(jì)數(shù)器的時(shí)間格式值和相對運(yùn)行 時(shí)間得出校準(zhǔn)偏差。
進(jìn)一步地,所述根據(jù)校準(zhǔn)偏差校準(zhǔn)RTC時(shí)鐘為判斷校準(zhǔn)偏差是否大 于或等于設(shè)定的偏差門限,若大于或等于,則校準(zhǔn)RTC時(shí)鐘后判斷時(shí)鐘校 準(zhǔn)周期是否到;否則直接確定時(shí)鐘校準(zhǔn)周期是否到。
較佳地,該方法進(jìn)一步包括確定時(shí)鐘校準(zhǔn)周期到來后,根據(jù)校準(zhǔn)偏差 校準(zhǔn)RTC時(shí)間后,清零計(jì)數(shù)器;否則重復(fù)等待讀數(shù)周期到來的步驟。
一種多端口同步以太網(wǎng)設(shè)備同步的系統(tǒng),至少兩個(gè)端口構(gòu)成的板,至少兩
個(gè)所述板構(gòu)成多端口同步以太網(wǎng)設(shè)備,該系統(tǒng)包括
端口時(shí)鐘恢復(fù)單元,用于根據(jù)各個(gè)端口接收到的同步以太網(wǎng)發(fā)來的數(shù)據(jù)恢 復(fù)出各個(gè)端口的時(shí)鐘;
板級(jí)CPU,用于根據(jù)各個(gè)端口的時(shí)鐘確定出從端口和主端口 ,并將各個(gè)端 口的時(shí)鐘發(fā)給板級(jí)時(shí)鐘管理單元;
板級(jí)時(shí)鐘管理單元,用于用從端口的時(shí)鐘來同步板的RTC時(shí)鐘后,用板的 RTC時(shí)鐘來同步板上各個(gè)主端口時(shí)鐘;還用于用設(shè)備RTC時(shí)鐘來同步板RTC 時(shí)鐘,然后用同步后的RTC時(shí)鐘來同步板上各個(gè)端口的時(shí)鐘;
設(shè)備級(jí)CPU,用于根據(jù)各個(gè)板的時(shí)鐘確定出從板和主板,并將各個(gè)板的時(shí) 鐘下發(fā)給設(shè)備級(jí)時(shí)鐘管理單元;
設(shè)備級(jí)時(shí)鐘管理單元,用于用從板的時(shí)鐘來同步設(shè)備RTC時(shí)鐘,并將設(shè)備 RTC時(shí)鐘下發(fā)給板級(jí)時(shí)鐘管理單元。
較佳地,該系統(tǒng)進(jìn)一步包括報(bào)文管理單元,用于根據(jù)各個(gè)端口的時(shí)鐘確 定出各個(gè)端口的時(shí)間精度級(jí)別和端口號(hào),并將各個(gè)端口的時(shí)鐘、時(shí)間精度級(jí)別 和端口號(hào)發(fā)給板級(jí)CPU;還用于根據(jù)各個(gè)板的時(shí)鐘確定出各個(gè)板的時(shí)間精度級(jí) 別和板號(hào),并將各個(gè)板的時(shí)鐘、時(shí)間精度級(jí)別和板號(hào)發(fā)給設(shè)備級(jí)CPU。
進(jìn)一步地,
設(shè)備級(jí)CPU,還用于獲得設(shè)備初始RTC時(shí)鐘;還用于進(jìn)行全設(shè)備啟動(dòng)、復(fù)位、計(jì)數(shù)器清零;還用于啟動(dòng)板計(jì)數(shù)器,將所述板計(jì)數(shù)器的時(shí)鐘設(shè)置為設(shè) 備默認(rèn)的/人端口時(shí)鐘;
端口時(shí)鐘恢復(fù)單元,還用于根據(jù)同步以太網(wǎng)首次發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè) 端口的時(shí)4中;
板級(jí)CPU,還用于獲得板初始RTC時(shí)鐘;啟動(dòng)設(shè)備計(jì)數(shù)器后,將設(shè)備 默認(rèn)的從板RTC時(shí)鐘設(shè)置為設(shè)備計(jì)數(shù)器時(shí)鐘;
板級(jí)時(shí)鐘管理單元,還用于以設(shè)備默認(rèn)的從端口時(shí)鐘來同步板RTC時(shí)
鐘;
設(shè)備級(jí)時(shí)鐘管理單元,還用于以設(shè)備默認(rèn)的從板時(shí)鐘來同步設(shè)備RTC 時(shí)鐘。
進(jìn)一步地,所述才反級(jí)CPU確定出,人端口和主端口后,還用于將從端口 的時(shí)鐘發(fā)給板計(jì)數(shù)器;
所述設(shè)備級(jí)CPU確定出從板和主板后,還用于將從板的時(shí)鐘發(fā)給設(shè)備 計(jì)數(shù)器;
所述設(shè)備級(jí)時(shí)鐘管理單元將設(shè)備RTC時(shí)鐘下發(fā)給板時(shí),還用于將設(shè)備 RTC同時(shí)下發(fā)給板時(shí)鐘管理單元的板計(jì)數(shù)器;
所述所有計(jì)數(shù)器的實(shí)時(shí)時(shí)鐘都是自身實(shí)時(shí)所接收到的時(shí)鐘。
較佳地,所述所有時(shí)鐘管理單元在同步RTC時(shí)鐘時(shí),用于根據(jù)自身所得 出的校準(zhǔn)偏差來校準(zhǔn)RTC時(shí)鐘。
較佳地,所述所有時(shí)鐘管理單元進(jìn)一步包括周期和門限設(shè)定模塊、多 路選擇器MUX、計(jì)數(shù)器、時(shí)鐘處理模塊,其中,
周期和門限設(shè)定模塊,用于得出校準(zhǔn)偏差的方法為設(shè)定讀數(shù)周期和時(shí) 鐘校準(zhǔn)周期,并設(shè)定偏差門限;
多路選擇器MUX、用于從接收到的時(shí)鐘中選擇出時(shí)鐘精度級(jí)別最高的 時(shí)鐘,并將時(shí)鐘精度級(jí)別最高的時(shí)鐘最為計(jì)數(shù)器的時(shí)鐘;
計(jì)數(shù)器、用于為時(shí)鐘處理模塊得出校準(zhǔn)偏差提供數(shù)值;
相應(yīng)地,所述所有CPU在讀數(shù)周期到來,讀取RTC時(shí)鐘和計(jì)數(shù)器的數(shù)值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值,并把所讀取的RTC時(shí)鐘 和計(jì)數(shù)器時(shí)間格式值發(fā)送給與所述CPU對應(yīng)的時(shí)鐘管理模塊中的時(shí)鐘處理
模塊;
時(shí)鐘處理模塊,用于根據(jù)初始RTC時(shí)鐘和讀數(shù)周期所讀取的RTC時(shí)鐘 得出相對運(yùn)行時(shí)間,再根據(jù)計(jì)數(shù)器的時(shí)間格式值和相對運(yùn)行時(shí)間得出校準(zhǔn)偏 差,用得到的校準(zhǔn)偏差進(jìn)行RTC同步。
進(jìn)一步地,所述時(shí)鐘處理模塊進(jìn)一步用于判斷校準(zhǔn)偏差是否大于或等 于設(shè)定的偏差門限,若大于或等于,則用于校準(zhǔn)RTC時(shí)鐘后判斷時(shí)鐘校準(zhǔn) 周期是否到;否則直接判斷時(shí)鐘校準(zhǔn)周期是否到。
進(jìn)一步地,所述時(shí)鐘處理模塊確定時(shí)鐘校準(zhǔn)周期到來后,根據(jù)校準(zhǔn)偏差 校準(zhǔn)RTC時(shí)間后,進(jìn)一步用于清零計(jì)數(shù)器;在確定時(shí)鐘校準(zhǔn)周期沒有到來 后,進(jìn)一步用于等待讀數(shù)周期到來。
本發(fā)明多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步方法及系統(tǒng),板上的各個(gè)端口 將從同步以太網(wǎng)獲得的數(shù)據(jù)進(jìn)行時(shí)鐘恢復(fù),得到各自的時(shí)鐘后,通過報(bào)文管 理系統(tǒng)和板級(jí)CPU根據(jù)時(shí)鐘精度級(jí)別確定出時(shí)鐘精度最高的端口為從端口 后,用從端口的時(shí)鐘去同步板實(shí)時(shí)時(shí)鐘(RTC, Real-Time Clock)時(shí)鐘,并 將板的RTC時(shí)鐘發(fā)給報(bào)文管理系統(tǒng),報(bào)文管理系統(tǒng)和設(shè)備級(jí)CPU根據(jù)時(shí)鐘 精度級(jí)別確定出時(shí)鐘精度最高的板為從板后,用從板的時(shí)鐘去同步設(shè)備RTC 時(shí)鐘,并用同步后的RTC時(shí)鐘去同步主板的RTC時(shí)鐘和主板上各個(gè)端口的 時(shí)鐘,這樣就能夠?qū)崿F(xiàn)多端口同步以太網(wǎng)的全設(shè)備時(shí)鐘同步。且每次同步的 時(shí)候都選用最高時(shí)鐘精度的時(shí)鐘來同步,保證了多端口同步以太網(wǎng)設(shè)備時(shí)鐘 同步的高精度。
圖1為本發(fā)明的多端口同步以太網(wǎng)設(shè)備的層次結(jié)構(gòu)示意圖2為本發(fā)明多端口同步以太網(wǎng)設(shè)備時(shí)鐘同步的系統(tǒng)結(jié)構(gòu)示意圖3是本發(fā)明的端口時(shí)鐘恢復(fù)單元示意圖;圖4是本發(fā)明的板級(jí)中央時(shí)鐘管理單元示意圖5是本發(fā)明的設(shè)備級(jí)時(shí)鐘管理單元示意圖6為本發(fā)明多端口同步以太網(wǎng)設(shè)備時(shí)鐘同步的方法流程示意圖7為本發(fā)明板級(jí)時(shí)鐘同步示意圖8為本發(fā)明設(shè)備級(jí)時(shí)鐘同步示意圖10為本發(fā)明設(shè)備級(jí)時(shí)鐘管理單元同步設(shè)備RTC時(shí)鐘的方法流程示意圖。
具體實(shí)施例方式
下面將結(jié)合附圖,對本發(fā)明的具體實(shí)施作進(jìn)一步詳細(xì)的說明。為了說明 的方便,在以后的說明中,將多端口同步以太網(wǎng)設(shè)備簡稱為設(shè)備。用板來代 替印刷電路板。
本發(fā)明多端口同步以太網(wǎng)設(shè)備的層次結(jié)構(gòu)如圖1所示,設(shè)備處于最高 級(jí),設(shè)備上有多個(gè)不同的板,板比設(shè)備低一級(jí),板上有多個(gè)不同的端口,端 比板再低一級(jí)。同步以太網(wǎng)將數(shù)據(jù)通過端口傳給板,板將數(shù)據(jù)傳給設(shè)備,一 級(jí)一級(jí)上傳。
基于上述多端口同步以太網(wǎng)設(shè)備的層次結(jié)構(gòu),本發(fā)明的基本思想是板 上的各個(gè)端口將從同步以太網(wǎng)獲得的數(shù)據(jù)進(jìn)行時(shí)鐘恢復(fù),得到各自的時(shí)鐘, 各個(gè)端口將各自恢復(fù)得出的時(shí)鐘發(fā)給報(bào)文管理單元,報(bào)文管理單元分析得出 各個(gè)端口的時(shí)鐘精度級(jí)別和端口號(hào),并將各個(gè)端口的時(shí)鐘精度級(jí)別、端口號(hào) 和各個(gè)端口的時(shí)鐘上報(bào)給板級(jí)CPU,板級(jí)CPU根據(jù)各個(gè)端口的時(shí)鐘精度級(jí) 別和端口號(hào)確定從端口和主端口 ,將各個(gè)端口的時(shí)鐘發(fā)給板級(jí)時(shí)鐘管理單 元,并通知板級(jí)時(shí)鐘管理單元用從端口的時(shí)鐘來同步板RTC時(shí)鐘,同時(shí)將 板RTC時(shí)鐘發(fā)給報(bào)文管理單元,報(bào)文管理單元分析得出各個(gè)板的時(shí)鐘精度 級(jí)別和板號(hào),并將各個(gè)板的時(shí)鐘精度級(jí)別、板號(hào)和各個(gè)板的時(shí)鐘上報(bào)給設(shè)備
級(jí)CPU,設(shè)備級(jí)CPU根據(jù)各個(gè)板的時(shí)鐘精度級(jí)別和板號(hào)確定從板和主板,
ii將各個(gè)板的時(shí)鐘發(fā)給設(shè)備級(jí)時(shí)鐘管理單元,并通知設(shè)備級(jí)時(shí)鐘管理單元用從
板的時(shí)鐘來同步設(shè)備的RTC時(shí)鐘,然后用同步后的RTC時(shí)鐘去同步主板的 RTC時(shí)鐘和主板上各個(gè)端口的時(shí)鐘,這樣就能實(shí)現(xiàn)多端口同步以太網(wǎng)設(shè)備使 用同 一 精準(zhǔn)時(shí)鐘達(dá)到 一 個(gè)整體的同步。
本發(fā)明多端口同步以太網(wǎng)設(shè)備時(shí)鐘同步系統(tǒng)結(jié)構(gòu)如圖2所示,主要包括 以下單元端口時(shí)鐘恢復(fù)單元21,報(bào)文管理單元22、板級(jí)CPU23、板級(jí)時(shí) 鐘管理單元24、板RTC時(shí)鐘25、設(shè)備級(jí)CPU 26、設(shè)備級(jí)時(shí)鐘管理單元27、 設(shè)備RTC時(shí)鐘28,其中,
端口時(shí)鐘恢復(fù)單元21,用于根據(jù)以太網(wǎng)接收的數(shù)據(jù)恢復(fù)出各個(gè)端口的 時(shí)鐘,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于將恢復(fù)出的各個(gè)端口的時(shí) 鐘發(fā)給板級(jí)CPU 23,在設(shè)備非首次接收以太網(wǎng)數(shù)據(jù)的情況下,將恢復(fù)出的 各個(gè)端口的時(shí)鐘發(fā)給報(bào)文管理單元22;還用于接收板級(jí)時(shí)鐘管理單元24發(fā) 來的板級(jí)RTC時(shí)鐘來同步各個(gè)主端口的時(shí)鐘單元。
這里,端口時(shí)鐘恢復(fù)單元21包括網(wǎng)絡(luò)接口 211、時(shí)鐘恢復(fù)單元212, 具體如圖3所示,
網(wǎng)絡(luò)接口 211,將同步以太網(wǎng)上的4B/5B編碼或8B/10B編碼等數(shù)據(jù)發(fā) 給端口的時(shí)鐘恢復(fù)單元212。
時(shí)鐘恢復(fù)單元212,對同步以太網(wǎng)上發(fā)來的4B/5B編碼或8B/10B編碼 等數(shù)據(jù)進(jìn)行時(shí)鐘恢復(fù),得到各個(gè)端口的時(shí)鐘,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的 情況下,將恢復(fù)出的各個(gè)端口的時(shí)鐘發(fā)給板級(jí)CPU 23,在設(shè)備非首次接收 以太網(wǎng)數(shù)據(jù)的情況下,將恢復(fù)出的各個(gè)端口的時(shí)鐘發(fā)給報(bào)文管理單元22。
這里, 一般可以得到 一個(gè)相對同步以太網(wǎng)來說較高精度的時(shí)鐘。
報(bào)文管理單元22,用于接收端口時(shí)鐘恢復(fù)單元21發(fā)來的各個(gè)端口的時(shí) 鐘,分析出各個(gè)端口的精度級(jí)別和端口號(hào),并將得到的各個(gè)端口的精度級(jí)別 和端口號(hào)發(fā)給板級(jí)CPU 23;還用于接收板級(jí)時(shí)鐘管理單元24發(fā)來的各個(gè)板 的時(shí)鐘,分析得出各個(gè)板的精度級(jí)別和板號(hào),并將獲得的各個(gè)板的精度級(jí)別 和板號(hào)發(fā)給設(shè)備級(jí)CPU 26。板級(jí)CPU23,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的情況下,當(dāng)端口時(shí)鐘恢復(fù) 單元21恢復(fù)出各個(gè)端口的時(shí)鐘時(shí)后,用于啟動(dòng)板級(jí)時(shí)鐘管理單元24中的板 定時(shí)器,并將板定時(shí)器的時(shí)鐘設(shè)定為默認(rèn)從端口的時(shí)鐘,通知板級(jí)時(shí)鐘管理 單元24以所述默認(rèn)/人端口的時(shí)鐘來同步^反的RTC時(shí)鐘;還用于讀取j反初始 RTC時(shí)鐘并將其發(fā)給板級(jí)時(shí)鐘管理單元24中的時(shí)鐘處理模塊244,同時(shí)啟 動(dòng)板級(jí)時(shí)鐘管理單元24中的板計(jì)數(shù)器243;在設(shè)備非首次接收以太網(wǎng)數(shù)據(jù) 的情況下,用于根據(jù)接收到的各個(gè)端口的精度級(jí)別和端口號(hào),確定從端口和 主端口,將各個(gè)端口的時(shí)鐘發(fā)給板級(jí)時(shí)鐘管理單元24,并通知板的板級(jí)時(shí) 鐘管理單元24先用從端口的時(shí)鐘來同步板RTC時(shí)鐘25,然后用同步后的 RTC時(shí)鐘來同步各個(gè)主端口的時(shí)鐘,同時(shí)將板的RTC時(shí)鐘發(fā)給報(bào)文管理單 元22。
板級(jí)時(shí)鐘管理單元24中的周期和門限設(shè)定模塊241設(shè)定的讀數(shù)周期到 來,用于讀取板RTC時(shí)鐘25和板計(jì)數(shù)器243的數(shù)值,并把所取得的計(jì)數(shù)器 數(shù)值轉(zhuǎn)換成時(shí)間格式值,并將讀取的板RTC時(shí)鐘25的數(shù)值和得到的板級(jí)時(shí) 鐘管理單元24中的板計(jì)數(shù)器243的時(shí)間格式值發(fā)給板級(jí)時(shí)鐘管理單元24的 時(shí)鐘處理才莫塊244;還用于判斷板級(jí)時(shí)鐘管理單元24的時(shí)鐘處理纟莫塊244 得出的板校準(zhǔn)偏差是否大于或等于板級(jí)時(shí)鐘管理單元24中的周期和門限設(shè) 定模塊241設(shè)定的板偏差門限,在確定大于或等于后,用于通知板RTC時(shí) 鐘25中的鎖相環(huán)(PLL) 252根據(jù)板校準(zhǔn)偏差校準(zhǔn)板RTC時(shí)鐘;在確定小 于后,或?qū)錜TC時(shí)鐘根據(jù)板校準(zhǔn)偏差校準(zhǔn)后,用于判斷周期和門限設(shè)定 模塊241設(shè)定的時(shí)鐘校準(zhǔn)周期是否到來,在確定周期到來的情況下,用于通 知板RTC時(shí)鐘25中的PLL 252根據(jù)板校準(zhǔn)偏差校準(zhǔn)板RTC時(shí)間,然后用 于清零板計(jì)數(shù)器,在確定周期沒有到來的情況下,繼續(xù)等待讀數(shù)周期的到來。
板級(jí)時(shí)鐘管理單元24,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于以 從板的RTC時(shí)鐘來同步設(shè)備RTC時(shí)鐘,然后將設(shè)備RTC時(shí)鐘下發(fā)給板級(jí) CPU;還用于用設(shè)備RTC時(shí)間同步各個(gè)主板RTC時(shí)鐘后,用各個(gè)主板RTC 時(shí)鐘同步各個(gè)主板的所有端口的時(shí)鐘;在設(shè)備非首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于用從端口的時(shí)鐘來同步板的RTC時(shí)鐘后,用同步后板的RTC時(shí)鐘 來同步各個(gè)主端口的時(shí)鐘;還用于用設(shè)備的RTC時(shí)鐘來同步板的RTC時(shí)鐘。
板級(jí)時(shí)鐘管理單元24包括周期和門限設(shè)定模塊241、多路選擇器 (MUX) 242、板計(jì)數(shù)器243、時(shí)鐘處理模塊244,具體如圖4所示,
周期和門限設(shè)定模塊241:設(shè)定讀數(shù)周期和時(shí)鐘校準(zhǔn)周期,并設(shè)定板偏 差門限。
這里,無論是讀數(shù)周期的設(shè)定,還是時(shí)鐘校準(zhǔn)周期的設(shè)定,或是板偏差 門限的設(shè)定,均根據(jù)不同通訊網(wǎng)絡(luò)對時(shí)間精度的要求來進(jìn)行協(xié)商設(shè)定,具體 沒有確定的數(shù)值。
MUX 242,用于接收板級(jí)CPU 23的通知,從接收到的各個(gè)端口的時(shí)鐘 中選擇出從端口的時(shí)鐘,即選擇出時(shí)鐘精度最高的端口時(shí)鐘,將從端口的時(shí) 鐘作為板計(jì)數(shù)器243的時(shí)鐘;還用于接收設(shè)備下發(fā)的RTC時(shí)鐘,將設(shè)備RTC 時(shí)鐘作為板計(jì)數(shù)器243的時(shí)鐘。
板的所有端口時(shí)鐘都與MUX242相連,其中,MUX242中的一條線上 連設(shè)備,與設(shè)備級(jí)的中央端口相連,另外的時(shí)鐘信號(hào)線來自與板相連的端口 。
板計(jì)數(shù)器243,用于對板RTC時(shí)鐘25輸出的時(shí)鐘進(jìn)行計(jì)數(shù)。
時(shí)鐘處理模塊244,用于根據(jù)板初始RTC時(shí)鐘、讀數(shù)周期所讀取的板 RTC時(shí)鐘25的數(shù)值得到板相對運(yùn)行時(shí)間,進(jìn)而根據(jù)板級(jí)CPU 23發(fā)來的板 計(jì)數(shù)器243的時(shí)間格式值和板相對運(yùn)行時(shí)間得到板校準(zhǔn)偏差;還用于根據(jù)所 得到的板校準(zhǔn)偏差同步設(shè)備或板的RTC時(shí)鐘,或同步板的各個(gè)端口的時(shí)鐘。
這里,板相對運(yùn)行時(shí)間是板初始RTC和讀數(shù)周期所讀取的板RTC時(shí)鐘 之間的差值;板校準(zhǔn)偏差是板計(jì)數(shù)器的時(shí)間格式值和板相對運(yùn)行時(shí)間之間的 差值。
板RTC時(shí)鐘25,用于為板產(chǎn)生RTC時(shí)鐘。
這里,板RTC時(shí)鐘25是由晶振251通過PLL 252產(chǎn)生的,它受到板級(jí) 時(shí)鐘管理單元24的校準(zhǔn)。
設(shè)備級(jí)CPU 26,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于讀取設(shè)備初始RTC時(shí)鐘并將其發(fā)給設(shè)備級(jí)時(shí)鐘管理單元27中的時(shí)鐘處理模塊274, 還用于根據(jù)默認(rèn)從板的時(shí)鐘啟動(dòng)設(shè)備級(jí)時(shí)鐘管理單元27中的設(shè)備計(jì)數(shù)器 273,通知設(shè)備級(jí)時(shí)鐘管理單元27以默認(rèn)從板的RTC時(shí)鐘來同步設(shè)備RTC 時(shí)鐘28,然后將設(shè)備RTC時(shí)鐘下發(fā)給板級(jí)CPU23;在設(shè)備非首次接收以太 網(wǎng)數(shù)據(jù)的情況下,用于根據(jù)接收到的各個(gè)板的時(shí)鐘精度級(jí)別和板號(hào),確定從 板和主板,將各個(gè)板的時(shí)鐘發(fā)給設(shè)備級(jí)時(shí)鐘管理單元27,并通知設(shè)備時(shí)鐘 管理單元27用從板的RTC時(shí)鐘來同步設(shè)備RTC時(shí)鐘28后,將設(shè)備的RTC 時(shí)鐘下發(fā)給各個(gè)主板的板級(jí)時(shí)鐘管理單元24。
設(shè)備級(jí)時(shí)鐘管理單元27中的周期和門限設(shè)定模塊271設(shè)定的讀數(shù)周期 到來后,用于讀取設(shè)備RTC時(shí)鐘28和設(shè)備計(jì)數(shù)器273的數(shù)值,并把所取得 的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值,并將讀取的設(shè)備RTC時(shí)鐘28的數(shù)值和得 到的設(shè)備級(jí)時(shí)鐘管理單元27中的設(shè)備計(jì)數(shù)器273的時(shí)間格式值發(fā)給設(shè)備級(jí) 時(shí)鐘管理單元27的時(shí)鐘處理模塊274;還用于判斷設(shè)備級(jí)時(shí)鐘管理單元27 的時(shí)鐘處理模塊274得出的設(shè)備校準(zhǔn)偏差是否大于或等于設(shè)備級(jí)時(shí)鐘管理 單元27中的周期和門限設(shè)定模塊271設(shè)定的設(shè)備偏差門限,在確定大于或 等于后,用于通知設(shè)備RTC時(shí)鐘28中的PLL 282根據(jù)設(shè)備校準(zhǔn)偏差校準(zhǔn)設(shè) 備RTC時(shí)鐘;在確定小于后,或?qū)⒃O(shè)備RTC時(shí)鐘根據(jù)設(shè)備校準(zhǔn)偏差校準(zhǔn)后, 用于判斷周期和門限設(shè)定模塊271設(shè)定的時(shí)鐘校準(zhǔn)周期是否到來,在確定周 期到來的情況下,用于通知設(shè)備RTC時(shí)鐘28中的PLL 282根據(jù)設(shè)備校準(zhǔn)偏 差校準(zhǔn)設(shè)備RTC時(shí)間,然后用于清零設(shè)備計(jì)數(shù)器,在確定周期沒有到來的 情況下,繼續(xù)等待讀數(shù)周期的到來。
設(shè)備時(shí)鐘管理單元27,在設(shè)備首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于用 默認(rèn)從板的RTC時(shí)鐘來同步設(shè)備的RTC時(shí)鐘28后,將設(shè)備的RTC時(shí)鐘下 發(fā)給各個(gè)主板;在設(shè)備非首次接收以太網(wǎng)數(shù)據(jù)的情況下,用于用從板的RTC 時(shí)鐘來同步設(shè)備的RTC時(shí)鐘28后,將設(shè)備的RTC時(shí)鐘下發(fā)給各個(gè)主板。
設(shè)備級(jí)時(shí)鐘管理單元27包括周期和門限設(shè)定才莫塊271、 MUX 272、 設(shè)備計(jì)數(shù)器273、時(shí)鐘處理模塊274,具體如圖5所示,周期和門限設(shè)定模塊271:設(shè)定讀數(shù)周期和時(shí)鐘校準(zhǔn)周期,并設(shè)定設(shè)備 偏差門限。
這里,無論是讀數(shù)周期的設(shè)定,還是時(shí)鐘校準(zhǔn)周期的設(shè)定,或是設(shè)備偏 差門限的設(shè)定,均根據(jù)不同通訊網(wǎng)絡(luò)對時(shí)間精度的要求來進(jìn)行協(xié)商設(shè)定,具 體沒有確定的數(shù)值。
MUX 272,用于接收設(shè)備級(jí)CPU 26的通知,從接收到的各個(gè)板的時(shí)鐘 中選擇出從板的時(shí)鐘,即選擇出時(shí)鐘精度最高的板時(shí)鐘,將從板的時(shí)鐘作為 設(shè)備計(jì)數(shù)器273的時(shí)鐘。
設(shè)備的所有板級(jí)時(shí)鐘都與MUX 272相連。
設(shè)備計(jì)數(shù)器273,用于對設(shè)備RTC時(shí)鐘28輸出的時(shí)鐘進(jìn)行計(jì)數(shù)。 時(shí)鐘處理模塊274,用于根據(jù)設(shè)備初始RTC時(shí)鐘、讀數(shù)周期所讀取的設(shè) 備RTC時(shí)鐘28的數(shù)值得到設(shè)備相對運(yùn)行時(shí)間,進(jìn)而根據(jù)設(shè)備級(jí)CPU 26發(fā) 來的設(shè)備計(jì)數(shù)器273的時(shí)間格式值和設(shè)備相對運(yùn)行時(shí)間得到設(shè)備校準(zhǔn)偏差; 還用于根據(jù)得到的設(shè)備校準(zhǔn)偏差同步設(shè)備RTC時(shí)鐘,并將設(shè)備RTC時(shí)鐘下 發(fā)給板。
這里,設(shè)備相對運(yùn)行時(shí)間是設(shè)備初始RTC時(shí)鐘和讀數(shù)周期所讀取的設(shè) 備RTC時(shí)鐘之間的差值;設(shè)備校準(zhǔn)偏差是設(shè)備計(jì)數(shù)器273的時(shí)間格式值和 設(shè)備相對運(yùn)行時(shí)間之間的差值。
設(shè)備RTC時(shí)鐘28,用于為設(shè)備產(chǎn)生RTC時(shí)鐘。
這里,設(shè)備RTC時(shí)鐘28是由晶振281通過PLL282產(chǎn)生的,它受到設(shè) 備級(jí)時(shí)鐘管理單元的校準(zhǔn)。
本發(fā)明多端口同步以太網(wǎng)設(shè)備時(shí)鐘同步方法如圖6所示,包括以下步
驟
步驟601、設(shè)備上電啟動(dòng),設(shè)備、設(shè)備上的所有板復(fù)位,設(shè)備計(jì)數(shù)器、 設(shè)備上的所有板的計(jì)數(shù)器清零,即全設(shè)備啟動(dòng)、復(fù)位、計(jì)數(shù)器清零。板級(jí) CPU讀取板初始RTC時(shí)鐘,并將其發(fā)給板級(jí)時(shí)鐘管理單元中的時(shí)鐘處理單 元,設(shè)備級(jí)CPU讀取設(shè)備初始RTC時(shí)鐘,并將其發(fā)給設(shè)備級(jí)時(shí)鐘管理單元中的時(shí)鐘處理單元。
這里,板的RTC時(shí)鐘是由晶振和PLL生成的,板初始RTC時(shí)鐘是板復(fù) 位時(shí)所讀取的板RTC時(shí)鐘;設(shè)備的RTC時(shí)鐘是由設(shè)備的晶振和PLL生成的, 設(shè)備初始RTC時(shí)鐘是設(shè)備復(fù)位時(shí)所讀取的設(shè)備RTC時(shí)鐘。
步驟602、同步以太網(wǎng)中的數(shù)據(jù)首次到來時(shí),端口時(shí)鐘恢復(fù)單元根據(jù)各 個(gè)端口接收到的同步以太網(wǎng)中的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘,并將各個(gè)端口 的時(shí)鐘上報(bào)給板級(jí)CPU。
這里,各個(gè)端口的端口時(shí)鐘恢復(fù)單元接收同步以太網(wǎng)中的4B/5B編碼或 8B/10B編碼等數(shù)據(jù),端口時(shí)鐘恢復(fù)單元將所接收到的編碼數(shù)據(jù)恢復(fù)成各個(gè) 端口的時(shí)4中。
另外,端口恢復(fù)時(shí)鐘的方法包括以下步驟首先,端口通過網(wǎng)絡(luò)接口從 同步以太網(wǎng)接收數(shù)據(jù),端口時(shí)鐘恢復(fù)單元通過接收到的數(shù)據(jù)將時(shí)鐘恢復(fù)出 來,然后,端口將恢復(fù)出來的時(shí)鐘作為自己的時(shí)鐘,設(shè)備首次接收以太網(wǎng)數(shù) 據(jù)的情況下,端口將各自恢復(fù)得出的時(shí)鐘上報(bào)板級(jí)CPU;在設(shè)備非首次接收 以太網(wǎng)數(shù)據(jù)過來的情況下,端口將各自恢復(fù)得出的時(shí)鐘上報(bào)給報(bào)文管理單 元。
步驟603、板級(jí)CPU啟動(dòng)板級(jí)時(shí)鐘管理單元中的板計(jì)數(shù)器,將板的時(shí)鐘 設(shè)置為默認(rèn)從端口的時(shí)鐘,通知板級(jí)時(shí)鐘管理單元以所述默認(rèn)從端口的時(shí)鐘 來同步板的RTC時(shí)鐘,同時(shí)默認(rèn)為從板的默認(rèn)從端口所在的板將自身的 RTC時(shí)鐘上報(bào)給設(shè)備級(jí)CPU。
這里,板級(jí)時(shí)鐘管理單元中的板定時(shí)器時(shí)鐘是不斷變化的,不管收到任 何時(shí)鐘,板定時(shí)器都將收到的時(shí)鐘作為自身的時(shí)鐘。
這里,從端口是指某板上時(shí)鐘精度最高的端口 ,主端口是指所述板上除 從端口以外任一個(gè)端口 ,板級(jí)時(shí)鐘管理單元將會(huì)以從端口的時(shí)鐘作為標(biāo)準(zhǔn)來 同步所有主端口的時(shí)鐘,具體如圖7所示, 一個(gè)板上只能有一個(gè)從端口,但 是可以有多個(gè)主端口。
同理,從板是指設(shè)備上時(shí)鐘精度最高的板,主板是指所述設(shè)備上除從板以外任一個(gè)板,設(shè)備級(jí)時(shí)鐘管理單元將會(huì)以從板的時(shí)鐘作為標(biāo)準(zhǔn)來同步所有 主板的時(shí)鐘,具體如圖8所示, 一個(gè)設(shè)備上只能有一個(gè)從板,但是可以有若 干個(gè)主板。
這里,板級(jí)時(shí)鐘管理單元用收到的所述默認(rèn)從端口的時(shí)鐘來同步各自的
RTC時(shí)鐘的方法如圖9所示,包括以下步驟
步驟901、板級(jí)時(shí)鐘管理單元的周期和門限設(shè)定模塊設(shè)定讀數(shù)周期和時(shí) 鐘校準(zhǔn)周期,并設(shè)定板偏差門限。
這里,無論是讀數(shù)周期的設(shè)定,還是時(shí)鐘校準(zhǔn)周期的設(shè)定,或是板偏差 門限的設(shè)定,均根據(jù)不同通訊網(wǎng)絡(luò)對時(shí)間精度的要求來進(jìn)行協(xié)商設(shè)定,具體 沒有確定的數(shù)值。
步驟902、讀數(shù)周期到來,板級(jí)CPU讀取板的RTC時(shí)鐘和時(shí)鐘管理單 元中的板計(jì)數(shù)器的數(shù)值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值,并將 讀取的板的RTC時(shí)鐘和得到的時(shí)鐘管理單元中的板計(jì)數(shù)器的時(shí)間格式值發(fā) 給板級(jí)時(shí)鐘管理單元的時(shí)鐘處理才莫塊。
這里,時(shí)鐘管理單元中的板計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘是默認(rèn)從端口恢復(fù)得來的 時(shí)鐘。
步驟903、板級(jí)時(shí)鐘管理單元的時(shí)鐘處理模塊根據(jù)收到的板初始RTC 時(shí)鐘和讀數(shù)周期所讀取的板RTC時(shí)鐘得出板相對運(yùn)行時(shí)間,再根據(jù)板計(jì)數(shù) 器的時(shí)間格式值和板相對運(yùn)行時(shí)間得出板校準(zhǔn)偏差。
這里,板相對運(yùn)行時(shí)間是板初始RTC和讀數(shù)周期所讀取的板RTC時(shí)鐘 之間的差值;板校準(zhǔn)偏差是板計(jì)數(shù)器的時(shí)間格式值和板相對運(yùn)行時(shí)間之間的 差值。
步驟904、板級(jí)CPU判斷板校準(zhǔn)偏差是否大于或等于設(shè)定的板偏差門 限,若大于或等于,則通知板RTC時(shí)鐘中的PLL執(zhí)行步驟905后執(zhí)行步驟 906;否則直接執(zhí)行步驟906。
步驟卯5、板RTC時(shí)鐘中的PLL根據(jù)板4交準(zhǔn)偏差校準(zhǔn)板RTC時(shí)鐘。 這里,具體校準(zhǔn)的大小也根據(jù)不同通訊網(wǎng)絡(luò)對時(shí)間精度的要求來進(jìn)行協(xié)商設(shè)定。
步驟906、板級(jí)CPU判斷時(shí)鐘校準(zhǔn)周期是否到來,若到來,則通知板 RTC時(shí)鐘中的PLL根據(jù)板校準(zhǔn)偏差校準(zhǔn)板RTC時(shí)間,然后清零計(jì)數(shù)器;否 則執(zhí)行步驟902。
步驟604、設(shè)備級(jí)CPU根據(jù)默認(rèn)從板的時(shí)鐘來啟動(dòng)設(shè)備定時(shí)器,通知設(shè) 備級(jí)時(shí)鐘管理單元以從板的RTC時(shí)鐘來同步設(shè)備RTC時(shí)鐘,然后將設(shè)備 RTC時(shí)鐘下發(fā)給板級(jí)CPU。
這里,設(shè)備級(jí)時(shí)鐘管理單元以從板的RTC時(shí)鐘來同步設(shè)備級(jí)RTC時(shí)鐘 的方法如圖10所示,包括以下步驟
步驟1001、在設(shè)備級(jí)時(shí)鐘管理單元中設(shè)定讀數(shù)周期和時(shí)鐘校準(zhǔn)周期, 并設(shè)定設(shè)備偏差門限。
這里,無論是讀數(shù)周期的設(shè)定,還是時(shí)鐘校準(zhǔn)周期的設(shè)定,或是設(shè)備偏 差門限的設(shè)定,均根據(jù)不同通訊網(wǎng)絡(luò)對時(shí)間精度的要求來進(jìn)行協(xié)商設(shè)定。
步驟1002、讀數(shù)周期到來,設(shè)備級(jí)CPU讀取設(shè)備的RTC時(shí)鐘和設(shè)備級(jí) 時(shí)鐘管理單元的設(shè)備計(jì)數(shù)器的數(shù)值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格 式值。
這里,設(shè)備級(jí)時(shí)鐘管理單元中的設(shè)備計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘是從板的時(shí)鐘。 步驟1003、設(shè)備級(jí)CPU根據(jù)收到的設(shè)備初始RTC時(shí)鐘和讀數(shù)周期所讀 取的設(shè)備時(shí)鐘管理單元的設(shè)備RTC時(shí)鐘得出設(shè)備相對運(yùn)行時(shí)間,再根據(jù)設(shè) 備時(shí)鐘管理單元的設(shè)備計(jì)數(shù)器的時(shí)間格式值和設(shè)備相對運(yùn)行時(shí)間得出設(shè)備 才交準(zhǔn)偏差。
這里,設(shè)備相對運(yùn)行時(shí)間是設(shè)備初始RTC和讀數(shù)周期所讀取的設(shè)備時(shí) 鐘管理單元的設(shè)備RTC時(shí)鐘之間的差值;設(shè)備校準(zhǔn)偏差是設(shè)備時(shí)鐘管理單 元的設(shè)備計(jì)數(shù)器的時(shí)間格式值和設(shè)備相對運(yùn)行時(shí)間之間的差值。
步驟1004、設(shè)備級(jí)CPU判斷設(shè)備校準(zhǔn)偏差是否大于或等于設(shè)定的設(shè)備 偏差門限,若大于或等于,則通知設(shè)備級(jí)時(shí)鐘管理單元的PLL執(zhí)行步驟1005; 否則直接執(zhí)行步驟1005。步驟1005、設(shè)備級(jí)時(shí)鐘管理單元的PLL根據(jù)設(shè)備校準(zhǔn)偏差校準(zhǔn)設(shè)備RTC 時(shí)間后,通知設(shè)備級(jí)CPU執(zhí)行步驟1006。
步驟1006、設(shè)備級(jí)CPU判斷時(shí)鐘校準(zhǔn)周期是否到來,若到來,則通知 設(shè)備級(jí)時(shí)鐘管理單元的PLL根據(jù)設(shè)備校準(zhǔn)偏差校準(zhǔn)設(shè)備RTC時(shí)間,同時(shí)清 零設(shè)備計(jì)數(shù)器;否則執(zhí)行步驟1002。
步驟605、 ^1級(jí)CPU通知板級(jí)時(shí)鐘管理單元#4居收到的乂人澤反RTC時(shí)鐘 來同步各個(gè)主板的RTC時(shí)鐘,然后用各個(gè)主板同步后的RTC時(shí)鐘同步各個(gè) 主板各自所有的端口時(shí)鐘。
板級(jí)時(shí)鐘管理單元根據(jù)收到的從板RTC時(shí)鐘來同步各個(gè)主板的RTC時(shí) 鐘的方法與步驟603的方法完全相同,只是板級(jí)時(shí)鐘管理單元的板定時(shí)器的 時(shí)鐘是設(shè)備的RTC時(shí)鐘。
步驟606、第二次同步以太網(wǎng)中的數(shù)據(jù)到來時(shí),端口時(shí)鐘恢復(fù)單元根據(jù) 各個(gè)端口接收到的同步以太網(wǎng)中的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘,并將各個(gè)端
口的時(shí)鐘發(fā)給報(bào)文管理單元。
步驟607、報(bào)文管理單元根據(jù)收到的各個(gè)端口的時(shí)鐘分析得到各個(gè)端口 的時(shí)鐘精度級(jí)別,并將各個(gè)端口的時(shí)鐘精度級(jí)別、端口號(hào)和各個(gè)端口的時(shí)鐘 上才艮一反級(jí)CPU。
步驟608、板級(jí)CPU根據(jù)各個(gè)端口的時(shí)鐘精度級(jí)別和端口號(hào),將時(shí)鐘精 度最高的端口設(shè)為從端口,將其他端口作為主端口,將各個(gè)端口的時(shí)鐘發(fā)給 板級(jí)時(shí)鐘管理單元。
步驟609、板級(jí)CPU通知板級(jí)時(shí)鐘管理單元用/人端口的時(shí)鐘來同步板的 RTC時(shí)鐘后,用板的RTC時(shí)鐘來同步板所有主端口的時(shí)鐘;同時(shí)將板RTC 時(shí)鐘發(fā)給報(bào)文管理單元。
這里,板級(jí)時(shí)鐘管理單元用從端口的時(shí)鐘來同步板的RTC時(shí)鐘的方法 與步驟603相同,在此不再贅述。
步驟610、報(bào)文管理單元根據(jù)收到的各個(gè)板的RTC時(shí)鐘分析得到各個(gè)板 的時(shí)鐘精度級(jí)別,并將各個(gè)板的時(shí)鐘精度級(jí)別、板號(hào)和各個(gè)板的時(shí)鐘上報(bào)設(shè)備級(jí)CPU。
步驟611 、設(shè)備級(jí)CPU根據(jù)各個(gè)板的時(shí)鐘精度級(jí)別和板號(hào),將時(shí)鐘精度
最高的板設(shè)為從板,將其他端口作為主板,將各個(gè)板的時(shí)鐘發(fā)給設(shè)備級(jí)時(shí)鐘 管理單元。
步驟612、設(shè)備級(jí)CPU通知設(shè)備級(jí)時(shí)鐘管理單元用從板的RTC時(shí)鐘來 同步設(shè)備的RTC時(shí)鐘,同時(shí)將設(shè)備的RTC時(shí)鐘下發(fā)給板級(jí)CPU。
設(shè)備級(jí)時(shí)鐘管理單元用從板的RTC時(shí)鐘來同步設(shè)備的RTC時(shí)鐘的方法 與步驟604相同,在此不再贅述。
步驟613、板級(jí)CPU通知板級(jí)時(shí)鐘管理單元用設(shè)備RTC時(shí)鐘來同步各 個(gè)主板的RTC時(shí)鐘,然后用同步后各個(gè)主板的RTC時(shí)鐘來同步各個(gè)主板各 自所有的端口。
以后每次同步以太網(wǎng)中的數(shù)據(jù)到來時(shí),都重復(fù)執(zhí)行步驟606至步驟613。 以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù) 范圍。
權(quán)利要求
1、一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步方法,至少兩個(gè)端口構(gòu)成的板,至少兩個(gè)所述板構(gòu)成多端口同步以太網(wǎng)設(shè)備,其特征在于,該方法包括以下步驟A、根據(jù)接收到的同步以太網(wǎng)發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘;B、根據(jù)各個(gè)端口的時(shí)鐘確定出從端口和主端口后,用從端口的時(shí)鐘來同步板的實(shí)時(shí)時(shí)鐘RTC時(shí)鐘后,用板的RTC時(shí)鐘來同步板上各個(gè)主端口時(shí)鐘;C、根據(jù)各個(gè)板的RTC時(shí)鐘確定出從板和主板后,用從板的時(shí)鐘來同步設(shè)備RTC時(shí)鐘,并將設(shè)備RTC時(shí)鐘下發(fā)給板;D、板根據(jù)設(shè)備RTC時(shí)鐘來同步板RTC時(shí)鐘,然后用同步后板的RTC時(shí)鐘來同步板上各個(gè)端口的時(shí)鐘。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述確定從端 口和主端口或步驟C中所述確定從板和主板時(shí),4艮據(jù)各個(gè)端口的時(shí)鐘精度級(jí) 別和端口號(hào)確定,或根據(jù)各個(gè)板的時(shí)鐘精度級(jí)別和板號(hào)確定。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟A之前,該方法進(jìn) 一步包括全設(shè)備啟動(dòng)、復(fù)位、計(jì)數(shù)器清零后,獲得板初始RTC時(shí)鐘和設(shè) 備初始RTC時(shí)鐘;根據(jù)同步以太網(wǎng)首次發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè)端口的時(shí)鐘 后,啟動(dòng)板計(jì)數(shù)器,將所述板計(jì)數(shù)器的時(shí)鐘設(shè)置為設(shè)備默認(rèn)的從端口時(shí)鐘, 并以設(shè)備默認(rèn)的從端口時(shí)鐘來同步板RTC時(shí)鐘;啟動(dòng)設(shè)備計(jì)數(shù)器后,將設(shè) 備默認(rèn)的從板RTC時(shí)鐘設(shè)置為設(shè)備計(jì)數(shù)器時(shí)鐘,并以設(shè)備默認(rèn)從板的RTC 時(shí)鐘來同步設(shè)備RTC時(shí)鐘,再用設(shè)備RTC時(shí)鐘同步各個(gè)主板的RTC時(shí)鐘, 用同步后各個(gè)主板的RTC時(shí)鐘同步各個(gè)主板的各自所有端口的時(shí)鐘。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟B中確定出從端口 和主端口后,將從端口的時(shí)鐘發(fā)給板計(jì)數(shù)器;步驟C中確定出從板和主板后, 將從板的時(shí)鐘發(fā)給設(shè)備計(jì)數(shù)器;將設(shè)備RTC時(shí)鐘下發(fā)給板時(shí),將設(shè)備RTC 同時(shí)下發(fā)給板計(jì)數(shù)器;所述所有計(jì)數(shù)器的實(shí)時(shí)時(shí)鐘都是自身實(shí)時(shí)所接收到的時(shí)鐘。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所有同步RTC時(shí)鐘的方 法為得出校準(zhǔn)偏差,根據(jù)所述校準(zhǔn)偏差來校準(zhǔn)RTC時(shí)鐘。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述得出校準(zhǔn)偏差的方 法為設(shè)定讀數(shù)周期和時(shí)鐘校準(zhǔn)周期,并設(shè)定偏差門限;讀數(shù)周期到來,讀 取RTC時(shí)鐘和計(jì)數(shù)器的數(shù)值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值; 根據(jù)初始RTC時(shí)鐘和讀數(shù)周期所讀取的RTC時(shí)鐘得出相對運(yùn)行時(shí)間,再根 據(jù)計(jì)數(shù)器的時(shí)間格式值和相對運(yùn)行時(shí)間得出校準(zhǔn)偏差。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)校準(zhǔn)偏差校準(zhǔn) RTC時(shí)鐘為判斷校準(zhǔn)偏差是否大于或等于設(shè)定的偏差門限,若大于或等于, 則校準(zhǔn)RTC時(shí)鐘后判斷時(shí)鐘校準(zhǔn)周期是否到;否則直接確定時(shí)鐘校準(zhǔn)周期 是否到。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,該方法進(jìn)一步包括確 定時(shí)鐘校準(zhǔn)周期到來后,根據(jù)校準(zhǔn)偏差校準(zhǔn)RTC時(shí)間后,清零計(jì)數(shù)器;否 則重復(fù)等待讀數(shù)周期到來的步驟。
9、 一種多端口同步以太網(wǎng)i殳備同步的系統(tǒng),至少兩個(gè)端口構(gòu)成的澤反,至少 兩個(gè)所述板構(gòu)成多端口同步以太網(wǎng)設(shè)備,其特征在于,該系統(tǒng)包括端口時(shí)鐘恢復(fù)單元,用于根據(jù)各個(gè)端口接收到的同步以太網(wǎng)發(fā)來的數(shù)據(jù)恢 復(fù)出各個(gè)端口的時(shí)鐘;板級(jí)CPU,用于根據(jù)各個(gè)端口的時(shí)鐘確定出從端口和主端口,并將各個(gè)端 口的時(shí)鐘發(fā)給板級(jí)時(shí)鐘管理單元;板級(jí)時(shí)鐘管理單元,用于用從端口的時(shí)鐘來同步板的RTC時(shí)鐘后,用板的 RTC時(shí)鐘來同步板上各個(gè)主端口時(shí)鐘;還用于用設(shè)備RTC時(shí)鐘來同步板RTC 時(shí)鐘,然后用同步后的RTC時(shí)鐘來同步板上各個(gè)端口的時(shí)鐘;設(shè)備級(jí)CPU,用于根據(jù)各個(gè)板的時(shí)鐘確定出從板和主板,并將各個(gè)板的時(shí) 鐘下發(fā)給設(shè)備級(jí)時(shí)鐘管理單元;設(shè)備級(jí)時(shí)鐘管理單元,用于用從板的時(shí)鐘來同步設(shè)備RTC時(shí)鐘,并將設(shè)備RTC時(shí)鐘下發(fā)給板級(jí)時(shí)鐘管理單元。
10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括報(bào)文 管理單元,用于根據(jù)各個(gè)端口的時(shí)鐘確定出各個(gè)端口的時(shí)間精度級(jí)別和端口號(hào), 并將各個(gè)端口的時(shí)鐘、時(shí)間精度級(jí)別和端口號(hào)發(fā)給板級(jí)CPU;還用于根據(jù)各個(gè) 板的時(shí)鐘確定出各個(gè)板的時(shí)間精度級(jí)別和板號(hào),并將各個(gè)板的時(shí)鐘、時(shí)間精度 級(jí)別和板號(hào)發(fā)給設(shè)備級(jí)CPU。
11、 根據(jù)權(quán)利要求IO所述的系統(tǒng),其特征在于,設(shè)備級(jí)CPU,還用于獲得設(shè)備初始RTC時(shí)鐘;還用于進(jìn)行全設(shè)備啟動(dòng)、 復(fù)位、計(jì)數(shù)器清零;還用于啟動(dòng)板計(jì)數(shù)器,將所述板計(jì)數(shù)器的時(shí)鐘設(shè)置為設(shè) 備默認(rèn)的從端口時(shí)鐘;端口時(shí)鐘恢復(fù)單元,還用于根據(jù)同步以太網(wǎng)首次發(fā)來的數(shù)據(jù)恢復(fù)出各個(gè) 端口的時(shí)鐘;板級(jí)CPU,還用于獲得板初始RTC時(shí)鐘;啟動(dòng)設(shè)備計(jì)數(shù)器后,將設(shè)備 默認(rèn)的從板RTC時(shí)鐘設(shè)置為設(shè)備計(jì)數(shù)器時(shí)鐘;板級(jí)時(shí)鐘管理單元,還用于以設(shè)備默認(rèn)的從端口時(shí)鐘來同步板RTC時(shí)鐘;設(shè)備級(jí)時(shí)鐘管理單元,還用于以設(shè)備默認(rèn)的從板時(shí)鐘來同步設(shè)備RTC 時(shí)鐘。
12、 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述板級(jí)CPU確定出 從端口和主端口后,還用于將從端口的時(shí)鐘發(fā)給板計(jì)數(shù)器;所述設(shè)備級(jí)CPU確定出從板和主板后,還用于將從板的時(shí)鐘發(fā)給設(shè)備 計(jì)數(shù)器;所述設(shè)備級(jí)時(shí)鐘管理單元將設(shè)備RTC時(shí)鐘下發(fā)給板時(shí),還用于將設(shè)備 RTC同時(shí)下發(fā)給板時(shí)鐘管理單元的板計(jì)數(shù)器;所述所有計(jì)數(shù)器的實(shí)時(shí)時(shí)鐘都是自身實(shí)時(shí)所接收到的時(shí)鐘。
13、 根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述所有時(shí)鐘管理單元 在同步RTC時(shí)鐘時(shí),用于根據(jù)自身所得出的校準(zhǔn)偏差來校準(zhǔn)RTC時(shí)鐘。
14、 根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述所有時(shí)鐘管理單 元進(jìn)一步包括周期和門限設(shè)定模塊、多路選擇器MUX、計(jì)數(shù)器、時(shí)鐘處 理模塊,其中,周期和門限設(shè)定模塊,用于得出校準(zhǔn)偏差的方法為設(shè)定讀數(shù)周期和時(shí) 鐘校準(zhǔn)周期,并設(shè)定偏差門限;多路選擇器MUX、用于從接收到的時(shí)鐘中選擇出時(shí)鐘精度級(jí)別最高的 時(shí)鐘,并將時(shí)鐘精度級(jí)別最高的時(shí)鐘最為計(jì)數(shù)器的時(shí)鐘;計(jì)數(shù)器、用于為時(shí)鐘處理模塊得出校準(zhǔn)偏差提供數(shù)值;相應(yīng)地,所述所有CPU在讀數(shù)周期到來,讀取RTC時(shí)鐘和計(jì)數(shù)器的數(shù) 值,并把所取得的計(jì)數(shù)器數(shù)值轉(zhuǎn)換成時(shí)間格式值,并把所讀取的RTC時(shí)鐘 和計(jì)數(shù)器時(shí)間格式值發(fā)送給與所述CPU對應(yīng)的時(shí)鐘管理模塊中的時(shí)鐘處理 模塊;時(shí)鐘處理模塊,用于根據(jù)初始RTC時(shí)鐘和讀數(shù)周期所讀取的RTC時(shí)鐘 得出相對運(yùn)行時(shí)間,再根據(jù)計(jì)數(shù)器的時(shí)間格式值和相對運(yùn)行時(shí)間得出校準(zhǔn)偏 差,用得到的校準(zhǔn)偏差進(jìn)行RTC同步。
15、 根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述時(shí)鐘處理模塊進(jìn) 一步用于判斷校準(zhǔn)偏差是否大于或等于設(shè)定的偏差門限,若大于或等于, 則用于校準(zhǔn)RTC時(shí)鐘后判斷時(shí)鐘校準(zhǔn)周期是否到;否則直接判斷時(shí)鐘校準(zhǔn) 周期是否到。
16、 根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述時(shí)鐘處理模塊確 定時(shí)鐘校準(zhǔn)周期到來后,根據(jù)校準(zhǔn)偏差校準(zhǔn)RTC時(shí)間后,進(jìn)一步用于清零 計(jì)數(shù)器;在確定時(shí)鐘校準(zhǔn)周期沒有到來后,進(jìn)一步用于等待讀數(shù)周期到來。
全文摘要
本發(fā)明公開了一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步方法,包括根據(jù)各個(gè)端口恢復(fù)出的時(shí)鐘確定出從端口和主端口,用從端口的時(shí)鐘來同步板的實(shí)時(shí)時(shí)鐘(RTC)時(shí)鐘后,用板的RTC時(shí)鐘來同步板上各個(gè)主端口的時(shí)鐘;根據(jù)各個(gè)板的RTC時(shí)鐘確定出從板和主板,用從板的時(shí)鐘來同步設(shè)備RTC時(shí)鐘,并將設(shè)備RTC時(shí)鐘下發(fā)給板;板根據(jù)設(shè)備RTC時(shí)鐘來同步板RTC時(shí)鐘,然后用同步后板的RTC時(shí)鐘來同步板上各個(gè)端口的時(shí)鐘;本發(fā)明同時(shí)公開了一種多端口同步以太網(wǎng)設(shè)備的時(shí)鐘同步系統(tǒng),包括端口時(shí)鐘恢復(fù)單元、板級(jí)CPU、板級(jí)時(shí)鐘管理單元、設(shè)備級(jí)CPU、設(shè)備級(jí)時(shí)鐘管理單元。利用本發(fā)明,能夠?qū)崿F(xiàn)多端口同步以太網(wǎng)的全設(shè)備時(shí)鐘同步。
文檔編號(hào)H04L12/28GK101296070SQ20081012611
公開日2008年10月29日 申請日期2008年6月26日 優(yōu)先權(quán)日2008年6月26日
發(fā)明者劉一遠(yuǎn) 申請人:中興通訊股份有限公司