MII 接口

本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。

MII 接口

概述

MII(Media Independent Interface)即媒体独立接口,MII 接口是 MAC 与 PHY 连接的标准接口。

它是 IEEE-802.3 定义的以太网行业标准。MII 接口提供了 MAC 与 PHY 之间、PHY 与 STA(Station Management)之间的互联技术,该接口支持 10Mb/s 与 100Mb/s 的数据传输速率,数据传输的位宽为 4 位。MII 需要 16 根通信线(RMII只需要7根通信线),不包括站管理接口

MII 接口如下图所示:
在这里插入图片描述

媒体独立表明在不对 MAC 硬件重新设计或替换的情况下,任何类型的 PHY 设备都可以正常工作。802.3 协议最多支持 32 个 PHY,但有一定的限制:要符合协议要求的 connector 特性。此外,提到 MII,就有可能涉及到 RS,PLS,STA 等名词术语,下面讲一下他们之间对应的关系。

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

在这里插入图片描述

引脚定义

在这里插入图片描述

TX 相关引脚

  • TX_ER(transmit coding error): TX_ER 同步于 TX_CLK,在数据传输过程中,如果 TX_ER 有效超过一个时钟周期,并且此时TX_EN 是有效的,则数据通道中传输的数据是无效的,没用的。注:当 TX_ER 有效并不影响工作在 10Mb/s 的 PHY 或者 TX_EN 无效时的数据传输。在 MII 接口的连线中,如果 TX_ER 信号线没有用到,必须将它下拉接地。
  • TXD<3:0>(transmit data): TXD 由 RS 驱动,同步于 TX_CLK,在 TX_CLK 的时钟周期内,并且TX_EN 有效,TXD 上的数据被 PHY 接收,否则 TXD 的数据对 PHY 没有任何影响。
  • TX_EN: 发送使能。TX_EN 由 Reconciliation 子层根据 TX_CLK 上升沿同步进行转换。
  • TX_CLK(transmit clock): TX_CLK (Transmit Clock) 是一个连续的时钟信号(即系统启动,该信号就一直存在),它是 TX_EN、TXD、TX_ER(信号方向为从 RS 到 PHY)的参考时钟,TX_CLK 由 PHY 驱动 TX_CLK 的时钟频率是数据传输速率的 25%,偏差 ±100ppm。例如,100Mb/s 模式下,TX_CLK 时钟频率为 25MHz,占空比在 35% 至 65% 之间。

RX 相关引脚

  • RX_ER(receive error): RX_ER 同步于 RX_CLK,其在 RX 通道中的作用类似于 TX_ER 对于 TX 通道数据传输的影响。
  • RXD<3:0>(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>。
  • 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。MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。
  • RX_CLK: 它与 TX_CLK 具有相同的要求,所不同的是它是 RX_DV、RXD、RX_ER(信号方向是从 PHY 到 RS)的参考时钟。RX_CLK 同样是由 PHY 驱动,PHY 可能从接收到的数据中提取时钟 RX_CLK,也有可能从一个名义上的参考时钟(e.g., the TX_CLK reference)来驱动RX_CLK。

冲突检测相关引脚

  • COL(collision detected): COL 不需要同步于参考时钟。The behavior of the COL signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半双工模式信号有效,全双工模式信号无效。
  • CRS(carrier sense): CRS 不需要同步于参考时钟,只要通道存在发送或者接收过程,CRS 就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半双工模式信号有效,全双工模式信号无效。

MII 管理接口

是个双信号接口,通过管理接口,MAC 就能监视和控制 PHY。其管理是使用 SMI(Serial Management Interface) 总线通过读写 PHY 的寄存器来完成的。一个是时钟信号MDC (management data clock)。另一个是数据信号MDIO (management data input/output)

  • MDC: 由站管理实体向 PHY 提供,作为在 MDIO 信号上传送信息的定时参考。MDC 是一种非周期性的信号,没有最高或最低时间。无论 TX_CLK 和 RX_CLK 的标称周期如何,MDC 的最小高低时间应为 160 ns,MDC 的最小周期为 400 ns。
  • MDIO: 是 PHY 和 STA 之间的双向信号。它用于在 PHY 和 STA 之间传输控制信息和状态。控制信息由 STA 同步地针对 MDC 驱动并且由 PHY 同步地采样。状态信息由 PHY 针对 MDC 同步驱动并由 STA 同步采样。

MII 接口的 MAC 模式定义

在这里插入图片描述

MII 接口的 PHY 模式定义

在这里插入图片描述

MAC 与 PHY

PHY 里面的部分寄存器是 IEEE 定义的,这样PHY把自己的目前的状态反映到寄存器里面。

MAC 通过 SMI 总线不断的读取PHY 的状态寄存器以得知目前 PHY 的状态。例如连接速度、双工的能力等。

当然也可以通过 SMI 设置 PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。

不论是物理连接的MII总线和 SMI 总线,还是 PHY 的状态寄存器和控制寄存器都是由IEEE的规范的。因此不同公司的 MAC 和 PHY 一样可以协调工作。当然为了配合不同公司的 PHY 的自己特有的一些功能,驱动需要做相应的修改。

MII 支持 10Mbps 和 100Mbps 的操作,一个接口由 14 根线组成,它的支持还是比较灵活的。

但是有一个缺点是因为它一个端口用的信号线太多,如果一个 8 端口的交换机要用到 112 根线,16 端口就要用到 224 根线,到 32 端口的话就要用到 448 根线。

一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从 MII 简化出来的标准,比如 RMII、SMII、GMII等。

参考

  • https://mp.weixin.qq.com/s/N3rpEI9kC6qLu0djjhevzA
  • IEEE 802.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyustli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值