MII
MII(Media Independent Interface(介質無關介面));或稱為媒體獨立介面,它是IEEE-802.3定義的乙太網路行業標準。它包括一個資料介面,以及一個MAC和PHY之間的管理介面。資料介面包括分別用於發送器和接收器的兩條獨立通道。每條通道都有自己的資料、時鐘和控制訊號。MII資料介面總共需要16個訊號。管理介面是個雙訊號介面:一個是時鐘訊號,另一個是資料訊號。通過管理介面,上層能監視和控制PHY。MII(Management interface)只有兩條訊號線。
MII標準介面用於Fast Ethernet MAC-block與PHY。在其他速率下工作的與MII等效的介面有:AUI(10M乙太網路)、GMII(Gigabit乙太網路)和XAUI(10-Gigabit乙太網路)。
MII工作原理
“媒體獨立(介質無關)”表明在不對MAC硬體重新設計或替換的情況下,任何類型的PHY裝置都可以正常工作。
包括分別用於發送器和接收器的兩條獨立通道。每條通道都有自己的資料、時鐘和控制訊號。
MII資料介面總共需要16個訊號,包括TX_ER,TXD,TX_EN,TX_CLK,COL,RXD,RX_EX,RX_CLK,CRS,RX_DV等。
MII以4位半位元組方式傳送資料雙向傳輸,時脈速率25MHz。其工作速率可達100Mb/s。
MII管理介面(SMI介面,也有稱為MIIM)是個雙訊號介面,一個是時鐘訊號MDC,另一個是資料訊號MDIO。
SMI介面包括兩根訊號線:MDC和MDIO,通過它,MAC層晶片(或其它控制晶片)可以訪問物理層晶片的寄存器,並通過這些寄存器來對物理層晶片進行控制和管理。
MDC:管理介面的時鐘,它是一個非周期訊號,訊號的最小周期(實際是正電平時間和負電平時間之和)為400ns,最小正電平時間和負電平時間為160ns,最大的正負電平時間無限制。它與TX_CLK和RX_CLK無任何關係。
MDIO是一根雙向的資料線。用來傳送MAC層的控制資訊和物理層的狀態資訊。MDIO資料與MDC時鐘同步,在MDC上升沿有效。
PHY裡面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態反映到寄存器裡面,MAC通過SMI匯流排不斷的讀取PHY的狀態寄存器以得知目前PHY的狀態,例如連線速度,雙工的能力等。
當然也可以通過SMI設定PHY的寄存器達到控制的目的,例如流控的開啟關閉,自協商模式還是強制模式等。
不論是物理串連的MII匯流排和SMI匯流排還是PHY的狀態寄存器和控制寄存器都是有IEEE的規範的,因此不同公司的MAC和PHY一樣可以協調工作。當然為了配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改。
PHY是物理介面收發器,它實現物理層。包括MII/GMII(介質獨立介面)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。100BaseTX採用4B/5B編碼。
PHY在發送資料的時候,收到MAC過來的資料(對PHY來說,沒有幀的概念,對它來說,都是資料而不管什麼地址,資料還是CRC),每4bit就增加1bit的檢錯碼,然後把並行資料轉化為串列流資料,再按照物理層的編碼規則把資料編碼,再變為類比訊號把資料送出去。收資料時的流程反之。
PHY還有個重要的功能就是實現CSMA/CD的部分功能。
它可以檢測到網路上是否有資料在傳送,如果有資料在傳送中就等待,一旦檢測到網路空閑,再等待一個隨機時間後將送資料出去。如果兩個碰巧同時送出了資料,那樣必將造成衝突,這時候,衝突檢測機構可以檢測到衝突,然後各等待一個隨機的時間重新發送資料。這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重演算法來應付出現機率很低的同兩台主機之間的第二次衝突。
通訊速率通過雙方協商,協商的結果是兩個裝置中能同時支援的最大速度和最好的雙工模式,這個技術被稱為Auto Negotiation或者NWAY。
隔離變壓器把PHY送出來的差分訊號用差模耦合的線圈耦合濾波以增強訊號,並且通過電磁場的轉換耦合到串連網線的另外一端。
RJ-45中1、2是傳送資料的,3、6是接收資料的。
新的PHY支援AUTO MDI-X功能,也需要隔離變壓器支援,它可以實現RJ-45介面的1、2上的傳送訊號線和3、6上的接收訊號線的功能自動互相交換。