本發(fā)明涉及網(wǎng)絡(luò)時(shí)鐘的技術(shù)領(lǐng)域,更具體地,涉及一種IEEE1588透明時(shí)鐘駐留時(shí)間測量方法與裝置。
背景技術(shù):
由網(wǎng)絡(luò)時(shí)鐘同步的原理,主從時(shí)鐘之間傳輸延遲的精確測量與修正是實(shí)現(xiàn)高精度網(wǎng)絡(luò)時(shí)鐘同步的關(guān)鍵,由于交換機(jī)等設(shè)備對網(wǎng)絡(luò)報(bào)文的排隊(duì)處理,網(wǎng)絡(luò)報(bào)文的傳輸存在不確定延遲且難以精確測量,隨網(wǎng)絡(luò)時(shí)鐘同步精度有較大的影響;IEEE1588v1標(biāo)準(zhǔn)中提出邊界時(shí)鐘方案,將交換機(jī)等網(wǎng)絡(luò)設(shè)備作為邊界時(shí)鐘,形成多層主從級聯(lián)的時(shí)鐘同步體系;盡管邊界時(shí)鐘有效地回避了網(wǎng)絡(luò)延遲測量與修正,但級聯(lián)結(jié)構(gòu)中時(shí)鐘的層層轉(zhuǎn)發(fā)導(dǎo)致積累誤差較大,相隔越遠(yuǎn)的時(shí)鐘同步精度越低;為此IEEE1588v2標(biāo)準(zhǔn)提出了透明時(shí)鐘模型,可對主從時(shí)鐘之間的網(wǎng)絡(luò)延遲進(jìn)行精確測量與修正,能有效地克服邊界時(shí)鐘的缺陷,可現(xiàn)有技術(shù)中,由于IEEE1588協(xié)議中沒有涉及透明時(shí)鐘具體的實(shí)施方案,且大多數(shù)采用軟件實(shí)現(xiàn),導(dǎo)致時(shí)間精度降低,且在會出現(xiàn)一個(gè)端口連續(xù)接收多個(gè)報(bào)文時(shí)出現(xiàn)丟失的可能性,不夠穩(wěn)定。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的問題是:提出一種簡便的IEEE1588透明時(shí)鐘駐留時(shí)間測量方法以及實(shí)現(xiàn)該方法的裝置。
本發(fā)明為實(shí)現(xiàn)上述目的所提出的技術(shù)方案如下:
一種IEEE1588透明時(shí)鐘駐留時(shí)間測量方法,通過記錄進(jìn)出透明時(shí)鐘交換設(shè)備的時(shí)間值,根據(jù)獲取的時(shí)間值累加到PTP報(bào)文報(bào)頭的修正域字段;其中,通過先減后加的駐留時(shí)間計(jì)算方法對IEEE1588透明時(shí)鐘駐留時(shí)間進(jìn)行測量,具體的步驟如下:
S1.從以太網(wǎng)端口獲取數(shù)據(jù)信息;
S2.依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文進(jìn)入透明時(shí)鐘交換設(shè)備的時(shí)間值T1;
S3.修正域字段的值減去時(shí)間值T1;
S4.PTP報(bào)文進(jìn)入數(shù)據(jù)交換引擎,根據(jù)報(bào)文的目的地址字段將該報(bào)文發(fā)送到目的端口;
S5.依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文離開透明時(shí)鐘交換設(shè)備的時(shí)間值T2;
S6.基于步驟S3,將新的修正域字段的值加上時(shí)間值T2;
S7.提出一種標(biāo)識符記錄計(jì)數(shù)器溢出的方法對時(shí)間值T1和時(shí)間值T2進(jìn)行計(jì)數(shù)器溢出檢測;
S8.通過步驟S7檢測,如時(shí)間值T1沒有溢出,新的修正域計(jì)算公式為:
CorrectionField'=CorrectionField-T1+T2;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的修正域的值,T1為PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值,T2為PTP報(bào)文離開交換設(shè)備的時(shí)間值;
如檢測到時(shí)間值T1溢出,新的修正域計(jì)算公式為:
CorrectionField'=CorrectionField-T1+T2+T;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的修正域的值,T1為PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值,T2為PTP報(bào)文離開交換設(shè)備的時(shí)間值;T為數(shù)值2N。
在上述方案中,從以太網(wǎng)終端獲取數(shù)據(jù)信息,依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值T1;所獲取的時(shí)間值T1累加到PTP報(bào)文報(bào)頭的修正域字段,將修正域字段減去時(shí)間值T1的值;接下來是PTP報(bào)文進(jìn)入數(shù)據(jù)交換引擎,根據(jù)報(bào)文的目的地址字段將該報(bào)文發(fā)送到目的端口;然后,依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文離開交換設(shè)備的時(shí)間值T2;將經(jīng)過時(shí)間值T1修正的修正域字段加上時(shí)間值T2;然后利用標(biāo)識符記錄計(jì)數(shù)器溢出的方法對時(shí)間值T1和時(shí)間值T2進(jìn)行計(jì)數(shù)器溢出檢測;根據(jù)檢測后的結(jié)果對已修正的修正域字段進(jìn)一步修正;該方法采用一種先減后加對修正域進(jìn)行修正,能夠更精準(zhǔn)得獲取PTP報(bào)文駐留的時(shí)間。
優(yōu)選的,所述的實(shí)時(shí)時(shí)鐘采用固定頻率時(shí)鐘作為輸入,輸出為N位的二進(jìn)制數(shù)表示當(dāng)前計(jì)數(shù)器的值,可穩(wěn)定獲取時(shí)鐘頻率。
優(yōu)選的,所述的實(shí)時(shí)時(shí)鐘采用循環(huán)計(jì)數(shù)模式,計(jì)數(shù)溢出后,計(jì)數(shù)器清零。
優(yōu)選的,所述的標(biāo)識符記錄計(jì)數(shù)器溢出的方法,當(dāng)檢測PTP報(bào)文header的reserved字段的最高位,如果該位為1且該時(shí)刻實(shí)時(shí)計(jì)數(shù)器的值的最高位為0則說明計(jì)數(shù)器在PTP報(bào)文轉(zhuǎn)發(fā)過程中產(chǎn)生了溢出。
優(yōu)選的,所述的PTP報(bào)文header的reserved字段的最高位的位置可以使PTP 報(bào)文任意一個(gè)無關(guān)字段,或是修改PTP報(bào)文標(biāo)準(zhǔn)格式以添加特殊字段用來記錄實(shí)時(shí)計(jì)數(shù)器最高位。
同時(shí),本發(fā)明還提供一種實(shí)現(xiàn)IEEE1588透明時(shí)鐘駐留時(shí)間測量方法的裝置,其具體方案如下:
包括時(shí)間戳處理模塊TSU_RX、時(shí)間戳處理模塊TSU_TX、媒體訪問控制層電路MAC_RX、媒體訪問控制層電路MAC_TX、實(shí)時(shí)時(shí)鐘RTC和數(shù)據(jù)交換引擎Switch Engine;
在以太網(wǎng)接收端口處連接時(shí)間戳處理模塊TSU_RX的輸入端,時(shí)間戳處理模塊TSU_RX的輸出端與以太網(wǎng)端口的媒體訪問控制層電路MAC_RX的輸入端連接;MAC_RX的輸出端與數(shù)據(jù)交換引擎Switch Engine連接;數(shù)據(jù)交換引擎Switch Engine與媒體訪問控制層電路MAC_TX的輸入端連接,媒體訪問控制層電路MAC_TX的輸出端與時(shí)間戳處理模塊TSU_TX的輸入端連接,時(shí)間戳處理模塊TSU_TX的輸出端處連接以太網(wǎng)發(fā)送端口;其中實(shí)時(shí)時(shí)鐘RTC為時(shí)間戳處理模塊提供計(jì)數(shù)。
在上述方案中,時(shí)間戳處理模塊TSU_RX的輸入端從以太網(wǎng)端口接收到數(shù)據(jù)信息,時(shí)間戳處理模塊TSU_RX通過實(shí)時(shí)時(shí)鐘RTC,記錄PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值T1;時(shí)間戳處理模塊TSU_RX將接收到的數(shù)據(jù)信息經(jīng)過媒體訪問控制層電路MAC_TX后傳輸至數(shù)據(jù)交換引擎Switch Engine進(jìn)行透明時(shí)鐘數(shù)據(jù)交換,將交換后的數(shù)據(jù)信息通過媒體訪問控制層電路MAC_TX傳輸至?xí)r間戳處理模塊TSU_TX,時(shí)間戳處理模塊TSU_TX通過實(shí)時(shí)時(shí)鐘RTC,記錄PTP報(bào)文離開交換設(shè)備的時(shí)間值T2;時(shí)間戳處理模塊TSU_TX的輸出端將數(shù)據(jù)信息傳送給以太網(wǎng)端口;有時(shí)間戳處理模塊所采集到的時(shí)間值T1和時(shí)間值T2,將時(shí)間值T1和時(shí)間值T2加載至PTP報(bào)文的修正域中,計(jì)算出報(bào)文在透明時(shí)鐘交換設(shè)備中的駐留時(shí)間;其中,實(shí)時(shí)時(shí)鐘RTC為為上述的時(shí)間戳處理模塊提供計(jì)數(shù)。
與現(xiàn)有計(jì)數(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提出了一種IEEE1588透明時(shí)鐘駐留時(shí)間測量方法與裝置,本發(fā)明采用先減后加的方法對PTP報(bào)文的駐留時(shí)間進(jìn)行測量,同時(shí),本發(fā)明采用純硬件系統(tǒng)實(shí)現(xiàn)透明時(shí)鐘駐留時(shí)間的測量,與現(xiàn)有技術(shù)相比,比軟件實(shí)現(xiàn)的方案性能要更優(yōu)越;與現(xiàn)有的硬件實(shí)現(xiàn)方案的結(jié)構(gòu)要簡單,本發(fā)明直接采用在報(bào)文中添加時(shí)間戳信息的方式借助交換設(shè)備的轉(zhuǎn)發(fā)功能實(shí)現(xiàn)了時(shí)間戳信息的傳遞,不需采用總線連接,結(jié)構(gòu)簡化,能有效、精準(zhǔn)地測量IEEE1588透明時(shí)鐘駐留時(shí)間;本發(fā)明具有性能良好、測量精準(zhǔn)、設(shè)計(jì)簡單等特點(diǎn)。
附圖說明
圖1為本發(fā)明提供的IEEE1588透明時(shí)鐘駐留時(shí)間測量方法的步驟流程示意圖。
圖2為本發(fā)明提供的IEEE1588透明時(shí)鐘駐留時(shí)間測量方法的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
為了更好說明本實(shí)施例,附圖某些部件會有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;
對于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。
下面結(jié)合附圖和實(shí)施例對本發(fā)明的技術(shù)方案做進(jìn)一步的說明。
本發(fā)明一種簡便的IEEE1588透明時(shí)鐘駐留時(shí)間測量方法以及實(shí)現(xiàn)該方法的裝置;其中,測量方法的具體步驟流程示意圖如圖1所示:
一種IEEE1588透明時(shí)鐘駐留時(shí)間測量方法,通過記錄進(jìn)出透明時(shí)鐘交換設(shè)備的時(shí)間值,根據(jù)獲取的時(shí)間值修改PTP報(bào)文的修正域;其中,通過先減后加的駐留時(shí)間計(jì)算方法對IEEE1588透明時(shí)鐘駐留時(shí)間進(jìn)行測量,具體的步驟如下:
S1.從以太網(wǎng)端口獲取數(shù)據(jù)信息;
S2.依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文進(jìn)入透明時(shí)鐘交換設(shè)備的時(shí)間值T1;
S3.修正域的值減去時(shí)間值T1;
S4.PTP報(bào)文進(jìn)入數(shù)據(jù)交換引擎,根據(jù)報(bào)文的目的地址字段將該報(bào)文發(fā)送到目
的端口;
S5.依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文離開透明時(shí)鐘交換設(shè)備的時(shí)間值T2;
S6.基于步驟S3,將新的修正域的值加上時(shí)間值T2;
S7.提出一種標(biāo)識符記錄計(jì)數(shù)器溢出的方法對時(shí)間值T1和時(shí)間值T2進(jìn)行計(jì)數(shù)
器溢出檢測;
S8.通過步驟S7檢測,如時(shí)間值T1沒有溢出,新的修正域計(jì)算公式為:
CorrectionField'=CorrectionField-T1+T2;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的
修正域的值,T1為PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值,T2為PTP報(bào)文離開交換
設(shè)備的時(shí)間值;
如檢測到時(shí)間值T1溢出,新的修正域計(jì)算公式為:
CorrectionField'=CorrectionField-T1+T2+T;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的修正域的值,T1為PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值,T2為PTP報(bào)文離開交換設(shè)備的時(shí)間值;T為數(shù)值2N。
其中,標(biāo)識符記錄計(jì)數(shù)器溢出的方法,當(dāng)檢測PTP報(bào)文header的reserved字段的最高位,如果該位為1且該時(shí)刻實(shí)時(shí)計(jì)數(shù)器的值的最高位為0則說明計(jì)數(shù)器在PTP報(bào)文轉(zhuǎn)發(fā)過程中產(chǎn)生了溢出;
其中,本實(shí)施例還提供另一種記錄計(jì)數(shù)溢出的方法:PTP報(bào)文header的reserved字段的最高位的位置可以使PTP報(bào)文任意一個(gè)無關(guān)字段,或是修改PTP報(bào)文標(biāo)準(zhǔn)格式以添加特殊字段用來記錄實(shí)時(shí)計(jì)數(shù)器最高位。
在本實(shí)施例中,從以太網(wǎng)終端獲取數(shù)據(jù)信息,依據(jù)實(shí)時(shí)計(jì)數(shù)器記錄PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值T1;所獲取的時(shí)間值T1修改PTP報(bào)文的修正域,將修正域字段減去時(shí)間值T1的值;接下來是PTP報(bào)文進(jìn)入數(shù)據(jù)交換引擎,根據(jù)報(bào)文的目的地址字段將該報(bào)文發(fā)送到目的端口;然后,記錄PTP報(bào)文離開透明時(shí)鐘交換設(shè)備的時(shí)間值T2;將已經(jīng)過時(shí)間值T1修正的修正域加上時(shí)間值T2;然后利用標(biāo)識符記錄計(jì)數(shù)器溢出的方法對時(shí)間值T1和時(shí)間值T2進(jìn)行計(jì)數(shù)器溢出檢測;根據(jù)檢測后的結(jié)果對已修正的修正域進(jìn)一步修正;該方法采用一種先減后加對修正域進(jìn)行修正,能夠更精準(zhǔn)得獲取PTP報(bào)文駐留的時(shí)間。
其中,本發(fā)明還提供一種實(shí)現(xiàn)IEEE1588透明時(shí)鐘駐留時(shí)間測量方法的裝置,其具體方案如下:
包括時(shí)間戳處理模塊TSU_RX、時(shí)間戳處理模塊TSU_TX、媒體訪問控制層電路MAC_RX、媒體訪問控制層電路MAC_TX、實(shí)時(shí)時(shí)鐘RTC和數(shù)據(jù)交換引擎Switch Engine;
在以太網(wǎng)接收端口處連接時(shí)間戳處理模塊TSU_RX的輸入端,時(shí)間戳處理模塊TSU_RX的輸出端與以太網(wǎng)端口的媒體訪問控制層電路MAC_RX的輸入端連接;MAC_RX的輸出端與數(shù)據(jù)交換引擎Switch Engine連接;數(shù)據(jù)交換引擎Switch Engine與媒體訪問控制層電路MAC_TX的輸入端連接,媒體訪問控制層電路MAC_TX的輸出端與時(shí)間戳處理模塊TSU_TX的輸入端連接,時(shí)間戳處理模塊TSU_TX的輸出端處連接以太網(wǎng)發(fā)送端口;其中實(shí)時(shí)時(shí)鐘RTC為時(shí)間戳處理模塊提供計(jì)數(shù)。
在本實(shí)施例中,實(shí)時(shí)時(shí)鐘采用固定頻率時(shí)鐘作為輸入,輸出為N位的二進(jìn)制數(shù)表示當(dāng)前計(jì)數(shù)器的值,穩(wěn)定獲取時(shí)鐘頻率;其中,實(shí)時(shí)時(shí)鐘采用循環(huán)計(jì)數(shù)模式,計(jì)數(shù)溢出后,計(jì)數(shù)器清零。
在本實(shí)施例中,時(shí)間戳處理模塊TSU_RX的輸入端從以太網(wǎng)端口接收到數(shù)據(jù)信息,時(shí)間戳處理模塊TSU_RX通過實(shí)時(shí)時(shí)鐘RTC,記錄PTP報(bào)文進(jìn)入交換設(shè)備的時(shí)間值T1;時(shí)間戳處理模塊TSU_RX將接收到的數(shù)據(jù)信息經(jīng)過媒體訪問控制層電路MAC_TX后傳輸至數(shù)據(jù)交換引擎Switch Engine進(jìn)行透明時(shí)鐘數(shù)據(jù)交換,將交換后的數(shù)據(jù)信息通過媒體訪問控制層電路MAC_TX傳輸至?xí)r間戳處理模塊TSU_TX,時(shí)間戳處理模塊TSU_TX通過實(shí)時(shí)時(shí)鐘RTC,記錄PTP報(bào)文離開交換設(shè)備的時(shí)間值T2;時(shí)間戳處理模塊TSU_TX的輸出端將數(shù)據(jù)信息傳送給以太網(wǎng)端口;有時(shí)間戳處理模塊所采集到的時(shí)間值T1和時(shí)間值T2,將時(shí)間值T1和時(shí)間值T2加載至PTP報(bào)文的修正域中,計(jì)算出報(bào)文在透明時(shí)鐘交換設(shè)備中的駐留時(shí)間;其中,實(shí)時(shí)時(shí)鐘RTC為為上述的時(shí)間戳處理模塊提供計(jì)數(shù)。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實(shí)施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。