【转】以太网知识(1)-MII接口

以太网知识(1)-MII接口

            本文主要分析 MII/RMII/SMII ,以及 GMII/RGMII/SGMII 接口的信号定义,及相关知识,同时本文也对 RJ-45 接口进行了总结,分析了在 10/100 模式下和 1000M 模式下的设计方法。
 
1. MII 接口分析
 
        MII 接口提供了 MAC PHY 之间、 PHY STA(Station Management) 之间的互联技术,该接口支持 10Mb/s 100Mb/s 的数据传输速率,数据传输的位宽为 4 位。
       提到 MII ,就有可能涉及到 RS PLS STA 等名词术语,下面讲一下他们之间对应的关系。
       所谓 RS Reconciliation sublayer ,它的主要功能主要是提供一种 MII MAC/PLS 之间的信号映射机制。它们 ( RS MII) 之间的关系如下图:
 
1
         MII 接口的 Management Interface 可同时控制多个 PHY 802.3 协议最多支持 32 PHY ,但有一定的限制:要符合协议要求的 connector 特性。所谓 Management Interface ,即 MDC 信号和 MDIO 信号。
        前面已经讲过 RS PLS 的关系,以及 MII 接口连接的对象。它们是通过 MII 接口进行连接的,示意图如下图。由图可知, MII Management Interface 是与 STA Station Management )相连的。
        MII 接口支持 10Mb/s 以及 100Mb/s ,且在两种工作模式下所有的功能以及时序关系都是一致的,唯一不同的是时钟的频率问题。 802.3 要求 PHY 不一定一定要支持这两种速率,但一定要描述,通过 Management Interface 反馈给 MAC
 
2
        下面将详细介绍MII 接口的信号定义,时序特性等。由于MII 接口有MAC PHY 模式,因此,将会根据这两种不同的模式进行分析,同时还会对RMII/SMII 进行介绍。
1.1 MII接口信号定义
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 模式定义: 
 
 
1.2 MII接口时序特性
MII 接口中, TX 通道参考时钟是 TX_CLK RX 通道参考时钟是 RX_CLK 802.3-2005 定义了它们之间的关系。
 
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 ns ,参考时钟沿是上升沿。很明显,该 Spec 只对 TX 通道上 MAC 这一侧的发送特性作了定义,而对 TX 通道 PHY 那一侧的接收特性并没有定义。 IC Vendor 可在 TX 通道那一侧的 PHY 的接收特性作适当调整,只要最终的时序满足 TX 通道上 MAC 这一侧的发送特性就可以。
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 ns ,参考时钟沿是上升沿。很明显,该 Spec 只对 RX 通道上 MAC 这一侧的接收特性作了定义,而对 RX 通道 PHY 那一侧的发送特性并没有定义。 IC Vendor 可在 RX 通道那一侧的 PHY 的发送特性作适当调整,只要最终的时序满足 RX 通道上 MAC 这一侧的接收特性就可以。
1.3 MII信号功能特性
<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 没有任何影响。
 
 
  5
<4> TX_ER (transmit coding error) TX_ER 同步于 TX_CLK ,在数据传输过程中,如果 TX_ER 有效超过一个时钟周期,并且此时 TX_EN 是有效的,则数据通道中传输的数据是无效的,没用的。注:当 TX_ER 有效并不影响工作在 10Mb/s PHY 或者 TX_EN 无效时的数据传输。在 MII 接口的连线中,如果 TX_ER 信号线没有用到,必须将它下拉接地。
 
 
  6
<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。
 
  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>  
 
  8
<7> RX_ER (receive error) RX_ER 同步于 RX_CLK ,其在 RX 通道中的作用类似于 TX_ER 对于 TX 通道数据传输的影响。
  
  9
<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 。即半双工模式信号有效,全双工模式信号无效。
  
  10
1.4 MII的管理MDIO接口
MDIO 接口包括两根信号线: MDC MDIO ,通过它, MAC 层芯片(或其它控制芯片)可以访问物理层芯片的寄存器(前面 100M 物理层芯片中介绍的寄存器组,但不仅限于 100M 物理层芯片, 10M 物理层芯片也可以拥有这些寄存器),并通过这些寄存器来对物理层芯片进行控制和管理。 MDIO 管理接口如下:
MDC :管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为 400ns ,最小正电平时间和负电平时间为 160ns ,最大的正负电平时间无限制。它与 TX_CLK RX_CLK 无任何关系。
MDIO 是一根双向的数据线。用来传送 MAC 层的控制信息和物理层的状态信息。 MDIO 数据与 MDC 时钟同步,在 MDC 上升沿有效。 MDIO 管理接口的数据帧结构如:
 
  11 MDIO 管理接口的数据帧结构
帧结构各域的含义如下:
PRE :帧前缀域,为 32 个连续“ 1 比特,这帧前缀域不是必要的,某些物理层芯片的 MDIO 操作就没有这个域。
ST :帧开始标志,出现“ 01 比特表示帧设计开始。
OP :帧操作码,比特“ 10 表示此帧为一读操作帧,比特“ 01 表示此帧为一写操作帧。
PHYAD :物理层芯片的地址, 5 个比特,每个芯片都把自己的地址与这 5 个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。
REGAD :用来选择物理层芯片的 32 个寄存器中的某个寄存器的地址。
TA :状态转换域,若为读操作,则第一比特时 MDIO 为高阻态,第二比特时由物理层芯片使 MDIO 置“ 0 。若为写操作,则 MDIO 仍由 MAC 层芯片控制,其连续输出“ 10 两个比特。
DATA :帧的寄存器的数据域, 16 比特,若为读操作,则为物理层送到 MAC 层的数据,若为写操作,则为 MAC 层送到物理层的数据。
IDLE :帧结束后的空闲状态,此时 MDIO 无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平, MDIO 引脚需要上拉电阻
MDIO 数据帧的时序关系如下:
  
12 MDIO 数据帧的时序关系
MII 接口也有一些不足之处,主要是其接口信号线很多,发送和接收和指示接口有 14 根数据线 ( 不包括 MDIO 接口的信号线,因为其被所有 MII 接口所共享 ) ,当交换芯片的端口数据较多时,会造成芯片的管脚数目很多的问题,这给芯片的设计和单板的设计都带来了一定的问题。为了解决这些问题,人们设计了两种新的 MII 接口,它们是 RMII 接口 ( Reduced MII 接口 ) SMII 接口 ( StreamMII 接口 )
这两种接口都减少了 MII 接口的数据线,不过它们一般只用在以太网交换机的交
MAC 芯片和多口物理层芯片中,而很少用于单口的 MAC 层芯片和物理层芯片中。 RMII 接口和 SMII 接口都可以用于 10M 以太网和 100M 以太网,但不可能用于 1000M 以太网,因为此时时钟频率太高,不可能实现。
下面这张图是从DM365的datasheet上的。

你可能感兴趣的:(职场,休闲,mii)