本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信號定義,及相關(guān)知識,同時本文也對RJ-45接口進行了總結(jié),分析了在10/100模式下和1000M模式下的設(shè)計方法。 MII接口提供了MAC與PHY之間、PHY與STA(Station Management)之間的互聯(lián)技術(shù),該接口支持10Mb/s與100Mb/s的數(shù)據(jù)傳輸速率,數(shù)據(jù)傳輸?shù)奈粚挒?位。 提到MII,就有可能涉及到RS,PLS,STA等名詞術(shù)語,下面講一下他們之間對應(yīng)的關(guān)系。 所謂RS即Reconciliation sublayer,它的主要功能主要是提供一種MII和MAC/PLS之間的信號映射機制。它們(RS與MII)之間的關(guān)系如下圖:
MII接口的Management Interface可同時控制多個PHY,802.3協(xié)議最多支持32個PHY,但有一定的限制:要符合協(xié)議要求的connector特性。所謂Management Interface,即MDC信號和MDIO信號。 前面已經(jīng)講過RS與PLS的關(guān)系,以及MII接口連接的對象。它們是通過MII接口進行連接的,示意圖如下圖。由圖可知,MII的Management Interface是與STA(Station Management)相連的。 接口支持10Mb/s以及100Mb/s,且在兩種工作模式下所有的功能以及時序關(guān)系都是一致的,唯一不同的是時鐘的頻率問題。802.3要求PHY不一定一定要支持這兩種速率,但一定要描述,通過Management Interface反饋給MAC。 下面將詳細(xì)介紹MII接口的信號定義,時序特性等。由于MII接口有MAC和PHY模式,因此,將會根據(jù)這兩種不同的模式進行分析,同時還會對RMII/SMII進行介紹。 MII接口可分為MAC模式和PHY模式,一般說來MAC和PHY對接,但是MAC和MAC也是可以對接的。 以 前的10M的MAC層芯片和物理層芯片之間傳送數(shù)據(jù)是通過一根數(shù)據(jù)線來進行的,其時鐘是10M,在100M中,如果也用一根數(shù)據(jù)線來傳送的話,時鐘需要 100M,這會帶來一些問題,所以定義了MII接口,它是用4根數(shù)據(jù)線來傳送數(shù)據(jù)的,這樣在傳送100M數(shù)據(jù)時,時鐘就會由100M降低為25M,而在傳 送10M數(shù)據(jù)時,時鐘會降低到2.5M,這樣就實現(xiàn)了10M和100M的兼容。 MII接口主要包括四個部分。一是從MAC層到物理層的發(fā)送數(shù)據(jù)接口,二是從物理層到MAC層的接收數(shù)據(jù)接口,三是從物理層到MAC層的狀態(tài)指示信號,四是MAC層和物理層之間傳送控制和狀態(tài)信息的MDIO接口。 MII接口的MAC模式定義: MII接口PHY模式定義:
在MII接口中,TX通道參考時鐘是TX_CLK,RX通道參考時鐘是RX_CLK,802.3-2005定義了它們之間的關(guān)系。 圖3 Transmit signal timing relationships at the MII 由 圖3可知,即The clock to output delay shall be a min of 0 ns and a max of 25 nsSpec只對TX通道上MAC這一側(cè)的發(fā)送特性作了定義,而對TX通道PHY那一側(cè)的接收特性并沒有定義。IC Vendor可在TX通道那一側(cè)的PHY的接收特性作適當(dāng)調(diào)整,只要最終的時序滿足TX通道上MAC這一側(cè)的發(fā)送特性就可以。 圖4 Receive signal timing relationships at the MII 由 圖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這一側(cè)的接收特性作了定義,而對RX通道PHY那一側(cè)的發(fā)送特性并沒有定義。IC Vendor可在RX通道那一側(cè)的PHY的發(fā)送特性作適當(dāng)調(diào)整,只要最終的時序滿足RX通道上MAC這一側(cè)的接收特性就可以。 <1>: TX_CLK (transmit clock),TX_CLK (Transmit Clock)是一個連續(xù)的時鐘信號(即系統(tǒng)啟動,該信號就一直存在),它是TX_EN, TXD, and TX_ER(信號方向為從RS到PHY)的參考時鐘,TX_CLK由PHY驅(qū)動TX_CLK的時鐘頻率是數(shù)據(jù)傳輸速率的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驅(qū)動,PHY可能從接收到的數(shù)據(jù)中提取時鐘RX_CLK,也有可能從一個 名義上的參考時鐘(e.g., the TX_CLK reference)來驅(qū)動RX_CLK <3>:TXD (transmit data),TXD由RS驅(qū)動,同步于TX_CLK,在TX_CLK的時鐘周期內(nèi),并且TX_EN有效,TXD上的數(shù)據(jù)被PHY接收,否則TXD的數(shù)據(jù)對PHY沒有任何影響。 <4>:TX_ER (transmit coding error),TX_ER同步于TX_CLK,在數(shù)據(jù)傳輸過程中,如果TX_ER有效超過一個時鐘周期,并且此時TX_ENTX_ER有效并不影響工作在 10Mb/s的PHY或者TX_EN無效時的數(shù)據(jù)傳輸。在MII接口的連線中,如果TX_ER信號線沒有用到,必須將它下拉接地。
<5>:RX_DV (Receive Data Valid),RXD_DV同步于RX_CLK,被PHY驅(qū)動,它的作用如同于發(fā)送通道中的TX_EN,不同的是在時序上稍有一點差別:為了讓數(shù)據(jù)能夠成 功被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驅(qū)動,同步于RX_CLK,在RX_CLK的時鐘周期內(nèi),并且RX_DV有效,RXD上的數(shù)據(jù)被RS接收,否則RXD的數(shù)據(jù)對 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通道數(shù)據(jù)傳輸?shù)挠绊憽?/font>
<8>:CRS (carrier sense),CRS不需要同步于參考時鐘,只要通道存在發(fā)送或者接收過程,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(自動協(xié)商禁止,人工設(shè)為全雙工模式), 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(自動協(xié)商禁止,人工設(shè)為全雙工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半雙工模式信號有效,全雙工模式信號無效。 MDIO 接口包括兩根信號線:MDC和MDIO,通過它,MAC層芯片(或其它控制芯片)可以訪問物理層芯片的寄存器(前面100M物理層芯片中介紹的寄存器組, 但不僅限于100M物理層芯片,10M物理層芯片也可以擁有這些寄存器),并通過這些寄存器來對物理層芯片進行控制和管理。MDIO管理接口如下: MDC:管理接口的時鐘,它是一個非周期信號,信號的最小周期(實際是正電平時間和負(fù)電平時間之和)為400ns,最小正電平時間和負(fù)電平時間為160ns,最大的正負(fù)電平時間無限制。它與TX_CLK和RX_CLK無任何關(guān)系。 MDIO是一根雙向的數(shù)據(jù)線。用來傳送MAC層的控制信息和物理層的狀態(tài)信息。MDIO數(shù)據(jù)與MDC時鐘同步,在MDC上升沿有效。MDIO管理接口的數(shù)據(jù)幀結(jié)構(gòu)如: PRE:幀前綴域,為32個連續(xù)“1”比特,這幀前綴域不是必要的,某些物理層芯片的MDIO操作就沒有這個域。 OP:幀操作碼,比特“10”表示此幀為一讀操作幀,比特“01”表示此幀為一寫操作幀。 PHYAD:物理層芯片的地址,5個比特,每個芯片都把自己的地址與這5個比特進行比較,若匹配則響應(yīng)后面的操作,若不匹配,則忽略掉后面的操作。 REGAD:用來選擇物理層芯片的32個寄存器中的某個寄存器的地址。 TA:狀態(tài)轉(zhuǎn)換域,若為讀操作,則第一比特時MDIO為高阻態(tài),第二比特時由物理層芯片使MDIO置“0”。若為寫操作,則MDIO仍由MAC層芯片控制,其連續(xù)輸出“10”兩個比特。 DATA:幀的寄存器的數(shù)據(jù)域,16比特,若為讀操作,則為物理層送到MAC層的數(shù)據(jù),若為寫操作,則為MAC層送到物理層的數(shù)據(jù)。 IDLE:幀結(jié)束后的空閑狀態(tài),此時MDIO無源驅(qū)動,處高阻狀態(tài),但一般用上拉電阻使其處在高電平,即MDIO引腳需要上拉電阻。 MDIO數(shù)據(jù)幀的時序關(guān)系如下:
MII 接口也有一些不足之處,主要是其接口信號線很多,發(fā)送和接收和指示接口有14根數(shù)據(jù)線(不包括MDIO接口的信號線,因為其被所有MII接口所共享),當(dāng) 交換芯片的端口數(shù)據(jù)較多時,會造成芯片的管腳數(shù)目很多的問題,這給芯片的設(shè)計和單板的設(shè)計都帶來了一定的問題。為了解決這些問題,人們設(shè)計了兩種新的 MII接口,它們是RMII接口(Reduced MII接口)和SMII接口(StreamMII接口)。 這兩種接口都減少了MII接口的數(shù)據(jù)線,不過它們一般只用在以太網(wǎng)交換機的交換MAC芯片和多口物理層芯片中,而很少用于單口的MAC層芯片和物理層芯片中。RMII接口和SMII接口都可以用于10M以太網(wǎng)和100M以太網(wǎng),但不可能用于1000M以太網(wǎng),因為此時時鐘頻率太高,不可能實現(xiàn)。 下面這張圖是從DM368的datasheet上的: 關(guān)于PHYAD:
The PHYAD field for an MDIO frame is a 5-bit binary value capable of addressing 32
unique addresses. However, every MDIO slave must respond to physical address 0. This
requirement dictates that the physical address for any particular PHY must not be set to 0
to avoid MDIO contention. Physical Addresses 1 through to 31 can be used to connect up
to 31 PHY devices onto a single MDIO bus.
Physical Address 0 can be used to write a single command that is obeyed by all attached
PHYs, such as a reset or power-down command. |
|
來自: rookie > 《技術(shù)帖》