基于FPGA的千兆以太網(wǎng)設(shè)計(jì)_第1頁(yè)
基于FPGA的千兆以太網(wǎng)設(shè)計(jì)_第2頁(yè)
基于FPGA的千兆以太網(wǎng)設(shè)計(jì)_第3頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.摘要隨著信息技術(shù)的快速發(fā)展,以太網(wǎng)嵌入式設(shè)備的應(yīng)用越來(lái)越廣泛。為了讓以太網(wǎng)各設(shè)備之間能公平有效地共享通信媒介,對(duì)以太網(wǎng)MAC層數(shù)據(jù)處理系統(tǒng)的研究顯得尤為重要。為此,本文首先分析了以太網(wǎng)及其相關(guān)協(xié)議的基本內(nèi)涵,解剖了以太網(wǎng)MAC層通信機(jī)制、幀的特性與格式、PHY接口協(xié)議、ARP協(xié)議以及I2C協(xié)議。同時(shí)通過對(duì)FPGA芯片的了解,確定了基于88E1111芯片和XC3S400FPGA芯片相結(jié)合的系統(tǒng)設(shè)計(jì)方案,支持1000Base-T標(biāo)準(zhǔn)以太網(wǎng)的接入,完成了系統(tǒng)的硬件電路設(shè)計(jì)。系統(tǒng)設(shè)計(jì)中,88E1111完成PHY層數(shù)據(jù)的處理,F(xiàn)PGA則完成MAC層數(shù)據(jù)的處理,主要包含接收MAC數(shù)據(jù)幀的校驗(yàn)和解封、待發(fā)

2、送數(shù)據(jù)幀的封裝、MAC地址濾波、IP數(shù)據(jù)包的提取、ARP地址映射等,是系統(tǒng)的核心。在FPGA設(shè)計(jì)中,遵循自上而下的設(shè)計(jì)思想,對(duì)頂層模塊以及PHY接口、MAC核心處理、用戶配置、用戶數(shù)據(jù)各功能子模塊依次進(jìn)行設(shè)計(jì)。關(guān)鍵詞:以太網(wǎng) MAC層 FPGAABSTRACTWith the rapid development of IT,the embedded devices of accessing to Ethernet are used more and more widely.In order to make each device enjoy a fair and effective share

3、d communications medium, it is particularly important to research the data processing system of the Ethernet MAC layer.To this end,it is firstly done to analyze the basic connotation of Ethernet and the related agreements,and to dissect the communication mechanisms of the Ethernet MAC layer,the char

4、acteristics and format of the frame,the PHY interface protocol,the ARP protocol,I2C protocol in the paper.According to the characteristics and working principle of the FPGA chip ,the system design, which supports the accessing of the 1000Base-T Ethernet,is determined based on the combination of the

5、88E1111 PHY chip and XC3S400-4fg456C FPGA chip of Xilinx.Then the hardware circuit design is accomplished by the Cadence development tool.In this system, 88E1111 and FPGA respectively completes the data processing of PHY layer and the data processing of the MAC layer,which mainly consists of the cal

6、ibration and dearchive of the receiving data frames, the encapsulation of the data frames,the MAC address filtering, the extraction of the IP packet,The ARP address mapping,and so on. So FPGA is the core of the system. Following the top-down design conception,the design of FPGA successively includes

7、 the top-level module,and the submodule of the PHY interface,the MAC core processing,the user configuration,the user data interface.Keywords: Ethernet the MAC layer FPGA. v.目錄第一章緒論11.1研究背景及意義11.2國(guó)內(nèi)外研究現(xiàn)狀21.3論文內(nèi)容和論文組織結(jié)構(gòu)安排3第二章千兆以太網(wǎng)理論基礎(chǔ)52.1千兆以太網(wǎng)標(biāo)準(zhǔn)52.2介質(zhì)訪問控制(MAC)72.2.1半雙工MAC72.2.2全雙工MAC92.3介質(zhì)無(wú)關(guān)接口(MII)102

8、.3.1GMII接口信號(hào)定義112.3.2GMII接口時(shí)序特性142.3.3GMII的管理MDIO接口152.4物理層技術(shù)172.5TCP/IP協(xié)議棧18第三章以太網(wǎng)數(shù)據(jù)傳輸硬件設(shè)計(jì)實(shí)現(xiàn)213.1系統(tǒng)方案設(shè)計(jì)213.1.1設(shè)計(jì)思想213.1.2系統(tǒng)功能213.1.3系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)223.2芯片的選取233.2.1物理層芯片選擇233.2.2FPGA主芯片選擇253.3硬件電路設(shè)計(jì)263.3.1以太網(wǎng)變換電路設(shè)計(jì)26第四章 FPGA軟件設(shè)計(jì)與仿真334.1FPGA軟件開發(fā)簡(jiǎn)介334.2系統(tǒng)頂層模塊設(shè)計(jì)344.3PHY接口模塊設(shè)計(jì)384.3.1設(shè)計(jì)思想384.3.2相關(guān)算法394.3.3功能仿真

9、404.4MAC核心處理模塊設(shè)計(jì)414.5實(shí)驗(yàn)測(cè)試與結(jié)果424.5.1硬件測(cè)試平臺(tái)準(zhǔn)備424.5.2軟件測(cè)試平臺(tái)準(zhǔn)備434.5.3系統(tǒng)測(cè)試與結(jié)果分析45第五章結(jié)論與展望49致謝51參考文獻(xiàn)53. v.第一章緒論1.1研究背景及意義當(dāng)今,隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,采用以太網(wǎng)實(shí)現(xiàn)數(shù)據(jù)采集和控制方面的應(yīng)用,成為了電子系統(tǒng)設(shè)計(jì)的熱點(diǎn)。以太網(wǎng)具有價(jià)格低廉、穩(wěn)定可靠、傳輸速度快、傳輸距離遠(yuǎn)等特點(diǎn),以太網(wǎng)技術(shù)發(fā)展成熟,具有很高的性價(jià)比。采用以太網(wǎng)技術(shù)的設(shè)備,可以通過協(xié)議進(jìn)行數(shù)據(jù)的傳輸,不需要進(jìn)行傳輸協(xié)議轉(zhuǎn)換,使用和維護(hù)設(shè)備簡(jiǎn)單。隨著技術(shù)的發(fā)展和各類應(yīng)用的需求,出現(xiàn)了各種以太網(wǎng)的標(biāo)準(zhǔn),包括標(biāo)準(zhǔn)以太網(wǎng)(10Mb

10、it/s)、百兆以太網(wǎng)(100Mbit/s)、千兆以太網(wǎng)(1000Mbit/s)和10G(10Gbit/s)以太網(wǎng)1。不同類型的以太網(wǎng)有其各自需要遵循的標(biāo)準(zhǔn),同時(shí)其所用的傳輸介質(zhì)以及數(shù)據(jù)吞吐量也各不相同。千兆以太網(wǎng)技術(shù)作為新一代的高速以太網(wǎng)技術(shù),它可以提供1Gbps的通信帶寬,采用和傳統(tǒng)10M、100M以太網(wǎng)同樣的CSMA/CD協(xié)議、幀格式和幀長(zhǎng)、全/半雙工工作方式、流控模式以及布線系統(tǒng),給用戶帶來(lái)了提高核心網(wǎng)絡(luò)的有效解決方案,這種解決方案的最大優(yōu)點(diǎn)是繼承了傳統(tǒng)以太網(wǎng)技術(shù)價(jià)格便宜的特點(diǎn)。同時(shí)隨著電子技術(shù)的發(fā)展,系統(tǒng)設(shè)備正向小型化、集成化、網(wǎng)絡(luò)化發(fā)展。FPGA(Field Programmabl

11、e GateArray,現(xiàn)場(chǎng)可編程門陣列)以其高密度、大容量、低成本和微功耗等特點(diǎn),被廣泛的應(yīng)用于各種電子系統(tǒng)的設(shè)計(jì)和開發(fā)中,面向各種技術(shù)的應(yīng)用也越來(lái)越廣泛2。在其內(nèi)部加入處理器系統(tǒng),不僅能夠?qū)崿F(xiàn)一般的邏輯功能設(shè)計(jì),同時(shí)能夠?qū)崿F(xiàn)一般單片機(jī)功能,通過內(nèi)部邏輯功能連接可以使整體獲得優(yōu)異的性能,并大大減少設(shè)計(jì)工作。目前,在FPGA中嵌入了許多專用功能的IP Core,還增加了許多硬件核,如存儲(chǔ)器、時(shí)鐘管理和算法功能核,甚至包括了DSP核和嵌入式處理器核等,即能在FPGA中進(jìn)行DSP和嵌入式處理等關(guān)鍵領(lǐng)域的開發(fā),使得FPGA可實(shí)現(xiàn)的功能越來(lái)越強(qiáng)。比如世界第一大FPGA生產(chǎn)廠商Xilinx公司推出的最新

12、器件Zynq-7000系列甚至將業(yè)界標(biāo)準(zhǔn)ARM雙核Cortex-A9 MP Core處理系統(tǒng)嵌入到了可編程芯片中,不但能夠?qū)崿F(xiàn)FPGA的高度靈活性和可擴(kuò)展性,同時(shí)為利用FPGA進(jìn)行嵌入式開發(fā)帶來(lái)了可能。目前,以PC機(jī)平臺(tái)的千兆以太網(wǎng)的開發(fā)已經(jīng)相對(duì)成熟,而近些年來(lái)隨著FPGA、DSP和ARM等嵌入式芯片的處理能力的提升,基于這些芯片的千兆以太網(wǎng)的開發(fā)則處于起步階段3。在這類系統(tǒng)的實(shí)現(xiàn)中,千兆以太網(wǎng)的MAC子層作為硬核集成在芯片中通過編程來(lái)實(shí)現(xiàn),不僅有效降低了系統(tǒng)的成本,實(shí)現(xiàn)高效的傳輸性能,而且可以縮小PCB制板的大小。因此研究基于FPGA的千兆以太網(wǎng)技術(shù),在大吞吐量數(shù)據(jù)傳輸通道、實(shí)時(shí)數(shù)據(jù)服務(wù)和實(shí)

13、時(shí)信號(hào)處理等方面都將有著廣泛的應(yīng)用前景和潛在的經(jīng)濟(jì)價(jià)值,更進(jìn)一步地對(duì)于千兆以太網(wǎng)在嵌入式系統(tǒng)中的應(yīng)用,都具有很好的推進(jìn)作用和實(shí)際意義。1.2國(guó)內(nèi)外研究現(xiàn)狀近些年來(lái),根據(jù)一些國(guó)內(nèi)外公開發(fā)表的文獻(xiàn),在基于FPGA的千兆以太網(wǎng)的數(shù)據(jù)傳輸?shù)难芯颗c應(yīng)用方面,國(guó)內(nèi)外的各機(jī)構(gòu)已經(jīng)有了一定的研究成果。南京信息工程大學(xué)王勝杰和王建的基于千兆以太網(wǎng)的PC機(jī)與FPGA的高速數(shù)據(jù)傳輸,使用WinPcap自定義通信幀格式,實(shí)現(xiàn)一種PC機(jī)與FPGA之間雙向高速數(shù)據(jù)傳輸?shù)姆椒?。但該研究繞過了TCP協(xié)議和IP協(xié)議,只涉及到鏈路層和物理層,與標(biāo)準(zhǔn)的千兆以太網(wǎng)接入系統(tǒng)無(wú)法很好的結(jié)合,只能面向特殊的應(yīng)用。在Xilinx官方公布的文

14、檔xapp1043中,Xilinx公司與Treck公司合作,實(shí)現(xiàn)了高效的Treck商業(yè)化以太網(wǎng)協(xié)議棧,可以實(shí)現(xiàn)目前以太網(wǎng)上常用的幾乎所有的協(xié)議4。其文檔測(cè)試的結(jié)果表明,在擴(kuò)展的MTU大小達(dá)到9000Byte的模式下,可以實(shí)現(xiàn)驚人的922Mbps的純網(wǎng)絡(luò)速度。但該實(shí)現(xiàn)是基于Treck商業(yè)版的TCP/IP協(xié)議棧,且目前Xilinx公司已經(jīng)去掉與Treck的合作,并不適合普通以太網(wǎng)的應(yīng)用。盡管Altera公司現(xiàn)在能提供關(guān)鍵通信協(xié)議的FPGA IP支持,但是集成以太網(wǎng)協(xié)議的IP核只可以在Altera的一些高端FPGA上實(shí)現(xiàn),如Stratix系列5。對(duì)于低端的FPGA,如FLEX系列仍然不能實(shí)現(xiàn)。盡管作

15、為Altera IP核合作伙伴之一的IXXAT提供工業(yè)以太網(wǎng)開發(fā)套件,但費(fèi)用是相當(dāng)高的,近乎上百萬(wàn)美元。因此,自行開發(fā)出合理的協(xié)議堆棧、MAC、TCP/IP協(xié)議堆棧以及接口應(yīng)用將具有很重大的意義和經(jīng)濟(jì)價(jià)值。綜上所述,目前國(guó)內(nèi)外實(shí)現(xiàn)的千兆以太網(wǎng)主要以單芯片或單系統(tǒng)環(huán)境,趨向于以底層鏈路層以下的協(xié)議為基本設(shè)計(jì)起點(diǎn)完成千兆以太網(wǎng)的數(shù)據(jù)傳輸功能,且很多研究與應(yīng)用都是面向?qū)S玫膱?chǎng)合,并不適合普通用戶的開發(fā)。面對(duì)FPGA的快速發(fā)展,在基于片內(nèi)處理器的千兆以太網(wǎng)高速數(shù)據(jù)傳輸還很少,且使用處理器實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)腡CP/IP協(xié)議正好與目前大量使用的以太網(wǎng)網(wǎng)絡(luò)能快速兼容地結(jié)合,可以很容易用于商業(yè)產(chǎn)品的生成。因此,本

16、課題的研究,對(duì)于千兆以太網(wǎng)在嵌入式高速數(shù)據(jù)網(wǎng)絡(luò)通信技術(shù)的實(shí)際應(yīng)用,以及進(jìn)一步在其他嵌入式系統(tǒng)中的應(yīng)用,都具有很好的應(yīng)用前景和潛在的經(jīng)濟(jì)價(jià)值。1.3論文內(nèi)容和論文組織結(jié)構(gòu)安排本文在章節(jié)上一共分為五章,論文的組織結(jié)構(gòu)安排如下:第一章為緒論部分,主要介紹了FPGA中接入千兆以太網(wǎng)技術(shù)的研究背景以及目前國(guó)內(nèi)外的研究現(xiàn)狀,以及本論文的研究?jī)?nèi)容和論文安排。第二章主要闡述了以太網(wǎng)基礎(chǔ)理論的研究第三章主要闡述以太網(wǎng)數(shù)據(jù)傳輸硬件部分設(shè)計(jì)與實(shí)現(xiàn)。第四章主要闡述以太網(wǎng)數(shù)據(jù)傳輸軟件部分設(shè)計(jì)與實(shí)現(xiàn)。第五章主要闡述了本文的總結(jié)和研究展望,對(duì)本文進(jìn)行總結(jié),并在設(shè)計(jì)方法和性能提升上提出一些改進(jìn)的方法。. v.第二章千兆以太網(wǎng)

17、理論基礎(chǔ)本章首先介紹了以太網(wǎng)的發(fā)展歷程和千兆以太網(wǎng)的標(biāo)準(zhǔn)內(nèi)容,按照標(biāo)準(zhǔn)的分層原理介紹了其MAC層、GMII接口層和PHY層的實(shí)現(xiàn)原理,然后提出了一種基于FPGA的嵌入式千兆以太網(wǎng)的實(shí)現(xiàn)架構(gòu),以使用底層PHY硬件芯片實(shí)現(xiàn)MAC功能和使用LwIP嵌入式網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)上層TCP/IP通信協(xié)議的構(gòu)想來(lái)說(shuō)明實(shí)現(xiàn)千兆以太網(wǎng)的通信系統(tǒng)平臺(tái)的基本架構(gòu)。2.1千兆以太網(wǎng)標(biāo)準(zhǔn)千兆以太網(wǎng)是建立在以太網(wǎng)標(biāo)準(zhǔn)基礎(chǔ)之上的技術(shù),它和現(xiàn)在已經(jīng)大量使用的標(biāo)準(zhǔn)以太網(wǎng)(10Mbps)以及百兆以太網(wǎng)(100Mbps)技術(shù)一樣,都使用以太網(wǎng)所定義的技術(shù)規(guī)范,比如:CSMA/CD協(xié)議、以太網(wǎng)幀、全雙工、流量控制以及IEEE802.3標(biāo)準(zhǔn)

18、中所定義的管理對(duì)象等6。同時(shí),千兆以太網(wǎng)作為以太網(wǎng)絡(luò)的一個(gè)組成部分,還支持流量管理技術(shù),使得它提供的服務(wù)質(zhì)量能得到保證,這些技術(shù)規(guī)范包括IEEE802.1P第二層優(yōu)先級(jí)、第三層優(yōu)先級(jí)的QoS編碼位、特別服務(wù)和資源預(yù)留協(xié)議(RSVP)。目前,千兆以太網(wǎng)已經(jīng)發(fā)展成為主流網(wǎng)絡(luò)技術(shù),大量的網(wǎng)絡(luò)工作人員和普通用戶從中受益不淺.以太網(wǎng)的官方標(biāo)準(zhǔn)為IEEE802.3,IEEE802.3工作組有數(shù)百名工作人員從事千兆以太網(wǎng)標(biāo)準(zhǔn)的制定,他們來(lái)自十幾家生產(chǎn)網(wǎng)絡(luò)產(chǎn)品的公司,力圖將以太網(wǎng)的速度提高到1000Mbps以上。1996年7月,IEEE成立了802.3z千兆以太網(wǎng)特別工作組,這一工作組負(fù)責(zé)開發(fā)1000Mbps

19、千兆以太網(wǎng)標(biāo)準(zhǔn)。1997年1月,通過了IEEE802.3z第一版草案;1997年2月3日,IEEE確定了千兆以太網(wǎng)的核心技術(shù),1998年6月正式通過千兆以太網(wǎng)標(biāo)準(zhǔn)IEEE802.3z。1999年6月,正式通過了IEEE802.3ab標(biāo)準(zhǔn)(即1000Base-T),至此可以將平常使用的雙絞線用于千兆以太網(wǎng)中。圖2.1給出了IEEE802.3z中千兆位技術(shù)層次模型和OSI7層模型之間的相互關(guān)系。圖2.1 802.3z10/100/1000MbpsDTE層次模型IEEE802.3z標(biāo)準(zhǔn)任務(wù)組的首要目標(biāo)之一就是保持與現(xiàn)在的10Mbps和100Mbps標(biāo)準(zhǔn)的兼容性。從圖2.1可以看出,在結(jié)構(gòu)上百/千兆以

20、太網(wǎng)的差別并不大,僅從百兆以太網(wǎng)的4位并行MII接口變?yōu)?位并行的GMII接口;二者的自動(dòng)協(xié)商接口有所不同,百兆以太網(wǎng)中的協(xié)商功能位于PMD子層之下,而千兆以太網(wǎng)則融合在PCS子層之中;與十兆以太網(wǎng)相比,百/千兆以太網(wǎng)都使用并行的介質(zhì)無(wú)關(guān)接口取代十兆以太網(wǎng)的串行AUI接口7。另外,千兆以太網(wǎng)物理介質(zhì)接入子層PMA的上下界面分別為10比特的并行和串行接口,因此PMA需完成串/并接口間的轉(zhuǎn)換。根據(jù)千兆以太網(wǎng)標(biāo)準(zhǔn)的定義,千兆以太網(wǎng)可以支持多種連接媒體和大范圍的連接距離。按照傳輸介質(zhì)的不同,千兆以太網(wǎng)可分為以下4種:1. 1000BASE-LX:基于1300nm的單模光纖標(biāo)準(zhǔn),使用8B/10B編解碼方

21、式,最大傳輸距離為5000米。2. 1000BASE-SX:基于780nm的多模光纖標(biāo)準(zhǔn),使用8B/10B編解碼方式,最大傳輸距離為300米到500米。3. 1000BASE-CX:基于銅纜的標(biāo)準(zhǔn),使用8B/10B編解碼方式,最大傳輸距離為25米。4. 1000BASE-T:使用非屏蔽雙絞線,使用1000BASE-T銅物理層Copper PHY編碼解碼方式,最大傳輸距離為100米。2.2介質(zhì)訪問控制(MAC)2.2.1半雙工MAC傳統(tǒng)以太網(wǎng)總是使用半雙工MAC。半雙工系統(tǒng)雙向通信的效率受到半雙工信道上通信方向快速變化的影響。在以太網(wǎng)環(huán)境中,每個(gè)站可以迅速判斷是否可以發(fā)送幀,即半雙工LAN利用了

22、每個(gè)站的分布處理能力。然而,將以太網(wǎng)MAC算法擴(kuò)展到支持千兆速率會(huì)阻礙半雙工模式下的有效操作。當(dāng)仲裁時(shí)間(最壞情況下等于往返延時(shí))達(dá)到或超過一個(gè)典型幀的傳送時(shí)間時(shí),算法的效率就有問題了。MAC算法的目的是為了使站能夠確定誰(shuí)能在一個(gè)共享物理信道上傳送數(shù)據(jù)8。以太網(wǎng)使用了一個(gè)分布式算法稱為載波偵聽、帶沖突檢測(cè)的多路訪問(CSMA/CD:Carrier Sense,Multiple Access/Collision Detect)。圖2.2顯示了該算法的一個(gè)簡(jiǎn)化流程圖。圖2.2以太網(wǎng)MAC流程(傳統(tǒng)半雙工操作)半雙工模式下的幀傳送:在發(fā)送數(shù)據(jù)前,它首先要監(jiān)聽物理信道是否處于忙狀態(tài),只有偵聽到信道上沒

23、有其他的站在使用時(shí),才會(huì)發(fā)送幀。每次傳送結(jié)束后,站必須等待一段時(shí)間(一個(gè)幀間隙,Interframe Gap),使物理信道有一段穩(wěn)定時(shí)間后,站才開始其傳送。如果同時(shí)有多個(gè)站的隊(duì)列中有待發(fā)幀,在經(jīng)過載波偵聽和幀間隙后,每個(gè)站都試圖發(fā)送,結(jié)果就會(huì)產(chǎn)生沖突。當(dāng)發(fā)生沖突時(shí),所有相關(guān)的站都繼續(xù)發(fā)送一段時(shí)間以保證讓所有的站都能發(fā)現(xiàn)沖突,這個(gè)過程叫堵塞。堵塞后,每個(gè)站需要等待一個(gè)隨機(jī)時(shí)間,這個(gè)過程叫后退。后退以后,站從頭開始處理并嘗試重新發(fā)送幀。但是,在千兆以太網(wǎng)中會(huì)碰到一個(gè)問題。在10Mbps和100Mbps以太網(wǎng)系統(tǒng)中,最小幀長(zhǎng)度被設(shè)置成等于網(wǎng)絡(luò)最大往返傳播延時(shí),即最小幀長(zhǎng)和時(shí)隙是相同的值:512比特(

24、64字節(jié)),不包括前導(dǎo)碼和物理層負(fù)載9。由于512比特時(shí)間是51.2s,根據(jù)10Mbps以太網(wǎng)使用的電纜類型,其布線長(zhǎng)度可以達(dá)到2到3km這一量級(jí)。如果保持512比特最小幀長(zhǎng)而不做其他算法改變的話,將速率從10Mbps提高到100Mbps再到1000Mbps,為了使CSMA/CD正常工作,網(wǎng)絡(luò)的覆蓋范圍將下降到200m(100Mbps)和20m(1000Mbps)的量級(jí)。這僅僅能在一個(gè)配線間內(nèi)互連設(shè)備,對(duì)于實(shí)際應(yīng)用的這種網(wǎng)絡(luò)尺寸是不切實(shí)際的。由于升級(jí)到千兆網(wǎng)絡(luò)以太網(wǎng)需要支持可實(shí)用的網(wǎng)絡(luò)規(guī)模,同時(shí)出于維持最小幀長(zhǎng)向后兼容性的考慮,必須對(duì)MAC算法做出改進(jìn)。在IEEE802.3z標(biāo)準(zhǔn)中引入了載波擴(kuò)

25、展和幀突發(fā)的概念用來(lái)解決這個(gè)問題,這個(gè)解決方案有如下三個(gè)基本內(nèi)容:(1) 從軟件接口(設(shè)備驅(qū)動(dòng))角度看,仍保持512比特最小的幀。在移植到千兆速率時(shí),這可避免修改驅(qū)動(dòng)程序設(shè)計(jì)和現(xiàn)有的協(xié)議棧。(2) 修改MAC算法,使用一個(gè)稱為載波擴(kuò)展的機(jī)制,從物理信道角度看幀已被人為擴(kuò)展了,短幀看起來(lái)變長(zhǎng)了。這使千兆以太網(wǎng)能繼續(xù)支持相同的布線拓?fù)洌◤呐渚€間起半徑100m),而不增加幀數(shù)據(jù)部分的最小長(zhǎng)度。(3) 為短幀傳送方提供可供選擇的性能增強(qiáng)功能,稱為幀突發(fā)。使用這種技術(shù)在傳送大量短幀時(shí),因加入載波擴(kuò)展引起的效率損失對(duì)網(wǎng)絡(luò)的性能沒有明顯的下降。2.2.2全雙工MAC全雙工MAC操作意味著信道是專用的,這樣前

26、面討論的關(guān)于半雙工操作的所有復(fù)雜問題都不用考慮了。在全雙工模式下,千兆以太網(wǎng)沒有必要使用載波擴(kuò)展,只有在使短幀傳送能持續(xù)足夠長(zhǎng)的時(shí)間以便CSMA/CD算法能正確地仲裁信道時(shí),載波擴(kuò)展才是必需的。同樣,全雙工千兆以太網(wǎng)也沒有必要使用幀突發(fā),當(dāng)站可在任意時(shí)間發(fā)送一個(gè)幀,也可在任意時(shí)間從物理信道接收幀。因?yàn)槭褂脤S眯诺溃旧踔量梢愿鶕?jù)自己的意愿進(jìn)行發(fā)送和接收幀操作。但是,全雙式MAC不會(huì)為收到的流量推遲發(fā)送,也不會(huì)檢測(cè)沖突、阻塞、放棄、后退或重新調(diào)度發(fā)送。在全雙工交換網(wǎng)絡(luò)中,如果多個(gè)端口向一個(gè)輸出端口進(jìn)行發(fā)送,那么將發(fā)生緩沖區(qū)溢出,在這種情況下數(shù)據(jù)包將被丟棄,因此需要一種流量控制的策略來(lái)避免這種錯(cuò)誤

27、的發(fā)生。IEEE802.3z已經(jīng)規(guī)定了一種用于點(diǎn)對(duì)點(diǎn)全雙工鏈路的流量控制機(jī)制,稱為基于Pause幀的流量控制10.(1)暫停(Pause)控制幀在傳統(tǒng)以太網(wǎng)系統(tǒng)中,802.3的MAC協(xié)議只定義了數(shù)據(jù)幀,沒有控制幀,數(shù)據(jù)幀的絕大部分內(nèi)容都被MAC子層交給上一層處理。802.3x定義了一種控制幀暫停(Pause)幀用于全雙工工作方式的一對(duì)站點(diǎn)、中間設(shè)備之間或工作站與中間設(shè)備之間交換流控?cái)?shù)據(jù),Pause幀的格式如圖2.3所示。圖2.3Pause幀格式及各字段定義(2)使用Pause幀進(jìn)行流量控制的流程圖2.4 Pause幀流量控制:事件序列使用Pause幀進(jìn)行流量控制,是基于一種事件序列的方式來(lái)完成

28、的。當(dāng)某個(gè)被擁塞實(shí)體向發(fā)送源發(fā)出一個(gè)Pause幀時(shí),發(fā)送源在停止發(fā)送新的幀之前要經(jīng)過一段時(shí)間,這段等待時(shí)間由圖2.4中所示的幾部分構(gòu)成。從圖中可以看出,如果端站點(diǎn)在收到Pause幀時(shí)正好開始發(fā)送一個(gè)最大長(zhǎng)度幀,將產(chǎn)生最大等待時(shí)間。(3)流量控制策略雖然IEEE802.3x定義了用于點(diǎn)到點(diǎn)流量控制的機(jī)制,但是何時(shí)或在什么情況下啟動(dòng)流量控制以及使用多長(zhǎng)時(shí)間,卻完全取決了供應(yīng)商或用戶。根據(jù)實(shí)現(xiàn)的復(fù)雜度可以使用多種不同的策略。在交換設(shè)備中使用的流量控制策略主要有3種:基于緩存空間的流量控制;基于發(fā)送權(quán)的流量控制;基于速率的流量控制。其中,基于速率的流量控制有很多優(yōu)點(diǎn),這也是平常網(wǎng)卡設(shè)置流量控制時(shí)使用的

29、一種策略,下面簡(jiǎn)要說(shuō)明下它的原理。當(dāng)使用基于速率的流量控制策略時(shí),端站點(diǎn)可以通過調(diào)整幀間間隔(IFG)來(lái)以較快或較慢的速度發(fā)送幀。當(dāng)不存在擁塞時(shí),交換機(jī)可以通知站點(diǎn)以最小的IFG,即以最大速率發(fā)送幀。當(dāng)交換機(jī)檢測(cè)到擁塞時(shí),它將發(fā)送一個(gè)帶有新的IFG的流量控制幀,接著端站點(diǎn)就將以修改后的IFG發(fā)送幀。不同速率的IFG應(yīng)預(yù)先定義好,取決于復(fù)雜度,可以定義好幾個(gè)級(jí)別的擁塞,用來(lái)滿足不同情況下的流量控制。2.3介質(zhì)無(wú)關(guān)接口(MII)以太網(wǎng)的每個(gè)數(shù)據(jù)率上都有多種介質(zhì)類型。為支持同軸電纜、雙絞線和光纖,每種以太網(wǎng)系統(tǒng)在控制器設(shè)備(如網(wǎng)絡(luò)接口控制器或NIC)和物理層連接設(shè)備(如收發(fā)器)之間加入了(至少在邏輯

30、上)一個(gè)標(biāo)準(zhǔn)接口11。這可使控制器制造商能獨(dú)立地制造他們的設(shè)備,同時(shí)保持了靈活性,可讓終端用戶選擇其喜歡的介質(zhì)。這個(gè)接口點(diǎn)正是介質(zhì)無(wú)關(guān)接口,三種以太網(wǎng)數(shù)據(jù)率的每一個(gè)都定義了一個(gè)這種接口。十兆以太網(wǎng)向百兆以太網(wǎng)過渡時(shí),引入了4位的介質(zhì)無(wú)關(guān)接口MII,取代了AUI的串行接口。從百兆向千兆以太網(wǎng)過渡時(shí)引入了一個(gè)新的千兆位介質(zhì)無(wú)關(guān)接口(GMII),它是快速以太網(wǎng)MII的邏輯擴(kuò)展,保留了部分MII接口信號(hào)。兩種設(shè)計(jì)的主要差別在于接口寬度(字節(jié)寬與半字節(jié)寬)以及時(shí)鐘頻率(125MHz與25MHz)。GMII中的數(shù)據(jù)通路寬度被設(shè)計(jì)為8位而不是半位元組寬度。每個(gè)時(shí)鐘周期內(nèi)數(shù)據(jù)以1ocset/sec的速率通過G

31、MII,因此為了獲得1000Mbps的數(shù)據(jù)速率,發(fā)送和接收時(shí)鐘必須工作在125MHz。由于GMII接口也可以工作在10Mbps和100Mbps,所以相應(yīng)的時(shí)鐘分別為2.5MHz和25MHz,但是并不需要支持所有三種數(shù)據(jù)速度,PHY必須通過站點(diǎn)管理實(shí)體來(lái)聲明自己所支持的速率。當(dāng)然,以10Mbps和100Mbps速度工作的GMII等同于MII。2.3.1GMII接口信號(hào)定義GMII接口的數(shù)據(jù)結(jié)構(gòu)符合IEEE以太網(wǎng)標(biāo)準(zhǔn),其接口定義見IEEE802.3-2000。GMII接口可分為MAC模式和PHY模式,一般說(shuō)來(lái)MAC和PHY對(duì)接,但是MAC和MAC也是可以對(duì)接的,圖2.5為MAC與PHY的接口連接圖

32、。圖2.5 GMII接口連接圖在GMII接口中,它是用8根數(shù)據(jù)線來(lái)傳送數(shù)據(jù)的,發(fā)送參考時(shí)鐘GTX_CLK和接收參考時(shí)鐘RX_CLK的頻率均為125MHz(1000Mbps/8=125MHz)。GMII接口主要包括四個(gè)部分:一是從MAC層到物理層的發(fā)送數(shù)據(jù)接口,二是從物理層到MAC層的接收數(shù)據(jù)接口,三是從物理層到MAC層的狀態(tài)指示信號(hào),四是MAC層和物理層之間傳送控制和狀態(tài)信息的MDIO接口。GMII的接口信號(hào)在表2.1中列舉出。表2.1GMII接口信號(hào)定義信號(hào)名稱方向(相對(duì)于控制器)描述同步于發(fā)送器GTX_CLKOutput吉比特 TX 信號(hào)的時(shí)鐘信號(hào)(125MHz)TXD0:7Output被

33、發(fā)送數(shù)據(jù)GTX_CLKTX_EROutput發(fā)送器錯(cuò)誤(用于破壞一個(gè)數(shù)據(jù)包)GTX_CLKTX_ENOutput發(fā)送器使能信號(hào)GTX_CLK接收器RX_CLKInput接收時(shí)鐘信號(hào)(從收到的數(shù)據(jù)中提取,因此與 GTX_CLK 無(wú)關(guān)聯(lián))RXD0:7Input接收數(shù)據(jù)RX_CLKRX_ERInput接收數(shù)據(jù)出錯(cuò)指示RX_CLKRX_DVInput接收數(shù)據(jù)有效指示RX_CLK網(wǎng)絡(luò)狀態(tài)COLInput沖突檢測(cè)(僅用于半雙工狀態(tài))異步CRSInput信道激活的指示,偵聽到接收信號(hào)或傳送信號(hào)(僅用于半雙工狀態(tài))異步管理配置MDCOutput配置接口時(shí)鐘MDIOI/O配置接口 I/OMDC注:(1)時(shí)鐘信號(hào)

34、GTX_CLK對(duì)于MAC來(lái)說(shuō),此時(shí)是Output信號(hào);而對(duì)于PHY來(lái)說(shuō),此時(shí)是Input信號(hào)。(2)在千兆速率下,GMII向PHY提供GTX_CLK信號(hào),TXD、TXEN、TXER信14千兆網(wǎng)絡(luò)通信系統(tǒng)的FPGA設(shè)計(jì)實(shí)現(xiàn)號(hào)與此時(shí)鐘信號(hào)同步。PHY端在信號(hào)的上升沿采樣,GTX_CLK由MAC驅(qū)動(dòng)。GTX_CLK的時(shí)鐘頻率是數(shù)據(jù)傳輸速率的12.5倍,即125MHz。否則,在10/100Mbps速率下,PHY提供TX_CLK時(shí)鐘信號(hào),其它信號(hào)與此信號(hào)同步,其工作頻率為25MHz(100Mbps網(wǎng)絡(luò))或2.5MHz(10Mbps網(wǎng)絡(luò))。(3)同樣的,RX_CLK與TX_CLK一樣具有相同的要求,所不同

35、的為它是RX_DV,RXD和RX_ER(信號(hào)方向是從PHY到RS)的參考時(shí)鐘,MAC端在時(shí)鐘的上升沿采樣。RX_CLK是由PHY驅(qū)動(dòng),而PHY可能從接收到的數(shù)據(jù)中提取時(shí)鐘RX_CLK,也有可能由一個(gè)名義上的參考時(shí)鐘(TX_CLK)來(lái)驅(qū)動(dòng)RX_CLK。(4)管理配置接口控制PHY的特性。該接口有32個(gè)寄存器地址,每個(gè)寄存器地址16位。其中前16個(gè)已經(jīng)在“IEEE802.3-2000,22.2.4Management Functions”中規(guī)定了用途,其余的則根據(jù)各器件自己指定。2.3.2GMII接口時(shí)序特性在GMII接口中,TX通道參考時(shí)鐘是GTX_CLK,RX通道參考時(shí)鐘是RX_CLK,IEE

36、E802.3-2005定義了它們之間的關(guān)系,如圖2.6中所示。圖2.6 GMII接口信號(hào)時(shí)序要求由圖2.6可知,標(biāo)準(zhǔn)只定義了TX通道中接收端的Setup時(shí)間和Hold時(shí)間,即只對(duì)TX通道上PHY這一側(cè)的接收特性作了定義,而對(duì)TX通道MAC那一側(cè)的發(fā)送特性并沒有定義。對(duì)于器件制造商而言,可對(duì)TX通道一側(cè)的MAC的發(fā)送特性作適當(dāng)調(diào)整,只要最終的時(shí)序滿足TX通道上PHY這一側(cè)的接收特性就可以12。對(duì)RX通道也是同樣的道理,器件制造商可對(duì)RX通道那一側(cè)的PHY的發(fā)送特性作適當(dāng)調(diào)整,只要最終的時(shí)序滿足RX通道上MAC這一側(cè)的接收特性就可以。GMII接口的發(fā)送時(shí)序如圖2.7所示,接收時(shí)序如圖2.8所示。圖

37、2.7GMII信號(hào)發(fā)送時(shí)序圖2.8GMII信號(hào)接收時(shí)序2.3.3GMII的管理MDIO接口GMII的管理MDIO接口,在硬件設(shè)計(jì)上同MII的管理MDIO接口是一樣的。MDIO接口包括兩根信號(hào)線:MDC和MDIO,通過它,MAC層或其它控制芯片可以訪問物理層芯片的寄存器,并通過這些寄存器來(lái)對(duì)物理層芯片進(jìn)行控制和管理。MDIO管理接口的兩根信號(hào)信解釋如下:MDC:管理接口的時(shí)鐘,它是一個(gè)非周期信號(hào),信號(hào)的最小周期(實(shí)際是正電平時(shí)間和負(fù)電平時(shí)間之和)為400ns,最小正電平時(shí)間和負(fù)電平時(shí)間為160ns,最大的正負(fù)電平時(shí)間無(wú)限制。它與TX_CLK和RX_CLK無(wú)任何關(guān)系。MDIO:是一根雙向的數(shù)據(jù)線,

38、用來(lái)傳送MAC層的控制信息和物理層的狀態(tài)信息。MDIO數(shù)據(jù)與MDC時(shí)鐘同步,在MDC上升沿有效。MDIO管理接口的數(shù)據(jù)幀結(jié)構(gòu)順序如表2.2: 表2.2MDIO管理接口的數(shù)據(jù)幀結(jié)構(gòu)Management Frame FieldsPRESTOPPHYADREGADTADATAIDLEREAD110110AAAAARRRRRZ0DDDDDDDDDDDDDDDDZWRITE110101AAAAARRRRR10DDDDDDDDDDDDDDDDZ其中,各個(gè)數(shù)據(jù)域的含義如下:PRE:幀前綴域,為32個(gè)連續(xù)“1”比特,這個(gè)幀前綴域并不是必要的,某些物理層芯片的MDIO操作就沒有這個(gè)域。ST:幀開始標(biāo)志,出現(xiàn)“0

39、1”比特表示幀結(jié)構(gòu)開始。OP:幀操作碼,比特“10”表示此幀為一讀操作幀,比特“01”表示此幀為一寫操作幀。PHYAD:物理層芯片的地址,5個(gè)比特,每個(gè)芯片都把自己的地址與這5個(gè)比特進(jìn)行比較,若匹配則響應(yīng)后面的操作,若不匹配,則忽略掉后面的操作。REGAD:用來(lái)選擇物理層芯片的32個(gè)寄存器中的某個(gè)寄存器的地址。TA:狀態(tài)轉(zhuǎn)換域,若為讀操作,則第一比特時(shí)MDIO為高阻態(tài),第二比特時(shí)由物理層芯片使MDIO置“0”。若為寫操作,則MDIO仍由MAC層芯片控制,其連續(xù)輸出“10”兩個(gè)比特。DATA:幀的寄存器的數(shù)據(jù)域,16比特,若為讀操作,則為物理層送到MAC層的數(shù)據(jù),若為寫操作,則為MAC層送到物理

40、層的數(shù)據(jù)。IDLE:幀結(jié)束后的空閑狀態(tài),此時(shí)MDIO無(wú)源驅(qū)動(dòng),處于高阻狀態(tài),但一般用上拉電阻使其處在高電平,即MDIO引腳需要上拉電阻。MDIO數(shù)據(jù)幀的時(shí)序關(guān)系如圖2.9和圖2.10所示:圖2.9MDIO寫操作時(shí)序圖圖2.10MDIO讀操作時(shí)序圖當(dāng)MDIO寫操作時(shí),OP值為“01”,映射的地址(PHYAD)將MDIO的16bit數(shù)據(jù)寫入到REGAD指定的寄存器里;當(dāng)MDIO讀操作時(shí),OP值為“10”,映射的地址(PHYAD)從REGAD指定的寄存器里讀出MDIO接口的16bit數(shù)據(jù)。2.4物理層技術(shù)物理層提供了將數(shù)據(jù)鏈路層給出的數(shù)據(jù)字節(jié)轉(zhuǎn)換成可在物理介質(zhì)上傳輸?shù)暮线m信號(hào)的字段,同樣它也負(fù)責(zé)將從

41、物理介質(zhì)上接收到的信號(hào)轉(zhuǎn)換成可向數(shù)據(jù)鏈路層傳遞的數(shù)據(jù)字節(jié)。千兆位以太網(wǎng)的物理層技術(shù)很大一部分是摘自光纖通道標(biāo)準(zhǔn),在千兆位以太網(wǎng)中采用了最低兩層的光纖通道技術(shù)、FC-0(接口與介質(zhì))和FC-1(編碼/譯碼)。由于光纖通道技術(shù)已經(jīng)應(yīng)用了多年,所以IEEE 802.3z標(biāo)準(zhǔn)委員會(huì)為了大大減少千兆位以太網(wǎng)標(biāo)準(zhǔn)的開發(fā)時(shí)間和風(fēng)險(xiǎn),而決定采用這種技術(shù)。千兆位以太網(wǎng)的物理層由三個(gè)子層構(gòu)成:物理編碼子層(PCS):用于提供與所用物理介質(zhì)無(wú)關(guān)的數(shù)據(jù)編碼和譯碼功能。但是在千兆位以太網(wǎng)中,光纖介質(zhì)和短雙絞線所采用的編碼模式(光纖通道8B/10B 編碼)與UTP銅介質(zhì)是不同的。物理介質(zhì)接入子層(PMA):完成符號(hào)的串行

42、化和解串(SERDES)。由10位符號(hào)一組組成的編碼數(shù)據(jù)流在進(jìn)行發(fā)送前要被串行化,另外接收到的數(shù)據(jù)流也應(yīng)被解串行化,并以10位符號(hào)一組的形式傳遞給PCS子層。物理介質(zhì)相關(guān)子層(PMD):負(fù)責(zé)將來(lái)自于PMA子層的信號(hào)轉(zhuǎn)換成適合特定介質(zhì)類型的信號(hào)。如果介質(zhì)是光纖,那么電信號(hào)將被轉(zhuǎn)換成光信號(hào),在接收方則是相反的過程。介質(zhì)相關(guān)接口(MDI)定義了PMD層和介質(zhì)之間的連接器。2.5TCP/IP協(xié)議棧LwIP(Light weight IP)是瑞士計(jì)算機(jī)科學(xué)院(SCICS)的AdamDunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源碼的輕型 TCP/IP協(xié)議棧13。LwIP的移植主要是針對(duì)系統(tǒng)采用的微處理器

43、、編譯器、操作系統(tǒng)和網(wǎng)絡(luò)控制器做相關(guān)的修改工作,其運(yùn)行既可以依賴于特定操作系統(tǒng),也可以不需要操作系統(tǒng)獨(dú)立運(yùn)行。LwIP,TCP/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì) RAM和ROM的占用,一般它只需要幾十KB的RAM和50KB左右的ROM就可以運(yùn)行,使得LwIP協(xié)議棧很適合在嵌入式系統(tǒng)中使用。LwIP的特性主要包括如下幾方面:(1) 支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā);(2) 支持ICMP協(xié)議(Internet控制報(bào)文協(xié)議);(3) 包括實(shí)驗(yàn)性擴(kuò)展的的UDP(用戶數(shù)據(jù)報(bào)協(xié)議);(4) 包括阻塞控制,RTT估算,以及快速恢復(fù)和轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議);(5) 提供專門的內(nèi)部回調(diào)接口

44、(Raw API)用于提高應(yīng)用程序性能;(6) 可選擇的Berkeley接串口API(多線程情況下);(7) 在最新的版本中支持PPP(點(diǎn)對(duì)點(diǎn)協(xié)議);(8) 新版本中增加了的IP Fragment的支持;(9) 支持DHCP協(xié)議,動(dòng)態(tài)分配IP地址(動(dòng)態(tài)主機(jī)設(shè)置協(xié)議)。LwIP是目前使用最廣泛的輕型TCP/IP免費(fèi)協(xié)議棧,實(shí)現(xiàn)了較為完備的IP、ICMP、TCP、UDP、DHCP協(xié)議,具有超時(shí)時(shí)間估計(jì)、快速恢復(fù)和重發(fā)、窗口調(diào)整等功能。LwIP提供了兩種操作網(wǎng)絡(luò)執(zhí)行的API方式:RawAPI和SocketAPI。Socket API即常見的標(biāo)準(zhǔn)Berkeley Socket模式,有規(guī)范統(tǒng)一的上層函數(shù)

45、接口,移植性好,便于理解和使用;而RawAPI可理解為原始套接字方式,它與SocketAPI相比有更卓越的性能以及更低的內(nèi)存占用,Socket API實(shí)際上也是基于Raw API來(lái)實(shí)現(xiàn)的。因此,如果希望簡(jiǎn)化開發(fā),就選用Socket API,而如果為了實(shí)現(xiàn)最好的網(wǎng)絡(luò)性能,則應(yīng)選用RawAPI。在LwIP實(shí)現(xiàn)中,一個(gè)TCP連接是由協(xié)議控制塊(Protocol Control Block,PCB)來(lái)識(shí)別的,但具體實(shí)現(xiàn)上也是與普通的協(xié)議棧類似,一種基本的TCP協(xié)議的數(shù)據(jù)傳輸處理過程可簡(jiǎn)單分為4個(gè)步驟:LwIP協(xié)議棧初始化;TCP三次連接建立;數(shù)據(jù)發(fā)送與接收;關(guān)閉當(dāng)前TCP連接。類似的,在LwIP中基本

46、的UDP協(xié)議的數(shù)據(jù)傳輸流程也和TCP一樣,只是不需要獨(dú)立的連接創(chuàng)建和關(guān)閉的過程。. v.第三章以太網(wǎng)數(shù)據(jù)傳輸硬件設(shè)計(jì)實(shí)現(xiàn)3.1系統(tǒng)方案設(shè)計(jì)3.1.1設(shè)計(jì)思想本文研究的是基于FPGA的以太網(wǎng)的MAC層數(shù)據(jù)處理,目的是能廣泛應(yīng)用于多種嵌入式網(wǎng)絡(luò)設(shè)備的前端設(shè)計(jì),如網(wǎng)絡(luò)視頻監(jiān)控設(shè)備、IP數(shù)字電視設(shè)備、家庭智能設(shè)備等。根據(jù)FPGA的可重復(fù)擦寫編程的特點(diǎn),采用FPGA可以方便對(duì)設(shè)備的升級(jí)和維護(hù)。本文為了設(shè)計(jì)能滿足于各種不同的以太網(wǎng)網(wǎng)絡(luò)環(huán)境,和增強(qiáng)系統(tǒng)的可移植性,采取了一系列的措施。首先,考慮到以太網(wǎng)高速而又龐大的數(shù)據(jù)量,尤其是載有音視頻流的1000M網(wǎng)絡(luò),以及開發(fā)的成本問題,我們引入了一種針對(duì)普通產(chǎn)品開發(fā)

47、的Xilinx芯片Spartan系列。FPGA具有并行執(zhí)行的特點(diǎn),相對(duì)于其他器件在數(shù)據(jù)處理上具有明顯的速度上的優(yōu)勢(shì),同時(shí)Spartan系列FPGA擁有幾百Kb甚至幾千Kb的塊RAM資源,可用于數(shù)據(jù)的緩存,完全可以滿足于1000M以太網(wǎng)數(shù)據(jù)量的要求14。在FPGA的系統(tǒng)設(shè)計(jì)開發(fā)中,常常會(huì)采用某些具有特定功能的IP核以提高系統(tǒng)開發(fā)的效率,減少成本。考慮到開發(fā)周期和設(shè)計(jì)要求,本系統(tǒng)設(shè)計(jì)方案采用Xilinx公司的Tri Mode Ethernet MAC IP核實(shí)現(xiàn)對(duì)MAC數(shù)據(jù)的主要處理工作,該IP核支持多種工作模式,同時(shí)用戶可以根據(jù)要求實(shí)現(xiàn)自定義配置。其次,為了實(shí)現(xiàn)網(wǎng)絡(luò)的IP地址和MAC地址的自動(dòng)映

48、射,本系統(tǒng)還增加了對(duì)ARP數(shù)據(jù)包的解析和ARP應(yīng)答功能的設(shè)計(jì)。除此之外,為了提高系統(tǒng)的通用性,物理芯片需能夠支持1000/100/10M以太網(wǎng)、雙工/半雙工工作模式以及1000M光纖的接入。3.1.2系統(tǒng)功能根據(jù)以述的設(shè)計(jì)思想,為了滿足大部分設(shè)備對(duì)以太網(wǎng)的MAC數(shù)據(jù)處理的需求,確定了本系統(tǒng)設(shè)計(jì)的功能如下:(1)支持10M/100M/1000M以太網(wǎng);(2)支持雙工/半雙工;(3)CRC校驗(yàn)和幀長(zhǎng)度校驗(yàn);(4)MAC地址濾波;(5)支持ARP解析;(6)支持RJ45標(biāo)準(zhǔn)網(wǎng)口和SFP插口的輸入;(7)支持I2C接口用戶配置。3.1.3系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)根據(jù)上述技術(shù)指標(biāo)及設(shè)計(jì)思想,圖3-1給出了本系統(tǒng)

49、的總體結(jié)構(gòu)框圖。本系統(tǒng)可分為五大模塊:以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換電路、PHY接口模塊、MAC核心處理模塊、用戶配置模塊和用戶數(shù)據(jù)接口模塊。圖3-1系統(tǒng)總體結(jié)構(gòu)框圖(1)以太網(wǎng)數(shù)據(jù)交換電路以太網(wǎng)數(shù)據(jù)交換電路,主要功能是實(shí)現(xiàn)雙絞線或光纖電纜的以太網(wǎng)物理層數(shù)據(jù)與MAC層數(shù)據(jù)的轉(zhuǎn)換,為FPGA提供處理的MAC數(shù)據(jù)源和送出FPGA的上傳MAC數(shù)據(jù),是傳輸介質(zhì)和FPGA數(shù)據(jù)交流的橋梁。(2)PHY接口模塊PHY接口模塊,可分為接收PHY和發(fā)送PHY接口兩個(gè)子模塊,實(shí)現(xiàn)接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的同步。(3)MAC核心處理模塊根據(jù)以上設(shè)計(jì)思想,MAC數(shù)據(jù)的核心處理模塊直接采用Xilinx的Tri Mode Ethernet M

50、AC IP核,可以完成MAC地址濾波、數(shù)據(jù)CRC和長(zhǎng)度校驗(yàn)、封裝MAC數(shù)據(jù)幀格式等基本功能,對(duì)接受的數(shù)據(jù)進(jìn)行相應(yīng)的好壞標(biāo)記和對(duì)上傳的數(shù)據(jù)進(jìn)行封裝標(biāo)記。(4)用戶配置模塊用戶配置模塊主要是實(shí)現(xiàn)主控系統(tǒng)正確地完成對(duì)IP核寄存器和系統(tǒng)地址信息(IP地址和MAC地址)的配置,同時(shí)實(shí)時(shí)地監(jiān)控IP核的工作狀態(tài)。該模塊可分為I2C接口和IP核配置兩個(gè)子模塊,I2C接口子模塊采用400Kb/s的I2C總線協(xié)議,模擬從設(shè)備I2C時(shí)序;IP核配置子模塊模擬IP核HOST配置時(shí)序,以實(shí)現(xiàn)對(duì)IP核寄存器的配置。(5)用戶數(shù)據(jù)接口模塊用戶數(shù)據(jù)接口模塊涉及對(duì)通過IP核處理后的接收數(shù)據(jù)幀和待上傳的數(shù)據(jù)包兩部分?jǐn)?shù)據(jù)的處理以及

51、ARP功能的實(shí)現(xiàn),可分為接收數(shù)據(jù)用戶接口、上傳數(shù)據(jù)用戶接口、ARP解析與應(yīng)答三個(gè)子模塊。3.2芯片的選取3.2.1物理層芯片選擇以太網(wǎng)物理層的處理工作大多數(shù)直接采用專業(yè)的物理層芯片來(lái)完成,完成數(shù)據(jù)的物理層編解碼和收發(fā)功能15。目前,物理層芯片的生產(chǎn)商以國(guó)外為主,如Marvell、NS、Broadcom公司等,其主流產(chǎn)品為100/10M和1000M物理層芯片,隨著以太網(wǎng)的速率的提高,萬(wàn)兆物理層芯片也被廣泛應(yīng)用于光纖以太網(wǎng)。國(guó)內(nèi)對(duì)芯片的研發(fā)起步比較晚,華為、中興、天津中晶微電子等企業(yè)近些年也推出了不少的產(chǎn)品,但是技術(shù)還有待發(fā)展。88E1111芯片是Marvell公司Alaska系列的一款千兆以太網(wǎng)

52、收發(fā)器,主要應(yīng)用于10Base-T、100Base-TX、1000Base-T的以太網(wǎng),采用CMOS工藝,能實(shí)現(xiàn)基于CAT5非屏蔽雙絞線標(biāo)準(zhǔn)的以太網(wǎng)物理層數(shù)據(jù)的收發(fā)。88E1111支持多種MAC接口模式,有GMII/MII、RGMII、SGMII、TBI和RTBI,是一款應(yīng)用廣泛的以太網(wǎng)物理層芯片。88E1111芯片采用了Marvell公司的VCT(Virtual Cable Tester,虛擬電纜測(cè)試儀)功能,可以使用時(shí)域反射技術(shù)遠(yuǎn)程測(cè)試電纜故障,減少了設(shè)備應(yīng)答和服務(wù)請(qǐng)求的次數(shù),同時(shí)還能通過VCT檢測(cè)線纜潛在的問題和線纜的開路、短路或阻抗不匹配問題,準(zhǔn)確度能達(dá)到一米。另外,88E1111芯片

53、具有先進(jìn)的混合信號(hào)處理能力,可以以1Gbps的速率完成自適應(yīng)均衡、消除反射或串?dāng)_、數(shù)據(jù)恢復(fù)、誤碼糾正等功能,是一款抗噪聲能力強(qiáng)的低功耗以太網(wǎng)物理層芯片。88E1111芯片中嵌入了一個(gè)可選的1.25GHzSERDES(并串轉(zhuǎn)換/串并轉(zhuǎn)換器),可以直接與光纖收發(fā)器連接,實(shí)現(xiàn)1000Base-X光纖標(biāo)準(zhǔn)與1000Base-T雙絞線標(biāo)準(zhǔn)傳輸媒體的轉(zhuǎn)換。通過選擇,88E1111可以通過RJ45接口接入1000Base-T雙絞線網(wǎng)絡(luò)或SFP(小型可插拔)模塊接入光纖網(wǎng)絡(luò),分別如圖3-2和3-3所示。圖3-2 88E1111接入雙絞線網(wǎng)絡(luò)圖3-3 88E1111接入光纖網(wǎng)絡(luò)除了以上所述,88E1111芯片還

54、支持光纖與銅線自動(dòng)檢測(cè)、網(wǎng)絡(luò)連接的自動(dòng)協(xié)商、可編程的LED驅(qū)動(dòng)等功能,方便了用戶對(duì)以太網(wǎng)接入的開發(fā)。根據(jù)本文系統(tǒng)設(shè)計(jì)的功能的要求,以太網(wǎng)物理層芯片需滿足同時(shí)支持RJ45和SFP兩種接口,10Base-T、100Base-TX、1000Base-T標(biāo)準(zhǔn)雙絞線和千兆光纖介質(zhì)的傳輸,半雙工和雙工切換的工作模式。Marvell公司的以太網(wǎng)物理層芯片88E1111,采用0.13m的CMOS工藝,是一款低成本、低功耗的千兆以太網(wǎng)物理層芯片,足以滿足系統(tǒng)設(shè)計(jì)的要求3.2.2FPGA主芯片選擇在FPGA的開發(fā)設(shè)計(jì)中,F(xiàn)PGA芯片的選取非常重要,不合理的選取會(huì)導(dǎo)致一系列的后續(xù)設(shè)計(jì)問題,甚至?xí)?;合理的選取不僅

55、避免設(shè)計(jì)問題,而且可以提高系統(tǒng)的性價(jià)比,延長(zhǎng)產(chǎn)品的生命周期。通常,F(xiàn)PGA芯片選取需從芯片的供貨商和開發(fā)工具的支持、電氣接口標(biāo)準(zhǔn)、硬件資源、速度等級(jí)、溫度等級(jí)、封裝形式、價(jià)格七個(gè)方面入手16。(1)供貨商和開發(fā)工具的支持目前,主要的FPGA供應(yīng)商有Xilinx公司、Altera公司、Lattice公司和Actel公司等,F(xiàn)PGA的發(fā)展迅速,器件的淘汰率隨之提高,為了延長(zhǎng)產(chǎn)品的生命周期,最好選擇貨源比較足的主流器件。從開發(fā)工具來(lái)看,Xilinx公司的ISE和Altera公司的Quartus,更新及時(shí)、功能強(qiáng)大、界面友好,支持本公司所有器件的設(shè)計(jì)開發(fā)和很多第三方軟件的應(yīng)用,如Synplify Pr

56、o、ModleSim等,能將器件的性能發(fā)揮到最佳。因此,一般在沒有特殊要求情況下,器件從這兩家公司中選取。雖然Altera公司的開發(fā)智能程度相對(duì)Xilinx公司要高一些,但Xilinx公司具有更強(qiáng)的硬件功能,通過IP核的使用可以達(dá)到更高的效率。目前,Xllinx公司的主流器件有Spartan-3、Spartan-3A/3ADSP/3AN、Virtex-4LX、Virtex-4SX、Virtex-4FX、Virtex-5LX、Virtex-5SX、Virtex-5FX、Spartan-6和Virtex-6等系列,其中Spartan-3系列主要應(yīng)用于邏輯設(shè)計(jì);Spartan-3A/3ADSP/3AN主要應(yīng)用于簡(jiǎn)單數(shù)字信號(hào)處理,Virtex-4LX和Virtex-5LX系列主要應(yīng)用于高速邏輯設(shè)計(jì),Virtex-4SX和Virtex-5SX系列主要應(yīng)用于高速?gòu)?fù)雜數(shù)字信號(hào)處理,Virtex-4FX和Virtex-5FX系列主要應(yīng)用于嵌入式系統(tǒng)。本設(shè)計(jì)只需要對(duì)MAC數(shù)據(jù)幀做簡(jiǎn)單的邏輯處理和緩存等等,Spartan-3系列器件足以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論