第2章:地弹干扰基本概念与产生机理
做UFS高速链路设计,地弹干扰是个绕不开的话题。
我刚开始接触UFS项目时,对这个概念也只是一知半解。总觉得不就是个地电位波动吗,能有多大影响?直到有一次调试,眼睁睁看着眼图开花、误码飙升,折腾了三天才找到根因——就是地弹。从那以后,地弹就成了我设计审查时必查的项目。
2.1 什么是地弹干扰
地弹,英文叫 Ground Bounce,说白了就是芯片内部的参考地电位波动了。
你想想看,理想情况下,PCB上所有地网络的电位都应该是0V,对吧?但现实世界中呢,芯片封装有寄生电感,PCB走线有寄生电感,当输出驱动器在大电流切换时,这个寄生电感上就会感应出电压。
地弹电压 = 寄生电感 × 电流变化率
什么意思呢?就是信号从0跳到1的一瞬间,电流变化非常剧烈。流过封装和PCB的地回路电感时,就会产生一个压降。这个压降,就是地弹。
我习惯把地弹看作是芯片内部的“地”被弹起来了。明明外部PCB地是0V,芯片内部的地却被抬高了,或者被拉低了。这就是为什么它会严重影响信号的发射端和接收端。
2.2 地弹的产生机理
既然要深入理解地弹,就得从晶体管层面来看。
2.2.1 输出驱动器的开关过程
UFS链路的信号驱动器,本质上是CMOS反相器。一个PMOS,一个NMOS,交替导通,输出高低电平。
当输出从低到高跳变时,PMOS导通,电流从电源VCCQ流向负载。当输出从高到低跳变时,NMOS导通,电流从负载灌入地回路。这两种情况,都会产生很大的瞬态电流。
问题的关键就在这条地回路上。芯片内部的地——我们称之为VSS——通过邦定线、封装引线、PCB走线连接到系统的大地。这中间每一段都有寄生电感。
- 邦定线电感: 约1-3 nH/根
- 封装引线电感: 约5-10 nH/根
- PCB过孔电感: 约1-2 nH/个
- PCB走线电感: 约0.5-1 nH/cm
你想想,这些电感串联起来,总量往往超过10 nH。而UFS高速信号的跳变时间是多少?以UFS 4.0为例,上升沿时间约30-50 ps。电流变化率di/dt可以达到109 A/s级别。
假设L_total = 15 nH,di/dt = 0.1A/50ps = 2×109 A/s
V_bounce = 15nH × 2×109 = 30 mV
别小看这30 mV,在UHS接口的接收端灵敏度下,已经足够引起误码了。
2.2.2 多个输出同时切换
更糟糕的情况是什么?多个输出同时跳变。UFS链路虽然有差分信号,但数据总线往往有多个通道同时操作。如果8个或16个驱动器同时从高到低切换,电流叠加效应非常明显。
我曾经遇到过一个案例,某个UFS控制器的8位数据总线同时从高到低切换。地弹瞬间达到了180 mV,直接导致邻近的时钟接收器误判了一个时钟周期。整个链接就断了。
2.3 地弹的关键影响因素
实际上,影响地弹幅度大小的因素,就那么几个。我把它整理成了一张表,方便你对照排查。
| 影响因素 | 对地弹的影响 | 典型控制手段 |
|---|---|---|
| 封装寄生电感 | 越大,地弹越严重 | 选用倒装焊、多VSS引脚并联 |
| 输出驱动器驱动能力 | 越强,di/dt越大 | 启用可编程驱动强度、加串联电阻 |
| 负载电容 | 越大,瞬态电流越大 | 减少走线长度、优化负载分布 |
| 同时切换数量 | 数量越多,叠加效应越强 | 分散开关时序、增加供电引脚 |
| 信号跳变速率 | 越快,di/dt越大 | 控制压摆率、加RC缓启动 |
说白了,地弹的幅度等于寄生电感乘以电流变化率。我们已经很难改变电感,那就尽量减小电流变化率;如果电流变化率降不下来,那就减少寄生电感。
2.4 地弹对UFS高速链路的影响
在UFS接口中,地弹主要从三个方面影响链路质量:
- 信号幅度下降: 当芯片内部参考地被抬高10-20 mV,发射器输出的信号摆幅也会相应压缩。接收端看到的眼图高度会明显收缩。
- 共模噪声: UFS差分对的共模噪声容限本来就有限。地弹会在两个差分信号上产生共模分量,严重时损坏差分对的共模抑制能力。
- 时序抖动: 地弹波动如果出现在时钟采样窗口附近,会导致数据采样点的漂移。我实测过,地弹产生的抖动可以达到5-8 ps rms,这对UFS 4.0的200 ps眼图开口来说是个不小的威胁。
做UFS设计,你心里要有杆秤:地弹控制到什么程度才算安全?我个人的经验是,地弹幅度控制在接收端电源电压的3%以内,在UFS 4.0的1.2V VCCQ下就是36 mV。超过这个值,必须加上滤波措施。
2.5 地弹现象的直观理解
为了让这个机制更直观,我画了一张示意图,展示了地弹的产生和传播路径。
图里的路径你看清楚了吗?电流从输出端切换到地时,经过芯片内部VSS网络、封装地电感和PCB地回路。这三段路径上的寄生电感,就是地弹电压的“主战场”。
我每次审查UFS链路设计时,一定会让layout工程师标注出VSS焊盘到芯片Die之间的距离,然后计算这部分寄生电感。这个值如果大于2 nH,我就开始担心了。
2.6 避坑指南
刚开始做UHS时,我习惯把驱动强度设为最强,觉得这样信号质量好。结果地弹问题接踵而至。后来才明白,在UFS这种高速接口上,驱动强度过大就是地弹的元凶。现在的做法是,根据负载电容和走线长度精细调节驱动档位,在保证信号幅度的前提下尽量弱一些。
UFS的数据双向操作时,可能存在多个通道同时从高到低或从低到高切换。如果你不做SSO分析,很有可能在这个场景下出事。我建议在仿真阶段加上多通道同时翻转的场景,看看地弹是否超标。
理解了地弹,你就掌握了UFS高速链路噪声的一个关键源头。要知道,后面讲的滤波设计、去耦电容布局、电源完整性优化,全都是围绕地弹这个核心问题展开的。搞清楚了“病根”,治疗才有方向。