第二章:以太网物理层标准概述 — 从10M到10G

做PHY寄存器配置,首先要摸清楚对面站的是什么“人”。不同速率,物理层标准天差地别。我刚开始入行那会儿,直接把10G的配置套到100M上,结果眼图一塌糊涂。后来才知道——底层编码都不一样,寄存器设置自然八竿子打不着。

今天我们就捋一遍主流的以太网物理层标准。从老祖宗10M走到今天常用的10G,看看每代标准“硬”在哪里,哪些参数会在寄存器层影响眼图。

2.1 为什么速率不同,物理层差异这么大?

说穿了,速率提高意味着信号频率变高、传输距离变短、对噪声更敏感。10M跑100米,10G可能只跑30米。你想想看,一个连续串的比特流,频率翻了1000倍,码间串扰、回波损耗、抖动都会成倍放大。

所以不同速率不光换了跑得快的马,连骑马的方法(编码方式、线路码型、信号幅度、预加重/均衡策略)都改了。寄存器配置里那些TX Amplitude、Pre-emphasis、Squelch Threshold,说白了都是为这些底层差异服务的。

一句话总结: 眼图好不好,一半看芯片设计,一半看你有没有按速率“喂”对参数。

2.2 各代标准速览

速率标准名称线路编码传输介质最高距离(非屏蔽双绞线)信号频率
10M10BASE-T曼彻斯特编码Cat3/Cat5100m10MHz
100M100BASE-TX4B/5B + MLT-3Cat5100m125MHz
1G1000BASE-T4D-PAM5Cat5e100m125MHz(4对线同时传输)
2.5G2.5GBASE-TPAM4(NBASE-T联盟)Cat5e100m200MHz
5G5GBASE-TPAM4Cat5e/Cat6100m400MHz
10G10GBASE-TPAM4 + LDPCCat6a/Cat730m(Cat6a可达100m)800MHz

这张表是基础。我记得第一次调试10GBASE-T时候,发现眼图张不开,翻手册才知道LDPC纠错码开启需要单独的寄存器bit。那个坑踩得我记忆犹新。

2.3 从编码看寄存器差异

编码方式直接影响物理层发射波形。10M的曼彻斯特编码,每个bit中间有电平跳变,自带时钟同步。但到了100M,改用4B/5B+MLT-3,信号上升沿变缓,EMI小一些。1G直接上了PAM5——5种电平,一个符号携带2.322个bit。再往上,2.5G/5G/10G全部用PAM4(4种电平),配合DSP做信道补偿。

所以你看寄存器里的TX PAM Mode,大部分PHY芯片会自动协商后选择。但如果你强制锁定某个速率,就要手动把PAM Level写对。我见过有人强制1000BASE-T却把PHY配成了MLT-3模式,结果发出去的信号全是乱码。

2.4 眼图关键指标的代际演化

从10M到10G,眼图最直观的变化就是“睁眼”压力越来越大。我自己总结过几个关键点:

  • 抖动(Jitter): 10M时基本不用管,10G时板上1英寸走线都可能带来不可接受的抖动量。寄存器里的TX Jitter Attenuation、RX Clock Recovery BW必须结合参考时钟质量调。
  • 信号幅度: 100M一般用±1V差分,1G开始降到±0.5V,10G只有±0.3V。因为频率高了,大幅度的信号容易产生EMI和反射。TX Amplitude Register最好先按芯片推荐的默认值,再根据眼图微调。
  • 预加重/去加重: 从1G开始引入,10G几乎是必备。我以前调一块10G PHY,默认预加重设为-3dB,眼图幅度够但抖动大;改成-5dB后眼图干净很多。
  • 均衡: 100M的均衡很初级,10G的DFE(判决反馈均衡器)有几十个抽头。寄存器里每个抽头的权重都能单独写,调起来很费劲,但调好了眼图提升明显。
注意: 千万不要用10G的寄存器配置去调1G。很多PHY内部有独立的物理层子模块,速率不同对应的寄存器地址可能完全不共享。强行写入轻则无响应,重则锁死PHY。

2.5 各速率下常见的眼图坑点

拿我实际踩过的坑说说:

  1. 10M/100M: 问题多出在电缆接触不良。寄存器里查Link Status一直跳动,先别急着调眼图,换根跳线试试。
  2. 1G: 1000BASE-T用4对线同时传,一对线断了其他三对还能传部分数据?实际是:一对线断直接导致Link Down。我曾遇到一个产品,靠寄存器Pair Skew调整对间时间差恢复了眼图。
  3. 2.5G/5G: 很多老款PHY不支持这些速率,强制开的话需要写ANEG Advertisement Register把对应速率bit加进去。我调过一次某台湾产PHY,手册没写清楚,结果无法进行2.5G自适应。
  4. 10G: 主要外因是通道损耗。30米Cat6a电缆在800MHz下的插损可能超过20dB。寄存器里需要开Long Reach Mode或者调高EQ Boost。但注意增压不能过大,否则会饱和产生误码。
避坑指南: 我之前调10G眼图,按手册设了EQ boost最大值,结果眼图反而闭上了。后来发现是接收器饱和了。把RX Boost从15dB回到10dB,眼图立刻张开。所以,不是增益越大越好!

2.6 知识体系图:以太网物理层标准演进

下面这张图把6个速率的核心特征串了起来。我设计成从左到右的演进路径,可以看到编码、PAM阶数、DSP复杂度都在变。

以太网物理层标准演进图 以太网物理层标准演进(10M → 10G) 10M 10BASE-T 曼彻斯特编码 100M 100BASE-TX 4B/5B + MLT-3 1G 1000BASE-T 4D-PAM5 2.5G 2.5GBASE-T PAM4 5G 5GBASE-T PAM4 10G 10GBASE-T PAM4+LDPC 关键特征对比 信号频率: 10MHz 125MHz 125MHz(四对线) 200MHz 400MHz 800MHz PAM阶数: NRZ(2级) MLT-3(3级) PAM5(5级) PAM4(4级) PAM4(4级) PAM4(4级) DSP复杂度: 无DSP 简单均衡 中等DFE 强DFE 强DFE+THP LDPC+强DFE 💡 说明: 速率越高,信号频率和PAM阶数增加,DSP复杂度递增。寄存器配置中预加重、均衡、抖动衰减等参数需要随代际成倍精调。

这张图里我特意把PAM阶数和DSP复杂度列了两行。你仔细看:1G用的是PAM5(5级电平),比PAM4多一级,但速率只有1G。这是因为PAM5每个符号携带的bit数更多,但抗噪性差,后来PAM4配合更强的DSP反而更适合高速。

2.7 寄存器配置怎么选?

好了,知道了标准差异,配置时心里就有数了。

  • 自动协商: 绝大多数场景直接开ANEG。PHY内部会根据对端能力和线缆质量选最佳速率。相关的寄存器是Control Register (CR)的bit.12(Auto Negotiation Enable)。
  • 强制速率: 调试阶段或某些工业应用需要锁死速率。关掉ANEG,写Speed Select字段(bit.13和bit.6)。注意:强制后物理层编码方式也会相应切换,不用手动改。
  • Advertised Capability: 如果你的产品只支持某些速率(比如只做2.5G/5G),需要把AN Advertised Register里不支持的速率清除掉,否则自动协商时会尝试连接不存在的速率,延迟好几分钟。
个人建议: 新板第一次调试时,我习惯先强制到最低速率(比如100M),确认PHY和MAC基本通信没问题,再逐步提升到目标速率。这样一层层排查,能快速定位到底是寄存器问题还是硬件通道问题。

嗯,第二章就到这。这些内容是把寄存器配置和眼图调试串起来的知识地基。后面我们会具体讲每个速率的寄存器映射,那时候你就会发现——原来很多寄存器的默认值就是为这个标准量身定做的。