基于FPGA實(shí)現千兆以太網(wǎng)業(yè)務(wù)在SDH上的傳輸
在整個(gè)FPGA設計中,接收端的幀同步模塊是比較重要的,它主要進(jìn)行GFP幀的幀頭搜索和同步保持處理。同步狀態(tài)轉移圖如圖3所示。本文引用地址:http://dyxdggzs.com/article/190502.htm
用一個(gè)狀態(tài)機表示三種狀態(tài),即搜索態(tài)、預同步態(tài)和同步態(tài)。在預同步狀態(tài)和同步狀態(tài)時(shí)都只取1幀進(jìn)行狀態(tài)跳轉判斷。狀態(tài)機在FPGA初始化時(shí)默認處于搜索狀態(tài),然后在連續的GFP數據流中進(jìn)行幀頭的搜索判斷,將連續的數據流在每個(gè)時(shí)鐘周期按字節存入緩存器中,在每個(gè)時(shí)鐘周期進(jìn)行4 B的擾碼判斷,即連續的4個(gè)字節與擾碼序列“B6AB31E0”進(jìn)行異或,得到的4 B數據中前2個(gè)字節根據擾碼多項式G(x)=X16+X12 +X5+1生成2個(gè)字節的校驗值,然后與后2個(gè)字節進(jìn)行比較,如果一致則表示找到了幀頭,進(jìn)入到預同步態(tài)。在預同步態(tài)繼續在一幀幀頭的相應時(shí)刻進(jìn)行幀頭的判斷,如果正確則跳轉到同步態(tài),否則重新跳轉到搜索態(tài),繼續尋找幀頭。如果進(jìn)入到同步態(tài),和預同步態(tài)一樣,也在一幀幀頭的相應時(shí)刻進(jìn)行判斷,如果正確則繼續保持在同步態(tài),否則跳轉到搜索態(tài),重新在數據流中進(jìn)行幀頭的搜索。只有在處于同步狀態(tài)時(shí)才能繼續對數據進(jìn)行后續處理。
在SDH和GFP協(xié)議的成幀解幀里都要進(jìn)行擾碼和解擾處理。SDH的擾碼多項式為G(x)=X7+X6+1,GFP對核心頭部PLI的擾碼多項式為G(x)=X16 +X12+X5+1,GFP凈負荷域的擾碼多項式為G(x)=x43+1。這些擾碼器都為串行擾碼器,對于GE這種速率的數據如果也采用串行處理方式的話(huà),FPGA內部是無(wú)法實(shí)現的。經(jīng)過(guò)轉換處理,可以將串行擾碼器變?yōu)椴⑿袛_碼器再進(jìn)行擾碼,即可降低處理速度,滿(mǎn)足時(shí)序要求。
2 仿真綜合及實(shí)現
本設計采用VHDL硬件描述語(yǔ)言,使用的是XILINX公司帶有高速SERDES接口的SPARTAN-6芯片,利用ISE 12.1和仿真軟件進(jìn)行了綜合和仿真。由于FPGA的內部資源較為豐富,本身自帶的IP核具有可靠性、方便性和靈活性的特點(diǎn)。時(shí)鐘部分使用了XIUNX芯片內部的DCM時(shí)鐘管理模塊,雙端口RAM以及FIFO緩存器都使用了FPGA的內部IP核資源。高速數據接口部分使用的是芯片內部的GTP模塊,去掉了外部高速接口轉換芯片,簡(jiǎn)化了電路板的設計,不但提高了設計效率,也提高了系統設計的穩定性。
圖4和圖5表示的是對EOS數據進(jìn)行VC-4-7V虛級聯(lián)后的部分時(shí)序仿真圖。
圖4中,data_frm_state信號表示的是幀同步狀態(tài)機。在數據流中,狀態(tài)機一開(kāi)始處于hunt狀態(tài),一旦找到幀頭,則進(jìn)入到presync狀態(tài);如果幀頭檢測沒(méi)有錯誤,則繼續跳轉到sync狀態(tài);如果幀頭判斷正確,那么狀態(tài)機就一直保持在sync狀態(tài)。
圖5中,s_datain信號表示的是解碼前的數據,s_dataout信號表示的是根據擾碼多項式G(x)=X43+1解擾后的數據。
3 結語(yǔ)
綜上所述,利用FPGA可以實(shí)現千兆以太網(wǎng)MAC幀在SDH數據幀中的封裝和映射,配合外圍接口電路的使用,可以實(shí)現GE在STM-16中的傳輸。EOS技術(shù)既增強了以太網(wǎng)傳輸的覆蓋范圍,也豐富了SDH設備的傳輸接口,極大地方便了用戶(hù)的使用。同時(shí),利用FPGA進(jìn)行設計,大大縮短了開(kāi)發(fā)的周期,也便于以后的升級和維護。
評論