了解以太网 PHY 的各种 MII 接口。
目录
一. 数据接口 MII
1.1 MII
MII 介质独立接口提供 PHY 和 MAC 之间数据的一个访问接口,支持10BASE-Te 和 100BASE-TX 协议。下图以 microchip 的 KSZ8051 为例展示了 MII相关信号。
发送侧TX:
TXC:由 PHY 提供给 MAC 的参考时钟,10Mbps 下是 2.5MHz,100Mbps 下是 25MHz,作为 TXEN 和 4bit TXD 的采样参考时钟。TXEN 为高时标志着 MAC 侧准备发送数据。为低时 PHY 侧忽略TXD 上的数据。
接收侧RX:
RXC:由 PHY 提供给 MAC,作为 RXDV 和 4bit RXD 的采样参考时钟。在 10Mbps 下,当 CRS有效时,RXC 由 RXD 恢复出来,当线路处于 Idle 或者 Link down 时,RXC 由 PHY 的参考时钟提供。是 2.5MHz,100Mbps 下是 25MHz,作为 TXEN 和 4bit TXD 的采样参考时钟。RXDV 为高时标志着 PHY 侧准备发送数据。为低时 PHY 侧忽略TXD 上的数据。
状态信号:
CRS:在 10Mbps 下,当检测到数据帧的前导码 preamble 有效时 PHY侧输出 CRS 为高,检测到数据帧的结束标志 EOL 时,CRS 为低。在 100Mbps 下,当检测到数据帧的起始标志或者 J/K 码时 CRS 为高,检测到数据帧的结束标志或者 T/R 码时,CRS 为低,另外 PMA 子层检测到 Idle 没有 T/R 码时置 CRS 为低。
COL:在器件处于半双工模式时,当发送 TX 和接收 RX 同时在线路上操作数据时,PHY 侧输出COL 信号给 MAC 指示链路上信号发生碰撞。
当链路两端都是全双工时,收发信号链路相互独立,RX 通道不检测,TX 通道一直允许发送,不会产生 collision;当链路一端是全双工,另一端是半双工时,半双工侧设备的 RX 通道一直检测链路上有无数据,当全双工侧 TX 通道一直发送时,半双工侧的 TX 处于待机状态。
PHY 和 MAC 间的MII信号连接:
1.2 RMII
RMII 接口下,TXD 和 RXD 由 4bit 位宽变为 2bit 位宽,参考时钟为 50MHz。
PHY 和 MAC 的 RMII 信号在 25M 时钟和 50M 时钟的连接
1.3 GMII
TXD 8bit 数据,TXEN、TXER 同步于 GTXCLK(125MHz,千兆速率下由 MAC 到 PHY),兼容10M 和 100M,10M 和 100M 速率下使用 TXCLK 分别是 2.5MHz 和 25MHz(由 PHY 到 MAC)。
RXD 8bit 数据,RXDV、RXER 同步于 RXCLK(由 PHY 到 MAC 的数据恢复出的 CLK),兼容10M 和 100M,10M 和 100M 速率下使用 TXCLK 分别是 2.5MHz 和 25MHz(由 PHY 到 MAC)。
1.4 RGMII
TXD 4bit 数据,TXCTL 在 GTXCLK(125MHz,千兆速率下由 MAC 到 PHY) 的上升沿和下降沿采样的数据分别表示 TXEN 和 TXER。RGMII 模式下数据双沿采样。低4位在上升沿采样高4为在下降沿采样。
RGMII 兼容10M 和 100M,10M 和 100M 速率下使用 TXCLK 分别是 2.5MHz 和 25MHz(由 MAC产生)。在接收数据期间,RGMII的RXCLK会在时钟脉冲上进行延展来适应数据的发送时钟。
RXD 4bit 数据,RXCTL 在 RXCLK (125MHz,千兆速率下由 PHY 到 MAC)的上升沿和下降沿采样的数据分别表示 RXDV 和 RXER。RXCLK 为125MHz,双沿采样。
1.5 SGMII
信号包括发送 TXP/N(1.25G,从 MAC 到 PHY),接收 RXP/N(1.25G,从 PHY 到 MAC)4 根数据线,6 线多了一组 CLK 差分信号(625MHz,从 PHY 到 MAC)。物理连接上交流耦合,信号接收端注意 100 欧姆端接电阻。SGMII 采用 8B10B 编码,增加的 2bit 数据是控制信号,RXDV和 RXER、TXER 和 TXEN 编入 8bit 数据中构成 10bit。
SGMII 支持速率自适应,兼容 10M 和 100M。
SGMII 本身不支持自协商,其速率为1.25G 和双工模式,协商是指 PHY 和远端 PHY 子协商的结果需要通知到 MAC,MAC 确认后通知 PHY 自已按照PHY的格式解析数据。
SGMII 实现:在 MAC 侧增加了一个 PCS 子层,MAC 和 PHY 各有一个 PCS 子层,对于 MAC 来说,数据经过 TX 的 PCS 处理后送给 PHY,PHY 内部 RX 处理后经过速率自适应送到 MDI 接口。
1.6 Serdes
Serdes接口和SGMII在物理上是通用的,速率是1000Mbps,不支持速率自适应。
二. 管理接口 MDIO
MII 管理接口允许上层设备 MAC 通过 MDIO 访问 PHY 内部的寄存器来获取 PHY 的状态或者对PHY 进行配置,物理连接上包括 MDC 和 MDIO 信号线。MDIO 包括16个 reg,0-8是由 802.3协议规定,其余的由厂商自定义。MDIO上数据格式如下:
MDC由MAC提供,MDIO为双向数据IO,属于OD,外部要接上拉。
三. 参考资料
1. KSZ8051MNL/RNL - datasheet
2. VSC8211 - datasheet
3. DP83867IR- datasheet
4. DP83867CS - datasheet