概述

管理MII介面的MDIO介面是一個雙線的序列介面,用來對PHY晶片等物理層資訊進行操作管理。

MDIO的歷史

MDIO是Management Data Input/Output 的縮寫,有兩根線,分別為雙向的MDIO和單向的MDC,用於乙太網裝置中上層對物理層的管理。之所以能夠管理這些PHY晶片,是因為能夠對PHY晶片的各類暫存器進行訪問和修改。.
MDIO介面最初是由IEEE RFC802.3中的22號條款定義的,在最初的定義中,一個單獨的MDIO介面可以訪問32個不同的PHY裝置中的32個暫存器,這些暫存器提供狀態和控制資訊,例如:連線狀態、傳輸速度能力、當前選擇的傳速、低壓消耗時的下電情況、全雙工還是半雙工、自動協商、錯誤提示以及反饋資訊等等。
為了滿足10G乙太網裝置的普及發展,在IEEE 802.3ae 的45號條款中為MDIO介面提供了額外的規範:
1)能夠通過32個埠訪問32個不同裝置的65536個暫存器;
2)為訪問10G乙太網提供額外的OP碼和ST碼,從而可以直接訪問暫存器地址;
3)端到端的報錯訊號;
4)環回模式控制;
5)低壓電氣標準。

操作原理

MDIO匯流排有兩個訊號:管理資料時鐘(MDC)和管理資料輸入/輸出(MDIO)。
MDIO介面中有特定的術語定義總線上的各種裝置。驅動MDIO匯流排的裝置被定義為站管理實體(STA)。而被MDC管理的目標裝置稱為可被MDIO管理的裝置(MMD)。
STA初始化MDIO所有的通訊,同時負責驅動時鐘MDC。MDC的頻率可以高達2.5 MHz。

22號條款

22號條款的MDIO通訊的幀格式定義如下:

幀格式中PHY的地址和暫存器的地址都是5bit,這就限制了STA可以連線到的MMD的數量。此外,22號條款僅支援5V裝置,沒有其他的低壓選項。

45號條款

為了彌補22號的條款中定義的缺陷,45號條款中增添了對低壓裝置的支援,最低可到1.2V,同時擴充了幀格式,能夠訪問更多的裝置和暫存器。
45號MDIO通訊幀格式如下:


第45號條款的主要變化是如何訪問暫存器。在第22中,一個單獨的幀指定要讀或寫的地址和資料,同時完成了這些工作。45號中改變這種正規化,第一個地址幀傳送到指定的MMD和暫存器,然後傳送第二幀來執行讀或寫。

新增這個依次迴圈訪問的好處是45條款是向後相容22條款的,允許裝置的互操作。其次,通過建立一個框架的登記地址,地址空間從5位增加到16位,這使得STA訪問65536個不同的暫存器。

為了做到這一點,在資料幀的組成部分進行了一些變化。定義了新的ST程式碼(00),用於標識第45號條款的資料幀。運算碼擴充套件到指定地址幀,寫幀,讀幀,或讀和讀後增量地址幀。由於暫存器地址不再需要,這個欄位被指定目標裝置型別的內容代替。擴充套件後還允許STA接入除了PHY以外的其他裝置。