MAC与PHY的连接 —— MII 介绍:MII, RMII, GMII, RGMII, SGMII, XSGMII, QSGMII
MII 本质上是硬件接口(Hardware Interfaces)规范,是以太网物理层(PHY)与介质访问控制层(MAC)之间的标准通信接口。
1. 它们位于硬件架构的哪里?
一个完整的以太网端口(比如你电脑上的网线接口)在主板上通常由三大部分组成:
- MAC(Media Access Control,介质访问控制):
- 角色:数字逻辑大脑。负责处理以太网数据帧(Frame)的封装/解封装、CRC 校验、MAC 地址识别等。
- 位置:通常被集成在主控芯片内部(例如手机/路由器的 ARM SoC SoC、电脑的 CPU/南桥、MCU 单片机内部)。
- PHY(Physical Layer Transceiver,物理层收发器):
- 角色:模数转换桥梁。负责将 MAC 传来的数字信号,转换成可以在网线(双绞线、光纤)上传输的模拟信号(电信号或光信号),反之亦然。
- 位置:通常是主板上独立的一颗小芯片(例如常见的 Realtek 8211、Broadcom 的 PHY 芯片),或者被集成在网卡芯片中。
- 磁性元件(Magnetics/网络变压器)与 RJ45 接口:
- 角色:信号隔离、抗干扰、连接物理网线。
MII 家族的作用: MII、RMII、RGMII 等接口,就是连接上述 MAC 芯片和 PHY 芯片之间的那座“桥梁”。它们规定了 MAC 和 PHY 之间用几根线连接、时钟频率是多少、时序是如何规定的,以此来传递以太网的数字数据。
2. 它们具体用在哪些场景?
因为这些接口的区别主要在于支持的网速和占用的引脚数量,所以在不同的硬件产品中,工程师会根据需求选择不同的接口:
场景 A:低速、低成本、小型化设备(10/100 Mbps)
- 适用接口:RMII (Reduced MII)
- 典型设备:
- 物联网(IoT)设备:智能家居网关、工业传感器节点。
- 单片机(MCU)板卡:使用 STM32 等微控制器开发的带网口的控制板。因为单片机引脚有限,7根线的 RMII 是最优选。
- 服务器 BMC:服务器主板上用于远程管理的独立小网口,通常不需要高速,稳定最重要。
场景 B:主流消费电子与商用设备(1 Gbps)
- 适用接口:RGMII (Reduced Gigabit MII)
- 典型设备:
- 家用路由器:绝大多数 Wi-Fi 5 / Wi-Fi 6 路由器的千兆 LAN/WAN 口,主控芯片(如博通、联发科 SoC)与外部 PHY 芯片之间普遍采用 RGMII。
- 电视机顶盒、智能电视:背后的那个千兆有线网口。
- 工业电脑 / 树莓派:树莓派的千兆网口在硬件层面也是通过 RGMII 连接的。
场景 C:复杂布线、跨板连接、高密设备(1 Gbps)
- 适用接口:SGMII (Serial Gigabit MII)
- 典型设备:
- 模块化设备:当主控板和网口板不在同一块 PCB 上,需要通过排线或背板连接时,并行的 RGMII 信号很容易失真,此时改走串行差分线的 SGMII 能保证信号完整性。
- 光端机 / SFP 光模块:SGMII 常用于连接 SFP 光模块的控制器。
- 高性能 FPGA 板卡:FPGA 经常使用 SGMII 收发器来处理高速网络数据。
场景 D:企业级网络设备、多口交换机(多口千兆或万兆)
- 适用接口:QSGMII, XSGMII
- 典型设备:
- 企业级以太网交换机:比如一个 24 口或 48 口的千兆交换机,如果每个口都用 RGMII 连接交换芯片,引脚数量是灾难性的。使用 QSGMII,主交换芯片只需引出 6 组 QSGMII 链路(每组 4 根差分线),就能连接 6 个外围的“1拖4 PHY 芯片”,从而实现 24 个千兆网口,极大简化了主板设计。
- 万兆路由器 / 防火墙:XSGMII 用于处理 10G 光口(SFP+)或用于更高密度的端口聚合。
3. MII 表格对比
| 接口名称 | 全称 | 目标速率 | 数据总线形态 | 关键时钟频率/波特率 | 引脚数 (评估值) | 核心特点与典型应用场景 |
|---|---|---|---|---|---|---|
| MII | Media Independent Interface | 10/100 Mbps | 4-bit 并行 (TX/RX各自独立) |
25 MHz | ~16 | 早期百兆标准。引脚数量较多,走线占用空间大,在现代紧凑型硬件设计中已较少使用。 |
| RMII | Reduced MII | 10/100 Mbps | 2-bit 并行 (TX/RX各自独立) |
50 MHz (TX/RX共用时钟) |
~7 | 百兆接口主流。用翻倍的时钟频率换取引脚减半。广泛用于微控制器(MCU)、物联网设备以及服务器BMC的带外管理网口。 |
| GMII | Gigabit MII | 1 Gbps | 8-bit 并行 (TX/RX各自独立) |
125 MHz | ~24 | 早期千兆标准。引脚数极为庞大,在现代高密度PCB上布线和做信号等长约束极其困难,基本已被RGMII替代。 |
| RGMII | Reduced Gigabit MII | 1 Gbps | 4-bit 并行 (DDR 双边沿采样) |
125 MHz | ~12 | 单口千兆绝对主力。利用时钟的上升沿和下降沿同时传输数据,在保持125MHz时钟下将引脚砍半。ARM SoC 最常用的原生千兆 MAC 接口。 |
| SGMII | Serial Gigabit MII | 1 Gbps | 串行 SerDes (1对TX, 1对RX差分线) |
1.25 Gbps (含8b/10b编码开销) |
4 - 6 | 解决复杂布线。将并行数据序列化走高速差分线。抗干扰能力强,适合 MAC 与 PHY 距离较长、跨板连接或需要节省引脚的场景。 |
| QSGMII | Quad SGMII | 4 × 1 Gbps | 串行 SerDes (1对TX, 1对RX差分线) |
5 Gbps | 4 - 6 | 多口汇聚。通过时分复用(TDM)将4个独立的千兆网口数据打包进一条物理链路。极大简化多网口工控机或小型交换机的走线。 |
| XSGMII | 10-Gigabit / Octal SGMII | 1 × 10 Gbps 8 × 1 Gbps |
串行 SerDes (1对TX, 1对RX差分线) |
10 Gbps | 4 - 6 | 万兆或高密汇聚。既可作为单口万兆(10G)链路,也可作为八通道千兆(Octal-SGMII)复用链路。常用于高性能网络交换芯片和企业级路由设备。 |
留下评论