3. 高速串行链路中的信号完整性对CDR的影响

做CDR设计这么多年,我最大的感触是:信号完整性(SI)问题才是CDR锁定的隐形杀手。你调好了环路带宽,选对了鉴相器类型,仿真锁定时间漂亮得很——结果一上实际板子,眼图半睁半闭,CDR根本锁不住。说白了,通道不干净,再好的CDR算法也是白搭。

这一章我们就来拆解信号完整性问题到底怎么“欺负”CDR的。

这张图是我总结的SI问题对CDR影响的整体脉络。你可以先看一眼,后面我们逐层展开。
信号完整性对CDR锁定裕量的影响层次 通道损耗 反射 & 阻抗不连续 串扰 电源噪声 & SSN 眼图闭合 (眼高↓ 眼宽↓) 总抖动增大 (RJ↑ DJ↑) CDR锁定裕量下降 相位噪声↑ 捕捉范围↓ 失锁概率↑ ▶ 每个SI问题都会同时影响眼图和抖动, 最终反映在CDR的锁定裕量上。

通道损耗:眼图闭合的元凶

高频信号在PCB走线上一路衰减,幅度越来越小,边沿越来越缓。为什么?趋肤效应和介质损耗。速率越高,损耗越严重。你想想看,接收端看到的是一个歪歪扭扭、眼睛都快闭上的眼图——CDR的采样裕量直接被压缩到零。

我记得在25Gbps背板项目中,一段15英寸的Megtron-6走线,插损在12.5GHz处超过了15dB。眼图高度只剩100mV出头。CDR的Bang-Bang鉴相器在这种条件下几乎一直处于亚稳态。我当时的解决方法是加了一级CTLE,把低频增益提了6dB,再配合DFE才把眼图打开。

避坑指南:我曾经以为仿真时加个理想通道就可以评估CDR性能。结果实际眼图比仿真差30%以上。后来我习惯在通道模型里额外加20%的工艺角——损耗和反射都留裕量。

反射与阻抗不连续

过孔、连接器、走线分支——这些地方阻抗一跳变,信号就会折返回来叠加到主信号上。反射产生的不是对称的过冲,是畸形的脉冲尾巴。CDR的相位检测器跟着乱跳,环路带宽再宽都追不上。

我来举个实际例子:某12Gbps SAS接口设计,从驱动芯片到连接器有一段微带走线,中间换了一层过孔。过孔残桩长度约20mil。仿真时没在意,测试发现抖动从0.2UI飙升到0.5UI。我们用TDR一打,过孔处阻抗跌到75Ω。把残桩背钻掉后,眼图立马干净了,CDR也顺利锁定了。

反射造成的抖动有个特点——它是数据图案相关的。遇到连续的“1010”翻转,反射会累加;遇到长连“0”后突然翻转,反射更明显。CDR对这种数据相关抖动(DDJ)的容忍度有限,尤其当DDJ的频率落入环路带宽内时,相位误差会被放大。

串扰:来自相邻通道的“噪音”

高速总线里通道挨得近,一条线翻转变,相邻线上就会感应出串扰信号。近端串扰(NEXT)和远端串扰(FEXT)两种。对于CDR,FEXT更致命——它跟主信号同时到达接收端,直接叠加在数据眼图上。

之前做一款56G PAM4 SerDes,通道间间距只有0.8mm。仿真串扰耦合系数-25dB,觉得够安全了。实际测试时,误码率就是下不去。后来发现相邻通道的码间干扰通过FEXT耦合过来,在眼图中央形成了一团“雾”。CDR的时钟恢复电路一遇到这团雾就会产生相位跳变,导致采样点偏移到眼边沿。我们花了一周调整走线间距到1.2mm,串扰降到-35dB以下,问题才根治。

串扰类型耦合方向对CDR的主要影响典型规避手段
近端串扰(NEXT)同方向,近端增加共模噪声,影响VCO差分走线、屏蔽地线
远端串扰(FEXT)反方向,远端直接叠加到眼图,增大DJ增大间距、使用带状线

电源噪声与SSN

CDR内部最敏感的是VCO和相位插值器。电源纹波直接通过器件衬底耦合到振荡频率上,产生相位调制。同步开关噪声(SSN)在数十个I/O同时翻转时,能在电源轨道上产生百mV级别的毛刺。

我见过最典型的案例:一块16通道的收发器芯片,所有通道同时工作时,CDR锁频范围缩窄了40%。测电源发现1.0V核电压噪声峰峰值达到85mV,里面有大量200MHz附近的谐波,刚好落在CDR环路带宽附近。我在VCO的电源引脚上串了一个铁氧体磁珠,再加两个10nF和1μF去耦电容,噪声降到35mV,问题解决。

注意:不要以为独立LDO就能高枕无忧。LDO的电源抑制比(PSRR)在100MHz以上一般会掉到20dB以下。高频噪声依然可以直接渗透到CDR的供电轨上。我建议在LDO输出级再加一级RC低通滤波,截止频率设在环路带宽的1/10以下。

抖动分解与CDR的容忍度

总抖动(TJ)可以拆成随机抖动(RJ)和确定性抖动(DJ)。RJ是高斯分布的,来自热噪声、散粒噪声;DJ有明确边界,来自前述的损耗、反射、串扰等。

CDR对RJ的忍耐力其实不差——因为它服从高斯,极值出现的概率低,只要采样裕量足够,偶发错误可以靠FEC纠正。但DJ不一样,它有固定的振幅和重复模式,一旦超过CDR的眼图张开度,锁定就会崩溃。

我做CDR链路预算时,会先估算通道带来的DJ分量。比如反射引起的DDJ大概0.15UI,FEXT贡献0.1UI,再加上ISI的0.2UI——总DJ已经0.45UI。再留0.15UI给RJ和裕量,整个链路预算只剩0.4UI给CDR的相位检测器。这种情况下环路带宽必须大于DJ频谱主峰,否则锁相环根本拿不住。

实践经验:对于25Gbps以上速率,我一般把DJ预算控制在0.3UI以内,RJ控制在0.15UI以内。超出这个范围,要么加均衡器,要么换更好的通道材料。别指望CDR的环路能帮你“神奇地”吸掉DJ——它只会把你的锁定裕量慢慢吃掉。

前面讲的损耗、反射、串扰、电源噪声,其实都在干同一件事——把眼图往回缩,把抖动往外推。CDR的锁定裕量就是这两者之间的缝隙。缝隙没了,锁相环就会像没有方向盘的车,永远找不到目标相位。