MII与RMII接口的区别

1.概述网络

MII即“媒体独立接口”,也叫“独立于介质的接口”。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。RMII全称为“简化的媒体独立接口”,是IEEE-802.3u标准中除MII接口以外的另外一种实现。(此处内容来源于网络)
spa


2.独立于介质的接口(MII)blog

独立于介质的接口(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具备如下特性:it

  • 时钟信号须要提升到50MHz。   
  • MAC和外部的以太网PHY须要使用一样的时钟源   
  • 使用2位宽度的数据收发   

RMII的信号线以下图所示:
配置


4.MII/RMII位传输顺序im

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层获取该时钟源。