PHY 概述与发射机基础

各位工程师朋友,欢迎来到这门课。今天咱们先聊聊 PHY 的基本框架,说白了,就是搞清楚信号从芯片里出来之前,都经历了哪些“折腾”。

我刚开始做高速接口测试那会儿,总觉得 PHY 就是个黑盒子——给个数据,吐出差分波形。后来踩了几次坑才发现,不理解内部结构,测试项根本瞄不准。

物理层概念 —— 连接世界的“最后一公里”

物理层(PHY)是 OSI 模型的第 1 层。它的任务很纯粹:把数字比特变成模拟信号,推过 PCB 走线、连接器、线缆,传到对端。反过来也一样。

你想想看,电脑里的 0 和 1,凭什么能跑出去几米甚至几十米?靠的就是 PHY 里的驱动、均衡、预加重这些手段。我之前调一个 10G 背板项目,波形眼图总是睁不开,查到最后居然是 PHY 的预加重系数没配对——嗯,细节决定成败。

  • 数据链路层(MAC)把帧交给 PHY。
  • 物理层再细分成几个子层:PCS、PMA、PMD。
  • MDI(介质相关接口)就是线缆连接器。

核心要点:物理层不负责协议纠错,它只保证比特流能在物理介质上可靠传输。测试发射幅度和抖动,本质上就是在验证这个“可靠”程度。

发射机架构 —— 信号发射的“流水线”

下面这张图是我自己画的 PHY 发射机典型架构。你可以把它想象成一条数据加工流水线。

PHY 发射机架构与子层关系 PHY 发射机知识体系框架 MAC(数据链路层) PCS(物理编码子层) PMA(物理介质附着子层) 时钟生成(PLL) 并转串(Serializer) 输出驱动(Driver) → → → PMD(物理介质相关子层) 注:PCS 负责编码/解码,PMA 负责模拟变换,PMD 负责与线缆接口。

从 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 发射机不是某个单一模块,而是一个从数字编码到模拟驱动的管道。幅度和抖动测试,就是检验这个管道每个环节的质量。我们后面的章节会逐一拆解。


好,今天就先聊到这儿。记住这张框架图,它会在我们后续的测试项解析中反复出现。