摘 要:隨著三網融合技術的發展,EPON系統正以其低成本、高帶寬等優點成為接入網的主流技術之一。文章提出了一種10 G EPON系統ONU下行方向數據發送接口的設計方案,在簡要介紹數據發送接口總體結構的基礎上,詳細分析了各個子模塊的設計思路,重點闡述了接口電路的數據路由及數據格式轉換的方法和思路。
關鍵詞:10 G EPON;接口;路由;幀信息頭
中圖分類號:TN46 文獻標識碼:A 文章編號:1006-8937(2013)11-0007-02
10 G EPON技術是在三網融合對網絡帶寬要求急劇增加的背景下發展起來的,10 G EPON系統不僅支持最新發展而來的10 G帶寬的局端,同時支持原有的1 G帶寬和2.5 G帶寬局端,從而實現了系統的前向兼容和后向兼容。本文旨在設計一個同時支持上述三種網絡傳輸帶寬的ONU用戶側下行數據發送接口,該接口能夠實現來自ONU MAC的數據向用戶側發送的路由和格式變換功能。
1 功能描述
下行數據發送接口根據TRUNK端口模式配置,將來自MAC的數據發送到對應的用戶側。TRUNK模式與用戶側端口的對應關系如下:
①TRUNK模式為0時,用戶側對應GE端口。
②TRUNK模式為1時,用戶側對應SGMII端口。
③用戶側對應XAUI端口。
發往用戶側的數據都要剔除幀信息頭,并依據不同的端口變換相應的數據傳輸格式,特別是對發送往GE端口和SGMII接口的數據,要進行時鐘域同步和數據緩存,這里采用異步FIFO實現數據的時鐘域同步功能和數據緩存功能。
下行數據發送接口模塊主要由狀態機控制子模塊,數據發送請求子模塊,異步FIFO讀寫控制子模塊,XAUI接口數據發送控制子模塊4個子模塊組成,其結構框圖如圖1所示。
2 下行數據發送接口子模塊設計
2.1 狀態機控制模塊
狀態機控制模塊主要作用是生成狀態控制信號,控制接口電路的數據接收與發送。初始時刻,狀態機處于空閑狀態,當收到MAC發送來的數據發送指示時,狀態機跳轉到數據發送狀態,當接收到數據幀的幀尾時,狀態機重新跳轉到空閑狀態。
2.2 數據發送請求模塊
數據發送請求子模塊主要功能是生成數據發送請求信號,用于指示ONU MAC發送數據幀。數據發送請求信號的偽碼描述如下:
{系統復位時,數據發送請求信號處于無效狀態。
IF(用戶側端口為GE端口,即TRUNK模式為0時)
IF(當前狀態為空閑狀態,GE FIFO空且用戶側的流控制幀處于無效狀態時)
數據發送請求信號有效。
ELSE IF(控制邏輯的數據發送應答信號有效)
數據發送請求信號無效。
ELSE
數據發送請求信號狀態保持不變。
ELSE IF (用戶側端口為SGMII接口,即TRUNK模式為1時)
IF(當前狀態為空閑狀態且SGMII端口 FIFO為空)
數據發送請求信號有效。
ELSE IF(DGF2DTC_ACK有效)
數據發送請求信號無效。
ELSE
數據發送請求信號狀態保持不變。
ELSE IF (用戶側端口為XAUI接口)
IF(數據幀發送完畢)
數據發送請求信號有效。
ELSE IF(開始發送數據幀)
數據發送請求信號無效。
ELSE
數據發送請求信號狀態保持不變。
ELSE
數據發送請求信號無效。}
2.3 XAUI接口數據發送控制模塊
TRUNK值為2時,XAUI接口數據發送控制模塊讀取緩存數據,變換數據格式并生成相應控制信號后發送給XAUI接口模塊。原64位數據信號在XAUI接口數據發送控制模塊里被分成了4組,每組包含16位數據和新生成的2位字節有效指示信號,其中2位字節信號指示16位數據信號的字節有效指示。
2.4 異步FIFO讀寫控制模塊
異步FIFO讀寫控制模塊主要功能是數據讀數據邏輯和寫數據邏輯。當接收到MAC發送來的數據幀時,如果TRUNK模式配置值為0或1時,將數據寫入相應的異步FIFO。當數據發送請求信號有效時,從對應的異步FIFO讀取數據發送往用戶側。從GE端口對應的緩存異步FIFO和SGMII端口對應的緩存異步FIFO讀取數據的邏輯設計方法基本,不同的是發送往用戶側的數據的格式分別是GE和SGMII格式。前者數據傳輸的位寬是8位,每從64位位寬的異步FIFO中讀取一次數據需要8個時鐘周期發送出去,控制信號包括幀頭、幀尾指示信號,數據有效指示信號。后者數據傳輸的位寬是32位,每個時鐘周期傳輸4個字節的數據,控制信號中要有數據有效指示信號,以在最后1拍數據傳輸時定位幀尾字節的位置。
SGMII接口讀數據模塊通過狀態機控制邏輯從SGMII異步FIFO中讀取數據幀,剔除幀信息頭后,將原來的64位寬的數據變換為32位后發送到SGMII接口。
讀取數據幀狀態機由四個狀態組成,分別為:①空閑狀態:不需讀取數據狀態;②讀取幀信息頭狀態:當當前狀態為空閑狀態,異步FIFO非空時,狀態機跳轉到讀取幀信息頭狀態。異步FIFO空滿由空指示信號標志,當檢測到空滿指示信號的下降沿時,表示可以從異步FIFO中讀取數據幀。圖2所示為SGMII FIFO空指示信號SGEMPTY下降沿檢測電路邏輯電路圖,當檢測到SGEMPTY_NEG信號的一個高電平脈沖時,即檢測到SGEMPTY信號的一個下降沿。讀取幀信息頭時,數據處理邏輯從讀取的數據幀中剔除幀信息頭并將數據幀余下的數據發送往用戶側,同時從幀信息頭中提取出幀長信息用以置位幀長計數器。幀長計數器主要用于標志當前讀取的數據在數據幀中的位置,供讀數據控制邏輯使用。發送往用戶側的數據以幀為單位,數據幀數據之間必須連續發送,因此需要用幀長計數器進行標志,以控制數據讀取。
3 結 語
本文針對10 G EPON系統ONU用戶側下行方向數據發送接口提出了一種設計方案,并使用VERILOG語言進行了描述,編寫TESTBENCH對RTL電路進行了驗證,仿真結果表明設計方案較好的實現了ONU用戶側下行方向數據發送接口的路由和數據格式變換功能。
參考文獻:
[1] 堯昱,張靜,王允,等.10 G EPON技術及應用方案研究[J].光通信技術,2011,(11).
[2] 朱華偉.10G EPON系統ONU交換模塊設計[D].成都:電子科技大學,2010.
[3] 伯杰龍.SYSTEM VERILOG驗證方法學[M].北京:北京航空航天大學出版社,2007.
[4] 克里斯·斯皮爾著(美).張春,麥宋平,趙益新(譯).SYSTEM VERILOG驗證:測試平臺編寫指南[M].北京:科學出版社,2009.