当前位置:首页 >> 计算机硬件及网络 >>

以太网PHY芯片之MII


以太网 PHY 芯片之 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 位。? 提到 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 的 Management?Interface 是与 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_CLK?reference)来驱动 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? Start? Frame? 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_ER?signal?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?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。即半双工模式信号有效,全双工模式信号无效。?

? 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.? ?


赞助商链接
相关文章:
更多相关文章: