MDIO概述
MDIO接口,是Management Data Input/Output的縮寫。MDIO接口包含在IEEE802.3協(xié)議中,是專用于以太PHY的管理的串行總線接口。
MDIO應(yīng)用框圖
圖1 MDIO應(yīng)用框圖
圖1為MDIO應(yīng)用框圖。STA設(shè)備通過MDIO接口與PHY通信。STA(Station Management)為主控設(shè)備,比如MCU、MAC、ONU等。PHY為從設(shè)備。一個STA最多管理32個PHY。MDC信號由STA控制,MDIO信號根據(jù)通信方式的不同可以由STA或者PHY接管控制。通常MDIO會通過電阻上拉至接口電源。
MDIO接口信號
如表1所示,MDIO接口包含兩根信號線,一根時鐘線,一根數(shù)據(jù)線。
表1 MDIO接口信號
MDC為MDIO接口時鐘信號,來自STA,用來對MDIO的數(shù)據(jù)采樣。MDC可以是非周期性信號。協(xié)議對MDC的高低電平的最大寬度并沒有限制,僅限制了MDC的最小高低電平寬度不能小于160ns,最小周期不能小于400ns。這意味著MDC最高頻率不能超過2.5MHz。
MDIO為MDIO接口數(shù)據(jù)信號,為雙向信號,STA和PHY均可以接管。用來在PHY控制芯片和PHY芯片之間的傳遞控制和狀態(tài)信息。
圖2 MDIO接口時序
協(xié)議對MDIO接口時序進行了定義。如圖2所示,以MDC上升沿為基準(zhǔn)。當(dāng)MDIO由STA輸出時,需要滿足建立時間、保持時間均大于10ns。當(dāng)MDIO由PHY輸出時,需要滿足輸出延遲不超過300ns。
MDIO幀格式
MDIO有兩種模式:俗稱1G MDIO和XG MDIO。1G MDIO由IEEE 802.3 Clause22定義,主要應(yīng)用于千兆/百兆的以太PHY,XG MDIO由IEEE 802.3 Clause45定義,主要用于千兆以上的以太PHY。下面以Clause22為例介紹MDIO幀格式,如圖3所示。
圖3 MDIO Clause22幀格式
IDLE:空閑域。無MDIO幀發(fā)送時,MDIO接口輸出高阻(外部有上拉電阻,總線上看到的是高電平)。
PRE:Preamble,前導(dǎo)。每幀發(fā)送前,STA通過MDIO連續(xù)發(fā)送32個MDC周期的高電平,同時通過MDC輸出32個時鐘周期。前導(dǎo)的作用是為PHY建立同步提供時間。如果STA能夠確定PHY可以接收管理幀,可以壓縮前導(dǎo)的發(fā)送。
ST:2bit,Start of Frame。幀起始符,2’b01代表幀起始。
OP:2bit,操作碼。2’b10代表讀,2’b01代表寫。
PHYAD:5bit,PHY地址。因此1個MDIO最多管理32個PHY。MDIO在訪問PHY之前,需要提前知曉各個PHY的地址。所有PHY均需要對地址0進行響應(yīng)。
REGAD:5bit,寄存器地址??偣?2個寄存器地址,協(xié)議對前16個寄存器地址進行了詳細(xì)的定義。其中地址0為控制寄存器,地址1為狀態(tài)寄存器,其他14個地址為擴展寄存器。
TA:2bit,Turnaround。TA是地址傳輸和數(shù)據(jù)傳輸轉(zhuǎn)換時的空閑時間。因為讀操作的時候,地址傳輸和數(shù)據(jù)傳輸控制方不同,設(shè)置2bit TA的目的就是為了防止MDIO總線上產(chǎn)生競爭。
讀情形,TA第1bit,PHY和STA均釋放總線控制輸出高阻。TA第2bit,總線交由PHY控制,輸出0,即讀操作時TA為2‘bZ0(由于總線有上拉電阻存在,從總線上看到的依然是2’b10)。寫情形,TA由STA輸出2‘b10。
DATA:16bit,數(shù)據(jù)域。寫操作的時候,STA用來發(fā)送寫數(shù)據(jù)。讀操作的時候,PHY用來發(fā)送讀數(shù)據(jù)。
注:MDIO發(fā)送bit序為高比特先傳。
圖4 MDIO Clause45幀格式
MDIO Clause45在Clause22基礎(chǔ)上做了一些擴展,目的是為了訪問更多的寄存器。Clause45幀格式如圖4所示。相對于Clause22幀格式而言,Clause45做了如下修改:
1、ST由01修改為00
2、OP進行了重新定義。00:地址幀 01:寫 11:讀 10:增量讀(Post-read-increment-address)
3、PHYAD域修改名稱為PRTAD,端口地址但仍代表PHY地址
4、REGAD修改為DEVAD,Clause45將PHY內(nèi)部子模塊的地址進行細(xì)分,這些子模塊用DEVAD尋址。子模塊內(nèi)部的寄存器則使用地址幀進行尋址。
Clause45的修改大大擴展了訪問地址范圍,但是由于地址和讀寫操作的分離,導(dǎo)致訪問效率降低一半。為了解決該問題,Clause45新增了增量讀模式,允許先發(fā)送一次地址幀,后續(xù)僅發(fā)送增量讀操作。在每次讀完成后,PHY會自動將地址移動到下一個相鄰的寄存器地址,這樣就能完成從指定地址開始順序讀取設(shè)備內(nèi)部的寄存器,而無需重新發(fā)送地址幀,訪問效率可以和Clause22相當(dāng)。
后記
MDIO接口不僅定義了幀格式,還對其訪問空間的寄存器進行了詳細(xì)的定義,因此它只能應(yīng)用于以太PHY的管理接口。對于MDIO寄存器詳細(xì)定義感興趣的同學(xué),可以參考IEEE802.3 22.2.4(Clause22)和45.2(Clause45)中的描述。
Clause22和Clause45是不能共存的,如果應(yīng)用時存在共存的情況,可以參考IEEE 802.3 Annex45A中關(guān)于Clause22 PHY,Clause45 PHY混合組網(wǎng)時的解決方案描述。簡單說就是通過協(xié)議轉(zhuǎn)換芯片進行混合組網(wǎng)。
責(zé)任編輯人:CC
評論
查看更多