3. PHY芯片核心概念
以太网PHY芯片位于MAC控制器与物理传输介质之间,承担着将数字逻辑信号转换为适合线缆/光纤传输的物理信号,以及反向转换的核心任务。要深入理解PHY芯片的硬件设计、调试与选型,首先必须厘清其内部功能分层与外部接口术语。IEEE 802.3协议族将PHY内部划分为PCS、PMA、PMD等子层,同时定义了MAC与PHY之间的MII系列接口,以及PHY与介质之间的MDI接口。这些术语不仅是数据手册中的高频词汇,更是硬件原理图设计、信号完整性分析、驱动调试和故障定位的基石。本章将系统拆解这些关键概念,并结合实际工程场景说明其应用与注意事项。
上图展示了PHY芯片在以太网硬件系统中的完整位置与内部功能划分。从MAC向下看,首先经过MII接口进入PHY的数字侧,随后依次经过PCS、PMA、PMD三个子层,最终通过MDI连接到物理介质。理解这条链路,是进行PHY外围电路设计、信号测试和问题定位的基础。
3.1 核心子层功能拆解:PCS、PMA、PMD
3.1.1 核心原理:各子层的职责边界
IEEE 802.3标准将PHY内部逻辑划分为三个主要子层,每个子层处理不同粒度的信号转换任务:
- PCS(Physical Coding Sublayer,物理编码子层):负责数字域的编码与解码。对于千兆以太网(1000BASE-X),PCS执行8B/10B编码,将8位数据转换为10位码字以保证DC平衡和足够的跳变密度;对于百兆以太网(100BASE-TX),则采用4B/5B编码并附加MLT-3电平转换前的扰码。PCS还负责自动协商(Auto-Negotiation)功能,使链路双方能够协商出最佳工作模式(速率、双工模式、流控)。
- PMA(Physical Medium Attachment,物理介质附加子层):主要完成并行数据与串行数据之间的转换。发送方向,PMA将PCS传来的并行码字通过并串转换器(Serializer)变为高速串行比特流;接收方向,则通过串并转换器(Deserializer)将串行数据恢复为并行数据。PMA还包含时钟恢复(CDR)电路,从接收数据流中提取时钟,以及发送端的预加重(Pre-emphasis)和接收端的均衡(Equalization)电路,用于补偿高频损耗。
- PMD(Physical Medium Dependent,物理介质相关子层):直接与传输介质打交道。对于铜缆双绞线,PMD负责将PMA送来的串行信号转换为适合线缆传输的物理电平(如100BASE-TX的MLT-3电平,1000BASE-T的PAM-5电平),并驱动变压器耦合到RJ45接口;对于光纤,PMD则驱动激光器或LED,以及接收光电二极管信号。PMD的性能直接决定了信号能传输多远的距离以及抗干扰能力。
3.1.2 判断方法:如何从数据手册识别子层功能
在实际选型与电路设计时,可以通过以下方式快速判断芯片的子层实现特点:
- 查看数据手册中的功能框图(Functional Block Diagram),确认PCS是否支持8B/10B或64B/66B编码,这决定了芯片支持的速率等级(如千兆还是万兆)。
- 关注PMA是否集成CDR,对于SGMII接口的PHY,CDR是必须的;对于RGMII接口,时钟由MAC或PHY提供,CDR可能不涉及。
- PMD部分重点看其支持的介质类型:是铜缆(需外接变压器)还是光纤(需外接光模块),以及是否支持Auto-MDIX(自动交叉检测)。
3.1.3 案例拆解:千兆PHY(如RTL8211F)的子层工作流程
以常见的千兆PHY芯片RTL8211F为例,其内部子层协作流程如下:
| 方向 | 子层 | 具体操作 | 关键参数/信号 |
|---|---|---|---|
| 发送 | PCS | 将MAC送来的GMII/RGMII数据(8位)进行8B/10B编码,并插入控制字符 | TXD[7:0], TX_EN, GTXCLK |
| 发送 | PMA | 将10位并行码字并串转换为1.25Gbps串行流,并进行预加重 | 1.25Gbps差分信号 |
| 发送 | PMD | 将串行流转换为PAM-5电平(4对线),驱动变压器 | MDI_P[0:3], MDI_N[0:3] |
| 接收 | PMD | 从线缆接收PAM-5信号,进行ADC采样和回声消除 | MDI差分对 |
| 接收 | PMA | CDR恢复时钟,串并转换,均衡 | 恢复时钟125MHz |
| 接收 | PCS | 10B/8B解码,去除控制字符,恢复数据与状态信号 | RXD[7:0], RX_DV, RXC |
该流程表明,任何一层的异常(如PCS编码错误、PMA时钟抖动过大、PMD信号幅度不足)都会导致链路不通或误码率升高。
3.1.4 常见误区与复盘
3.2 MII接口家族:GMII、RGMII、SGMII的选型与设计
3.2.1 核心原理:不同接口的引脚定义与时序
MII(Media Independent Interface)是MAC与PHY之间的标准数字接口,其设计目标是让MAC能够独立于物理介质。随着速率提升,MII衍生出多种变体:
- GMII(Gigabit MII):8位数据总线,发送时钟GTXCLK为125MHz,DDR(双沿)采样。需要24根信号线(TXD[7:0]、RXD[7:0]、TX_EN、TX_ER、RX_DV、RX_ER、GTXCLK、RXCLK等)。优点是时序简单,缺点是引脚多,占用PCB面积大。
- RGMII(Reduced GMII):将数据线减半为4位,时钟仍为125MHz,但采用DDR方式在时钟上升沿和下降沿各采样4位数据,从而保持1Gbps吞吐率。总共约12根信号线。RGMII是目前最主流的并行接口,但需要严格控制PCB走线等长,因为数据与时钟的建立/保持时间窗口很小(约1ns)。
- SGMII(Serial GMII):采用1对差分线(SerDes)以1.25Gbps速率串行传输,内部嵌入时钟和数据。引脚极少(仅2对差分线),抗干扰能力强,适合高速背板或连接器场景。但PHY内部必须集成PMA的CDR和并串转换,且MAC侧也需要支持SGMII的SerDes接口。
3.2.2 判断方法:如何选择MII接口类型
选择哪种接口,取决于MAC的能力、PCB布局空间、成本以及信号完整性要求:
| 接口类型 | 引脚数 | 最高速率 | 适用场景 | 设计难度 |
|---|---|---|---|---|
| MII | 16 | 100Mbps | 低端MCU、低速控制 | 低 |
| GMII | 24 | 1000Mbps | FPGA、高端处理器(较少用) | 中(布线空间大) |
| RGMII | 12 | 1000Mbps | 主流SoC、嵌入式MPU | 中高(需等长控制) |
| SGMII | 4(2对差分) | 1000Mbps | 交换机、路由器、背板互连 | 高(需SerDes设计经验) |
3.2.3 案例拆解:RGMII接口的PCB设计要点
某工业控制板卡采用i.MX6ULL处理器(MAC)与KSZ8081 PHY通过RGMII连接。初始设计时,PCB走线未做等长控制,导致千兆链路协商失败,百兆正常。分析过程如下:
- 现象:PHY link up为100Mbps,但强制配置为1000Mbps时link down。
- 排查:使用示波器测量RGMII的TX_CLK与TXD[3:0]信号,发现数据线与时钟线长度差约1.5英寸(约190ps延迟差),而RGMII规范要求数据与时钟延迟差小于0.5ns。
- 解决:在PCB上对TXD[3:0]和RXD[3:0]走线进行蛇形绕线补偿,使组内等长控制在±50mil以内,同时确保TX_CLK与RX_CLK相对数据线延迟差在±100mil。
- 结果:修改后重新打样,千兆链路稳定建立,iperf吞吐量达到940Mbps。
3.2.4 常见误区与总结
- 误区一:认为SGMII一定比RGMII好。实际上,SGMII需要MAC侧支持SerDes,且会增加PHY的功耗和延迟(额外的并串转换)。
- 误区二:忽略RGMII的时钟相位。RGMII有两种模式:一种由MAC提供GTX_CLK,另一种由PHY提供RX_CLK。必须确认芯片手册中的时钟方向,否则采样时序会完全错误。
- 误区三:将GMII的8位数据线直接连接到RGMII的4位数据线,导致高位数据丢失。两者引脚定义完全不同,不能直接兼容。
3.3 MDI接口与物理介质连接
3.3.1 核心原理:MDI的电气特性与变压器
MDI(Medium Dependent Interface)是PHY的PMD层与传输介质之间的连接点。对于铜缆以太网,MDI通常指RJ45插座前的差分信号对。PHY的MDI引脚输出的是高速差分信号,必须通过磁性变压器(Ethernet Transformer)耦合到RJ45,变压器的作用包括:
- 电气隔离:隔离PHY芯片与外部线缆的直流电位,防止地环路和共模干扰,隔离耐压通常要求1500Vrms。
- 阻抗匹配:将PHY侧的差分阻抗(通常100Ω)与线缆特性阻抗(100Ω)匹配,减少反射。
- 共模抑制:变压器中心抽头可连接偏置电压或Bob Smith端接,抑制共模噪声。
3.3.2 判断方法:MDI引脚与变压器选型
设计时需注意:
- 确认PHY的MDI引脚是电压驱动还是电流驱动,这决定了变压器匝比(通常1:1)和中心抽头接法(接电源或接电容到地)。
- 对于1000BASE-T,需要4对差分线(MDI[0]~MDI[3]),且每对都必须有独立的变压器绕组。
- 检查PHY是否支持Auto-MDIX,若支持,则MDI引脚可以任意连接RJ45的1/2、3/6、4/5、7/8;若不支持,则必须严格按T568A/B线序连接。
3.3.3 案例拆解:MDI端接电阻导致辐射超标
某产品在做EMI预测试时,发现100MHz频点辐射超标。排查发现PHY的MDI差分对旁边预留了共模电感位置,但实际未焊接,且变压器中心抽头直接通过0.1uF电容接地,未接Bob Smith端接网络。整改措施:
- 在MDI差分对靠近RJ45处增加共模电感(如ACT45B-101-2P-TL00)。
- 在变压器中心抽头与地之间增加RC串联网络(典型值75Ω+1000pF),构成Bob Smith端接,吸收共模能量。
- 调整PCB布局,使MDI走线远离板边和时钟线。
整改后辐射余量大于6dB,通过测试。
3.3.4 常见误区与总结
3.4 管理接口MDIO与寄存器操作
3.4.1 核心原理:MDIO/MDC协议
MDIO(Management Data Input/Output)是一种简单的两线串行管理接口,用于读写PHY内部的寄存器。MDC为时钟(最高频率通常2.5MHz),MDIO为双向数据线。通过MDIO可以配置PHY的工作模式(如速率、双工、休眠)、读取链路状态(Link Status)、误码率统计、环回测试等。标准寄存器地址为0~31,其中0~15为IEEE定义的标准寄存器,16~31为厂商自定义寄存器。
3.4.2 操作流程:读写时序
// 读操作时序(32位帧)
Preamble: 32个1
Start: 01
OP: 10 (读) / 01 (写)
PHY_ADDR: 5位
REG_ADDR: 5位
TA: 2位(读为Z0,写为10)
DATA: 16位
在Linux系统中,可通过mdio-tools或mii-tool工具直接操作寄存器,例如:
# 读取PHY ID寄存器(地址2和3)
mii-tool -v eth0
# 强制设置百兆全双工
ethtool -s eth0 speed 100 duplex full
3.4.3 实战场景:利用寄存器定位链路故障
当PHY link up但ping不通时,可通过读取寄存器0x01(状态寄存器)的bit2(Link Status)和bit5(Auto-Negotiation Complete)判断协商是否完成。若bit2为0,则检查MDI连接;若bit2为1但bit5为0,则自动协商未完成,可尝试手动配置速率。进一步读取寄存器0x05(Auto-Negotiation Link Partner Ability)查看对端能力。
3.4.4 常见误区
- MDIO上拉电阻必须接,通常4.7kΩ到3.3V,否则通信不稳定。
- MDC时钟频率过高可能导致时序违规,建议不超过2.5MHz。
- 部分PHY的MDIO地址由引脚电平决定(如PHYAD[0:4]),硬件设计时必须正确设置,否则无法访问。
3.5 本章总结与工程复盘
本章围绕PHY芯片的核心概念展开,从内部子层(PCS/PMA/PMD)到外部接口(MII家族、MDI、MDIO)进行了系统梳理。在硬件设计中,应牢记以下要点:
| 设计环节 | 关键关注点 | 常见错误 |
|---|---|---|
| 接口选择 | 根据MAC能力、速率、引脚数选择MII/RGMII/SGMII | 引脚不兼容、时序不匹配 |
| MDI电路 | 变压器选型、中心抽头接法、共模电感 | 漏焊Bob Smith端接、差分走线不等长 |
| 管理接口 | MDIO上拉、PHY地址配置 | 上拉缺失、地址冲突 |
| 电源与时钟 | PMA的CDR对电源噪声敏感,需独立LDO滤波 | 数字电源与模拟电源未隔离 |