1. 信号完整性概述
各位同学,咱们开始上课。今天聊的是整个课程的地基——信号完整性。
先问大家一个问题:你画完一块 PCB,信心满满地投板了。板子回来,焊好,上电。结果呢?波形乱跳,数据出错,甚至干脆不工作。你查了半天,原理图没问题,焊接没问题,那问题出在哪?
大概率,是信号完整性出了问题。
1.1 什么是信号完整性?
信号完整性,英文叫 Signal Integrity,简称 SI。说白了,就是信号从驱动端发出,经过传输路径,到达接收端时,还能不能保持它该有的样子。
我习惯用一个比喻来解释:你对着山谷喊一句话,对面听到的应该是同一句话,而不是回声、杂音或者变了调的声音。信号在 PCB 上跑,也是这个道理。
信号完整性的核心目标:保证信号在传输过程中不失真、不畸变、不丢失,让接收端能正确识别 0 和 1。
数字电路里,信号就是高低电平的切换。一个理想的方波,应该是直上直下的。但现实中,它会被拉圆、被振铃、被延迟、被串扰。这些现象,都属于信号完整性的范畴。
1.2 为什么信号完整性很重要?
你可能觉得,以前做低速电路时,随便拉根线都能工作。为什么现在不行了?
原因很简单:速度上去了,时序窗口变小了。
我举个例子。十年前我做一块 100MHz 的板子,时钟周期 10ns,信号上升沿 2ns,你布线稍微长一点,问题不大。但现在 DDR4 跑 3200MHz,时钟周期才 312ps,上升沿可能只有 100ps。你想想看,100ps 是什么概念?光在空气中走 3cm 的时间。信号在 PCB 上走,因为介电常数的影响,速度更慢。也就是说,你多走 2cm 的线,就可能吃掉一个完整的时序裕量。
咱们用表格看看不同速率下的挑战差异:
| 参数 | 低速设计(100MHz) | 高速设计(1GHz+) |
|---|---|---|
| 时钟周期 | 10ns | ≤1ns |
| 上升沿时间 | 2~5ns | 50~200ps |
| 关键走线长度 | 几十厘米 | 几厘米 |
| 反射影响 | 可忽略 | 致命 |
| 串扰影响 | 可忽略 | 严重 |
| 电源噪声容忍度 | ±5% 甚至更宽 | ±3% 甚至更严 |
看到没?低速时你闭着眼睛画线,高速时你每一毫米都要算。这就是为什么信号完整性变得如此重要。
注意:不要以为只有 GHz 级别的信号才需要关注 SI。只要你的信号上升沿时间小于 1ns,哪怕频率只有几十 MHz,反射和串扰问题就已经开始显现了。我见过太多工程师在 200MHz 的板上栽跟头,就是因为忽略了这一点。
1.3 信号完整性问题的三个主要来源
好了,咱们进入正题。信号完整性问题千变万化,但归根结底,源头只有三个:反射、串扰、电源完整性。这三兄弟,你搞定了,80% 的 SI 问题就解决了。
下面这张图,是我自己总结的 SI 问题分类框架,你一看就明白:
下面咱们一个一个拆开讲。
1.3.1 反射
反射,是 SI 问题里最常见、也最基础的一个。它的物理本质很简单:信号在传输过程中,遇到了阻抗不连续的地方,一部分能量被弹回来了。
你想想看,信号在 PCB 走线上传播,就像水在管道里流动。管道粗细均匀,水流就平稳。管道突然变细或者变粗,水就会反弹、产生涡流。信号也是一样。
反射会导致什么问题?
- 过冲(Overshoot):信号电压超过正常范围,可能烧坏芯片输入级。
- 下冲(Undershoot):信号电压低于正常范围,导致误触发。
- 振铃(Ringing):信号在高低电平之间来回震荡,久久不能稳定。
- 台阶(Staircase):信号上升或下降过程中出现平台,影响时序判断。
我在项目中遇到过最典型的一次:一块 FPGA 板,DDR 接口死活跑不到标称频率。用示波器一看,时钟信号的过冲高达 1.2V,而 FPGA 的 IO 电压才 1.8V。算下来,过冲幅度超过了 60%。后来查出来,是时钟走线没有做阻抗控制,特性阻抗只有 35Ω,而驱动端输出阻抗是 50Ω。加了源端串联电阻匹配后,问题立刻解决。
我的习惯:只要信号上升沿时间小于 1ns,我必定做阻抗控制。单端线控 50Ω,差分线控 100Ω。这不是可选项,是必选项。
1.3.2 串扰
串扰,说白了就是一根线上的信号,干扰了旁边另一根线上的信号。
为什么会这样?因为两根平行走线之间,存在寄生电容和互感。信号在一条线上跳变时,会通过电场和磁场耦合到相邻线上。
串扰分两种:
- 容性耦合:主要影响信号的上升沿和下降沿,产生尖峰噪声。
- 感性耦合:主要影响信号的电平,产生脉冲噪声。
串扰的危害有多大?我讲个真实案例。之前做一块多通道 ADC 采集板,16 位精度,采样率 10MSPS。板子画完测试,发现通道 3 和通道 4 之间互相串扰,幅度达到 5 个 LSB。16 位 ADC 的 1 个 LSB 是多少?满量程 5V 的话,1LSB ≈ 76μV。5 个 LSB 就是 380μV 的噪声。这个量级,直接让 ADC 的有效位数从 16 位掉到了 14 位。
查到最后,是通道 3 和通道 4 的模拟输入走线平行走了 8cm,间距只有 5mil。把间距拉开到 15mil 后,串扰降到了 1LSB 以下。
注意:串扰不仅发生在相邻走线之间,还可能通过参考平面、过孔、甚至封装内部耦合。我曾经排查过一个串扰问题,最后发现是 BGA 封装内部的电源和地引脚分配不合理导致的。所以,串扰的排查要全面,不要只盯着 PCB 走线。
1.3.3 电源完整性
电源完整性,英文叫 Power Integrity,简称 PI。很多人把它和信号完整性分开看,但我个人认为,电源完整性是信号完整性的基础。没有干净的电源,就不可能有干净的信号。
电源完整性问题,核心就一句话:芯片需要的电流,供电网络没能及时、稳定地提供。
具体表现有:
- IR 压降:电流流过电源平面和走线时,产生电阻压降,导致芯片供电电压偏低。
- 同步开关噪声(SSN):大量 IO 同时翻转时,瞬间电流剧增,导致电源电压跌落。
- 电源平面谐振:电源和地平面之间形成谐振腔,在某些频率下阻抗飙升。
- 去耦电容失效:电容的 ESL 和 ESR 在高频下限制了其滤波效果。
我记得有一次,调试一块高速 SerDes 板。12.5Gbps 的链路,眼图总是闭合的。查了发射端、接收端、通道损耗,都没问题。最后用近场探头扫电源平面,发现 1.0V 核心电源在 200MHz 附近有一个很大的阻抗尖峰。而这个频率,正好是 SerDes 锁相环的工作频率。电源噪声直接调制到了时钟上,导致抖动超标。后来在电源平面边缘加了几个 0402 的 100nF 电容,把谐振峰压下去,眼图就睁开了。
我的经验:电源完整性设计,要关注三个维度——直流(IR Drop)、交流(阻抗曲线)、瞬态(SSN)。缺一不可。很多工程师只算了直流压降,忽略了交流阻抗,结果板子回来就出问题。
1.4 三个来源之间的关系
反射、串扰、电源完整性,它们不是孤立的。实际上,它们经常互相影响、互相放大。
举个例子:电源完整性不好,导致电源噪声大。这个噪声会通过电源分配网络耦合到信号线上,变成串扰。同时,电源电压的波动会改变驱动器的输出阻抗,导致阻抗不匹配,反射加剧。反射回来的信号又可能通过电源网络影响其他电路。
你看,这就是一个恶性循环。
所以,做信号完整性分析,不能只盯着一个点。要从系统层面去看,把反射、串扰、电源完整性统筹考虑。
1.5 本章小结
咱们这一章,把信号完整性的概念、重要性、三大来源都讲清楚了。总结一下:
- 信号完整性,就是保证信号在传输过程中不失真。
- 为什么重要?因为速度上去了,时序窗口变小了,任何微小的失真都可能造成系统失效。
- 三大来源:反射(阻抗不连续)、串扰(电磁耦合)、电源完整性(供电网络非理想)。
从下一章开始,咱们会深入每一个问题,讲原理、讲仿真、讲实测、讲解决方案。你准备好了吗?
嗯,咱们先到这里。记住我今天说的:信号完整性不是玄学,是科学。每一个问题,都有它的物理根源和数学描述。搞懂了这些,你就能从“凭感觉画板”进化到“凭计算画板”。