本發(fā)明涉及光傳輸芯片支持時間同步技術(shù)領(lǐng)域,具體涉及一種在100g以上光傳輸芯片中控制ptp報文的方法及系統(tǒng)。
背景技術(shù):
在光網(wǎng)絡(luò)市場背景下,就傳輸在容量和每比特成本而言,100g(100gb/s)傳輸已經(jīng)遠遠領(lǐng)先于10g和40g傳輸,100g毫無疑問成為全球光網(wǎng)絡(luò)設(shè)備增長的主要動力,100g和超100g正成為高速傳輸技術(shù)領(lǐng)域突破的重點。
ieee1588v2協(xié)議也稱為ptp(precisiontimeprotocol,精確時間協(xié)議),是目前解決網(wǎng)絡(luò)時間同步技術(shù)的較佳方案。在100g或超100g光傳輸芯片的100g以太網(wǎng)業(yè)務(wù)接口中支持ptp報文的控制是實現(xiàn)精確網(wǎng)絡(luò)時間同步的前提。在光傳輸芯片中為了支持100g接口的ieee1588v2的高精度時間同步功能,需要完成100g以太網(wǎng)接口速率下對ptp報文的線速解析識別和ptp報文的控制功能。
目前,為了使光傳輸芯片支持ieee1588v2高精度時間同步功能,特別是對于100g以太網(wǎng)業(yè)務(wù)接口支持高精度時間同步功能中ptp報文的控制處理,往往伴隨著龐大的報文緩存處理和復(fù)雜的電路控制;與此同時,在支持不同時鐘類型的應(yīng)用場景時,例如bc(邊界時鐘)及tc(透明時鐘),處理和控制機制更加復(fù)雜和繁瑣,不僅占用了大量的業(yè)務(wù)報文帶寬,而且耗費了較大的芯片設(shè)計資源,從而增加了100g及超100g光傳輸芯片的設(shè)計規(guī)模和成本。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明解決的技術(shù)問題為:實用高效的完成光傳輸芯片對ptp報文的控制,增加100g以上的光傳輸芯片對ptp報文的控制效率和處理性能,降低100g以上的光傳輸芯片支持ieee1588v2高精度時間同步功能的設(shè)計規(guī)模和成本。
為達到以上目的,本發(fā)明提供的在100g以上光傳輸芯片中控制ptp報文的方法,包括以下步驟:
步驟a:當(dāng)以太網(wǎng)業(yè)務(wù)通道報文被識別為ptp報文時,在ptp報文的尾部設(shè)置ptp報文控制標(biāo)記,轉(zhuǎn)到步驟b;
步驟b:選擇1個非滿的ptp緩存作為ptp寫入緩存,非滿的ptp緩存定義為:ptp緩存中至少有1塊緩存空間為空,轉(zhuǎn)到步驟c;
步驟c:在ptp寫入緩存中選擇1塊空緩存空間,在當(dāng)前緩存空間中寫入以太網(wǎng)業(yè)務(wù)通道報文;若當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文的ptp報文控制標(biāo)記有效,則確定當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文為ptp報文,在當(dāng)前緩存空間中寫入當(dāng)前ptp報文的包描述信息,轉(zhuǎn)到步驟d;
步驟d:將其他ptp緩存作為ptp寫入緩存,當(dāng)ptp寫入緩存為非滿時,重新執(zhí)行步驟c;
步驟e:執(zhí)行步驟b至步驟d的過程中,當(dāng)存在非空的ptp緩存時,讀取ptp緩存中的ptp報文;非空的ptp緩存的定義為:ptp緩存中至少有1塊緩存空間為非空。
本發(fā)明提供的實現(xiàn)上述方法的在100g以上光傳輸芯片中控制ptp報文的系統(tǒng),包括ptp標(biāo)記控制模塊、ptp解析識別模塊、ptp緩存控制模塊和ptp讀取模塊;
ptp標(biāo)記控制模塊用于:當(dāng)以太網(wǎng)業(yè)務(wù)通道報文被識別為ptp報文時,在ptp報文的尾部設(shè)置ptp報文控制標(biāo)記,向ptp緩存控制模塊發(fā)送工作信號;
ptp緩存控制模塊用于:收到工作信號后,選擇1個非滿的ptp緩存作為ptp寫入緩存,非滿的ptp緩存定義為:ptp緩存中至少有1塊緩存空間為空,向ptp解析識別模塊發(fā)送ptp解析識別信號;收到ptp緩存控制信號后,將其他ptp緩存作為ptp寫入緩存,當(dāng)ptp寫入緩存為非滿時,重新向ptp解析識別模塊發(fā)送ptp解析識別信號;
ptp解析識別模塊用于:收到ptp解析識別信號后,在ptp寫入緩存中選擇1塊空緩存空間,在當(dāng)前緩存空間中寫入以太網(wǎng)業(yè)務(wù)通道報文;若當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文的ptp報文控制標(biāo)記有效,則確定當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文為ptp報文,在當(dāng)前緩存空間中寫入當(dāng)前ptp報文的包描述信息,向ptp緩存控制模塊發(fā)送ptp緩存控制信號;
ptp讀取模塊用于:在ptp解析識別模塊和ptp緩存控制模塊工作的過程中,當(dāng)存在非空的ptp緩存時,讀取ptp緩存中的ptp報文;非空的ptp緩存的定義為:ptp緩存中至少有1塊緩存空間為非空。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
本發(fā)明將ptp報文控制標(biāo)記設(shè)置于識別出的ptp報文尾,便于以太網(wǎng)通道的主、輔ptp緩存對ptp報文進行控制。為了在以太網(wǎng)業(yè)務(wù)通道中支持線速控制ptp報文,采用了以整包結(jié)合緩存空間存儲的主、輔ptp緩存切換形式、并且每個緩存空間均可寫入1個整包的ptp報文。本發(fā)明對以太網(wǎng)通道的主、輔ptp緩存均采用完成寫入和重新覆蓋寫入機制來控制目標(biāo)ptp報文。同時將以太網(wǎng)通道實時獲取的ptp報文時間戳和整個包描述,伴隨ptp報文進行控制和傳遞,進而使得ptp報文控制不受現(xiàn)有技術(shù)中的bc和tc時鐘類型的影響,從而保證在100g或超100g芯片中支持ieee1588v2時間同步功能更加實用高效。
有鑒于此,本發(fā)明不僅能夠高效的實現(xiàn)100g及超100g光傳輸芯片對ptp報文的控制,而且對ptp報文高效控制時,對時間同步應(yīng)用場景的bc及tc時鐘類型不敏感。與此同時,本發(fā)明顯著的提高了100g或超100g光傳輸芯片對ptp報文的控制效率和處理性能,降低了支持ieee1588v2高精度時間同步功能的芯片設(shè)計資源和設(shè)計復(fù)雜度,進而也為芯片在設(shè)計規(guī)模和設(shè)計成本上帶來優(yōu)勢,非常適于推廣。
附圖說明
圖1為本發(fā)明實施例中在100g以上光傳輸芯片中控制ptp報文的方法的流程圖;
圖2為本發(fā)明實施例中在100g以上光傳輸芯片中控制ptp報文的系統(tǒng)的連接框圖。
具體實施方式
以下結(jié)合附圖及實施例對本發(fā)明作進一步詳細說明。
參見圖1所示,本發(fā)明實施例中的在100g以上光傳輸芯片中控制ptp報文的方法,包括以下步驟:
s1:當(dāng)收到以太網(wǎng)業(yè)務(wù)通道報文時,產(chǎn)生收到報文的實時時間戳,當(dāng)以太網(wǎng)業(yè)務(wù)通道報文被識別為ptp報文時,根據(jù)默認寄存器或自定義配置,在ptp報文的尾部設(shè)置ptp報文控制標(biāo)記,轉(zhuǎn)到s2。
s2:分別判斷以太網(wǎng)業(yè)務(wù)通道的每個ptp緩存是否為非滿,若是,選擇1個非滿的ptp緩存作為ptp寫入緩存,轉(zhuǎn)到s3,否則重新執(zhí)行s2。
s2中的所有ptp緩存包括主ptp緩存和輔ptp緩存,每個ptp緩存均劃分為4塊緩存空間,每塊緩存空間均可寫入1個整包的ptp報文(緩存空間支持1518字節(jié)的報文長度);ptp緩存為非滿的定義為:ptp緩存中至少有1塊緩存空間為空;若主ptp緩存和輔ptp緩存均為非滿,則選擇主ptp緩存作為ptp寫入緩存。在第一次時是寫入主ptp緩存,在接下來就是根據(jù)切換控制指示寫入被切換到的非滿ptp緩存中。
s3:根據(jù)切換控制指示在ptp寫入緩存中選擇1塊空的緩存空間,在當(dāng)前緩存空間的第2個內(nèi)存起始地址處,順序?qū)懭胧盏降囊蕴W(wǎng)業(yè)務(wù)通道報文,直至寫至以太網(wǎng)業(yè)務(wù)通道報文尾、或者當(dāng)前緩存空間尾為止,其中報文尾或緩沖空間尾以先寫到的為寫截止條件,轉(zhuǎn)到s4。
s4:判斷當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文的ptp報文控制標(biāo)記是否有效,若是(先決條件為ptp報文控制標(biāo)記存在,即當(dāng)前以太網(wǎng)業(yè)務(wù)通道報文在緩沖空間內(nèi)寫完),轉(zhuǎn)到s6,否則(例如ptp報文控制標(biāo)記不存在,即當(dāng)前以太網(wǎng)業(yè)務(wù)通道報文在緩沖空間內(nèi)未寫完)轉(zhuǎn)到s5。
s5:產(chǎn)生當(dāng)前緩存空間重新寫入指示,重新執(zhí)行s2(即覆蓋寫入下一條以太網(wǎng)業(yè)務(wù)通道報文)。
s6:產(chǎn)生當(dāng)前緩存空間寫入完成指示,在當(dāng)前緩存空間的第1個內(nèi)存起始地址處,寫入當(dāng)前ptp報文的包描述信息,包描述信息包括已在s1中產(chǎn)生的收到當(dāng)前ptp報文的實時時間戳,轉(zhuǎn)到s7。
s7:產(chǎn)生緩存切換控制指示,將其他ptp緩存作為ptp寫入緩存,轉(zhuǎn)到s8。
s8:判斷ptp寫入緩存是否為非滿,若是,跳轉(zhuǎn)至s3,否則重新執(zhí)行s8。
在執(zhí)行s2至s8的過程中,還包括以下步驟:
s9:持續(xù)檢測是否有ptp緩存為非空,ptp緩存為非空的定義為:ptp緩存中至少有1塊緩存空間為非空,空檢測按整包方式判定;若是,按照輪詢的方式讀取ptp緩存中的ptp報文,直至主輔ptp緩存均為空時停止ptp緩存讀操作;否則(所有ptp緩存均為空)重新執(zhí)行s9。
下面以200gotnframer芯片作為具體實施例,來說明本發(fā)明實施例中的在100g以上光傳輸芯片中控制ptp報文的方法。
步驟一:200gotnframer芯片初始化時,寄存器默認識別所有ptp報文標(biāo)記圖樣,且寄存器默認設(shè)定為:對除了peer延時機制消息類報文之外的所有ptp報文,在尾部使能ptp報文控制標(biāo)記有效,轉(zhuǎn)到步驟二。
步驟二:檢測到200gotnframer芯片100g以太網(wǎng)業(yè)務(wù)通道的主、輔ptp緩存均為非滿。將100g以太網(wǎng)業(yè)務(wù)通道報文寫入主ptp緩存的空緩存空間中,轉(zhuǎn)到步驟三。
步驟三:當(dāng)前寫入的100g以太網(wǎng)業(yè)務(wù)通道報文為sync報文,該報文的ptp報文控制標(biāo)記有效,在當(dāng)前緩存空間的第1個內(nèi)存起始地址處,寫入當(dāng)前ptp報文的包描述信息,轉(zhuǎn)到步驟四。
步驟四:在當(dāng)前100g以太網(wǎng)業(yè)務(wù)通道下,產(chǎn)生緩存切換控制指示,使當(dāng)前主ptp緩存寫控制權(quán)切換至輔ptp緩存;即輔ptp緩存成為本以太網(wǎng)業(yè)務(wù)通道的ptp寫入緩存,該ptp寫入緩存(即輔ptp緩存)為非滿,在該ptp寫入緩存中按照上述步驟寫入以太網(wǎng)業(yè)務(wù)通道報文。
在執(zhí)行步驟四的過程中,檢測到當(dāng)前100g以太網(wǎng)業(yè)務(wù)通道的主ptp緩存為非空,在主ptp緩存中按整包的方式讀出sync報文。
上述具體實施例中200gotnframer芯片包括2路100g以太網(wǎng)接口通道,在開啟ptp模式工作時,每路100g以太網(wǎng)業(yè)務(wù)報文在寫入緩存時已經(jīng)完成了具體的ptp報文識別、標(biāo)記控制和包描述信息關(guān)聯(lián)。當(dāng)對除了peer延時機制消息類報文之外的所有ptp報文,在尾部使能ptp報文控制標(biāo)記有效時,通過本發(fā)明控制ptp報文的方法,高效實現(xiàn)了僅對目標(biāo)ptp報文從主或輔ptp緩存進行輸出,顯著提高了100g或超100g光傳輸芯片對ptp報文的控制效率和處理性能。
與此同時100gptp緩存控制模塊的主、輔ptp緩存的每塊緩存空間各支持一個1518字節(jié)的報文長度,使得100g通道可擴展支持較大的自定義ptp報文的控制;此外ptp報文的控制對bc及tc時鐘類型不敏感,也有效的增加了100g及超100g光傳輸芯片在時間同步場景下的應(yīng)用范圍。
參見圖2所示,本發(fā)明實施例提供的實現(xiàn)上述方法的在100g以上光傳輸芯片中控制ptp報文的系統(tǒng),包括時間戳生成模塊、以太網(wǎng)業(yè)務(wù)模塊、ptp標(biāo)記控制模塊、ptp解析識別模塊、ptp緩存控制模塊、ptp讀取模塊和報文處理模塊。
時間戳生成模塊用于:當(dāng)收到以太網(wǎng)業(yè)務(wù)通道報文時,將收到報文的實時時間戳發(fā)送至以太網(wǎng)業(yè)務(wù)模塊。
以太網(wǎng)業(yè)務(wù)模塊用于:將實時時間戳以包描述的方式和收到的報文相關(guān)聯(lián)。
ptp標(biāo)記控制模塊用于:當(dāng)以太網(wǎng)業(yè)務(wù)通道報文被識別為ptp報文時,在ptp報文的尾部設(shè)置ptp報文控制標(biāo)記,向ptp緩存控制模塊發(fā)送工作信號。
ptp緩存控制模塊用于:收到工作信號后,選擇1個非滿的ptp緩存作為ptp寫入緩存,非滿的ptp緩存定義為:ptp緩存中至少有1塊緩存空間為空,向ptp解析識別模塊發(fā)送ptp解析識別信號。收到ptp緩存控制信號后,將其他ptp緩存作為ptp寫入緩存,當(dāng)ptp寫入緩存為非滿時,重新向ptp解析識別模塊發(fā)送ptp解析識別信號。
ptp緩存包括主ptp緩存和輔ptp緩存,ptp緩存控制模塊選擇1個非滿的ptp緩存作為ptp寫入緩存的工作流程包括:若主ptp緩存和輔ptp緩存均為非滿,選擇主ptp緩存作為ptp寫入緩存。
ptp解析識別模塊用于:收到ptp解析識別信號后,在ptp寫入緩存中選擇1塊空緩存空間,在當(dāng)前緩存空間中寫入以太網(wǎng)業(yè)務(wù)通道報文(在當(dāng)前緩存空間的第2個內(nèi)存起始地址處,寫入以太網(wǎng)業(yè)務(wù)通道報文,直至寫至以太網(wǎng)業(yè)務(wù)通道報文尾、或者當(dāng)前緩存空間尾為止)。若當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文的ptp報文控制標(biāo)記有效,則確定當(dāng)前寫入的以太網(wǎng)業(yè)務(wù)通道報文為ptp報文,在當(dāng)前緩存空間中寫入當(dāng)前ptp報文的包描述信息(在當(dāng)前緩存空間的第1個內(nèi)存起始地址處,寫入當(dāng)前ptp報文的包描述信息,即收到當(dāng)前ptp報文的實時時間戳),向ptp緩存控制模塊發(fā)送ptp緩存控制信號。
ptp讀取模塊用于:在ptp解析識別模塊和ptp緩存控制模塊工作的過程中,當(dāng)存在非空的ptp緩存時,讀取ptp緩存中的ptp報文;非空的ptp緩存的定義為:ptp緩存中至少有1塊緩存空間為非空。
報文處理模塊用于:完成報文的處理功能。
進一步,本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。