摘 要:為了實現千兆以太網業務在SDH網絡上的傳輸(EOS),可以利用FPGA將以太網MAC數據幀在SDH數據幀中進行封裝和映射處理。介紹了GFP封裝協議以及虛級聯技術,給出了FPGA內部的模塊化設計方法。利用FPGA的強大功能和內部的豐富資源,簡化了電路設計的復雜性。千兆以太網在SDH中的傳輸增強了SDH設備的業務傳輸能力。
關鍵詞:以太網; SDH; GFP; EOS
中圖分類號:TN915.1-34
文獻標識碼:A
文章編號:1004-373X(2012)01-0059-02
Transmission of GE over SDH based on FPGA
CAO Peng-fei, HAN Ying-na
(TOEC Group Co. Ltd., Tianjin 300211, China)
Abstract:
The transmission of Gigabit Ethernet(GE) over Synchronous Digital Hierarchy(SDH) is realized. Ethernet MAC frame was encapsulated and mapped into SDH frame by using FPGA. GFP protocol and virtual concatenation technology are introduced, and module structure in FPGA is discussed. The complexity of the circuit design was simplified based on FPGA with powerful function and rich resources. Because of EOS, the interface type of SDH gets rich.
Keywords: Ethernet; SDH; GFP; EOS
收稿日期:2011-07-18
0 引 言
隨著人們對數據業務需求的不斷增長,以太網作為全世界應用最為廣泛的網絡通信技術之一,在全世界得到了大規模的普及。SDH是電信部門常用的通信傳輸設備,具有高可靠性和高安全性的特點。EOS(Ethernet over SDH)技術即借現有的SDH傳輸設備實現以太網業務的傳輸,具有非常重要的現實意義。
基于以太網的七層架構,在第二層數據鏈路層傳輸的是以太網的MAC幀。由于以太網和SDH系統的傳輸速率不匹配,需要通過封裝進行速率調整后才能映射到SDH的虛容器中。目前來講,常用的是GFP(Generic Framing Procedure)封裝。GE(千兆以太網)信號在SDH系統中的映射可以分為相鄰級聯和虛級聯兩種模式。相鄰級聯是在整個傳輸過程中保持連續帶寬,各個級聯的VC是相鄰的,在SDH網絡系統中需要有能夠進行相鄰級聯處理的中間設備,而虛級聯的應用方式比較靈活,將連續帶寬分解到多個VCs上傳輸,不一定相鄰,在傳輸的終端再將多個VCs重新組合成連續帶寬。因此,虛級聯方式有效地節省了帶寬,在系統中只需能夠進行處理的終端設備即可。在實際使用中,這種方式的應用比較廣泛。
1 FPGA收發模塊設計
本文實現的傳輸方式是在STM-16中傳輸1路GE信號,需要對以太網MAC幀進行GFP封裝。GFP幀分為GFP-F和GFP-T兩種模式,本設計采用的是GFP-F封裝模式。STM-16的傳輸速率是2.488 32 Gb/s。STM-16一共包括16路STM-1信號,STM-1的傳輸速率是155.52 Mb/s。STM-1信號采用虛級聯方式,利用VC-4-XV(X=1~7)最多采用7路STM-1信號即可傳輸1路GE信號。剩余STM-1通道的信號用來傳輸其他數據業務。
以太網數據在SDH設備中傳輸過程如下:在SDH發送部分中,以太網通過接口處理芯片產生MAC數據幀,通過GMII接口傳送給FPGA。FPGA將MAC幀進行GFP協議的封裝,然后映射到SDH的虛容器VC當中,再通過添加復用段和再生段開銷,生成STM-16數據幀,發送給光模塊再上到光網絡;在SDH接收部分中,光接收模塊從光網絡將STM-16數據幀接收下來發送給FPGA,FPGA在內部處理相關的開銷,再將GFP數據幀從VC虛容器中提取出來,通過解幀處理,將以太網的MAC幀還原出來,經過處理后發送給以太網。
FPGA的內部設計可以分成發送模塊和接收模塊兩部分。其中,發送模塊可以分為以太網數據接收預處理模塊、GFP成幀模塊、SDH成幀模塊;接收模塊可以分為 SDH解幀模塊、GFP解幀模塊、以太網數據發送處理模塊。發送和接收模塊示意圖分別如圖1和圖2所示。
圖1 發送模塊示意圖
圖2 接收模塊示意圖
發送部分的三個模塊的功能分別如下:以太網數據接收處理模塊利用FIFO緩存模塊存儲每一個有效MAC數據幀的數據和長度。同時實現數據從以太網時鐘域到SDH時鐘域的轉換;GFP成幀模塊對以太網MAC幀進行GFP封裝,通過調整GFP數據幀和GFP空閑幀的插入,將以太網MAC幀映射到SDH的高階VC-4虛容器中;SDH成幀模塊對虛容器進一步處理,添加開銷字段,生成STM-16數據幀,再利用FPGA內部的GTP接口將16位155.52 MHz的并行數據轉化為一路2 488.32 MHz高速LVDS差分信號發送出去。
接收部分實現的過程是發送部分的逆過程。
GFP成幀模塊分為GFP數據幀產生模塊、空閑幀產生模塊、插入幀選擇模塊、GFP擾碼模塊;GFP解幀模塊分為GFP幀同步模塊、GFP解擾模塊、GFP接收幀處理模塊。
GFP數據幀產生模塊在去掉MAC幀8 B前導碼后,將剩余部分的數據封裝為GFP數據幀。按照GFP協議添加4 B的核心頭部和4 B的凈負荷域頭部,將非定長的以太網MAC幀添加到凈負荷信息字段,在幀尾添加4 B的凈負荷幀校驗序列(FCS)。
空閑幀實際上屬于GFP用戶管理幀的一種,沒有凈負荷域,只包含一個GFP核心幀頭,是4 B的全0比特與序列“B6AB31E0”異或所得。
插入幀選擇模塊根據流量情況調整數據幀和空閑幀的插入,在沒有數據幀要發送時,插入空閑幀,以保證GFP數據流的連續性。
在整個FPGA設計中,接收端的幀同步模塊是比較重要的,它主要進行GFP幀的幀頭搜索和同步保持處理。同步狀態轉移圖如圖3所示。
用一個狀態機表示三種狀態,即搜索態、預同步態和同步態。在預同步狀態和同步狀態時都只取1幀進行狀態跳轉判斷。狀態機在FPGA初始化時默認處于搜索狀態,然后在連續的GFP數據流中進行幀頭的搜索判斷,將連續的數據流在每個時鐘周期按字節存入緩存器中,在每個時鐘周期進行4 B的擾碼判斷,即連續的4個字節與擾碼序列“B6AB31E0”進行異或,得到的4 B數據中前2個字節根據擾碼多項式G(x)= X16+X12+X5+1生成2個字節的校驗值,然后與后2個字節進行比較,如果一致則表示找到了幀頭,進入到預同步態。在預同步態繼續在一幀幀頭的相應時刻進行幀頭的判斷,如果正確則跳轉到同步態,否則重新跳轉到搜索態,繼續尋找幀頭。如果進入到同步態,和預同步態一樣,也在一幀幀頭的相應時刻進行判斷,如果正確則繼續保持在同步態,否則跳轉到搜索態,重新在數據流中進行幀頭的搜索。只有在處于同步狀態時才能繼續對數據進行后續處理。
圖3 幀同步狀態轉移圖
在SDH和GFP協議的成幀解幀里都要進行擾碼和解擾處理。SDH的擾碼多項式為G(x)=X7+X6+1,GFP對核心頭部PLI的擾碼多項式為G(x)= X16+X12+X5+1,GFP凈負荷域的擾碼多項式為G(x)=X43+1。這些擾碼器都為串行擾碼器,對于GE這種速率的數據如果也采用串行處理方式的話,FPGA內部是無法實現的。經過轉換處理,可以將串行擾碼器變為并行擾碼器再進行擾碼,即可降低處理速度,滿足時序要求。
2 仿真綜合及實現
本設計采用VHDL硬件描述語言,使用的是XILINX公司帶有高速SERDES接口的SPARTAN-6芯片,利用ISE 12.1和仿真軟件進行了綜合和仿真。由于FPGA的內部資源較為豐富,本身自帶的IP核具有可靠性、方便性和靈活性的特點。時鐘部分使用了XILINX芯片內部的DCM時鐘管理模塊,雙端口RAM以及FIFO緩存器都使用了FPGA的內部IP核資源。高速數據接口部分使用的是芯片內部的GTP模塊,去掉了外部高速接口轉換芯片,簡化了電路板的設計,不但提高了設計效率,也提高了系統設計的穩定性。
圖4和圖5表示的是對EOS數據進行VC-4-7V虛級聯后的部分時序仿真圖。
圖4中,data_frm_state信號表示的是幀同步狀態機。在數據流中,狀態機一開始處于hunt狀態,一旦找到幀頭,則進入到presync狀態;如果幀頭檢測沒有錯誤,則繼續跳轉到sync狀態;如果幀頭判斷正確,那么狀態機就一直保持在sync狀態。
圖4 GFP幀同步搜索模塊信號指示圖
圖5 GFP解擾信號指示圖
圖5中,s_datain信號表示的是解碼前的數據,s_dataout信號表示的是根據擾碼多項式G(x)=X43+1解擾后的數據。
3 結 語
綜上所述,利用FPGA可以實現千兆以太網MAC幀在SDH數據幀中的封裝和映射,配合外圍接口電路的使用,可以實現GE在STM-16中的傳輸。EOS
技術既增強了以太網傳輸的覆蓋范圍,也豐富了SDH設備的傳輸接口,極大地方便了用戶的使用。同時,利用FPGA進行設計,大大縮短了開發的周期,也便于以后的升級和維護。
參 考 文 獻
[1]肖萍萍,吳健學.SDH原理與應用[M].北京:人民郵電出版社,2008.
[2]楊庚,章韻,成衛青,等.計算機通信與網絡[M].北京:清華大學出版社,2009.
[3]田耕,徐文波,胡彬.XILINX ISE Design Suite 10.x FPGA開發指南[M].北京:人民郵電出版社,2008.
[4]Xilinx.Spartan-6 family overview [M]. [S.l.]: Xilinx, 2010.
[5]杜凱.基于FPGA的GFP成幀協議實現[J].世界電子元器件,2004(11):46-49.
[6]劉方楠,孫力軍,白瑤晨.EOS的原理及其關鍵技術[J].通信技術,2007(7):19-21.
[7]李玲,李惠君,史曉飛,等.EOS中高階虛級聯的設計與實現[J].光通信技術,2008(10):42-45.
[8]袁霏,呂小燕.基于GFP協議的EOS技術及其在FPGA上的實現[J].光通信技術,2004(12):22-24.