第4章 常见毛刺类型:反射、串扰、振铃、地弹
做QSPI调试,最头疼的就是波形上那些莫名其妙的毛刺。我刚开始做调试时,拿到一堆波形图,头都大了——满屏的凸起和凹陷,根本分不清是啥问题。
其实毛刺就那么几种。分清楚了,排查就成功了一半。
这一章,我把最常见的四类毛刺梳理出来。每种我都会告诉你:它长什么样,怎么产生的,以及我踩过的坑。
核心观念:毛刺不是随机的。每一种毛刺都有固定的“长相”和“脾气”。懂波形的人,看一眼就能猜出问题在哪。
4.1 反射——信号路径上的回弹
反射是最基本的毛刺。说白了,就是信号跑到一半撞墙了,弹回来叠加在原来的信号上。
波形特征:
- 上升沿或下降沿出现明显的凸起/凹陷
- 过冲(overshoot)超过Vih,下冲(undershoot)低于Vil
- 有时会出现“台阶”状波形,信号爬不上去或下不来
为什么会产生反射?根源就六个字:阻抗不连续,信号反弹。
我习惯用这个公式来理解:
反射系数 Γ = (Z_load - Z0) / (Z_load + Z0)
如果你用的QSPI走线做了50Ω阻抗匹配,但Flash芯片内部输入阻抗不是50Ω,那信号就会反弹回来。
我的经验:我在一个DDR3项目中遇到过严重的反射。那时候QSPI时钟线上过冲到了4.2V,Flash芯片撑了两个月就挂了。后来在源端串了个22Ω电阻,过冲降到3.6V,问题迎刃而解。反射排查,先看源端匹配电阻。
排查思路:
- 检查走线阻抗——用TDR看特征阻抗是否平稳
- 检查源端串联电阻——一般10Ω~33Ω,视驱动能力而定
- 检查走线分支——QSPI尽量走点对点,不要分叉
4.2 串扰——隔壁邻居的干扰
串扰是QSPI总线中最隐蔽的毛刺。我记得有一块板子,QSPI的CLK和D0线挨着走了5厘米——结果每次D0跳变,CLK上就出现一个小毛刺。
波形特征:
- 毛刺出现在信号跳变的瞬间,与被干扰信号的边沿基本同步
- 毛刺幅度一般较小,但频率高时也能触发误采样
- 观察“受害线”和“攻击线”的波形,能找到对应关系
串扰的核心是电容耦合和电感耦合。你想想看,两条平行走线等于寄生电容+互感变压器。一根线上信号跳变,另一根线就会耦合出噪声。
特别注意:QSPI四线模式下,四根线同时切换时耦合噪声会叠加。我测过一块四线全速跑的板子,串扰幅度达到了Vih阈值的80%,就差一点点就误触发。
排查方法:
- 测量时让“嫌疑线”静默(不驱动或固定电平),观察其他线上耦合出的噪声
- 检查线间距——3W规则是底线,最好做到5W
- 走线之间加地线隔离
4.3 振铃——一种特殊的反射
振铃其实是多次反射的结果。我做SPI Flash通讯不稳定排查时,见过最典型的就是下图中那个衰减振荡波形。
波形特征:
- 信号跳变后出现若干个逐渐减小的振荡周期
- 波形像“甩鞭子”一样,来回弹好几下才稳定
- 频率一般在几十MHz到几百MHz之间
为什么会振铃?因为信号在传输路径上来回弹了很多次,而路径上的损耗又不足以让它快速衰减。我总结了一个简单的判断法:如果波形在跳变后超过2个周期才稳定,基本就是振铃。
避坑指南:我曾经调试过一个SPI Flash通讯不稳定的板子。示波器看波形,上升沿后面的振铃幅度高达600mV,在Vih阈值附近来回振荡了3个周期。后来我在Flash端并联了一个15pF电容,把边沿变缓,振铃就消失了。
排查要点:
- 谐振频率由走线电感和电容决定——可以加RC吸收电路
- 驱动能力过强也容易引发振铃——适当降低驱动电流(IoL/IoH)
- 检查终端端接——没有终端或端接电阻不对,振铃概率大增
4.4 地弹——被忽略的隐形杀手
地弹是个很有意思的毛刺。我刚开始做硬件时根本不相信它会发生在QSPI这种低频总线上——直到我吃了一次大亏。
波形特征:
- 所有信号线上同时出现一个“共模”毛刺
- 毛刺方向一致(同时向上或同时向下)
- 发生在大电流驱动同时切换的瞬间
地弹的物理机制很简单:芯片内部多个输出同时从低变高时,瞬间电流冲击导致芯片内部的参考地(VSS)和板级地之间产生电位差。芯片自己的地都弹起来了,输出信号当然跟着弹。
我的一次教训:我那会儿刚入行,做一块4层板。QSPI四线同时读数据时,结果在D0、D1、D2、D3上同时出现一个200mV的向上毛刺。查了两天没找到原因,后来才发现是地不完整——Flash芯片的GND过孔只打了两个,瞬间电流灌不出去。加了一排地过孔后,问题没了。
地弹的排查方法:
- 测芯片VSS脚和板地之间的电压——看有没有冲击
- 检查地过孔数量——每个信号返回路径至少2~3个地孔
- 去耦电容要靠近芯片电源引脚放置
- 多检查PCB Stackup——地平面阻抗是否满足要求
4.5 四种毛刺快速对比
做调试时,我习惯用一张表来快速定位毛刺类型。下面这个表是我自己整理的,希望能帮你少走弯路:
| 毛刺类型 | 根本原因 | 波形特征 | 常见排查方法 |
|---|---|---|---|
| 反射 | 阻抗不连续 | 过冲/下冲/台阶 | 加源端电阻、做终端匹配 |
| 串扰 | 平行耦合 | 同步毛刺、幅度较小 | 拉开间距、加地线隔离 |
| 振铃 | 多次反射/谐振 | 衰减振荡、多个周期 | RC吸收、调整驱动强度 |
| 地弹 | 参考地电位波动 | 共模毛刺、同步出现 | 加强接地、增加去耦电容 |
一个重要提醒:实际波形往往是多种毛刺混在一起的。比如反射会引起振铃,地弹又和串扰叠加。排查时建议先解决最明显的毛刺——通常是反射,然后再看剩下的。
掌握了这四种毛刺的分类特征,你就不会被波形迷惑了。看到毛刺先判断类型,再对症下药。这个思路,价值比盲目试电阻电容要大得多。