MDC/MDIO接口定義


MDC/MDIO接口是為MII總線接口定義的,在802.3協議clause 22中有詳細的介紹,MII用於連接MAC和PHY,包含兩種信號:

1.  數據接口,用於MAC和PHY之間接收和發送以太網數據

2.  一個PHY管理接口,即MDIO接口,用於讀寫PHY的控制寄存器和狀態寄存器。

本文主要描述PHY的管理接口,MDIO/MDC.

MDIO 總線只支持 MAC 作為主設備,PHY 作為從設備。MIDO 支持兩種時序,分別為 Clause 22 和 Clause 45.

MDIO clause 22 是 MDIO 使用的一種信號時序,在這個信號時序模式,MAC 先向 MDIO 信號線上拍 32 個周期,接着傳輸 16 bit 的控制位。16 個信號位包含了兩個開始位, 2 個訪問控制位,5 bits 的 PHY 地址,5 bits 的寄存器地址,以及 2 bits 的翻轉位。 當進行寫操作的時候,MAC 在接下來的周期中提供地址和數據;當進行讀操作的時候, PHY 會翻轉 MDIO 之后向 MDIO 信號線上發送數據。

MDIO 也支持 Clause 45 時序,其是 Clause 22 的拓展協議。與 Clause 22 不同的是, 16 位中的起始位:Clause 22 是 00, 而 Clause 45 是 01.

MDC (Management Data Clock), MDC是由MAC管理實體輸出給PHY,作為管理數據MDIO的參考時鍾信號,在上升沿觸發MDIO的讀寫。MDC是一個非周期性的信號,最小時鍾周期為400ns,與MII中的TX_CLK和RX_CLK無關。

MDIO(Management Data Input Output),MDIO是一個雙向信號線,用來傳輸PHY的控制和狀態信息。控制信息由MAC驅動,狀態信息有PHY驅動。MDIO信號線初始為三態,由MAC或者PHY來驅動信號。

MDC/MDIO時序圖

 

 

MDIO由MAC驅動的時候,MAC芯片提供最小10ns的建立時間和最小10ns的保持時間。

需要注意的是,為了保證PHY能准確采樣,當MAC向MDIO寫數據的時候,需要在MDC的上升沿之前就把數據寫到MDIO上,要求等待10ns以上再發出一個MDC的上升沿。

 

 

 

MDIO由PHY芯片驅動時候,由MAC芯片在MDC的上升沿進行采樣。而為了保證MAC能准確采樣,當PHY向MDIO寫數據時,這個clock-to-data的delay時間范圍可以是0-300ns(小於上面提到的400ns)。

 

 

Preamble+Start:32bits的前導碼以及2bit的開始位。

OP Code:2bits的操作碼,10表示讀,01表示寫

PHYAD:5bits的PHY地址,一般PHY地址從0開始順序編號,例如6口switch中PHY地址為0-5。

REGAD:5bits的寄存器地址,即要讀或寫的寄存器。

Turn Around:2bits的TA,在讀命令中,MDIO在此時由MAC驅動改為PHY驅動,並等待一個時鍾周期准備發送數據。在寫命令中,不需要MDIO方向發生變化,則只是等待兩個時鍾周期准備寫入數據。

Data:16bits數據,在讀命令中,PHY芯片將讀到的對應PHYAD的REGAD寄存器的數據寫到Data中,在寫命令中,MAC將要寫入對應PHYAD的REGAD寄存器的值寫入Data中。

Idle:空閑狀態,此時MDIO無源驅動,處高阻狀態,但一般用上拉電阻使其處在高電平。

 

Marvel CN71XX的SMI電路圖

CN71XX的CPU有兩個SMI的管理接口,其中SMI0連接到了BCM54210的PHY芯片。

 

 

 

 

 


免責聲明!

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



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