1.一種IEEE1588透明時鐘駐留時間測量方法,其特征在于:
通過記錄進(jìn)出透明時鐘交換設(shè)備的時間值,根據(jù)獲取的時間值累加到PTP報文報頭的修正域字段;其中,通過先減后加的駐留時間計算方法對IEEE1588透明時鐘駐留時間進(jìn)行測量,具體的步驟如下:
S1.從以太網(wǎng)端口獲取數(shù)據(jù)信息;
S2.依據(jù)實時計數(shù)器記錄PTP報文進(jìn)入透明時鐘交換設(shè)備的時間值T1;
S3.修正域字段的值減去時間值T1;
S4.PTP報文進(jìn)入數(shù)據(jù)交換引擎,根據(jù)報文的目的地址字段將該報文發(fā)送到目的端口;
S5.依據(jù)實時計數(shù)器記錄PTP報文離開透明時鐘交換設(shè)備的時間值T2;
S6.基于步驟S3,將新的修正域字段的值加上時間值T2;
S7.提出一種標(biāo)識符記錄計數(shù)器溢出的方法對實時計數(shù)器的值進(jìn)行計數(shù)器溢出檢測;
S8.通過步驟S7檢測,如時間值T1沒有溢出,新的修正域計算公式為:
CorrectionField'=CorrectionField-T1+T2;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的修正域的值,T1為PTP報文進(jìn)入交換設(shè)備的時間值,T2為PTP報文離開交換設(shè)備的時間值;
如檢測到時間值T1溢出,新的修正域計算公式為:
CorrectionField'=CorrectionField-T1+T2+T;
其中,CorrectionField'表示新的修正域的值,CorrectionField表示修改前的修正域的值,T1為PTP報文進(jìn)入交換設(shè)備的時間值,T2為PTP報文離開交換設(shè)備的時間值;T為數(shù)值2N。
2.根據(jù)權(quán)利要求1所述的一種IEEE1588透明時鐘駐留時間測量方法,其特征在于:基于步驟S2,所述的實時時鐘采用固定頻率時鐘作為輸入,輸出為N位的二進(jìn)制數(shù)表示當(dāng)前計數(shù)器的值。
3.根據(jù)權(quán)利要求1所述的一種IEEE1588透明時鐘駐留時間測量方法,其特征在于:基于步驟S2,所述的實時時鐘采用循環(huán)計數(shù)模式,計數(shù)溢出后,計數(shù)器清零。
4.根據(jù)權(quán)利要求1所述的一種IEEE1588透明時鐘駐留時間測量方法,其特征在于:基于步驟S7,所述的標(biāo)識符記錄計數(shù)器溢出的方法,記錄PTP報文進(jìn)入透明時鐘交換設(shè)備的時間值T1時,寫入PTP報文header的reserved字段的最高位;在記錄PTP報文進(jìn)入透明時鐘交換設(shè)備的時間值T2時,檢測PTP報文header的reserved字段的最高位;如果寫入時該最高位為1且檢測時該最高位為0則說明計數(shù)器在PTP報文轉(zhuǎn)發(fā)過程中產(chǎn)生了溢出。
5.根據(jù)權(quán)利要求4所述的一種IEEE1588透明時鐘駐留時間測量方法,其特征在于:所述的PTP報文header的reserved字段的最高位的位置可以使PTP報文任意一個無關(guān)字段,或是修改PTP報文標(biāo)準(zhǔn)格式以添加特殊字段用來記錄實時計數(shù)器最高位。
6.一種用于實現(xiàn)權(quán)利要求1所述的IEEE1588透明時鐘駐留時間測量方法的裝置,其特征在于:包括時間戳處理模塊TSU_RX、時間戳處理模塊TSU_TX、媒體訪問控制層電路MAC_RX、媒體訪問控制層電路MAC_TX、實時時鐘RTC和數(shù)據(jù)交換引擎Switch Engine;在以太網(wǎng)接收端口處連接時間戳處理模塊TSU_RX的輸入端,時間戳處理模塊TSU_RX的輸出端與以太網(wǎng)端口的媒體訪問控制層電路MAC_RX的輸入端連接;MAC_RX的輸出端與數(shù)據(jù)交換引擎Switch Engine連接;數(shù)據(jù)交換引擎Switch Engine與媒體訪問控制層電路MAC_TX的輸入端連接,媒體訪問控制層電路MAC_TX的輸出端與時間戳處理模塊TSU_TX的輸入端連接,時間戳處理模塊TSU_TX的輸出端處連接以太網(wǎng)發(fā)送端口;其中實時時鐘RTC為時間戳處理模塊提供計數(shù)。