一、信号完整性概述

1.1 什么是信号完整性?

信号完整性,简称SI。说白了,就是信号在传输过程中能不能保持它该有的样子。

你想想看,一个完美的方波从芯片管脚飞出去,经过一段走线,到达接收端时,它还是不是那个方波?

如果波形变形了、幅度变小了、边沿变缓了,甚至出现了毛刺——那信号完整性就出问题了。

我个人习惯把SI问题分成两类:

  • 时序问题:信号跑快了,到不了或者到不准
  • 质量问题:信号形状变了,接收端认不出来

我在项目中遇到过最典型的例子:一块ADC板,低速测试全通过,一上高速就乱码。查了三天,最后发现是时钟信号过孔没处理好,反射把时钟沿搞出了毛刺。ADC在毛刺处误触发,采样全错。

核心观点:信号完整性不是玄学,是物理。它关乎你的电路能不能稳定工作。

1.2 为什么高速ADC设计需要关注SI?

这个问题我问过很多刚入行的工程师。他们的第一反应往往是:ADC不就是个模数转换器吗?模拟信号进来,数字信号出去,中间有什么好担心的?

嗯,这里要注意。高速ADC恰恰是SI问题的重灾区。

原因有三:

  1. 时钟是ADC的心脏。时钟抖动、相位噪声,直接决定ADC的信噪比。我见过一个项目,ADC的SFDR指标死活差了3dB,最后发现是时钟走线跟数字总线靠太近,串扰把时钟沿搞出了几十皮秒的抖动。
  2. 模拟输入对噪声极其敏感。高速ADC的输入摆幅往往只有1V甚至0.5V。电源上100mV的纹波,折算到ADC输入端,可能就是好几个LSB的误差。
  3. 数字输出是噪声源。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就回来了。

串扰的三大控制手段:

  1. 拉开间距:3W规则(间距是线宽的3倍)是基本要求,关键信号建议5W以上
  2. 加屏蔽地线:在敏感信号两侧加地线,可以有效隔离
  3. 减少平行长度:能不平行就不平行,非要平行就尽量短

关键数据:串扰幅度跟间距的平方成反比。间距从3W拉到5W,串扰可以降低约60%。

1.3.3 电源噪声

电源噪声,是SI问题里最隐蔽、最难查的一个。

为什么?因为电源噪声无处不在。芯片内部有噪声,PCB上有噪声,外部电源也有噪声。这些噪声叠加在一起,通过电源网络传到各个器件。

电源噪声对ADC的影响:

  • 电源纹波直接调制到ADC的参考电压上
  • 电源噪声通过衬底耦合到模拟输入
  • 数字部分的瞬态电流在电源网络上产生压降

我处理过最头疼的一个案例:一块14位250MSPS的ADC板,低频性能很好,但输入频率一高,SFDR就急剧下降。查了两个月,最后发现是电源去耦电容的布局有问题。电容离芯片管脚太远,高频去耦效果很差。把电容挪到芯片背面,紧贴管脚,问题就解决了。

电源噪声的治理思路:

  1. 合理的去耦网络:不同频率的噪声,用不同容值的电容去处理
  2. 电源平面设计:用完整的电源平面,降低电源阻抗
  3. 分区供电:模拟和数字电源分开,避免数字噪声污染模拟

我的习惯:设计电源网络时,我会先做目标阻抗计算。根据芯片的瞬态电流和允许的电压波动,算出电源网络需要达到的阻抗值。然后根据这个值去选择电容的数量和容值。

小结

信号完整性,说白了就是让信号在传输过程中保持它该有的样子。高速ADC设计尤其要关注SI,因为时钟、模拟输入、数字输出,每一个环节都可能成为SI问题的温床。

三大根源——反射、串扰、电源噪声,你只要在设计中时刻想着这三个东西,就能避免大部分问题。

下一章,我会详细讲传输线理论。这是理解反射的基础,也是SI分析的核心工具。到时候我会分享一些实际项目中的计算方法和设计技巧。