[转载]MII/MDIO接口详解

原文地址:MII/MDIO接口详解 做者:心田麦浪
本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法。

MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。html

提到MII,就有可能涉及到RS,PLS,STA等名词术语,下面讲一下他们之间对应的关系。ide

所谓RS即Reconciliation sublayer,它的主要功能主要是提供一种MII和MAC/PLS之间的信号映射机制。它们(RS与MII)之间的关系以下图:ui

[转载]MII/MDIO接口详解

MII接口的Management Interface可同时控制多个PHY,802.3协议最多支持32个PHY,但有必定的限制:要符合协议要求的connector特性。所谓Management Interface,即MDC信号和MDIO信号。url

前面已经讲过RS与PLS的关系,以及MII接口链接的对象。它们是经过MII接口进行链接的,示意图以下图。由图可知,MII的Management Interface是与STA(Station Management)相连的。spa

接口支持10Mb/s以及100Mb/s,且在两种工做模式下全部的功能以及时序关系都是一致的,惟一不一样的是时钟的频率问题。802.3要求PHY不必定必定要支持这两种速率,但必定要描述,经过Management Interface反馈给MAC。设计

[转载]MII/MDIO接口详解

下面将详细介绍MII接口的信号定义,时序特性等。因为MII接口有MAC和PHY模式,所以,将会根据这两种不一样的模式进行分析,同时还会对RMII/SMII进行介绍。3d

MII接口可分为MAC模式和PHY模式,通常说来MAC和PHY对接,可是MAC和MAC也是能够对接的。htm

之前的10M的MAC层芯片和物理层芯片之间传送数据是经过一根数据线来进行的,其时钟是10M,在100M中,若是也用一根数据线来传送的话,时 钟须要100M,这会带来一些问题,因此定义了MII接口,它是用4根数据线来传送数据的,这样在传送100M数据时,时钟就会由100M下降为25M, 而在传送10M数据时,时钟会下降到2.5M,这样就实现了10M和100M的兼容。对象

MII接口主要包括四个部分。一是从MAC层到物理层的发送数据接口,二是从物理层到MAC层的接收数据接口,三是从物理层到MAC层的状态指示信号,四是MAC层和物理层之间传送控制和状态信息的MDIO接口。blog

MII接口的MAC模式定义:

[转载]MII/MDIO接口详解

MII接口PHY模式定义:

[转载]MII/MDIO接口详解

在MII接口中,TX通道参考时钟是TX_CLK,RX通道参考时钟是RX_CLK,802.3-2005定义了它们之间的关系。

[转载]MII/MDIO接口详解

图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这一侧的发送特性做了定义,而对TX通道PHY那一侧的接收特性并无定义。IC Vendor可在TX通道那一侧的PHY的接收特性做适当调整,只要最终的时序知足TX通道上MAC这一侧的发送特性就能够。

[转载]MII/MDIO接口详解

图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这一侧的接收特性做了定义,而对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没有任何影响。

[转载]MII/MDIO接口详解

<4>:TX_ER (transmit coding error),TX_ER同步于TX_CLK,在数据传输过程当中,若是TX_ER有效超过一个时钟周期,而且此时TX_ENTX_ER有效并不影响工做在 10Mb/s的PHY或者TX_EN无效时的数据传输。在MII接口的连线中,若是TX_ER信号线没有用到,必须将它下拉接地。

[转载]MII/MDIO接口详解

<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。

[转载]MII/MDIO接口详解

<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通道数据传输的影响。

[转载]MII/MDIO接口详解

<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。即半双工模式信号有效,全双工模式信号无效。

[转载]MII/MDIO接口详解

MDIO接口包括两根信号线:MDC和MDIO,经过它,MAC层芯片(或其它控制芯片)能够访问物理层芯片的寄存器(前面100M物理层芯片中介 绍的寄存器组,但不只限于100M物理层芯片,10M物理层芯片也能够拥有这些寄存器),并经过这些寄存器来对物理层芯片进行控制和管理。MDIO管理接口以下:

MDC:管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为400ns,最小正电平时间和负电平时间为160ns,最大的正负电平时间无限制。它与TX_CLK和RX_CLK无任何关系。

MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。MDIO管理接口的数据帧结构如:

[转载]MII/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/MDIO接口详解

[转载]MII/MDIO接口详解

MII接口也有一些不足之处,主要是其接口信号线不少,发送和接收和指示接口有14根数据线(不包括MDIO接口的信号线,由于其被全部MII接口 所共享),当交换芯片的端口数据较多时,会形成芯片的管脚数目不少的问题,这给芯片的设计和单板的设计都带来了必定的问题。为了解决这些问题,人们设计了 两种新的MII接口,它们是RMII接口(Reduced MII接口)和SMII接口(StreamMII接口)。

这两种接口都减小了MII接口的数据线,不过它们通常只用在以太网交换机的交换MAC芯片和多口物理层芯片中,而不多用于单口的MAC层芯片和物理 层芯片中。RMII接口和SMII接口均可以用于10M以太网和100M以太网,但不可能用于1000M以太网,由于此时时钟频率过高,不可能实现。

[转载]MII/MDIO接口详解
【转自】http://dpinglee.blog.163.com/blog/static/144097753201041131115262 /

关于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.
相关文章
相关标签/搜索