<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于SoC的千兆EPON ONU硬件平臺

          基于SoC的千兆EPON ONU硬件平臺

          ——
          作者: 時間:2007-12-26 來源: 收藏

            1 引言

            PON結構簡單、鋪設維護成本低的特點和以太網(wǎng)設備成熟、廉價的特點使這項技術已成為目前解決接入網(wǎng)速率這一瓶頸的最佳方案之一。但在目前國內的設備中,特別是OLT和的芯片仍需從國外廠家進口,所以研發(fā)出具有自主知識產(chǎn)權的的核心技術產(chǎn)品是當務之急[1]。

            本文根據(jù)上海大學SHU EPON MAC控制芯片的設計經(jīng)驗,提出了一種千兆硬件平臺的設計和實現(xiàn)方案。并結合當前ASIC設計開發(fā)的趨勢,基于的概念嵌入8051處理內核。通過此平臺完善上海大學SHU EPON ONU MAC控制芯片。該平臺不僅在硬件設計上留有一定的余量為系統(tǒng)升級做準備。而且設計時也考慮到目前ASIC制造工藝的性價比和局限性問題。

            2 ONU系統(tǒng)功能簡介

            EPON系統(tǒng)由光用戶終端ONU、光線路終端OLT、光配線網(wǎng)ODN組成[2]。ONU位于用戶端,放在住戶,企業(yè)或MDU/MTU(多用戶/租戶單元)處,提供客戶的語音,數(shù)據(jù)和視頻與PON的接口,還提供第二層交換功能。簡言之ONU為用戶提供EPON的接人功能。

            根據(jù)IEEE802.3ah標準[3].ONU作為EPON系統(tǒng)的用戶端接入設備,主要完成的功能可描述為:

            ◆選擇接收OLT發(fā)送的廣播數(shù)據(jù):

            ◆響應OLT發(fā)出的注冊和測距命令:

            ◆對用戶的以太網(wǎng)數(shù)據(jù)進行緩存,向OLT報告緩存的隊列情況并在OLT分配的上行發(fā)送窗口中發(fā)送緩存的數(shù)據(jù):

            ◆根據(jù)OLT發(fā)出的OAM幀,執(zhí)行相應的OAM功能:

            ◆其它相關的以太網(wǎng)功能。

            3 FPGA邏輯結構簡介

            由于處于ASIC設計的前端,采用Altera公司的FPGA EP2C70F672C6作為核心處理單元,并基于這塊FPGA進行邏輯代碼的編寫、測試和驗證。

            EPON ONU MAC控制芯片內部邏輯設計如圖1所示,整個系統(tǒng)可以分為上行和下行兩部分,下行是數(shù)據(jù)從OLT傳輸?shù)絆NU,上行是數(shù)據(jù)從ONU傳輸?shù)絆LT。接收模塊對下行數(shù)據(jù)進行10位轉8位碼變換,LLID的濾除和幀校驗,然后進行幀分類。在下行鏈路中,除了有用戶數(shù)據(jù)外,還有MPCP和OAM幀,幀分類模塊把接收模塊處理后的數(shù)據(jù)按類別交給對應模塊。同樣上行鏈路中除了用戶數(shù)據(jù)外,還有Register Ack幀、Register Request幀、Report幀和OAM幀,上行隊列管理模塊將它們和從GMII/MII來的用戶數(shù)據(jù)添加LLID后暫存于SDRAM中,復用控制模塊根據(jù)這些幀的優(yōu)先級,等待發(fā)送控制模塊使能發(fā)送[1]。GMII/MII切換模塊根據(jù)以太收發(fā)芯片工作速率選擇對應邏輯實現(xiàn)10/100/1000自適應應用。

            OAM處理、仲裁和控制模塊響應處理經(jīng)過分類后的OAM幀,協(xié)調和控制相應模塊。如圖2所示,該模塊主要由8051內核、UART核和RAM等構成。核心為源代碼開放的8051IP核,使用Verilog語言編寫,指令體系完全與標準的8051兼容。數(shù)據(jù)交互模塊通過8051 IO端口來實現(xiàn)OAM模塊對外數(shù)據(jù)傳遞功能。系統(tǒng)協(xié)調控制模塊完成整個ONU系統(tǒng)的初始化,并協(xié)調控制整個ONU系統(tǒng)工作。另外加入了中斷產(chǎn)生和定時器模塊來完善OAM模塊功能,防止異常狀況使系統(tǒng)癱瘓。

            4 硬件系統(tǒng)設計和實現(xiàn)

            根據(jù)上述ONU的功能和FPGA邏輯代碼的編寫需要,ONU的硬件電路結構設計如圖3所示。整個ONU分為三個部分,一個面向光網(wǎng)絡(Plant Side),另一個則面向以太網(wǎng)絡(Local Side),還有一個是處理、協(xié)調和仲裁的核心單元。對于光網(wǎng)絡的接入端,ONU是經(jīng)由光模塊接入到ODN網(wǎng)絡,我們采用Fiberxon公司的ONU突發(fā)激光器FTM-9412P-F10來實現(xiàn)光模塊,通過Serdes芯片進行串并轉換,變?yōu)?0位的TBI信號,再利用TBI和EP2C70F672C6進行數(shù)據(jù)交互。以太網(wǎng)絡的接人是在FPGA之后經(jīng)GMII/MII接口和以太網(wǎng)收發(fā)芯片88E1111相連,實現(xiàn)千/百/十兆以太網(wǎng)絡數(shù)據(jù)交換。FPGA作為ONU的核心單元。除數(shù)據(jù)傳遞通路外,硬件系統(tǒng)還包括SDRAM、EEPROM、Flash和一個UART串口。

            如圖3所示,在Plant Side端,由于從光纖上傳輸?shù)男盘査俾蕿?.25Gb/s,F(xiàn)PGA直接處理頻率這么高的信號是不合適的,即使可行對于后期的ASIC芯片工藝設計也不容易實現(xiàn)。所以在FPGA之前加入一個串并變換模塊,此模塊通過一個Serdes芯片TLK2201A實現(xiàn)1.25Gb/s串行數(shù)據(jù)與10位125Mb/s并行數(shù)據(jù)信號的轉換。再將這10位TBI信號和FPGA相連,這樣FPGA的IO口速率就可降至125MHz,由此FPGA的邏輯時鐘頻率也設置為125MHz。FPGA通過增設使能信號TBI_Burst_en控制光模塊的突發(fā)功能。

          {{分頁}}

            

            在Local Side端.采用Marvell的88E1111千兆以太收發(fā)芯片,支持1000Base-T、100Base-TX和10Base-T自適應應用[4],并通過GMII/MII接口和FPGA進行數(shù)據(jù)傳遞。當一個OLT連接ONU較少時或者OLT分配給特定ONU帶寬較大時,那么這些ONU的速率可超過百兆,為使最終芯片勝任高帶寬應用場合采用10/100/1000兆收發(fā)芯片。88E1111的物理接口具有Auto Negotiation功能,并反映在特定寄存器中。FPGA通過88E1111的MDIO (Management Data Input/Output)接口讀取相應寄存器后,選擇GMII或MII邏輯模塊以適應10/100/1000工作速率。

            除去Plant Side和Local Side兩端的設計,ONU核心部分包含以下幾個主要器件:FPGA、SDRAM、EEPROM、flash和UART串口。

            (1)FPGA型號選擇是整個系統(tǒng)的關鍵,根據(jù)邏輯代碼的需求,選用Altera CvcloneTM II EP2C7OF672C6。Alteira CvcloneTM II采用全銅層、低K值、1.2伏SRAM工藝設計,裸片尺寸被盡可能最小的優(yōu)化。采用300mm晶圓,以TSMC成功的90nm 工藝技術為基礎,Cvclone II器件提供了4.608~68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分I/O能力。EP2C70F672具有68.416個邏輯單元,RAM總比特數(shù)為l,152,000,內嵌18比特x18比特乘法器150個,4個PLL,多達422個IO引腳[5]。這些資源可以滿足ONU整個邏輯需求,又留有升級擴充的余量。選用EP2C70主要出于對RAM的考慮,其內部RAM較大,總比特數(shù)有1.152,000,適合大FIFO容量設計。當Local Side工作在10/100兆速率時.需要對Plant Side下行千兆數(shù)據(jù)增設FIFO.將傳輸速率匹配到百兆或十兆。

          {{分頁}}

            (2)增設SDRAM是由于ONU作為用戶端設備,EPON上下行的數(shù)據(jù)流通過粗波分復用(DWDM)技術,在同一根光纖中傳輸[6]。在下行鏈路中通過識別LLID選擇性接收來自OLT的廣播數(shù)據(jù),上行采用時分復用的傳輸機制,而以太數(shù)據(jù)流發(fā)送本身就呈隨機性和突發(fā)性,所以必需加入存儲設備暫存待發(fā)送的數(shù)據(jù),我們加入兩片SDRAM MT48LC8M16A2,總容量為32MB。GMII數(shù)據(jù)速率是125Mb/s,如果按Bvte處理數(shù)據(jù),那么就需要內部邏輯運行在125MHz,要讓ASIC內部邏輯工作在這個速率,不僅相對的工藝成本較高,而且邏輯代碼編寫也是一個難題,很容易出現(xiàn)不穩(wěn)定因素,所以采用每接收4個Bvtes后再處理,那么邏輯只需要31.25MHz的處理速率。這個速率不僅使得邏輯代碼編寫簡易,而且也可為后期ASIC的設計減少障礙。為了滿足32位數(shù)據(jù)總線,采用了兩片SDRAM并行工作。

            (3)EEPROM用來存儲一些ONU運行必需且不可在邏輯里固化的參數(shù),通過更新EEPROM來改變這些參數(shù),供系統(tǒng)運行使用。比如以下參數(shù):

           ?、貽NU突發(fā)激光器的開啟和關閉時間。不同廠商制造的激光器此參數(shù)有所差別,可根據(jù)廠商提供的參數(shù)存儲于EEPROM中。

            ②ONU MAC地址。EPON 0NU是一個以太網(wǎng)絡設備,分配一個MAC地址以完成MPCP功能。

           ?、巯嚓P固件版本和設備硬件信息?,F(xiàn)在一般硬件系統(tǒng)都有自己的版本信息,加入后也有利于日后的維護和管理。

            (4)Flash是用來存放8051處理內核的代碼。在802.3ah標準中定義了EPON的OAM功能,完整的OAM功能是系統(tǒng)運行穩(wěn)定和維護便捷的保障,加入一個處理內核可以完善OAM功能。植入8051內核一則出于知識產(chǎn)權和價格考慮,二則僅從性能上而言51內核雖不及ARM之類高端內核,但EPON的網(wǎng)管系統(tǒng)主要在OLT端實現(xiàn),ONU一般是響應OLT發(fā)出的OAM幀,所以不需要高端內核。8051內核除了進行OAM的操作,還起到協(xié)調整個系統(tǒng)工作的作用。

            (5)在系統(tǒng)中加入UART,主要為了使所設計的系統(tǒng)更靈活,系統(tǒng)升級和維護更便利。通過這個串口修改。EEPROM中存放的參數(shù)和更新Flash中的代碼,不必為了修改進行反復焊接。該串口也可以讓用戶能夠快捷的進行管理、控制和修改,并且可以通過它反饋ONU運行的信息,隨時監(jiān)測ONU狀況,在設備工作異常時進行維護。

            5 結束語

            本文根據(jù)802.3ah標準定義,基于SOC提出一個千兆EPON 0NU硬件的設計方案。該設計實現(xiàn)了802.3ah規(guī)定的ONU功能,并盡可能的考慮了各種細節(jié),使系統(tǒng)運行穩(wěn)定。對于系統(tǒng)的操作和維護也作了相應的考慮,不僅使系統(tǒng)更穩(wěn)定,而且系統(tǒng)的升級更便利。此外系統(tǒng)設計還兼顧了ASIC設計的工藝和成本,使開發(fā)的邏輯代碼可以直接進入ASIC的后端設計,從而進一步完善SHU EPON ONU MAC控制芯片。

          鎖相環(huán)相關文章:鎖相環(huán)原理
          激光器相關文章:激光器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();