天天看點

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

作者:阿丘達之平凡

(以太網網口與FPGA連接配接的常用方案Verilog設計詳解)

當今,随着網際網路技術的迅速發展,采用以太網實作資料采集和控制方面的應用,成為了電子系統設計的熱點。以太網具有價格低廉、穩定可靠、傳輸速度快、傳輸距離遠等特點,以太網技術發展成熟,具有很高的成本效益。采用以太網技術的裝置,可以通過TCP/IP協定進行資料的傳輸,不需要進行傳輸協定轉換,使用和維護裝置簡單。随着技術的發展和各類應用的需求,出現了各種以太網的标準,包括标準以太網(10Mbit/s)、百兆以太網(100Mbit/s)、千兆以太網(1000Mbit/s)和10G(10Gbit/s)以太網[1]。不同類型的以太網有其各自需要遵循的标準,同時其所用的傳輸媒體以及資料吞吐量也各不相同。

千兆以太網技術作為新一代的高速以太網技術,它可以提供1Gbps的通信帶寬,采用和傳統10M、100M以太網同樣的CSMA/CD協定、幀格式和幀長、全/半雙工工作方式、流控模式以及布線系統,給使用者帶來了提高核心網絡的有效解決方案,這種解決方案的最大優點是繼承了傳統以太網技術價格便宜的特點。

對于學習者而言,你就是要搞清楚弄明白以太網如何去實作,在實際操作中怎麼去做,從這個角度出發的話,你就會發現其實沒那麼複雜,這就是說起來沒那麼難。那真正實作起來,到具體的各個接口以及細節的調試以及調通,你會發現還是比較燒腦的。是以呢,咱們先來聊一聊以太網的各個接口,從大體架構來分析如何去學習。

咱們就以千兆以太網舉例,千兆以太網,隻是說以太網的速率為千兆,也就是1G。除了千兆網,還有百兆網,萬兆網,當然這些都是指的以太網的速率。不同速率的以太網,在FPGA端的接口表現形式也是不一樣的。下邊就來介紹百兆網和千兆網的接口形式。

這是網口與FPGA連接配接的常用方案,RJ45就是咱們平常說的水晶頭,Ethernet PHY是以太網的PHY晶片,之後就是Ethernet PHY與FPGA相連。

下邊是以太網PHY晶片與FPGA連接配接的簡單的架構圖(不代表全部的輸入輸出端口)

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

1-11

先說百兆網,百兆網的接口一般為MII(Media Independent Interface),當然10M網用的也是MII接口。下圖是一塊以太網PHY晶片的一些手冊資料截圖。

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

1-12

在百兆網模式下,其RXCLK的周期為40ns,也就是25M,資料端口RXD隻用了4根線RXD[3:0],然後25M*4 = 100M,這樣算出來,就是100M的速率了。接着再來說一下千兆網,千兆網的接口,就目前接觸比較多的接口有3種,GMII,RGMII和SGMII。先說GMII,RxClk的周期為8ns,也就是125M,資料端口使用了8bit,125M*8 = 1000M,速率就是千兆網了。

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

1-13

還有RGMII,其頻率也為125M,但是它隻使用了4個線,不過,RGMII使用的是雙沿模式,也就是DDR模式,在時鐘的上下沿都可以傳送資料。這樣算的話,125M*4*2 = 1000M,還是千兆網。RGMII與GMII主要的差別就是雙沿采樣與單沿采樣。

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

1-14

之後還有SGMII,全稱為Serial Gigabit Media Independent Interface,也就是串行的以太網接口。RGMII,GMII還是MII,都是使用并行接口,而且還需要随路時鐘,而SGMII隻需要2組線,一組是發送,一組是接收,當然一組線由兩根差分線組成。SGMII也是需要8/10B編碼。這樣在布線時,就可以節省一些布線的空間。當然,對于FPGA來講,也節省了FPGA的引腳資源。SGMII一般在公司的項目會用的多一些,像GMII,RGMI在某寶上賣的開發闆上一般都有。

下面就簡單的說說以太網資料格式,IEEE.802.3資料格式彙總,幀間隙IFG>=96bitme,10zM/100M/1000M格式一樣。如下圖簡單的端口信号顯示截圖。

千兆以太網技術作為新一代的高速資料吞吐量傳輸技術

Verilog定義端口