第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内部不是简单的一条流水线。PCS负责编码/解码和自动协商,PMA负责时钟恢复和串并转换,PMD则直接驱动线缆信号。我调试1000BASE-T link稳定性时就吃过亏——只调了PCS的寄存器,没管PMA里的均衡参数,结果长线缆下眼图全塌了。记住,这三个子层对应的寄存器位域是联动的,改一个往往要调其他。
注意: 不同厂家的PHY芯片里面,这三个子层的寄存器映射可能完全不一样。例如Broadcom会把PMA的均衡系数放在page 0的0x10~0x14寄存器,而Marvell可能放在扩展page 2里。所以读datasheet的时候一定要先确认“寄存器地址映射”章节——这是咱们这门课的核心。