第1章 PHY调试概述
做硬件调试这些年,我经手过的PHY芯片少说也有几十种了。每次项目启动,总有人问同一个问题:"PHY到底在调什么?"要回答这个问题,得先从物理层的基本概念说起。你想想看,数据从设备A传到设备B,中间要经过多少关卡?PHY就是那道最底层的关卡——它负责把数字信号变成能在线缆或光纤上跑的东西,再把对方发来的信号还原回去。说白了,PHY就是MAC和物理介质之间的翻译官。
1.1 到底什么是PHY?
PHY是Physical Layer的缩写,中文叫物理层。在IEEE 802.3体系里,PHY是数据链路层(MAC)与物理介质之间的桥梁。它干的活包括但不限于:
- 编码/解码:把MAC发来的数据编码成适合线缆传输的码型(比如8B/10B、64B/66B),反过来也一样。
- 信号收发:驱动差分信号到双绞线或光纤上,同时从线缆上接收信号。
- 时钟恢复:从接收到的数据流中提取时钟,保证收发双方节奏一致。
- 链路协商:与对端PHY自动协商速率、双工模式、流控方式。
常见的PHY接口类型有很多,像GMII、RGMII、SGMII、QSGMII、XAUI等等。不同速率用不同的接口,但核心逻辑不变——PHY永远夹在MAC和介质中间。
1.2 物理层基本模型
讲到PHY的内部结构,就得把物理层再拆开看。IEEE 802.3把PHY分成了三个子层:PCS、PMA、PMD。数据从MAC下来,依次穿过这三个子层,才到达线缆。反过来,接收路径上的顺序正好相反。
我个人习惯用一张表格来对比这三个子层的分工,清晰又直观:
| 子层 | 全称 | 核心职责 | 我踩过的坑 |
|---|---|---|---|
| PCS | Physical Coding Sublayer | 编码/解码、对齐、扰码 | 曾经遇到过PCS的扰码器没同步,导致链路间歇性断开,折腾了两天才定位到。 |
| PMA | Physical Medium Attachment | 串行/解串、时钟恢复、环回 | PMA环回是排查通路的好工具,但记得测完要关掉,否则后面链路永远建不起来。 |
| PMD | Physical Medium Dependent | 信号驱动、线缆均衡、预加重 | PMD的驱动摆幅设得太小,信号跑到对端已经衰减到没法看了。 |
这三层的关系,说白了就是:PCS管"码"、PMA管"时钟"、PMD管"信号"。调试的时候,你遇到的绝大多数问题都可以归到这三类里。先定位是哪个子层出了状况,再深入细节,效率高得多。
一个实用的定位思路:链路不通时,先用PMA环回测内部通路,再用外部环回测线缆和对端。环回过了,说明PHY芯片本身没问题;环回过不了,就可以针对性查PCS的编码或PMD的信号质量。
1.3 调试的常见目标
做PHY调试,说白了就是在跟四个东西打交道:链路、眼图、误码率、时序。我按优先级排了个序:
- 链路建立——这是前提。Link不起来,后面全是白搭。自动协商成功、同步锁定、链路状态寄存器变成"Up",这是第一步。
- 眼图张开——信号质量是PHY的命根子。眼图闭合,数据就出错。调试的目标是让眼图的"眼睛"睁得足够大,垂直方向和水平方向的余量都达标。
- 误码率达标——光看眼图还不够,得用PRBS码流实测。不同速率的误码率要求不一样,10G以上通常要求BER < 1E-12。
- 时序收敛——时钟抖动、建立保持时间、SKEW(偏斜),这些东西在高速设计中尤其要命。我见过一个案例,因为PCB走线等长没做好,导致4路SGMII的SKEW超标,整板跑不起来。
这四个目标不是独立的。链路建不起来,可能是眼图太差导致的;误码率高,可能是时序有问题。调试的时候要来回看,别钻牛角尖。
1.4 调试中的典型难题
做PHY调试,难的不是理论,是你不知道问题到底出在哪。我总结了四个最常见的"拦路虎":
- 信号衰减:高频信号在PCB走线、连接器、线缆上都会衰减。频率越高,衰减越严重。10G以上的信号,走线稍微长一点,眼图就全闭上了。
- 噪声干扰:串扰、电源噪声、EMI,这些东西会叠加在信号上,让眼图的"眼皮"变厚。我记得有一次调试10GBase-T,发现串扰来自隔壁的电源走线,重新布局后才解决。
- 时钟抖动:抖动分随机抖动(RJ)和确定性抖动(DJ)。RJ来自热噪声,DJ来自串扰或电源纹波。抖动过大会直接吃掉时序余量。
- 阻抗不连续:连接器、过孔、换层的地方都会引入阻抗突变。阻抗不匹配会导致信号反射,反射回来的信号跟原信号叠加,波形就变形了。
这些难题往往一起出现。比如信号衰减会放大噪声的影响,阻抗不连续会引入额外的抖动。你想想看,一个问题还没搞定,另一个问题又冒出来了——这就是PHY调试的日常。
上面这张图把本章的核心知识点串在了一起。你可以把它当作调试时的"地图"——遇到问题时,先看问题落在哪个区域,再顺着往下拆。这样思路不会乱。
小结一下:PHY调试不是玄学,它有一套清晰的方法论。弄懂PHY是什么、物理层怎么分层、调试要达成什么目标、常见难题有哪些——这四件事是基础中的基础。后面章节我们会一步步拆解每个环节,把方法论变成可以落地的操作。