專利名稱:一種1588事件報文的處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)時鐘同步協(xié)議1588事件報文的處理方法及系統(tǒng)。
背景技術(shù):
IEEE (The Institute of Electrical and Electronics Engineers,電氣電子工程協(xié)會)制定了 1588標(biāo)準(zhǔn),即網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了一種通過網(wǎng)絡(luò)數(shù)據(jù)包獲取精確時間協(xié)議(Precision Time Protocol, PTP),該協(xié)議通過硬件和軟件配合,網(wǎng)絡(luò)上各個節(jié)點獲取精確的時間同步,同步精度可以達到微秒級。這種通過網(wǎng)絡(luò)協(xié)議獲取同步的方法,使系統(tǒng)組網(wǎng)連接簡化,并降低了成本,同時保證了精度要求,因此它廣泛的應(yīng)用在測試儀器、工業(yè)、網(wǎng)絡(luò)通訊等領(lǐng)域。PTP系統(tǒng)是由PTP設(shè)備或非PTP設(shè)備組成的分布式網(wǎng)絡(luò)系統(tǒng)。該協(xié)議詳細(xì)描述了系統(tǒng)中的實時時鐘是如何相互同步。該系統(tǒng)是一個主從同步的分級結(jié)構(gòu),整個系統(tǒng)的參考母時鐘(grandmaster)處于分級結(jié)構(gòu)的頂層,通過交換PTP定時消息獲取設(shè)備之間的同步,從設(shè)備根據(jù)獲取的定時報文調(diào)整他們的時鐘,達到跟分級結(jié)構(gòu)的主設(shè)備的時間一致。PTP協(xié)議定義了事件(event)報文和普通(general)報文。事件報文是包含發(fā)送和接收的準(zhǔn)確時間戳報文,而普通報文不需要準(zhǔn)確的時間戳。事件報文包括同步報文(Sync),延時請求報文(Delay_Req),對等延時請求報文(Pdelay_Req),對等延時響應(yīng)報文(Pdelay_Resp)。PTP協(xié)議同步機制是:網(wǎng)絡(luò)的主時鐘端口發(fā)出Sync報文,同時記下該報文發(fā)送時間tl,當(dāng)為一步模式時,把該時間戳tl加入到報文中隨路發(fā)送,當(dāng)為二步模式時,把該時間戳tl在下個普通報文Follow_Up中發(fā)送;網(wǎng)絡(luò)的從時鐘端口接收到Sync報文后記下該時間t2,存儲該時間戳t2和對應(yīng)的報文標(biāo)識,傳輸給軟件處理,軟件查找時間戳對應(yīng)標(biāo)識來獲取該報文的時間戳tl和t2。接著從時鐘端口發(fā)出Delay_Req報文,同時記下該報文發(fā)送時間t3。而主時鐘端口接收到Delay_Req報文后,記下該時間t4,并把該時間戳t4通過普通報文Delay_Resp發(fā)送給從時鐘端口。軟件獲取tl、t2、t3、t4后,根據(jù)協(xié)議處理計算時間偏差和延時,其中時間偏差Toffset = [(t2-tl)-(t4-t3)]/2,時間延時Tdelay =[(t2_tl) + (t4_t3)]/2 οPTP協(xié)議對等延時測量方法是:網(wǎng)絡(luò)的一端A端口發(fā)出Pdelay_Req報文,同時記下該發(fā)送報文時間tl ;網(wǎng)絡(luò)的另一端B端口接收到Pdelay_Req報文后記下該時間t2,該時間戳t2給硬件處理或軟件處理。接著B端口發(fā)送Pdelay_Resp報文,同時記下該報文發(fā)送時間t3,當(dāng)為一步模式時,把時間戳t3-t2加入到該報文中隨路發(fā)送,當(dāng)為二步模式時,把時間戳t2加入到Pdelay_Resp報文中發(fā)送,而在普通報文Pdelay_Resp_Follow_Up (對等延時請求響應(yīng)的跟隨報文)中發(fā)送時間戳t3。而A端口接收到Pdelay_Resp報文后,記下該時間t4,并該時間戳t4給硬件處理或軟件處理。B端接收到Pdelay_Req報文后,軟件有幾種不同的做法,在一步模式下,直接計算t3_t2時間加到Pdelay_Resp報文校準(zhǔn)字段correctionField中;在二步模式下,把t3_t2時間差加到Pdelay_Resp_Follow_Up報文中,或者t2加到Pdelay_Resp報文中,而t3加到Pdelay_Resp_Follow_Up報文中。A端口在得到時間值tl、t2、t3、t4后,根據(jù)對等延時測量方法測量的延時為Tdelay =[(t2_tl) + (t4_t3)]/2 οPTP協(xié)議在處理接收事件報文時,需要對接收事件報文的時間戳做處理,暫存時間戳數(shù)據(jù)和對應(yīng)的報文標(biāo)識,通過專用接口讀出給硬件或軟件處理。該處理需要耗費額外的軟硬件資源,處理過程較復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題在于提供了一種網(wǎng)絡(luò)時鐘同步協(xié)議1588事件報文的處理方法及系統(tǒng),以解決目前的時間戳處理,節(jié)省了軟件和硬件的開銷。為解決上述問題,本發(fā)明提供了一種1588事件報文的處理方法,包括,在數(shù)據(jù)發(fā)送時,發(fā)送處理模塊識別1588事件報文后,獲取當(dāng)前時間的時間戳作為發(fā)送時間戳,將發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中進行發(fā)送;在數(shù)據(jù)接收時,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中。進一步地,所述發(fā)送處理模塊識別1588事件報文具體為,在發(fā)送緩存區(qū)中寫入1588事件報文后,發(fā)送處理模塊從發(fā)送緩存區(qū)讀出1588事件報文,解析并識別出該報文為1588事件報文。進一步地,所述獲取當(dāng)前時間的時間戳作為發(fā)送時間戳具體為,在發(fā)送1588事件報文幀起始標(biāo)志SFD時,請求時間管理模塊獲取當(dāng)前的時間戳。進一步地,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中具體為,接收處理模塊接收到數(shù)據(jù)時,檢測到幀起始標(biāo)志SFD時,請求獲取當(dāng)前時間的時間戳,解析并識別該接收報文為1588事件報文,若為1588事件報文,把獲取的時間戳替換1588事件報文的接收時間戳預(yù)留字段;向接收緩存區(qū)寫入該1588事件報文。進一步地,1588事件報文中的同步報文Sync,延時請求報文Delay_Req,對等延時請求報文Pdelay_Req在發(fā)送時間戳字段后面添加10個字節(jié)接收報文時間戳RxTimestamp ;1588事件報文中的對等延時響應(yīng)報文Pdelay_Resp格式?jīng)]有預(yù)留接收Pdelay_Resp報文的時間戳字段,在報文最后添加10個字節(jié)接收報文時間戳字段requestingPortReceiptTimestamp。本發(fā)明還提供了一種1588事件報文的處理系統(tǒng),包括,發(fā)送處理模塊,用于在數(shù)據(jù)發(fā)送時,識別1588事件報文后,獲取當(dāng)前時間的時間戳作為發(fā)送時間戳,將發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中進行發(fā)送;接收處理模塊,用于在數(shù)據(jù)接收時,識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該接收報文時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中;時間管理模塊,用于生成發(fā)送時間戳和接收報文時間戳。
進一步地,上述系統(tǒng)還包括,PTP協(xié)議棧,用于產(chǎn)生1588事件報文,通過發(fā)送通訊接口把所述1588事件報文寫入發(fā)送緩存中;并且用于通過接收通訊接口從接收緩存中讀取接收報文數(shù)據(jù),獲取1588事件報文和對應(yīng)的時間戳數(shù)據(jù);發(fā)送通訊接口,用于把PTP協(xié)議棧產(chǎn)生的1588事件報文數(shù)據(jù)寫入發(fā)送緩存中;發(fā)送緩存,用于存儲所述PTP協(xié)議棧產(chǎn)生的1588事件報文,并且在發(fā)送處理模塊需要數(shù)據(jù)時讀出緩存中的報文數(shù)據(jù),完成對緩存的管理和控制;接收緩存,用于接收接收處理模塊接收到的1588事件報文;接收通訊接口,用于從接收緩存中讀出1588事件報文,把所述1588事件報文傳輸給PTP協(xié)議棧處理;時間管理模塊,用于根據(jù)PTP協(xié)議棧校準(zhǔn)時間。 進一步地,所述發(fā)送處理模塊具體用于,當(dāng)檢測到網(wǎng)絡(luò)空閑時,若發(fā)送緩存中有報文需要發(fā)送,進入發(fā)送狀態(tài),產(chǎn)生幀前導(dǎo)preamble和幀起始界定符SFD ;同時讀取發(fā)送緩存的數(shù)據(jù),解析發(fā)送的報文,如果該發(fā)送報文為1588事件報文,在發(fā)送幀起始界定符SFD后,從時間管理模塊獲取當(dāng)前發(fā)送的精確時間戳作為發(fā)送時間戳數(shù)據(jù),并將該發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中。進一步地,若所述1588事件報文為對等延時響應(yīng)事件報文,則所述發(fā)送處理模塊還用于,計算發(fā)送時間t3和對等延時響應(yīng)事件報文接收的時間t2的差值,把該差值替換校準(zhǔn)字段;接收時間戳預(yù)留字段寫入全0,產(chǎn)生循環(huán)冗余校驗碼CRC,并把CRC數(shù)據(jù)添加到發(fā)送數(shù)據(jù)的末尾并發(fā)送出去。進一步地,所述接收處理模塊具體用于,當(dāng)檢測到數(shù)據(jù)有效時,接收數(shù)據(jù)并判斷數(shù)據(jù)的合法性,當(dāng)接收數(shù)據(jù)為幀起始界定符SFD時,通過時間管理模塊獲取接收數(shù)據(jù)的接收時間戳數(shù)據(jù),并且把接收數(shù)據(jù)寫入接收緩存中,當(dāng)接收處理模塊解析該數(shù)據(jù)包為1588事件報文時,把接收報文時間戳數(shù)據(jù)替換1588事件報文的接收時間戳預(yù)留字段,以及在接收數(shù)據(jù)時計算循環(huán)冗余校驗碼CRC校驗,并把校驗結(jié)果信息寫入接收緩存。采用本發(fā)明提供的技術(shù)方案,與現(xiàn)有技術(shù)相比,更加節(jié)省了軟件和硬件資源,降低了處理的復(fù)雜度,同時可以做到兼容目前的技術(shù)方案,保證設(shè)備之間的互操作性。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是本發(fā)明第一實施例流程圖;圖2是本發(fā)明實施例1588事件報文Sync, Delay_Req, Pdelay_Req報文的格式;圖3是本發(fā)明實施例的1588事件報文Pdelay_Resp報文的格式;圖4是本發(fā)明第二實施例結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明在每個1588事件報文字段的最后添加10個字節(jié)接收時間戳字段。發(fā)送事件報文時,可以預(yù)留10個字節(jié)的接收時間戳字段發(fā)送,而接收事件報文時,把時間戳添加到接收時間戳字段中,或者在接收到標(biāo)準(zhǔn)1588事件報文字段的最后添加接收時間戳字段,跟本發(fā)明定義的報文格式相同。如圖1所示,是本發(fā)明第一實施例流程圖,提供了一種1588事件報文的處理方法,具體包括,步驟S101,在數(shù)據(jù)發(fā)送時,發(fā)送處理模塊識別1588事件報文后,獲取當(dāng)前時間的時間戳,把該當(dāng)前時間的時間戳作為發(fā)送時間戳(TxTimestamp)數(shù)據(jù)和接收時間戳(RxTimestamp)預(yù)留字段添加到1588事件報文中并發(fā)送出去,當(dāng)兼容目前標(biāo)準(zhǔn)1588事件報文格式時不添加接收預(yù)留時間戳字段。作為一個示例,上層模塊向發(fā)送緩存區(qū)中寫入1588事件報文,發(fā)送處理模塊從發(fā)送緩存區(qū)讀出1588事件報文,解析和識別出該報文為1588事件報文,在發(fā)送該報文幀起始標(biāo)志(Start of Frame delimiter, SFD)時,請求時間管理模塊獲取當(dāng)前的時間戳;發(fā)送處理模塊在發(fā)送1588事件報文時,把獲取的時間戳加入到1588事件報文的發(fā)送時間戳(TxTimestamp)字段中并發(fā)送出去;發(fā)送處理模塊發(fā)送完發(fā)送時間戳(TxTimestamp)字段后,發(fā)送10個字節(jié)的接收時間戳(RxTimestamp)保留字段,當(dāng)考慮兼容標(biāo)準(zhǔn)1588事件報文格式時可以不添加RxTimestamp字段。步驟S102,在數(shù)據(jù)接收時,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收預(yù)留時間戳預(yù)留字段。作為一個示例,接收處理模塊接收到數(shù)據(jù)時,檢測到幀起始標(biāo)志SFD時,請求獲取當(dāng)前時間的時間戳;接收處理模塊解析并識別該接收報文為1588事件報文,如果為1588事件報文,把獲取的時間戳替換1588事件報文的接收時間戳(RxTimestamp)字段;接收處理模塊向接收緩存區(qū)寫入該1588事件報文;上層模塊從接收緩存區(qū)讀出報文,提取1588事件報文的時間戳信息處理。在上述方法中,如圖2所示,是本發(fā)明實施例1588事件報文Sync, Delay_Req,Pdelay_Req報文的格式。在1588標(biāo)準(zhǔn)報文中,事件報文Sync和Delay_Req格式只有發(fā)送報文時間戳字段TxTimestamp,本發(fā)明在硬件和軟件處理時擴展報文字段,在TxTimestamp字段后面添加10個字節(jié)接收報文時間戳RxTimestamp。在1588標(biāo)準(zhǔn)報文中,事件報文Pdelay_Req最后10個字節(jié)為保留字段,在硬件和軟件處理時重新定義該字段為接收報文時間戮 RxTimestamp。上述方法中,如圖3所示,是本發(fā)明實施例的1588事件報文Pdelay_Resp報文的格式。在1588標(biāo)準(zhǔn)報文中,事件報文Pdelay_Resp格式?jīng)]有預(yù)留接收Pdelay_Resp報文的時間戳字段,本發(fā)明在硬件和軟件處理時擴展字段,在報文最后添加10個字節(jié)接收報文時間戮字段 requestingPortReceiptTimestamp。
如圖4所示,是本發(fā)明第二實施例結(jié)構(gòu)圖,提供了一種1588事件報文的處理系統(tǒng),具體包括PTP協(xié)議棧400,發(fā)送通訊接口 401,發(fā)送緩存402,發(fā)送處理模塊403,時間管理模塊404,接收處理模塊405,接收緩存406,接收通訊接口 407,其中,PTP協(xié)議棧100實現(xiàn)1588協(xié)議,完成網(wǎng)絡(luò)之間的時間同步協(xié)議處理,線路延時測量和1588維護管理功能等。具體地,PTP協(xié)議棧400,用于產(chǎn)生1588事件報文,通過發(fā)送通訊接口 401把報文數(shù)據(jù)寫入發(fā)送緩存402中;并且用于通過接收通訊接口 407從接收緩存406中讀取接收報文數(shù)據(jù),獲取1588事件報文和對應(yīng)的時間戳數(shù)據(jù)。發(fā)送通訊接口 401,用于把PTP協(xié)議棧的報文數(shù)據(jù)寫入發(fā)送緩存402中,完成發(fā)送接口的轉(zhuǎn)換功能。發(fā)送緩存402,用于向緩存中寫入需要發(fā)送的報文,并且在發(fā)送處理模塊103需要數(shù)據(jù)時讀出緩存中的報文數(shù)據(jù),完成對緩存的管理和控制。發(fā)送處理模塊403主要完成網(wǎng)口 MAC發(fā)送功能,用于當(dāng)檢測到網(wǎng)絡(luò)空閑時,如果發(fā)送緩存402中有報文需要發(fā)送,進入發(fā)送狀態(tài),產(chǎn)生幀前導(dǎo)preamble和巾貞起始界定符SFD ;同時讀取發(fā)送緩存402的數(shù)據(jù),解析發(fā)送的報文,如果該發(fā)送報文為1588事件報文,在發(fā)送幀起始界定符SFD后,從時間管理模塊404獲取當(dāng)前發(fā)送的精確時間戳作為發(fā)送時間戳數(shù)據(jù),并將該發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段(RxTimestamp 或 requestingPortReceiptTimestamp 字段)添加到 1588 事件報文中;若該發(fā)送報文為用戶數(shù)據(jù)包UDP報文(1588報文可以封裝在層2和層4以太網(wǎng)報文中,當(dāng)封裝在層4的報文中時就是UDP的報文)時,重新計算加入發(fā)送時間戳數(shù)據(jù)的校驗和checksum,發(fā)送時間戳數(shù)據(jù)替換在1588事件報文的發(fā)送時間戳字段TxTimestamp并發(fā)送出去;作為一個示例,對Pdelay_Resp事件報文,需要計算發(fā)送時間t3和事件報文Pdelay_Req接收的時間t2的差值,把該差值替換校準(zhǔn)字段correctionField。RxTimestamp或requestingPortReceiptTimestamp字段寫入全O發(fā)送,當(dāng)兼容標(biāo)準(zhǔn)1588報文格式時該字段不要添加。所有發(fā)送的數(shù)據(jù)都經(jīng)過計算,產(chǎn)生循環(huán)冗余校驗碼(Cyclic RedundancyCheck, CRC),并把CRC數(shù)據(jù)添加到發(fā)送數(shù)據(jù)的最后并發(fā)送出去。時間管理模塊404負(fù)責(zé)本地時間的管理,用于生成發(fā)送和接收報文時間,同時根據(jù)PTP協(xié)議棧校準(zhǔn)時間。接收處理模塊405主要完成網(wǎng)口 MAC接收功能,當(dāng)檢測到數(shù)據(jù)有效時,接收數(shù)據(jù)并判斷數(shù)據(jù)的合法性,當(dāng)接收數(shù)據(jù)為幀起始界定符SFD時,通過時間管理模塊獲取接收數(shù)據(jù)的接收時間戳數(shù)據(jù);接收處理模塊405把接收數(shù)據(jù)寫入接收緩存406中;當(dāng)接收處理模塊405解析該數(shù)據(jù)包為1588事件報文時,把接收時間戳數(shù)據(jù)替換1588事件報文的RxTimestamp 或 requestingPortReceiptTimestamp 字段,或者在標(biāo)準(zhǔn) 1588 事件報文字段最后添加接收時間戳(RxTimestamp)數(shù)據(jù),并把該時間戳寫入接收緩存406中;同時,接收處理模塊405在接收數(shù)據(jù)時對數(shù)據(jù)計算循環(huán)冗余校驗碼CRC校驗,并把校驗結(jié)果信息寫入接收緩存406 ;接收緩存406管理接收數(shù)據(jù)的緩存,用于接收接收處理模塊405向緩存中寫入得到數(shù)據(jù);接收通訊接口 407從接收緩存406中讀出數(shù)據(jù),把數(shù)據(jù)傳輸給PTP協(xié)議棧處理,完成接收接口的轉(zhuǎn)換。
上述說明示出并描述了本發(fā)明的優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。
權(quán)利要求
1.一種1588事件報文的處理方法,其特征在于,包括, 在數(shù)據(jù)發(fā)送時,發(fā)送處理模塊識別1588事件報文后,獲取當(dāng)前時間的時間戳作為發(fā)送時間戳,將發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中進行發(fā)送; 在數(shù)據(jù)接收時,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述發(fā)送處理模塊識別1588事件報文具體為, 在發(fā)送緩存區(qū)中寫入1588事件報文后,發(fā)送處理模塊從發(fā)送緩存區(qū)讀出1588事件報文,解析并識別出該報文為1588事件報文。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取當(dāng)前時間的時間戳作為發(fā)送時間戳具體為, 在發(fā)送1588事件報文幀起始標(biāo)志SFD時,請求時間管理模塊獲取當(dāng)前的時間戳。
4.根據(jù)權(quán)利要求3所 述的方法,其特征在于,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中具體為, 接收處理模塊接收到數(shù)據(jù)時,檢測到幀起始標(biāo)志SFD時,請求獲取當(dāng)前時間的時間戳,解析并識別該接收報文為1588事件報文,若為1588事件報文,把獲取的時間戳替換1588事件報文的接收時間戳預(yù)留字段;向接收緩存區(qū)寫入該1588事件報文。
5.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,1588事件報文中的同步報文Sync,延時請求報文Delay_Req,對等延時請求報文Pdelay_Req在發(fā)送時間戳字段后面添加10個字節(jié)接收報文時間戳RxTimestamp ; 1588事件報文中的對等延時響應(yīng)報文Pdelay_Resp格式?jīng)]有預(yù)留接收Pdelay_Resp報文的時間戳字段,在報文最后添加接收報文時間戳字段。
6.一種1588事件報文的處理系統(tǒng),其特征在于,包括, 發(fā)送處理模塊,用于在數(shù)據(jù)發(fā)送時,識別1588事件報文后,獲取當(dāng)前時間的時間戳作為發(fā)送時間戳,將發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中進行發(fā)送; 接收處理模塊,用于在數(shù)據(jù)接收時,識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該接收報文時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中; 時間管理模塊,用于生成發(fā)送時間戳和接收報文時間戳。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,還包括, 精確時間協(xié)議棧PTP,用于產(chǎn)生1588事件報文,通過發(fā)送通訊接口把所述1588事件報文寫入發(fā)送緩存中;并且用于通過接收通訊接口從接收緩存中讀取接收報文數(shù)據(jù),獲取1588事件報文和對應(yīng)的時間戳數(shù)據(jù); 發(fā)送通訊接口,用于把PTP協(xié)議棧產(chǎn)生的1588事件報文數(shù)據(jù)寫入發(fā)送緩存中; 發(fā)送緩存,用于存儲所述PTP協(xié)議棧產(chǎn)生的1588事件報文,并且在發(fā)送處理模塊需要數(shù)據(jù)時讀出緩存中的報文數(shù)據(jù),完成對緩存的管理和控制; 接收緩存,用于接收接收處理模塊接收到的1588事件報文; 接收通訊接口,用于從接收緩存中讀出1588事件報文,把所述1588事件報文傳輸給PTP協(xié)議棧處理換;時間管理模塊,用于根據(jù)PTP協(xié)議棧校準(zhǔn)時間。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述發(fā)送處理模塊具體用于, 當(dāng)檢測到網(wǎng)絡(luò)空閑時,若發(fā)送緩存中有報文需要發(fā)送,進入發(fā)送狀態(tài),產(chǎn)生幀前導(dǎo)和幀起始界定符;同時讀取發(fā)送緩存的數(shù)據(jù),解析發(fā)送的報文,如果該發(fā)送報文為1588事件報文,在發(fā)送幀起始界定符SFD后,從時間管理模塊獲取當(dāng)前發(fā)送的精確時間戳作為發(fā)送時間戳數(shù)據(jù),并將該發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,若所述1588事件報文為對等延時響應(yīng)事件報文,則所述發(fā)送處理模塊還用于, 計算發(fā)送時間t3和對等延時響應(yīng)事件報文接收的時間t2的差值,把該差值替換校準(zhǔn)字段;接收時間戳預(yù)留字段寫入全O,產(chǎn)生循環(huán)冗余校驗碼CRC,并把CRC數(shù)據(jù)添加到發(fā)送數(shù)據(jù)的末尾并發(fā)送出去。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述接收處理模塊具體用于, 當(dāng)檢測到數(shù)據(jù)有效時,接收數(shù)據(jù)并判斷數(shù)據(jù)的合法性,當(dāng)接收數(shù)據(jù)為幀起始界定符SFD時,通過時間管理模塊獲取接收數(shù)據(jù)的接收時間戳數(shù)據(jù),并且把接收數(shù)據(jù)寫入接收緩存中,當(dāng)接收處理模塊解析該數(shù)據(jù)包為1588事件報文時,把接收報文時間戳數(shù)據(jù)替換1588事件報文的接收時間戳預(yù)留字段,以及在接收數(shù)據(jù)時計算循環(huán)冗余校驗碼CRC校驗,并把校驗結(jié)果信息寫入接收 緩存。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,提供了一種1588事件報文的處理方法,包括,在數(shù)據(jù)發(fā)送時,發(fā)送處理模塊識別1588事件報文后,獲取當(dāng)前時間的時間戳作為發(fā)送時間戳,將發(fā)送時間戳數(shù)據(jù)和接收時間戳預(yù)留字段添加到1588事件報文中進行發(fā)送;在數(shù)據(jù)接收時,接收處理模塊識別1588事件報文后,并獲取當(dāng)前時間的時間戳,把該時間戳數(shù)據(jù)添加到接收時間戳預(yù)留字段中。本發(fā)明還提供了一種1588事件報文的處理系統(tǒng)。采用本發(fā)明提供的技術(shù)方案,更加節(jié)省了軟件和硬件資源,降低了處理的復(fù)雜度,同時可以做到兼容目前的技術(shù)方案,保證設(shè)備之間的互操作性。
文檔編號H04J3/06GK103138887SQ201110398599
公開日2013年6月5日 申請日期2011年12月5日 優(yōu)先權(quán)日2011年12月5日
發(fā)明者張波, 王雪松, 梁敏超, 張宣平, 徐毓斌 申請人:中興通訊股份有限公司