PHY 概述与发射机基础
各位工程师朋友,欢迎来到这门课。今天咱们先聊聊 PHY 的基本框架,说白了,就是搞清楚信号从芯片里出来之前,都经历了哪些“折腾”。
我刚开始做高速接口测试那会儿,总觉得 PHY 就是个黑盒子——给个数据,吐出差分波形。后来踩了几次坑才发现,不理解内部结构,测试项根本瞄不准。
物理层概念 —— 连接世界的“最后一公里”
物理层(PHY)是 OSI 模型的第 1 层。它的任务很纯粹:把数字比特变成模拟信号,推过 PCB 走线、连接器、线缆,传到对端。反过来也一样。
你想想看,电脑里的 0 和 1,凭什么能跑出去几米甚至几十米?靠的就是 PHY 里的驱动、均衡、预加重这些手段。我之前调一个 10G 背板项目,波形眼图总是睁不开,查到最后居然是 PHY 的预加重系数没配对——嗯,细节决定成败。
- 数据链路层(MAC)把帧交给 PHY。
- 物理层再细分成几个子层:PCS、PMA、PMD。
- MDI(介质相关接口)就是线缆连接器。
核心要点:物理层不负责协议纠错,它只保证比特流能在物理介质上可靠传输。测试发射幅度和抖动,本质上就是在验证这个“可靠”程度。
发射机架构 —— 信号发射的“流水线”
下面这张图是我自己画的 PHY 发射机典型架构。你可以把它想象成一条数据加工流水线。
从 MAC 拿到并行数据后,PCS 先做 8B/10B 编码(或 64B/66B),保证直流平衡和时钟恢复。然后 PMA 接手:PLL 合成高速时钟,Serializer 把并转串,Driver 调整幅度和预加重推出差分对。
我习惯把 PMA 里这三个动作称为“发射三件套”。哪个环节没调好,眼图都会出问题。比如 Serializer 的时序裕量不足,抖动就会飙上去。
| 模块 | 功能 | 常见问题 |
|---|---|---|
| PLL | 从参考时钟产生高频时钟 | 相位噪声、锁定时间 |
| Serializer | 并行数据转串行流 | 建立/保持时间、抖动 |
| Driver | 输出差分信号,控制幅度与预加重 | 幅度不准、过冲/下冲 |
PMA 与 PCS 层 —— 数字与模拟的分水岭
这两个子层常被混为一谈,其实分工很明确。PCS 是纯数字域,PMA 是混合信号域。
- PCS:负责编码、解码、对齐、加扰。它和 MAC 一样跑在低频时钟域。
- PMA:负责串行化、时钟恢复、驱动、接收均衡。它直接面对模拟电路。
我曾经在一个 25G 项目中,误把 PCS 的加扰模式配成了不连续模式,结果 PMA 端的码型一直跑飞。查了三天,最后用示波器看眼图才发现编码边界全是错误。嗯,教训就是——PCS 的配置直接影响 PMA 的行为。
注意:测试发射幅度时,必须确认 PCS 已经送出稳定的测试码型(如 PRBS31)。否则 PMA 测出的幅度和抖动都是无效的。我见过很多团队上来就测,结果数据根本不对。
我给大家一个小建议:看 datasheet 时,先找到 PCS 和 PMA 之间的接口时钟频率。这个频率是并行数据速率,乘以串行化系数就是线速率。比如 10Gbps 一般对应 312.5 MHz 的并行时钟(32 位宽)。
实战技巧:调试发射机时,先从 PMA 的 Loopback 模式测起,绕开 PCS。这样可以缩小故障范围。等 PMA 模拟链路调通,再放开 PCS 的数字处理。
说到这,你应该明白了:PHY 发射机不是某个单一模块,而是一个从数字编码到模拟驱动的管道。幅度和抖动测试,就是检验这个管道每个环节的质量。我们后面的章节会逐一拆解。
好,今天就先聊到这儿。记住这张框架图,它会在我们后续的测试项解析中反复出现。