1.概述
MII即“媒體獨立接口”,也叫“獨立於介質的接口”。它是IEEE-802.3定義的以太網行業標准。它包括一個數據接口,以及一個MAC和PHY之間的管理接口。RMII全稱為“簡化的媒體獨立接口”,是IEEE-802.3u標准中除MII接口之外的另一種實現。(此處內容來源於網絡)
2.獨立於介質的接口(MII)
獨立於介質的接口(MII)用於MAC與外接的PHY互聯,支持10Mbit/s和100Mbit/s數據傳輸模式。MII的信號線如下圖所示:
- MII_TX_CLK:發送數據使用的時鍾信號,對於10M位/s的數據傳輸,此時鍾為2.5MHz,對於100M位/s的數據傳輸,此時鍾為25MHz。
- MII_RX_CLK:接收數據使用的時鍾信號,對於10M位/s的數據傳輸,此時鍾為2.5MHz,對於100M位/s的數據傳輸,此時鍾為25MHz。
- MII_TX_EN:傳輸使能信號,此信號必需與數據前導符的起始位同步出現,並在傳輸完畢前一直保持。
- MII_TXD[3:0]:發送數據線,每次傳輸4位數據,數據在MII_TX_EN信號有效時有效。MII_TXD[0]是數據的最低位,MII_TXD[3]是最高位。當MII_TX_EN信號無效時,PHY忽略傳輸的數據。
- MII_CRS:載波偵聽信號,僅工作在半雙工模式下,由PHY控制,當發送或接收的介質非空閑時,使能此信號。 PHY必需保證MII_CRS信號在發生沖突的整個時間段內都保持有效,不需要此信號與發送/接收的時鍾同步。
- MII_COL:沖突檢測信號,僅工作在半雙工模式下,由PHY控制,當檢測到介質發生沖突時,使能此信號,並且在整個沖突的持續時間內,保持此信號有效。此信號不需要和發送/接收的時鍾同步。
- MII_RXD[3:0]:接收數據線,每次接收4位數據,數據在MII_RX_DV信號有效時有效。MII_RXD[0]是數據的最低位,MII_RXD[3]是最高位。當MII_RX_EN無效,而MII_RX_ER有效時,MII_RXD[3:0]數據值代表特定的信息(請參考表194)。
- MII_RX_DV:接收數據使能信號,由PHY控制,當PHY准備好數據供MAC接收時,使能該信號。此信號必需和幀數據的首位同步出現,並保持有效直到數據傳輸完成。在傳送最后4位數據后的第一個時鍾之前,此信號必需變為無效狀態。為了正確的接收一個幀,有效電平不能滯后於數據線上的SFD位出現。
- MII_RX_ER:接收出錯信號,保持一個或多個時鍾周期(MII_RX_CLK)的有效狀態,表明MAC在接收過程中檢測到錯誤。具體錯誤原因需配合MII_RX_DV的狀態及MII_RXD[3:0]的數據值。
3.精簡的獨立於介質的接口(RMII)
精簡的獨立於介質接口(RMII)規范減少了以太網通信所需要的引腳數。根據IEEE802.3標准,MII接口需要16個數據和控制信號引腳,而RMII標准則將引腳數減少到了7個。RMII具有以下特性:
- 時鍾信號需要提高到50MHz。
- MAC和外部的以太網PHY需要使用同樣的時鍾源
- 使用2位寬度的數據收發
RMII的信號線如下圖所示:
4.MII/RMII位傳輸順序
MII上的發送/接收的4位數據,在RMII上以2個2位數據的形式發送/接收。方式為:先發送/接收低2位,再發送/接收高2位。
5.時鍾源
1)MII時鍾源
為了產生TX_CLK和RX_CLK時鍾信號,外接的PHY模塊必需有來自外部的25MHz時鍾驅動。該時鍾不需要與MAC時鍾相同。可以使用外部的25MHz晶體或者GD32F107xx微控制器的MCO引腳提供這一時鍾。當時鍾來源MCO引腳時需配置合適的PLL,保證MCO引腳輸出的時鍾為25MHZ。
2)RMII時鍾源
通過將相同的時鍾源接到MAC和以太網PHY的REF_CLK引腳保證兩者時鍾源的同步。可以通過外部的50MHZ信號或者GD32F107xx微控制器的MCO引腳提供這一時鍾。當時鍾來源MCO引腳時需配置合適的PLL,保證MCO引腳輸出的時鍾為50MHZ。
3)總結
采用MII接口,PYH的時鍾頻率要求25M,不需要與MAC層時鍾一致。
采用RMII接口,PYH的時鍾頻率要求50M,需與MAC層時鍾一致,通常從MAC層獲取該時鍾源。