3. 物理层(二):以太网物理层(10BASE-T/100BASE-TX)、时钟同步与PLL、眼图分析
各位好,咱们接着聊物理层。上一章我们把物理层的宏观角色讲清楚了——它负责把比特流变成信号扔到线上去。这一章,咱们深入到底层,看看以太网物理层具体是怎么干活的,特别是 10BASE-T 和 100BASE-TX 这两个经典标准。另外,时钟同步和 PLL 是物理层的“心脏”,眼图则是我们调试时的“眼睛”。这几个东西串起来,你就能理解为什么一根网线能跑得那么稳。
3.1 以太网物理层:从 10M 到 100M 的进化
先说说 10BASE-T。这是 90 年代初的标准,跑 10 Mbps,用两对双绞线。我入行时还见过不少 10BASE-T 的 Hub,现在基本绝迹了。但它的设计思想影响深远。
10BASE-T 的核心特点:
- 编码方式:曼彻斯特编码。每个比特中间都有电平跳变,既传数据也传时钟。说白了,信号自己带“心跳”,接收端不用额外恢复时钟。
- 传输介质:Cat3 及以上双绞线,最远 100 米。
- 拓扑:星型,中间用 Hub 或交换机。
曼彻斯特编码有个好处:没有直流分量,变压器耦合很方便。但缺点也很明显——带宽利用率低,每 Hz 只能传 0.5 个比特。所以到了 100M,就不能再用它了。
100BASE-TX 是快速以太网的主流方案。它用了 4B/5B 编码 + MLT-3 信号。我当年第一次看 4B/5B 编码表时,觉得这玩意儿真巧妙——把 4 位数据映射成 5 位码组,保证线路上有足够的跳变,方便接收端锁相。
关键对比:10BASE-T vs 100BASE-TX
| 参数 | 10BASE-T | 100BASE-TX |
|---|---|---|
| 速率 | 10 Mbps | 100 Mbps |
| 编码 | 曼彻斯特 | 4B/5B + MLT-3 |
| 信号频率 | 10 MHz | 31.25 MHz(基频) |
| 线对 | 2 对(RX/TX) | 2 对(RX/TX) |
| 线缆要求 | Cat3 以上 | Cat5 以上 |
| 最大距离 | 100 米 | 100 米 |
这里有个坑:100BASE-TX 虽然叫“100M”,但线缆上的信号频率并不是 100 MHz。MLT-3 是三电平编码,每个符号可以代表 2 个比特,所以实际基频只有 31.25 MHz。嗯,这对 PCB 布线友好很多。
3.2 时钟同步与 PLL:物理层的“心脏”
接收端怎么知道什么时候采样?靠时钟。但发送端和接收端的时钟不可能完全一样——晶振有误差,温度会漂移。所以接收端必须从数据流里“提取”时钟,这就是时钟恢复。
PLL(锁相环) 是干这个的核心电路。我做过一个项目,PLL 锁定时间太长,导致交换机端口 up 得很慢,被客户投诉。后来调整了环路滤波器参数才解决。
PLL 的基本结构很简单:
- 鉴相器(PD):比较输入信号和本地 VCO 输出的相位差。
- 环路滤波器(LF):滤掉高频噪声,输出控制电压。
- 压控振荡器(VCO):根据控制电压调整输出频率。
但实际工程中,PLL 的设计有很多讲究。我给大家列几个关键指标:
| 指标 | 说明 | 我的经验 |
|---|---|---|
| 锁定时间 | 从失锁到稳定的时间 | 一般要求 < 10 ms,否则影响链路建立 |
| 抖动(Jitter) | 时钟边沿的随机偏移 | 峰峰值 < 0.1 UI 比较安全 |
| 捕获范围 | PLL 能锁定的频率范围 | 至少覆盖晶振误差 ±100 ppm |
| 相位噪声 | 频域上的噪声分布 | 对高速 SerDes 尤其重要 |
避坑指南: 我曾经在一个 100BASE-TX 项目里,PLL 的环路带宽设得太宽,结果把数据里的低频抖动也跟踪进去了,导致恢复出来的时钟噪声很大。后来把带宽压到 1/10 数据速率以下,问题才解决。记住:PLL 不是越灵敏越好,要跟数据特性匹配。
3.3 眼图分析:物理层的“X 光片”
眼图是什么?把接收到的信号波形按比特周期叠加起来,就形成了眼图。它像一只睁开的眼睛,能直观反映信号质量。
我调试 100BASE-TX 时,最常用的工具就是示波器的眼图模式。一看眼图,就知道问题出在哪。
眼图能告诉我们什么?
- 眼高(Eye Height):信号幅度的裕量。太小说明衰减或噪声大。
- 眼宽(Eye Width):采样时刻的裕量。太小说明抖动大。
- 抖动(Jitter):眼图交叉点的厚度。越厚抖动越大。
- 上升/下降时间:信号边沿的陡峭程度。
下面这张图是我手绘的典型眼图结构,大家感受一下:
实际调试时,我一般按这个步骤来:
- 看眼高:如果低于 200 mV(对于 100BASE-TX),先查线缆和连接器。
- 看眼宽:如果小于 0.7 UI,说明抖动大,查 PLL 和时钟源。
- 看交叉点:如果上下不对称,可能有直流偏移或占空比失真。
- 看“鬼影”:眼图里有多个模糊的轨迹,说明有反射或串扰。
注意: 眼图分析不能只看一张图。我习惯在不同温度、不同线缆长度下都测一遍。有一次在常温下眼图很好,但到 85°C 就闭合了,后来发现是驱动器的温度特性不好。所以,眼图测试要覆盖全工况。
3.4 三者之间的关系
10BASE-T/100BASE-TX 定义了信号怎么编、怎么传;PLL 负责从信号里恢复时钟;眼图则是检验信号质量的工具。它们的关系可以用下面这张图概括:
说白了,物理层设计就是这三件事的平衡:编码效率、时钟恢复可靠性、信号完整性。任何一个环节出问题,链路就起不来。
小结一下:
- 10BASE-T 用曼彻斯特编码,简单但效率低。
- 100BASE-TX 用 4B/5B + MLT-3,效率高,但需要 PLL 做时钟恢复。
- PLL 是物理层的心脏,锁定时间、抖动、带宽是核心参数。
- 眼图是调试的利器,眼高、眼宽、抖动一眼就能看出问题。