這篇算是對FPGA做千兆以太網(wǎng)的電路搭建這一塊兒的最全的掃盲篇了吧,廢話不多說,直接上干貨。
一、千兆以太網(wǎng)的系統(tǒng)搭建
1.硬件系統(tǒng)搭建
以太網(wǎng)MAC模塊負(fù)責(zé)實現(xiàn)以太網(wǎng)MAC子層的功能,完成802.3ab的數(shù)據(jù)封裝與解封。其同時負(fù)責(zé)適配硬件PHY的物理接口,組成物理層的通訊接口; 硬件系統(tǒng)的功能可以通過 Verilog HDL硬件描述語言在FPGA控制器內(nèi)部來實現(xiàn)。當(dāng)然也可以在FPGA控制器內(nèi),使用FPGA提供的MAC IP核來實現(xiàn)MAC協(xié)議功能,從而可以替代MAC接口協(xié)議芯片,這樣可以大大簡化系統(tǒng)的硬件電路設(shè)計。FPGA控制器通過GMII總線和PHY芯片進行數(shù)據(jù)通信,通過MDI/MDIO 管理接口,來配置并讀取PHY芯片內(nèi)部的各寄存器。
PHY是物理接口收發(fā)器,它實現(xiàn)物理層.IEEE-802.3標(biāo)準(zhǔn)定義了以太網(wǎng)PHY。PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的數(shù)據(jù),然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)槟M信號把數(shù)據(jù)送出去。收數(shù)據(jù)時的流程反之。PHY還有個重要的功能就是實現(xiàn)CSMA/CD的部分功能。它可以檢測到網(wǎng)絡(luò)上是否有數(shù)據(jù)在傳送。PHY還提供了和對端設(shè)備連接的重要功能并通過LED燈顯示出自己目前的連接的狀態(tài)和工作狀態(tài)讓我們知道。
隔離變壓器:把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉(zhuǎn)換耦合到連接網(wǎng)線的另外一端。這樣不但使網(wǎng)線和PHY之間沒有物理上的連接而換傳遞了信號,隔斷了信號中的直流分量,還可以在不同0V電平的設(shè)備中傳送數(shù)據(jù)。
RJ45是布線系統(tǒng)中信息插座(即通信引出端)連接器的一種,上端連接PHY層物理層芯片,下端連接網(wǎng)線。有些廠家會將網(wǎng)絡(luò)變壓器融合至RJ45接頭中,在接口選型中要注意,如果廠家不自帶隔離變壓器,需在設(shè)計中考慮相關(guān)功能及器件。連接器由插頭(接頭、水晶頭)和插座(模塊)組成,插頭有8個凹槽和8個觸點,是標(biāo)準(zhǔn)8位模塊化接口的俗稱。為支持千兆以太網(wǎng),制作直通線時一般采用T568B標(biāo)準(zhǔn),即需要8個數(shù)據(jù)接口均需連接。
2.通信協(xié)議
互聯(lián)網(wǎng)協(xié)議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層。從tcp/ip五層協(xié)議的角度來闡述可分為以下幾層:
1)物理層:計算機之間完成組網(wǎng),即光纜、電纜、雙絞線、網(wǎng)線、無線電波等。
2)數(shù)據(jù)鏈路層:將單純的電信號0、1進行整合,形成統(tǒng)一標(biāo)準(zhǔn),即“以太網(wǎng)協(xié)議ethernet”。包括定義數(shù)據(jù)幀、MAC地址等。
3)網(wǎng)絡(luò)層:局域網(wǎng)內(nèi)進行通信。包括IP協(xié)議(配置IP地址、設(shè)置子網(wǎng)掩碼、解析IP數(shù)據(jù)包)和ARP協(xié)議(獲取主機MAC地址)等。
4)傳輸層:tcp協(xié)議、udp協(xié)議等。
5)應(yīng)用層:www、FTP、HTTP、email等。
在基于FPGA的千兆以太網(wǎng)傳輸中,需將數(shù)據(jù)通過FPGA進行數(shù)據(jù)協(xié)議的打包和MAC協(xié)議處理,通過RGMII總線協(xié)議傳輸將數(shù)據(jù)傳送至PHY芯片,PHY芯片將數(shù)據(jù)進行處理后發(fā)送至RJ45接口進行數(shù)據(jù)發(fā)送。其中,PHY到FPGA的傳輸接口一般包括有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等, PHY到網(wǎng)絡(luò)變壓器之前傳輸接口一般為MDI。
按照OSI模型,基于開發(fā)板至上位機之間的通信需使用到的模型層有物理層(RJ45網(wǎng)接口)、數(shù)據(jù)鏈路層(PHY芯片和MAC協(xié)議)、網(wǎng)絡(luò)層(在FPGA中處理的MAC協(xié)議)、傳輸層(在FPGA中處理的數(shù)據(jù)協(xié)議打包)。
涉及到的傳輸協(xié)議有:以太網(wǎng)MAC協(xié)議與GMII協(xié)議。
以太網(wǎng)MAC協(xié)議主要負(fù)責(zé)控制與連接物理層的物理介質(zhì)。MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層。該協(xié)議由硬件語言在FPGA控制器內(nèi)部來實現(xiàn)。(數(shù)據(jù)分析)
GMII協(xié)議((Gigabit Media Independant Interface)千兆MII接口。GMII采用8位接口數(shù)據(jù),工作時鐘125MHz,因此傳輸速率可達1000Mbps。同時兼容MII所規(guī)定的10/100 Mbps工作方式。為FPGA(MAC控制器)與PHY芯片之間的數(shù)據(jù)傳輸協(xié)議。本項目中,結(jié)合芯片選型,可選取RGMII協(xié)議(Reduced Gigabit Media Independant Interface),精簡GMII接口。信號定義如下:(數(shù)據(jù)傳輸)
信號名稱 描述 方向
TXC 發(fā)送時鐘 MAC→PHY
TX_CTL 發(fā)送數(shù)據(jù)控制 MAC → PHY
TXD[3:0] 發(fā)送數(shù)據(jù)4bit MAC → PHY
RXC 接收時鐘 PHY → MAC
RX_CTL 接收數(shù)據(jù)控制 PHY → MAC
RXD[3:0] 接收數(shù)據(jù)4bit PHY → MAC
MDIO 管理數(shù)據(jù) 雙向
MDC 管理數(shù)據(jù)時鐘 MAC → PHY
二、芯片選型
1.千兆以太網(wǎng)PHY芯片選型
以太網(wǎng)芯片市場規(guī)模龐大,而且比較穩(wěn)固,但該市場每隔幾年就會出現(xiàn)一次重大技術(shù)轉(zhuǎn)變。該產(chǎn)業(yè)目前處于從快速以太網(wǎng)(FE)向千兆以太網(wǎng)(GbE)轉(zhuǎn)變過程的末期。其中大多數(shù)設(shè)計采用的是博通(Broadcom)、英特爾、Marvell和瑞昱(Realtek)的單芯片(MAC+PHY)控制器芯片。
Marvell(美滿),美國品牌。常見的10/100/1000M自適應(yīng)網(wǎng)卡芯片有Marvell的88E8001/88E8053/88E806*系列。屬于芯片第一梯隊。芯片質(zhì)量最好,種類最齊全,產(chǎn)品成熟,達到工業(yè)級標(biāo)準(zhǔn),但因目前國際關(guān)系,供貨不穩(wěn)定。
Broadcom,美國品牌。包括FE PHY,千兆PHY,2.5G/5GBASE-T PHY,10GBASE-T PHY,汽車PHY等。常見的10/100/1000M自適應(yīng)網(wǎng)卡芯片有BCM5721/5751系列芯片。芯片質(zhì)量好,產(chǎn)品成熟,但因目前國際關(guān)系,供貨不穩(wěn)定。
Realtek臺灣瑞昱,是典型的臺產(chǎn)網(wǎng)絡(luò)PHY芯片廠家。用戶可根據(jù)自己的需求自由選取10M/100M/1000Mbps三種不同通信速度的芯片。其產(chǎn)品支持單口多口,單口包括RTL8211系和RTL8251系,雙口為RTL8212系,四口為RTL8214系,八口則為RTL8208系。性價比也相對較高。市場份額最大,芯片質(zhì)量雖不如美滿,但質(zhì)量相對穩(wěn)定。因使用范圍廣,參考資料較多。相比于其他品牌,供貨相對穩(wěn)定。
ATHEROS(高通),美國品牌,全球最大的無線半導(dǎo)體供應(yīng)商。近幾年研發(fā)生產(chǎn)PHY芯片系列,常見的10/100/1000M自適應(yīng)網(wǎng)卡芯片有AR8031與AR8035系列。
其他品牌包括:IC PLUS,臺灣九陽電子推出的IP101系列芯片有10M/100 Mbps兩種可選。SMSC,被美國Microchip公司收購, 在通信速度上有也有10M/ 100M/1000Mbps三種不同的選擇。目前在網(wǎng)絡(luò)PHY芯片主打型號為LAN87系列。
國產(chǎn)芯片中,生產(chǎn)PHY芯片的廠商有蘇州裕泰車通,但產(chǎn)品只有10/100M,并不支持千兆以太網(wǎng)。
本次設(shè)計中,選取Realtek公司的RTL8211E單口芯片,主要考慮因素有:滿足千兆以太網(wǎng)需求、產(chǎn)品穩(wěn)定、技術(shù)文檔成熟、參考資料相對較多、貨源穩(wěn)定、性價比高??商娲漠a(chǎn)品有高通的AR8035、美滿的88E1111等。
引腳功能在下一節(jié)中有詳細(xì)介紹。具體引腳和封裝設(shè)計如下圖所示:
2.RJ45接口選型
為減少外部分立器件的數(shù)量,有助于布局布線,改善系統(tǒng)的EMC/EMI性能,盡量選擇連接器自帶隔離變壓器以及終端電阻的RJ45接口。在接口期間的廠商中,國產(chǎn)接口即可滿足設(shè)計需求。本次設(shè)計中,RJ45網(wǎng)絡(luò)接口采用中山市漢仁公司(HanRun)的 HR91130A,連接器自帶隔離變壓器以及終端電阻。該接口的引腳特性及外圍電路設(shè)計在下一節(jié)中有介紹??商娲骷邪操M諾amphenol公司的MRJ548101、泰科電子TE connectivity的2301995-1等。下圖為該接口的封裝設(shè)計。
三、PHY芯片的外圍電路設(shè)計
RTL8211E應(yīng)用主要包括電源部分設(shè)計、MDI接口設(shè)計、RGMII接口設(shè)計以及接口管理設(shè)計等四部分組成。
1.RTL8211E電源部分設(shè)計
RTL8211E的電源主要由3.3V及1.05V兩個電源組成,接入外部電源為3.3V,并通過自身的switching regulator形成1.05V電源或者從外部電源引入。這兩組電源主要為芯片運行以及GMII、MDI等IO接口驅(qū)動提供電源。如下則為RTL8211E、RTL8211EG的電源引腳說明。
RTL8211E的3.3V電源由外部電源VDD33引入,并通過去耦電容C3的過濾,形成芯片的數(shù)字3.3V電源DVDD33及模擬3.3V電源AVDD33。如圖,其中C3對電源質(zhì)量影響比較大。
對于接口管理應(yīng)用1.05V的IO驅(qū)動電源,則是通過芯片自身的switching regulator轉(zhuǎn)換或通過一個外接LDO進行轉(zhuǎn)換,如果采用自身的regulator轉(zhuǎn)換,則是3.3V模擬電源通過去耦電容接入芯片,另外通過外接0電阻與去耦電容形成模擬或數(shù)字1.05V電源。switching regulator只能給芯片自身的AVDD10和DVDD10供電,不能給其它外部電路供電。
2.RTL2811E至MDI接口設(shè)計
MDI( Medium Dependent Interface )介質(zhì)相關(guān)接口與互聯(lián)網(wǎng)連接一般通過信號傳輸端(TD+&TD-)和信號接收端(RD+ &RD-),然后再通過網(wǎng)絡(luò)濾波器以及RJ-45與終端網(wǎng)絡(luò)相連。
MDI連接屬于高速信號連接,對MDI線路設(shè)計時時需特別注意,RTL8211E/RTL8211EG到10/100/1000M網(wǎng)絡(luò)變壓器,以及到RJ-45接口的路徑需要盡可能短,RTL8211E/RTL8211EG到10/100/1000M網(wǎng)絡(luò)變壓器的距離不能超過12cm,而且兩對接受或傳輸差分信號線需盡可能的接近,可使噪聲影響互相抵消。一般兩者之前距離等于一線寬,例如,信號線寬8mil,則D1的寬度為8mil。兩組信號線之間的跟離D2一般推薦為30mil。
3. RTL8211E之RGMII接口設(shè)計
MII是英文Medium Independent Interface的縮寫,翻譯成中文是“介質(zhì)獨立接口”,該接口一般應(yīng)用于MAC層和PHY層之間的以太網(wǎng)數(shù)據(jù)傳輸,也可叫數(shù)據(jù)接口,MII即Reduced MII、是MII的簡化。與MII接口相比,GMII的數(shù)據(jù)寬度由4位變?yōu)?位,GMII接口中的控制信號如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同MII接口中的一樣,發(fā)送參考時鐘GTX_CLK和接收參考時鐘RX_CLK的頻率均為125MHz(1000Mbps/8=125MHz)。
RGMII連接屬于高速信號連接,對RGMII線路設(shè)計時時需特別注意,RTL8211E/RTL8211EG到MAC之間的不能超過2.5inch。RGMII時鐘信號與數(shù)據(jù)信號之間需要留20mils的間距,GMII 接收與發(fā)送布線長度之差還要超過100mils。RGMII的布線都有一塊沒破壞的完整地平面。
根據(jù)RGMII協(xié)議,TXC與RXC分別為數(shù)據(jù)傳輸中發(fā)送與接收的頻率,在千兆以太網(wǎng)中,分別為125MHz。接收數(shù)據(jù)的端口為RX[0…3],控制使能為TX_CTL;發(fā)送數(shù)據(jù)的端口為TX[0…3],控制使能為RX_CTL。
為了EMI考慮,需要在PHY芯片RXC端放置一個RC濾波,并在MAC芯片TXC端放置一個RC濾波。
根據(jù)芯片手冊,MDC/MDIO管理接口用于控制芯片的工作模式,由于其采用開漏輸出,需要通過上拉電阻維持其工作狀態(tài)。
4. RJ45接口的外圍電路設(shè)計
千兆PHY通過網(wǎng)絡(luò)變壓器連接到RJ45接口,一共有4對差分線MDI[0…3]+/-。一般的接法是:
MDI[0]+ : RJ45[1]
MDI[0]- : RJ45[2]
MDI[1]+ : RJ45[3]
MDI[1]- : RJ45[6]
MDI[2]+ : RJ45[4]
MDI[2]- : RJ45[5]
MDI[3]+ : RJ45[7]
MDI[3]- : RJ45[8]
RJ45[1…8]連接器的線序與水晶頭的壓接順序一致。
四、電路板設(shè)計
PCB板層設(shè)計可根據(jù)FPGA資源利用的情況及BGA芯片的扇出情況進行設(shè)定,可使用常規(guī)的六層電路板設(shè)計布線,即SIG-GND-SIG-PWR-GND-SIG。信號層與接地層相鄰,電源層與接地層配對,這樣具有較好的信號完整性。建議對Rx±、Tx±差分對進行阻抗控制,阻抗控制在100歐姆±10%。
布線規(guī)則如下:
- 以太網(wǎng)接口速率較高,會產(chǎn)生較大的干擾,會在銅皮產(chǎn)生感應(yīng)電流,在RJ45接口處需將除差分引腳外的信號全部挖空,挖空區(qū)避免走線。
- 機殼地走線加粗,一般為1mm,機殼地與板內(nèi)板的邊緣間距要大于或等于1mm。
3.電源地走線加粗。
- 等長要求,TX+與TX-信號做等長,RX+與RX-做等長,盡量保持差分對平行、等長、短距,避免過孔、交叉。由于管腳分布、過孔、以及走線空間等因素存在使得差分線長易不匹配,時序會發(fā)生偏移,還會引入共模干擾,降低信號質(zhì)量。長度差通??刂圃?mil以內(nèi)。
- TX與RX應(yīng)分開不同層走線,如果同層,間距應(yīng)拉開4W(4倍線寬)。
6.PHY芯片發(fā)熱量較大,可適當(dāng)考慮增加散熱孔或背面開窗。
根據(jù)芯片手冊,布線時還應(yīng)注意以下事項:
1.輸入3.3V電壓與芯片VDDREG引腳連接時,線寬需超過40mils。
2.去耦電容需放置在距離VDDREG引腳200mils(0.5cm)范圍內(nèi),以防止輸入電壓過沖。
3.輸出電壓REGOUT的線寬必須大于60mils。
3.輸出電壓REGOUT的電感必須放置在引腳200mils(0.5cm)范圍內(nèi);電容需放置在距離電感200mils(0.5cm)范圍內(nèi)。
- 為了保證開關(guān)穩(wěn)壓器的穩(wěn)定性,Cout1與Cout2必須為陶瓷電容器(X5R),Cin1和Cin2需為陶瓷電容器。
5.電感和Cin1需要和芯片在同一層布線;VDDREG和REGOUT之間的連線不能使用過孔。
因為老板正好要我寫個匯報材料出來,所以我也就有時間總結(jié)出了這一份兒出來。前一篇是從網(wǎng)上扒的,匯總在一起,感覺收獲比較大。這一片是我自己一個字一個字的碼的,也有從別的文章摘抄的,原理圖是我自己用cadence畫的,PCB板還沒有畫,等畫出來我再寫一篇出來。因為是純手敲的,如有轉(zhuǎn)載,記得艾特我啊。
里面有不對的地方還希望大神們提早指正出來,以免我踩雷啊,感謝!
|