3、100BASE-T1物理层:PAM3编码原理、单对差分线传输、链路分段与唤醒/睡眠机制
各位工程师,今天我们聊点硬核的——100BASE-T1的物理层。说实话,我刚接触车载以太网那会儿,看到PAM3和单对差分线,第一反应是“这玩意儿跟咱们办公室的百兆以太网差太多了”。后来踩了几个坑才明白,这些设计全是针对汽车环境量身定做的。
3.1 PAM3编码原理
先说说PAM3。全称是3级脉冲幅度调制,说白了就是用3种电压电平来传输数据。你可能会问:“为什么不用传统的NRZ(2电平)或者更复杂的PAM4(4电平)?”
嗯,这里有个平衡点。NRZ虽然简单,但100BASE-T1要在单对差分线上实现100Mbps,NRZ的符号率太高,EMI(电磁干扰)压不住。PAM4呢?符号率是降下来了,但信噪比要求更高,汽车线束那环境……你懂的。PAM3正好卡在中间——符号率比NRZ低,抗干扰比PAM4强。
PAM3编码核心参数:
- 每个符号携带 log₂(3) ≈ 1.58 bit 信息
- 符号率:66.7 MBaud(比NRZ的100 MBaud低33%)
- 电平:+1V、0V、-1V(差分电压)
- 编码效率:每3个符号编码4个数据位(3B4T)
我在项目中遇到过一个问题:某供应商的PHY芯片在低温下PAM3眼图闭合严重。排查下来,是发送端电平精度漂移了。PAM3对电平一致性要求很高,三个电平必须严格等间距,否则接收端判决器会出错。
3.1.1 3B4T映射表
100BASE-T1使用3B4T编码——3个二进制位映射成4个三进制符号。为什么是3B4T?因为 2³ = 8 种二进制组合,而 3⁴ = 81 种三进制组合,有足够的冗余做直流平衡和错误检测。
| 数据位 (3 bit) | 三进制符号 (4个) | 直流分量 |
|---|---|---|
| 000 | +1, 0, -1, 0 | 0 |
| 001 | 0, +1, 0, -1 | 0 |
| 010 | -1, 0, +1, 0 | 0 |
| 011 | 0, -1, 0, +1 | 0 |
| 100 | +1, -1, +1, -1 | 0 |
| 101 | -1, +1, -1, +1 | 0 |
| 110 | +1, 0, +1, -1 | +1 |
| 111 | -1, 0, -1, +1 | -1 |
注意看,大部分映射的直流分量是0。只有110和111有±1的直流偏差,但后续的扰码器会把这些偏差打散,保证长期直流平衡。我曾经在测试中遇到过直流不平衡导致的基线漂移,接收端眼图直接歪了——后来发现是扰码器初始化种子没配对。
3.1.2 PAM3发送端结构
发送端大致分三步:
- 数据加扰:用线性反馈移位寄存器(LFSR)打散数据,避免长串相同符号
- 3B4T编码:按上表映射成三进制符号序列
- 脉冲成形:通过滤波器限制带宽,减少EMI
我个人习惯在测试时先抓扰码后的数据,看有没有周期性模式。如果发现重复序列,说明LFSR可能没初始化好——这问题在实车上很难复现,但实验室里一抓一个准。
3.2 单对差分线传输
100BASE-T1只用一对差分线,不像传统以太网需要两对(TX/RX分开)。怎么做到的?答案是混合电路(Hybrid)和回波抵消(Echo Cancellation)。
说白了,就是发送和接收在同一对线上同时进行。发送端知道自己发了什么,所以可以从接收信号中减去自己的发送分量,剩下的就是对方发来的信号。这个思路跟电话线里的全双工传输一模一样。
避坑指南: 我曾经在测试混合电路回波损耗时,发现某个频点回波抵消效果很差。查了半天,原来是PCB上差分线的阻抗不连续——过孔没做回流路径优化。单对差分线对阻抗一致性极其敏感,建议在Layout阶段就做3D电磁仿真。
3.2.1 单对差分线的优势
- 线束减重:少一对线,整车线束重量降低约30%
- 成本降低:连接器引脚数减半,线缆成本下降
- EMI更优:差分传输本身抑制共模噪声,单对线辐射更少
但代价也很明显——回波抵消电路的设计复杂度上去了。我见过不少PHY芯片在回波抵消算法上翻车,尤其是温度变化大时,混合电路的阻抗会漂,抵消效果就变差。
3.2.2 链路分段(Link Segment)
100BASE-T1的链路分段概念,很多人一开始不理解。它指的是:一条物理链路被分成多个段,每段之间通过中继器或交换机隔离。
为什么要分段?两个原因:
- 信号完整性:单对差分线在汽车线束中传输距离有限(最大15米),分段后每段长度可控
- 故障隔离:一段短路或断路,不影响其他段
我在做某车型的以太网拓扑测试时,发现后视摄像头链路经常丢包。分段测试后发现,是线束经过车门铰链处时,弯曲半径太小导致特性阻抗突变。后来把那段线束换成柔性同轴结构才解决。
3.3 唤醒/睡眠机制
汽车电子最头疼的问题是什么?功耗。ECU在休眠时电流要控制在微安级,但以太网PHY如果一直跑着,功耗根本压不下去。所以100BASE-T1定义了完善的唤醒/睡眠机制。
3.3.1 睡眠状态(Sleep Mode)
PHY进入睡眠状态的条件:
- 链路上连续检测到至少20ms的静默(无有效信号)
- 上层协议栈指示进入低功耗模式
睡眠状态下,PHY关闭发送器,接收器进入低功耗监听模式。功耗从正常工作时的几百毫瓦降到几十微瓦。
注意: 睡眠状态不是立即进入的。PHY会先发送一个“睡眠通知”帧,告诉对端“我要睡了”。如果对端没收到这个通知就直接断链,唤醒时可能会重新训练,增加延迟。我遇到过某Tier1的PHY芯片,睡眠通知帧的发送功率设置太低,在长线缆上对端收不到——结果每次唤醒都要花200ms重训练。
3.3.2 唤醒过程(Wake-up)
唤醒分两步:
- 唤醒脉冲(Wake Pulse):发送端在差分线上施加一个特定模式的脉冲序列,持续约1ms
- 链路训练(Link Training):对端检测到唤醒脉冲后,双方开始自动协商和链路训练
唤醒脉冲的模式是固定的:交替的+1V和-1V电平,频率约1MHz。为什么用这个模式?因为它在频域上能量集中,容易被低功耗接收器检测到,同时不会误触发电磁阀等敏感设备。
我记得有一次在EMC实验室做测试,发现唤醒脉冲的谐波干扰了收音机AM频段。后来调整了脉冲的上升沿斜率,把高频分量压下去才过测。
3.3.3 状态机转换
PHY的状态机大致如下:
这个状态机看起来简单,但实际测试中坑不少。我遇到过最典型的问题:某个ECU在睡眠状态下,接收器灵敏度设置太低,对端发来的唤醒脉冲检测不到。结果就是——该醒的时候醒不过来,整车网络拓扑里这个节点就“失踪”了。
3.4 一致性测试要点
讲完原理,说说测试。100BASE-T1物理层一致性测试,我建议重点关注这几个项目:
| 测试项目 | 测试内容 | 常见失败原因 |
|---|---|---|
| PAM3电平精度 | +1V、0V、-1V电平偏差 < ±5% | 发送端电源纹波、温度漂移 |
| 眼图模板 | 眼图开度 > 60%,抖动 < 0.2UI | PCB阻抗不连续、串扰 |
| 唤醒脉冲检测 | 脉冲幅度 > 200mV,脉宽 > 500ns | 接收器灵敏度、线缆衰减 |
| 睡眠电流 | PHY睡眠电流 < 100μA | 漏电流、未关闭的偏置电路 |
| 回波损耗 | 混合电路回波损耗 > 15dB | 阻抗匹配网络设计 |
我的测试习惯: 每次做PAM3眼图测试前,先跑一遍DC电平校准。很多PHY芯片内部有自校准寄存器,但默认值不一定准。我习惯在常温、高温(85°C)、低温(-40°C)三个点各做一次校准,然后锁存校准值。这样能避免温度变化导致的电平漂移。
好了,这一章的内容就到这里。PAM3编码、单对差分线、唤醒睡眠机制,这三个东西是100BASE-T1物理层的核心。理解透了,后面做一致性测试才能有的放矢。