以太網PHY和MAC

以太網PHY和MAC對應OSI模型的兩個層——物理層和數據鏈路層。
物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,並向數據鏈路層設備提供標準接口(RGMII / GMII / MII)。
數據鏈路層則提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。
問:以太網PHY是什麼?
答:PHY是物理接口收發器,它實現物理層。IEEE-802.3標準定義了以太網PHY。它符合IEEE-802.3k中用於10BaseT(第14條)和100BaseTX(第24條和第25條)的規範。
問:以太網MAC是什麼?
答:MAC就是媒體接入控制器。以太網MAC由IEEE-802.3以太網標準定義。它實現了一個數據鏈路層。最新的MAC同時支持10/100/1000Mbps速率。通常情況下,它實現MII/GMII/RGMII接口,來同行業標準PHY器件實現接口。
問:什麼是MII?
答:MII(Medium Independent Interface)即媒體獨立接口。它是IEEE-802.3定義的以太網行業標準。它包括一個數據接口,以及一個MAC和PHY之間的管理接口。數據接口包括分別用於發送器和接收器的兩條獨立信道。每條信道都有自己的數據、時鐘和控制信號。MII數據接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數據信號。通過管理接口,上層能監視和控制PHY。
MII標準接口 用於連快Fast Ethernet MAC-block與PHY。“介質無關”表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。在其他速率下工作的與 MII等效的接口有:AUI(10M 以太網)、GMII(Gigabit 以太網)和XAUI(10-Gigabit 以太網)。
此外還有RMII(Reduced MII)、GMII(Gigabit MII)、RGMII(Reduced GMII)SMII等。所有的這些接口都從MII而來,MII是(Medium Independent Interface)的意思,是指不用考慮媒體是銅軸、光纖、電纜等,因爲這些媒體處理的相關工作都有PHY或者叫做MAC的芯片完成。
    MII支持10兆和100兆的操作,一個接口由14根線組成,它的支持還是比較靈活的,但是有一個缺點是因爲它一個端口用的信號線太多,如果一個8端口的交換機要用到112根線,16端口就要用到224根線,到32端口的話就要用到448根線,一般按照這個接口做交換機,是不太現實的,所以現代的交換機的製作都會用到其它的一些從MII簡化出來的標準,比如RMII、SMII、GMII等。
    RMII是簡化的MII接口,在數據的收發上它比MII接口少了一倍的信號線,所以它一般要求是50兆的總線時鐘。RMII一般用在多端口的交換機,它不是每個端口安排收、發兩個時鐘,而是所有的數據端口公用一個時鐘用於所有端口的收發,這裏就節省了不少的端口數目。RMII的一個端口要求7個數據線,比MII少了一倍,所以交換機能夠接入多一倍數據的端口。和MII一樣,RMII支持10兆和100兆的總線接口速度。
    SMII是由思科提出的一種媒體接口,它有比RMII更少的信號線數目,S表示串行的意思。因爲它只用一根信號線傳送發送數據,一根信號線傳輸接受數據,所以在時鐘上爲了滿足100的需求,它的時鐘頻率很高,達到了125兆,爲什麼用125兆,是因爲數據線裏面會傳送一些控制信息。SMII一個端口僅用4根信號線完成100信號的傳輸,比起RMII差不多又少了一倍的信號線。SMII在工業界的支持力度是很高的。同理,所有端口的數據收發都公用同一個外部的125M時鐘。
    GMII是千兆網的MII接口,這個也有相應的RGMII接口,表示簡化了的GMII接口。


MII總線
在IEEE802.3中規定的MII總線是一種用於將不同類型的PHY與相同網絡控制器(MAC)相連接的通用總線。網絡控制器可以用同樣的硬件接口與任何PHY 。
GMII (Gigabit MII)

GMII採用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:       Reduced Media Independant Interface
簡化媒體獨立接口
是標準的以太網接口之一,比MII有更少的I/O傳輸。

關於RMII口和MII口的問題
RMII口是用兩根線來傳輸數據的,
MII口是用4根線來傳輸數據的,
GMII是用8根線來傳輸數據的。
MII/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表示數據的優先級!
吉比特以太網物理層協議及接口
吉比特以太網協議的數據鏈路層與傳統的10/100Mb/s以太網協議相同,但物理層有所不同。三種協議與OSI七層模型的對應關係如圖所示。
從圖可以看出,吉比特以太網協議與10/100Mb/s以太網協議的差別僅僅在於物理層。圖中的PHY表示實現物理層協議的芯片;協調子層(Reconciliation sublayer)用於實現指令轉換;MII(介質無關接口)/GMII(吉比特介質無關接口)是物理層芯片與實現上層協議的芯片的接口;MDI(介質相關接口)是物理層芯片與物理介質的接口;PCS、PMA和PMD則分別表示實現物理層協議的各子層。在實際應用系統中,這些子層的操作細節將全部由PHY芯片實現,只需對MII和MDI接口進行設計與操作即可。
吉比特以太網的物理層接口標準主要有四種:GMII、RGMII(Reduced GMII)、TBI(Ten-Bit Interface)和RTBI(Reduced TBI)。GMII是標準的吉比特以太網接口,它位於MAC層與物理層之間。對於TBI接口,圖1中PCS子層的功能將由MAC層芯片實現,在降低PHY芯片複雜度的同時,控制線也比GMII接口少。RGMII和RTBI兩種接口使每根數據線上的傳輸速率加倍,數據線數目減半。
網卡
PHY和MAC是網卡的主要組成部分,網卡一般用RJ-45插口,10M網卡的RJ-45插口也只用了1、2、3、6四根針,而100M或1000M網卡的則是八根針都是全的。除此以外,還需要其它元件,因爲雖然PHY提供絕大多數模擬支持,但在一個典型實現中,仍需外接6、7只分立元件及一個局域網絕緣模塊。絕緣模塊一般採用一個1:1的變壓器。這些部件的主要功能是爲了保護PHY免遭由於電氣失誤而引起的損壞。
網卡的功能主要有兩個:一是將電腦的數據封裝爲幀,並通過網線(對無線網絡來說就是電磁波)將數據發送到網絡上去;二是接收網絡上其它設備傳過來的幀,並將幀重新組合成數據,發送到所在的電腦中。網卡能接收所有在網絡上傳輸的信號,但正常情況下只接受發送到該電腦的幀和廣播幀,將其餘的幀丟棄。然後,傳送到系統CPU做進一步處理。當電腦發送數據時,網卡等待合適的時間將分組插入到數據流中。接收系統通知電腦消息是否完整地到達,如果出現問題,將要求對方重新發送。
原文地址:http://hi.baidu.com/dark_hc/blog/item/773ae934950120b2d1a2d36c.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章