MAC與PHY連接的管理接口MDIO


MII Management interface用於MAC層或其他控制芯片(不一定是MAC層芯片,可能是MCU,如高通芯片建構中,1個MAC芯片可以控制2個PHY芯片,然后MCU控制3個網卡(MAC+2PHY)芯片)控制、配置PHY層芯片。

Through MII Management interface it is possible to control and configure multiple PHY devices, get status and error infomation, and determine the type and capabilities of the attached PHY device(s).

MDIO接口包括兩根信號線:MDC和MDIO,通過它,MAC層芯片(或其它控制芯片)可以訪問物理層芯片的寄存器,並通過這些寄存器來對物理層芯片進行控制和管理。MDIO管理接口如下:
MDC:管理接口的時鍾,它是一個非周期信號,信號的最小周期(實際是正電平時間和負電平時間之和)為400ns,最小正電平時間和負電平時間為160ns,最大的正負電平時間無限制。它與TX_CLK和RX_CLK無任何關系。
MDIO是一根雙向的數據線,用來傳送MAC層的控制信息和物理層的狀態信息。MDIO數據與MDC時鍾同步,在MDC上升沿有效。MDIO管理接口的數據幀結構如:

圖MDIO管理接口的數據幀結構

In read/write operation, the management data frame is 64-bits long and starts with 32 contiguous logic one bits (preamble) synchronization clock cycles on MDC. The Start of Frame Delimiter (SFD) is indicated by a <01> pattern followed by the operation code (OP):<10> indicates Read operation and <01> indicates Write operation. For read operation, a 2-bit turnaround (TA) filing between Register Address field and Data field is provided for MDIO to avoid contention. Following the turnaround time, 16-bit data is read from or written onto management registers.

幀結構各域的含義如下:
PRE:幀前綴域,為32個連續“1”比特,這幀前綴域不是必要的,某些物理層芯片的MDIO操作就沒有這個域。
ST:幀開始標志,出現“01”比特表示幀設計開始。
OP:幀操作碼,比特“10”表示此幀為讀操作幀,比特“01”表示此幀為寫操作幀。
PHYAD:物理層芯片的地址,5個比特,每個芯片都把自己的地址與這5個比特進行比較,若匹配則響應后面的操作,若不匹配,則忽略掉后面的操作。
REGAD:用來選擇物理層芯片的32個寄存器中的某個寄存器的地址。
TA:狀態轉換域,若為讀操作,則第一比特時MDIO為高阻態,第二比特時由物理層芯片使MDIO置“0”。若為寫操作,則MDIO仍由MAC層芯片控制,其連續輸出“10”兩個比特。
DATA:幀的寄存器的數據域,16比特,若為讀操作,則為物理層送到MAC層的數據,若為寫操作,則為MAC層送到物理層的數據。
IDLE:幀結束后的空閑狀態,此時MDIO無源驅動,處高阻狀態,但一般用上拉電阻使其處在高電平,即MDIO引腳需要上拉電阻。

 注:上述圖片及英文來自“DM9161a數據手冊”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM