1 SerDes
SerDes是英文SERializer(串行器)/DESerializer(解串器)的簡稱。它是一種時分多路復用(TDM)、點對點的通信技術,即在發送端多路低速並行信號被轉換成高速串行信號,經過傳輸媒體(光纜或銅線),最后在接收端高速串行信號重新轉換成低速並行信號。這種點對點的串行通信技術充分利用傳輸媒體的信道容量,減少所需的傳輸信道和器件引腳數目,從而大大降低通信成本。
SerDes主要由物理介質相關( PMD)子層、物理媒介附加(PMA)子層和物理編碼子層( PCS )所組成。PMD是負責串行信號傳輸的電氣塊,PMA負責串化/解串化,PCS負責數據流的編碼/解碼。在PCS的上面是上層功能。針對FPGA 的SERDES ,PCS提供了ASIC塊和FPGA之間的接口邊界。
以太網是使用最廣泛的通信協議。以太網的數據傳輸速率已經從10 Mbps發展至100 Mbps,又發展至1000 Mbps ,繼而又發展多吉比特范圍: 10 Gbps 、 40 Gbps和100 Gbps。隨着數據傳輸率的發展,鏈路已經從並行接口(MII、 GMII )發展到串行鏈路(GE、SGMII 、 XAUI等)。
2 以太網接口
GMII
GMII是8bit並行同步收發接口,采用8位接口數據,工作時鍾125MHz,因此傳輸速率可達1000Mbps。同時兼容MII所規定的10/100 Mbps工作方式。GMII接口數據結構符合IEEE以太網標准。該接口定義見IEEE 802.3-2000。
發送器:
- GTXCLK——吉比特TX..信號的時鍾信號(125MHz)
- TXCLK——10/100M信號時鍾
- TXD[7..0]——被發送數據
- TXEN——發送器使能信號
- TXER——發送器錯誤(用於破壞一個數據包)
注:在千兆速率下,向PHY提供GTXCLK信號,TXD、TXEN、TXER信號與此時鍾信號同步。否則,在10/100M速率下,PHY提供 TXCLK時鍾信號,其它信號與此信號同步。其工作頻率為25MHz(100M網絡)或2.5MHz(10M網絡)。
接收器:
- RXCLK——接收時鍾信號(從收到的數據中提取,因此與GTXCLK無關聯)
- RXD[7..0]——接收數據
- RXDV——接收數據有效指示
- RXER——接收數據出錯指示
- COL——沖突檢測(僅用於半雙工狀態)管理配置
- MDC——配置接口時鍾
- MDIO——配置接口I/O
管理配置接口控制PHY的特性。該接口有32個寄存器地址,每個地址16位。其中前16個已經在"IEEE 802.3,2000-22.2.4 Management Functions"中規定了用途,其余的則由各器件自己指定。
RMII
RMII(Reduced Media Independant Interface),簡化媒體獨立接口。是標准的以太網接口之一,比MII有更少的I/O傳輸。關於RMII口和MII口的問題,RMII口是用兩根線來傳輸數據的,MII口是用4根線來傳輸數據的, GMII是用8根線來傳輸數據的。GMII和RMII都是並行傳輸並需要隨路時鍾。對於10M線速,MII的時鍾速率是2.5M,RMII則是5M;對於100M線速,MII的時鍾速率是25M,RMII則是50M。
MII/RMII用於傳輸以太網包,在MII/RMII接口是4/2bit的,在以太網的PHY里需要做串並轉換、編解碼等才能在雙絞線和光纖上進行傳輸,其幀格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
以太網幀的格式為:前導符+開始位+目的MAC地址+源MAC地址+類型/長度+數據+padding(optional)+32bitCRC。
如果有VLAN,則要在類型/長度后面加上2個字節的VLAN Tag,其中12bit來表示VLAN ID,另外4bit表示數據的優先級!
SGMII
SGMII(Serial Gigabit Media Independent Interface)是PHY與MAC之間的接口,類似與GMII和RGMII,只不過GMII和RGMII都是並行的,而且需要隨路時鍾,PCB布線相對麻煩,而且不適應背板應用。而SGMII是串行的,不需要提供另外的時鍾,MAC和PHY都需要CDR去恢復時鍾。另外SGMII是有8B/10b編碼的,速率是1.25Gbps。
XGMII
XGMII(10 Gigabit Media Independent Interface)是"10Gb獨立於媒體的接口",X對應羅馬數字10。SGMII為串行吉比特媒體獨立接口,SGMII 提供了速率為 10/100/1000 Mbps 的全雙工 BASE-T 功能,在光傳輸里,應用在以太網板上。
如果把SGMII PHY單獨做成一個模塊,它和以太網板上的MAC控制直接的關系是怎樣的呢?
SGMII是PHY與MAC之間的接口,類似與GMII和RGMII,只不過GMII和RGMII都是並行的,而且需要隨路時鍾, PCB布線相對麻煩,而且不適應背板應用。而SGMII是串行的,不需要提供另外的時鍾,MAC和PHY都需要CDR去恢復時鍾。另外SGMII是有8B/10b編碼的,速率是1.25G。SFP SGMII 與普通SFP相差很大,前者百兆速率可用在千兆位的SFP端口,而普通的SFP就不能,這樣的差別可以方便客戶以后的網絡升級。