您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页以太网PHY芯片之MIIMDIO接口详解

以太网PHY芯片之MIIMDIO接口详解

来源:百家汽车网
以太⽹PHY芯⽚之MIIMDIO接⼝详解

本⽂主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接⼝的信号定义,及相关知识,同时本⽂也对RJ-45接⼝进⾏了总结,分析了在10/100模式下和1000M模式下的设计⽅法。

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

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

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

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

前⾯已经讲过RS与PLS的关系,以及MII接⼝连接的对象。它们是通过MII接⼝进⾏连接的,⽰意图如下图。由图可知,MII的ManagementInterface是与STA(Station Management)相连的。

接⼝⽀持10Mb/s以及100Mb/s,且在两种⼯作模式下所有的功能以及时序关系都是⼀致的,唯⼀不同的是时钟的频率问题。802.3要求PHY不⼀定⼀定要⽀持这两种速率,但⼀定要描述,通过Management Interface反馈给MAC。

下⾯将详细介绍MII接⼝的信号定义,时序特性等。由于MII接⼝有MAC和PHY模式,因此,将会根据这两种不同的模式进⾏分析,同时还会对RMII/SMII进⾏介绍。

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模式定义:

在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 nsSpec只对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 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_CLKreference)来驱动RX_CLK

<3>:TXD (transmit data),TXD由RS驱动,同步于TX_CLK,在TX_CLK的时钟周期内,并且TX_EN有效,TXD上的数据被PHY接收,否则TXD的数据对PHY没有任何影响。

<4>:TX_ER (transmit coding error),TX_ER同步于TX_CLK,在数据传输过程中,如果TX_ER有效超过⼀个时钟周期,并且此时

TX_ENTX_ER有效并不影响⼯作在 10Mb/s的PHY或者TX_EN⽆效时的数据传输。在MII接⼝的连线中,如果TX_ER信号线没有⽤到,必须将它下拉接地。

<5>:RX_DV (Receive Data Valid),RXD_DV同步于RX_CLK,被PHY驱动,它的作⽤如同于发送通道中的TX_EN,不同的是在时序上稍有⼀点差别:为了让数据能够成 功被RS接收,要求RXD_DV有效的时间必须覆盖整个FRAME的过程,即starting no later than the StartFrame Delimiter (SFD) and excluding any End-of-Frame delimiter,如下图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_ERsignal while driving the value <1110> onto RXD<3:0>。

<7>:RX_ER (receive error),RX_ER同步于RX_CLK,其在RX通道中的作⽤类似于TX_ER对于TX通道数据传输的影响。

<8>:CRS (carrier sense),CRS不需要同步于参考时钟,只要通道存在发送或者接收过程,CRS就需要有效。The behavior of the CRSsignal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(⾃动协商禁⽌,⼈⼯设为全双⼯模式), or whenthe 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.8in the control register is set to a logic one(⾃动协商禁⽌,⼈⼯设为全双⼯模式), or when the Auto-Negotiation process selects a fullduplex mode of operation。即半双⼯模式信号有效,全双⼯模式信号⽆效。

MDIO接⼝包括两根信号线:MDC和MDIO,通过它,MAC层芯⽚(或其它控制芯⽚)可以访问物理层芯⽚的寄存器(前⾯100M物理层芯⽚中介 绍的寄存器组,但不仅限于100M物理层芯⽚,10M物理层芯⽚也可以拥有这些寄存器),并通过这些寄存器来对物理层芯⽚进⾏控制和管理。MDIO管理接⼝如下:

MDC:管理接⼝的时钟,它是⼀个⾮周期信号,信号的最⼩周期(实际是正电平时间和负电平时间之和)为400ns,最⼩正电平时间和负电平时间为160ns,最⼤的正负电平时间⽆。它与TX_CLK和RX_CLK⽆任何关系。

MDIO是⼀根双向的数据线。⽤来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。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接⼝也有⼀些不⾜之处,主要是其接⼝信号线很多,发送和接收和指⽰接⼝有14根数据线(不包括MDIO接⼝的信号线,因为其被所有MII接⼝ 所共享),当交换芯⽚的端⼝数据较多时,会造成芯⽚的管脚数⽬很多的问题,这给芯⽚的设计和单板的设计都带来了⼀定的问题。为了解决这些问题,⼈们设计了 两种新的MII接⼝,它们是RMII接⼝(Reduced MII接⼝)和SMII接⼝(StreamMII接⼝)。

这两种接⼝都减少了MII接⼝的数据线,不过它们⼀般只⽤在以太⽹交换机的交换MAC芯⽚和多⼝物理层芯⽚中,⽽很少⽤于单⼝的MAC层芯⽚和物理 层芯⽚中。RMII接⼝和SMII接⼝都可以⽤于10M以太⽹和100M以太⽹,但不可能⽤于1000M以太⽹,因为此时时钟频率太⾼,不可能实现。

【转⾃】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.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务