標籤:
本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII介面的訊號定義,及相關知識,同時本文也對RJ-45介面進行了總結,分析了在10/100模式下和1000M模式下的設計方法。
MII介面提供了MAC與PHY之間、PHY與STA(Station Management)之間的互聯技術,該介面支援10Mb/s與100Mb/s的資料轉送速率,資料轉送的位寬為4位。提到MII,就有可能涉及到RS,PLS,STA等名詞術語,下面講一下他們之間對應的關係。所謂RS即Reconciliation sublayer,它的主要功能主要是提供一種MII和MAC/PLS之間的訊號映射機制。它們(RS與MII)之間的關係如:
MII介面的Management Interface可同時控制多個PHY,802.3協議最多支援32個PHY,但有一定的限制:要符合協議要求的connector特性。所謂Management Interface,即MDC訊號和MDIO訊號。
前面已經講過RS與PLS的關係,以及MII介面串連的對象。它們是通過MII介面進行串連的,如。由圖可知,MII的Management Interface是與STA(Station Management)相連的。
介面支援10Mb/s以及100Mb/s,且在兩種工作模式下所有的功能以及時序關係都是一致的,唯一不同的是時鐘的頻率問題。802.3要求PHY不一定一定要支援這兩種速率,但一定要描述,通過Management Interface反饋給MAC。
下面將詳細介紹MII介面的訊號定義,時序特性等。由於MII介面有MAC和PHY模式,因此,將會根據這兩種不同的模式進行分析,同時還會對RMII/SMII進行介紹。
MII介面可分為MAC模式和PHY模式,一般說來MAC和PHY對接,但是MAC和MAC也是可以對接的。
以前的10M的MAC層晶片和物理層晶片之間傳送資料是通過一根資料線來進行的,其時鐘是10M,在100M中,如果也用一根資料線來傳送的話,時鐘需要100M,這會帶來一些問題,所以定義了MII介面,它是用4根資料線來傳送資料的,這樣在傳送100M資料時,時鐘就會由100M降低為25M,而在傳送10M資料時,時鐘會降低到2.5M,這樣就實現了10M和100M的相容。
MII介面主要包括四個部分。一是從MAC層到物理層的發送資料介面,二是從物理層到MAC層的接收資料介面,三是從物理層到MAC層的狀態指示訊號,四是MAC層和物理層之間傳送控制和狀態資訊的MDIO介面。
MII介面的MAC模式定義:
MII介面PHY模式定義:
在MII介面中,TX通道參考時鐘是TX_CLK,RX通道參考時鐘是RX_CLK,802.3-2005定義了它們之間的關係。
由圖3可知,即The clock to output delay shall be a min of 0 ns and a max of 25 nsSpec只對TX通道上MAC這一側的發送特性作了定義,而對TX通道PHY那一側的接收特性並沒有定義。IC Vendor可在TX通道那一側的PHY的接收特性作適當調整,只要最終的時序滿足TX通道上MAC這一側的發送特性就可以。
由圖4可知,The input setup time shall be a minimum of 10 ns and the input hold time shall be a minimum of 10 nsSpec只對RX通道上MAC這一側的接收特性作了定義,而對RX通道PHY那一側的發送特性並沒有定義。IC Vendor可在RX通道那一側的PHY的發送特性作適當調整,只要最終的時序滿足RX通道上MAC這一側的接收特性就可以。
<1>: TX_CLK (transmit clock),TX_CLK (Transmit Clock)是一個連續的時鐘訊號(即系統啟動,該訊號就一直存在),它是TX_EN, TXD, and TX_ER(訊號方向為從RS到PHY)的參考時鐘,TX_CLK由PHY驅動TX_CLK的時鐘頻率是資料轉送速率的25%,偏差+-100ppm。例如,100Mb/s模式下,TX_CLK時鐘頻率為25MHz,占空比在35%至65%之間。
<2>:對於同樣的RX_CLK,它與TX_CLK具有相同的要求,所不同的是它是RX_DV, RXD, and RX_ER(訊號方向是從PHY到RS)的參考時鐘。RX_CLK同樣是由PHY驅動,PHY可能從接收到的資料中提取時鐘RX_CLK,也有可能從一個名義上的參考時鐘(e.g., the TX_CLK reference)來驅動RX_CLK
<3>:TXD (transmit data),TXD由RS驅動,同步於TX_CLK,在TX_CLK的刻度內,並且TX_EN有效,TXD上的資料被PHY接收,否則TXD的資料對PHY沒有任何影響。
<4>:TX_ER (transmit coding error),TX_ER同步於TX_CLK,在資料轉送過程中,如果TX_ER有效超過一個刻度,並且此時TX_ENTX_ER有效並不影響工作在10Mb/s的PHY或者TX_EN無效時的資料轉送。在MII介面的連線中,如果TX_ER訊號線沒有用到,必須將它下拉接地。
<5>:RX_DV (Receive Data Valid),RXD_DV同步於RX_CLK,被PHY驅動,它的作用如同於發送通道中的TX_EN,不同的是在時序上稍有一點差別:為了讓資料能夠成功被RS接收,要求RXD_DV有效時間必須覆蓋整個FRAME的過程,即starting no later than the Start Frame Delimiter (SFD) and excluding any End-of-Frame delimiter,如7。
<6>:RXD (receive data),RXD由RS驅動,同步於RX_CLK,在RX_CLK的刻度內,並且RX_DV有效,RXD上的資料被RS接收,否則RXD的資料對RS沒有任何影響。While RX_DV is de-asserted, the PHY may provide a False Carrier indication by asserting the RX_ER signal while driving the value <1110> onto RXD<3:0>。
<7>:RX_ER (receive error),RX_ER同步於RX_CLK,其在RX通道中的作用類似於TX_ER對於TX通道資料轉送的影響。
<8>:CRS (carrier sense),CRS不需要同步於參考時鐘,只要通道存在發送或者接收過程,CRS就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自動協商禁止,人工設為全雙工系統模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半雙工模式訊號有效,全雙工系統模式訊號無效。
<9>:COL (collision detected),COL不需要同步於參考時鐘。The behavior of the COL signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自動協商禁止,人工設為全雙工系統模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半雙工模式訊號有效,全雙工系統模式訊號無效。
MDIO介面包括兩根訊號線:MDC和MDIO,通過它,MAC層晶片(或其它控制晶片)可以訪問物理層晶片的寄存器(前面100M物理層晶片中介紹的寄存器組,但不僅限於100M物理層晶片,10M物理層晶片也可以擁有這些寄存器),並通過這些寄存器來對物理層晶片進行控制和管理。MDIO管理介面如下:
MDC:管理介面的時鐘,它是一個非周期訊號,訊號的最小周期(實際是正電平時間和負電平時間之和)為400ns,最小正電平時間和負電平時間為160ns,最大的正負電平時間無限制。它與TX_CLK和RX_CLK無任何關係。
MDIO是一根雙向的資料線。用來傳送MAC層的控制資訊和物理層的狀態資訊。MDIO資料與MDC時鐘同步,在MDC上升沿有效。MDIO管理介面的資料幀結構如:
PRE:幀首碼域,為32個連續“1”位元,這幀首碼域不是必要的,某些物理層晶片的MDIO操作就沒有這個域。
OP:幀作業碼,位元“10”表示此幀為一讀操作幀,位元“01”表示此幀為一寫操作幀。
PHYAD:物理層晶片的地址,5個位元,每個晶片都把自己的地址與這5個位元進行比較,若匹配則響應後面的操作,若不匹配,則忽略掉後面的操作。
REGAD:用來選擇物理層晶片的32個寄存器中的某個寄存器的地址。
TA:狀態轉換域,若為讀操作,則第一位元時MDIO為高阻態,第二位元時由物理層晶片使MDIO置“0”。若為寫操作,則MDIO仍由MAC層晶片控制,其連續輸出“10”兩個位元。
DATA:幀的寄存器的資料域,16位元,若為讀操作,則為物理層送到MAC層的資料,若為寫操作,則為MAC層送到物理層的資料。
IDLE:幀結束後的空閑狀態,此時MDIO無源驅動,處高阻狀態,但一般用上拉電阻使其處在高電平,即MDIO引腳需要上拉電阻。
MDIO資料幀的時序關係如下:
MII介面也有一些不足之處,主要是其介面訊號線很多,發送和接收和指示介面有14根資料線(不包括MDIO介面的訊號線,因為其被所有MII介面所共用),當交換晶片的連接埠資料較多時,會造成晶片的管腳數目很多的問題,這給晶片的設計和單板的設計都帶來了一定的問題。為瞭解決這些問題,人們設計了兩種新的MII介面,它們是RMII介面(Reduced MII介面)和SMII介面(StreamMII介面)。
這兩種介面都減少了MII介面的資料線,不過它們一般只用在乙太網路交換器的交換MAC晶片和多口物理層晶片中,而很少用於單口的MAC層晶片和物理層晶片中。RMII介面和SMII介面都可以用於10M乙太網路和100M乙太網路,但不可能用於1000M乙太網路,因為此時時鐘頻率太高,不可能實現。
下面這張圖是從DM368的datasheet上的:
【轉自】http://dpinglee.blog.163.com/blog/static/144097753201041131115262/
(一)MII/MDIO介面詳解