第1章 PHY概述:以太网物理层芯片入门

1.1 什么是以太网PHY?

各位同学,咱们先聊点基础的。以太网PHY,全称是Physical Layer Transceiver,说白了就是负责把数字信号变成能在网线上跑的模拟信号,或者反过来把网线上的模拟信号还原成数字信号的那颗芯片。我刚开始做嵌入式网络项目那会儿,总以为PHY就是个“透明”的转换器,后来被各种link fail、CRC错误折磨过才明白——它里头藏着不少门道。

PHY在以太网体系里处于OSI七层模型的第一层——物理层。它直接跟RJ45接口或光纤模块打交道,上面一层是MAC(介质访问控制层),中间通过MII/RGMII这类接口交换数据。我个人习惯把PHY理解成“网线的翻译官”:MAC说数字话,网线说模拟话,PHY负责两头翻译,还得保证翻译不出错。

核心功能一句话: 串行化/解串行、编解码(如4B/5B、8B/10B)、时钟恢复、线路驱动与接收。

1.2 常见以太网标准(10/100/1000BASE-T)

做PHY开发,躲不开这几个标准。我用一张表帮你理清它们的区别,你想想看,同样是用RJ45口,速度差了100倍,原理上有什么本质不同?

标准 速率 编码方式 线对数量 最大距离 典型应用
10BASE-T 10 Mbps 曼彻斯特编码 2对(TX/RX) 100 m 老旧设备、控制网络
100BASE-TX 100 Mbps 4B/5B + MLT-3 2对 100 m 办公网络、工业以太网
1000BASE-T 1 Gbps 4D-PAM5 + 8B1Q4 4对全双工 100 m 企业交换机、服务器

这里有个坑,我曾经踩过:1000BASE-T要求用四对线同时收发,而且每对线上都是双向信号。如果你布线只用两对线(比如某些老式墙面板),千兆口就会自动降速到百兆,甚至直接起不来。嗯,这就是所谓的“auto-negotiation(自动协商)”,后面章节我们会详细拆解它的寄存器细节。

1.3 应用场景不止“插网线”那么简单

很多人觉得PHY就是电脑主板上那个小方芯片,其实它的战场远不止这些。我参与过的一个项目里,PHY被用在汽车ADAS系统中,通过100BASE-T1(单对线)连接摄像头和域控制器——车里布线空间有限,单对线能省不少重量和成本。

  • 数据中心交换机:几十G甚至400G的PHY,大量散热和信号完整性挑战。
  • 工业以太网:要求-40°C~85°C宽温、电磁兼容性高,例如PROFINET、EtherCAT。
  • 智能楼宇:PoE(以太网供电)PHY,同时传数据和电力。
  • 医疗设备:低延迟、高可靠,比如手术机器人影像传输。
  • 消费电子:路由器、智能电视、游戏机——你家里可能每台设备里都有一颗PHY。

小贴士: 选型时别只看速率,别忘了考虑温度范围、封装尺寸、是否支持IEEE 1588(时间同步)、以及MDIO/MDC寄存器编程的兼容性。我习惯优先选那些datasheet里“寄存器和位域定义”写得清晰的厂商——否则后面调驱动能让你怀疑人生。

1.4 PHY芯片内部功能框架

为了让你对PHY有个整体印象,我画了一张简化结构图。它展示了PHY核心模块以及它们与MAC、介质的连接关系。你仔细看,编码/解码、时钟恢复、线路驱动这些环节,每一部分都有对应的寄存器位域去控制。

以太网PHY内部功能框架与标准关系 以太网PHY功能模块与标准映射 MAC (MII/RGMII) 数据接口 PCS(物理编码子层) PMA(物理介质附着层) PMD(物理介质相关层) 铜缆 / 光纤 RJ45 / SFP 不同以太网标准对应的PHY内部差异 10BASE-T:曼彻斯特编码 / 2对线 | 100BASE-TX:4B/5B+MLT-3 / 2对线 | 1000BASE-T:4D-PAM5 / 4对线 典型应用场景:交换机、路由器、工业控制、汽车以太网、IoT网关 每个场景对PHY的功耗、温度范围、寄存器特性要求不同

从这张图你能看到,PHY内部不是简单的一条流水线。PCS负责编码/解码和自动协商,PMA负责时钟恢复和串并转换,PMD则直接驱动线缆信号。我调试1000BASE-T link稳定性时就吃过亏——只调了PCS的寄存器,没管PMA里的均衡参数,结果长线缆下眼图全塌了。记住,这三个子层对应的寄存器位域是联动的,改一个往往要调其他。

注意: 不同厂家的PHY芯片里面,这三个子层的寄存器映射可能完全不一样。例如Broadcom会把PMA的均衡系数放在page 0的0x10~0x14寄存器,而Marvell可能放在扩展page 2里。所以读datasheet的时候一定要先确认“寄存器地址映射”章节——这是咱们这门课的核心。