第4節(jié) 基于Xilinx FPGA的千兆以太網控制器的開發(fā)
以太網技術是當今應用廣泛的網絡技術,千兆以太網技術繼承了以往以太網技術的許多優(yōu)點,同時又具有許多新的特性,例如傳輸介質包括光纖和銅纜,使用8B/10B的編解碼方案,采用載波擴展和分組突發(fā)技術等。正是因為具有良好的繼承性和許多優(yōu)秀的新特性,千兆以太網已經成為目前局域網的主流解決方案。
千兆以太網利用了原以太網標準所規(guī)定的全部技術規(guī)范,其中包括CSMA/CD協(xié)議、以太網幀、全雙工、流量控制以及IEEE 802.3標準中所定義的管理對象。千兆以太網的關鍵技術是千兆以太網二層(MAC層)的交換與以太網接口的實現(xiàn)。隨著多媒體應用的普及,千兆以太網必將成為各類以太網技術的主力軍。
2.Xilinx的千兆以太網解決方案
1)IP的支持
Xilinx提供了可參數(shù)化的10/1Gbps以太網媒體訪問控制器功能LogiCORE解決方案。該核設計用來同最新的Virtex-5、Virtex-4和Virtex-II Pro平臺FPGA一起工作,并可以無縫集成到Xilinx設計流程中。吉比特級以太網媒體訪問控制器核(GEMAC)是針對1Gb/s(Gbps)以太網媒體訪問控制器功能的可參數(shù)化的LogiCORE IP解決方案。GEMAC核的設計符合 IEEE 802.3-2002規(guī)范。GWMAC核支持兩個PHY端接口選項:GMII或RGMII。并且,Xilinx 全面的1Gb/s以太網解決方案包含吉比特MAC和PCS/PMA IP核產品。Xilinx吉比特以太網MAC解決方案還包括帶有內置處理器本地總線(PLB)接口(PLB GEMAC)的配置。該配置通過Xilinx嵌入式開發(fā)套件(EDK)提供。GEMAC LogiCORE IP可以實現(xiàn)與1000 Base-X PCS/PMA或SGMII核的無縫集成,并提供3種選項用來與PHY器件接口:1000 BASE-X或10位接口(TBI)或SGMII。
GEMAC核非常適合開發(fā)高密度吉比特級以太網通信和存儲設備,其關鍵特性有:
- 單速全雙工11 Gbps MAC控制器;
- 設計符合IEEE 802.3-2002規(guī)范;
- 具有最小緩沖的直通操作,以最大限度地實現(xiàn)客戶端接口的靈活性;
- 通過可選的獨立微處理器中的接口進行配置和監(jiān)控;
- 直接與以太網統(tǒng)計數(shù)據(jù)核接口,以便實現(xiàn)功能強大的統(tǒng)計數(shù)據(jù)收集;
- 通過MAC控制暫停幀實現(xiàn)對稱的或非對稱的可選的流程控制;
- VLAN幀的可選技術支持符合IEEE 802.3-2002規(guī)范的要求;
- 支持任意長度的“jumbo幀”(可選);
- 可選的地址濾波器,具有數(shù)量可選的地址表輸入。
2)相應的開發(fā)板套件
Xilinx提供的千兆以太網開發(fā)套件為Virtex-5 ML505/ML506開發(fā)板(使用的FPGA芯片為:XC5VLX50T-1FF1136),該開發(fā)板支持10/100兆、1/10吉以太網,加上Xilinx公開的基于ML505/506的設計,可為基于以太網開發(fā)的設計提供全方位的參考。此外,ML505/506還具備SFP、PCI E、SATA以及SMA接口等其余吉比特接口,是學習和研發(fā)高速連接設備的理想平臺。
10.4.2 基于FPGA的千兆以太網MAC控制器實現(xiàn)方案
1.整體設計方案
以太網控制器的FPGA設計工作包括以太網MAC子層的FPGA設計、MAC子層與上層協(xié)議的接口設計以及MAC與物理層(PHY)的MII接口設計。該以太網控制器的總體結構設計框圖如圖10-30所示。整個系統(tǒng)分為發(fā)送模塊、接收模塊、MAC狀態(tài)模塊、MAC控制模塊、MII管理模塊和主機接口模塊六部分。發(fā)送模塊和接收模塊主要提供MAC幀的發(fā)送和接收功能,其主要操作有MAC幀的封裝與解包以及錯誤檢測,它直接提供了到外部物理層芯片的并行數(shù)據(jù)接口。在實現(xiàn)中物理層處理直接利用商用的千兆PHY芯片,主要開發(fā)量集中在MAC控制器的開發(fā)上。
圖10-30 以太網控制器的結構設計框圖
MAC控制模塊則用于執(zhí)行全雙工模式中的流量控制功能。MAC狀態(tài)模塊可用來監(jiān)視MAC操作過程的各種狀態(tài)信息,并作修改。MII管理模塊提供了標準的IEEE 802.3介質獨立接口,可用于連接以太網的鏈路層與物理層。主機接口則提供以太網控制器與上層協(xié)議(如TCP/IP協(xié)議)之間的接口,以用于數(shù)據(jù)的發(fā)送、接收以及對控制器內各種寄存器(控制、狀態(tài)和命令寄存器)的設置。
評論