一、信号完整性概述
1.1 什么是信号完整性?
信号完整性,简称SI。说白了,就是信号在传输过程中能不能保持它该有的样子。
你想想看,一个完美的方波从芯片管脚飞出去,经过一段走线,到达接收端时,它还是不是那个方波?
如果波形变形了、幅度变小了、边沿变缓了,甚至出现了毛刺——那信号完整性就出问题了。
我个人习惯把SI问题分成两类:
- 时序问题:信号跑快了,到不了或者到不准
- 质量问题:信号形状变了,接收端认不出来
我在项目中遇到过最典型的例子:一块ADC板,低速测试全通过,一上高速就乱码。查了三天,最后发现是时钟信号过孔没处理好,反射把时钟沿搞出了毛刺。ADC在毛刺处误触发,采样全错。
核心观点:信号完整性不是玄学,是物理。它关乎你的电路能不能稳定工作。
1.2 为什么高速ADC设计需要关注SI?
这个问题我问过很多刚入行的工程师。他们的第一反应往往是:ADC不就是个模数转换器吗?模拟信号进来,数字信号出去,中间有什么好担心的?
嗯,这里要注意。高速ADC恰恰是SI问题的重灾区。
原因有三:
- 时钟是ADC的心脏。时钟抖动、相位噪声,直接决定ADC的信噪比。我见过一个项目,ADC的SFDR指标死活差了3dB,最后发现是时钟走线跟数字总线靠太近,串扰把时钟沿搞出了几十皮秒的抖动。
- 模拟输入对噪声极其敏感。高速ADC的输入摆幅往往只有1V甚至0.5V。电源上100mV的纹波,折算到ADC输入端,可能就是好几个LSB的误差。
- 数字输出是噪声源。ADC的数字输出在切换时,会产生很大的瞬态电流。这个电流通过电源网络耦合回模拟部分,形成自干扰。我曾经调试过一块12位1GSPS的ADC板,数字输出从全0切换到全1时,模拟输入端的噪声直接跳了5mV。
我的经验:高速ADC设计,SI分析要从原理图阶段就开始。等PCB画完了再回头补SI,往往要付出几倍的改板成本。
1.3 SI问题的三大根源
搞了十几年SI,我总结下来,所有信号完整性问题都可以归到三个根源上。你只要把这三个根源吃透了,80%的SI问题都能提前规避。
1.3.1 反射
反射是什么?就是信号在传输路径上遇到了阻抗突变,一部分能量被弹回来了。
为什么会这样?因为信号本质上是一个电磁波。波在传播时,遇到阻抗变化的地方,就会产生反射。
反射的后果:
- 过冲/下冲:信号幅度超出正常范围
- 振铃:信号在高低电平之间来回震荡
- 台阶:信号边沿出现不连续的阶梯
我曾经调试过一块ADC的时钟输入,示波器一看,时钟沿上有个明显的台阶。查了半天,发现是时钟走线从表层换到内层时,过孔的阻抗没控制好。换了个阻抗匹配的过孔,台阶就消失了。
反射的解决思路其实很简单:让整个传输路径的阻抗保持一致。50欧姆出去,50欧姆回来,中间不要有突变。
避坑指南:我曾经以为只要走线阻抗控制好就万事大吉。后来发现,过孔、连接器、焊盘,这些地方的阻抗往往被忽略。一个过孔可能只有30多欧姆,跟50欧姆的走线完全不匹配。
1.3.2 串扰
串扰,说白了就是一根线上的信号,干扰到了旁边的另一根线。
物理机制很简单:两根平行走线之间,存在寄生电容和互感。一根线上的电压变化,会通过电容耦合到另一根线;电流变化,会通过互感耦合过去。
串扰在ADC设计中的典型场景:
- 时钟线跟数据线平行走,时钟的跳变沿串扰到数据线上
- 数字输出总线之间互相串扰,导致数据错误
- 模拟输入线被旁边的数字信号干扰
我记得有个项目,ADC的ENOB(有效位数)总是比datasheet低0.5位。反复检查,发现是模拟输入走线旁边有一根时钟线,间距只有3倍线宽。把间距拉到5倍线宽,ENOB就回来了。
串扰的三大控制手段:
- 拉开间距:3W规则(间距是线宽的3倍)是基本要求,关键信号建议5W以上
- 加屏蔽地线:在敏感信号两侧加地线,可以有效隔离
- 减少平行长度:能不平行就不平行,非要平行就尽量短
关键数据:串扰幅度跟间距的平方成反比。间距从3W拉到5W,串扰可以降低约60%。
1.3.3 电源噪声
电源噪声,是SI问题里最隐蔽、最难查的一个。
为什么?因为电源噪声无处不在。芯片内部有噪声,PCB上有噪声,外部电源也有噪声。这些噪声叠加在一起,通过电源网络传到各个器件。
电源噪声对ADC的影响:
- 电源纹波直接调制到ADC的参考电压上
- 电源噪声通过衬底耦合到模拟输入
- 数字部分的瞬态电流在电源网络上产生压降
我处理过最头疼的一个案例:一块14位250MSPS的ADC板,低频性能很好,但输入频率一高,SFDR就急剧下降。查了两个月,最后发现是电源去耦电容的布局有问题。电容离芯片管脚太远,高频去耦效果很差。把电容挪到芯片背面,紧贴管脚,问题就解决了。
电源噪声的治理思路:
- 合理的去耦网络:不同频率的噪声,用不同容值的电容去处理
- 电源平面设计:用完整的电源平面,降低电源阻抗
- 分区供电:模拟和数字电源分开,避免数字噪声污染模拟
我的习惯:设计电源网络时,我会先做目标阻抗计算。根据芯片的瞬态电流和允许的电压波动,算出电源网络需要达到的阻抗值。然后根据这个值去选择电容的数量和容值。
小结
信号完整性,说白了就是让信号在传输过程中保持它该有的样子。高速ADC设计尤其要关注SI,因为时钟、模拟输入、数字输出,每一个环节都可能成为SI问题的温床。
三大根源——反射、串扰、电源噪声,你只要在设计中时刻想着这三个东西,就能避免大部分问题。
下一章,我会详细讲传输线理论。这是理解反射的基础,也是SI分析的核心工具。到时候我会分享一些实际项目中的计算方法和设计技巧。