前面讲过,对于数字信号的方波而言,含有丰富的高频谐波分量,边沿越陡峭,高频成分越多。而pcb上的走线对于高频信号而言相当于传输线,信号在传输线中传播时,如果遇到特性阻抗不连续,就会发生反射。反射可能发生在传输线的末端,拐角,过孔,元件引脚,线宽变化,T型引线等处。总之,无论什么原因引起了传输线的阻抗发生突变,就会有部分信号沿传输线反射回源端。
反射形成机理很复杂,这包含了很多电磁领域的复杂的知识,本文不准备深入讨论,如果你真的很想知道,可以给我留言,我专门讲解。
工程中重要的是反射量的大小。表征这一现象的最好的量化方法就是使用反射系数。反射系数是指反射信号与入射信号幅值之比,其大小为:(Z2-Z1)/ (Z2+Z1)。Z1是第一个区域的特性阻抗,Z2是第二个区域的特性阻抗。当信号从第一个区域传输到第二个区域时,交界处发生阻抗突变,因而形成反射。举个例子看看反射能有多大,假设Z1=50欧姆,Z2=75欧姆,根据公式得到反射系数为:(75-50)/(75+50)=20%。如果入射信号幅度是3.3v,反射电压达到了3.3*20%=0.66v。对于数字信号而言,这是一个很大的值。你必须非常注意他的影响。
实际电路板上的反射可能非常复杂,反射回来的信号还会再次反射回去,方向与发射信号相同,到达阻抗突变处又再次反射回源端,从而形成多次反射,一般的资料上都用反弹图来表示。多次的反弹是导致信号振铃的根本原因,相当于在信号上叠加了一个噪声。为了电路板能正确工作,你必须想办法控制这个噪声的大小,噪声预算是设计高性能电路板的一个非常重要的步骤。
反射形成机理很复杂,这包含了很多电磁领域的复杂的知识,本文不准备深入讨论,如果你真的很想知道,可以给我留言,我专门讲解。
工程中重要的是反射量的大小。表征这一现象的最好的量化方法就是使用反射系数。反射系数是指反射信号与入射信号幅值之比,其大小为:(Z2-Z1)/ (Z2+Z1)。Z1是第一个区域的特性阻抗,Z2是第二个区域的特性阻抗。当信号从第一个区域传输到第二个区域时,交界处发生阻抗突变,因而形成反射。举个例子看看反射能有多大,假设Z1=50欧姆,Z2=75欧姆,根据公式得到反射系数为:(75-50)/(75+50)=20%。如果入射信号幅度是3.3v,反射电压达到了3.3*20%=0.66v。对于数字信号而言,这是一个很大的值。你必须非常注意他的影响。
实际电路板上的反射可能非常复杂,反射回来的信号还会再次反射回去,方向与发射信号相同,到达阻抗突变处又再次反射回源端,从而形成多次反射,一般的资料上都用反弹图来表示。多次的反弹是导致信号振铃的根本原因,相当于在信号上叠加了一个噪声。为了电路板能正确工作,你必须想办法控制这个噪声的大小,噪声预算是设计高性能电路板的一个非常重要的步骤。
所谓“地弹”,是指芯片内部“地”电平相对于电路板“地”电平的变化现象。以电路板“地”为参考,就像是芯片内部的“地”电平不断的跳动,因此形象的称之为地弹(ground bounce)。当器件输出端有一个状态跳变到另一个状态时,地弹现象会导致器件逻辑输入端产生毛刺。
那么“地弹”是如何产生的呢?
首先我们要明白,对于任何封装的芯片,其引脚会存在电感电容等寄生参数。而地弹正是由于引脚上的电感引起的。
我们可以用下图来直观的解释一下。图中开关Q的不同位置代表了输出的“0”“1”两种状态。假定由于电路状态装换,开关Q接通RL低电平,负载电容对地放电,随着负载电容电压下降,它积累的电荷流向地,在接地回路上形成一个大的电流浪涌。随着放电电流建立然后衰减,这一电流变化作用于接地引脚的电感LG,这样在芯片外的电路板“地”与芯片内的地之间,会形成一定的电压差,如图中VG。这种由于输出转换引起的芯片内部参考地电位漂移就是地弹。

芯片A的输出变化,产生地弹。这对芯片A的输入逻辑是有影响的。接收逻辑把输入电压和芯片内部的地电压差分比较确定输入,因此从接收逻辑来看就象输入信号本身叠加了一个与地弹噪声相同的噪声。
现在,集成电路的规模越来越大,开关速度不断提高,地弹噪声如果控制不好就会影响电路的功能,因此有必要深入理解地弹的概念并研究它的规律。
本文只是概念性的阐述,对地弹的深入剖析将在后续文章中进行。
那么“地弹”是如何产生的呢?
首先我们要明白,对于任何封装的芯片,其引脚会存在电感电容等寄生参数。而地弹正是由于引脚上的电感引起的。
我们可以用下图来直观的解释一下。图中开关Q的不同位置代表了输出的“0”“1”两种状态。假定由于电路状态装换,开关Q接通RL低电平,负载电容对地放电,随着负载电容电压下降,它积累的电荷流向地,在接地回路上形成一个大的电流浪涌。随着放电电流建立然后衰减,这一电流变化作用于接地引脚的电感LG,这样在芯片外的电路板“地”与芯片内的地之间,会形成一定的电压差,如图中VG。这种由于输出转换引起的芯片内部参考地电位漂移就是地弹。

芯片A的输出变化,产生地弹。这对芯片A的输入逻辑是有影响的。接收逻辑把输入电压和芯片内部的地电压差分比较确定输入,因此从接收逻辑来看就象输入信号本身叠加了一个与地弹噪声相同的噪声。
现在,集成电路的规模越来越大,开关速度不断提高,地弹噪声如果控制不好就会影响电路的功能,因此有必要深入理解地弹的概念并研究它的规律。
本文只是概念性的阐述,对地弹的深入剖析将在后续文章中进行。
在高速pcb设计中,有很大一部分工作是进行噪声预算,规划系统各种噪声源产生噪声大小。这就涉及到一个非常基础但十分重要的概念:电压容限。
电压容限是指驱动器的输出与接收端输入在最坏情况下的灵敏度之间的差值。很多器件都是输入电压敏感的。图中显示了驱动器输出与接受器输入电压之间的逻辑关系。

对于驱动器端输出高电平不低于VOH min,输出低电平不高于VOL max。而对于接收端输入来说,只要高于VIH min,就可以保证可靠接收到逻辑1,只要低于VIL max即可保证接受到逻辑0。而如果输入电压位于VIH min和VIL max之间的区域时,可能被接收电路判为1,也可能判为0,因此对于接收电路来说输入电压不能处于这个不定态区域。以高电平输出和输入关系来看,最小的输出值和最小允许输入值之间存在一个差值,这个值就是高电平的电压容限。
即:高电平电压容限 = VOH min - VIH min 。同理低电平电压容限 = VIH min - VIL max 。
电压容限为处理电路系统中各种不理想因素提供了一个缓冲地带,使得系统能够在一定程度上容忍发送和接收过程中的信号畸变。电压容限在系统噪声预算设计中占有重要的作用,系统最终的噪声总量不能超过电压容限,否则,信号进入接收端的不定态区域时,系统将无法正常工作。
实际系统中总会有不理想的因素,造成信号的恶化,引入噪声。下面几种情况都会引入噪声:
1、由于回路阻抗的存在,回路中必然产生压降,导致各逻辑器件之间存在地电位差。门电路发送的信号是本地地电位上的一个固定电位,如果发送端与接收端的参考电位之间发生了偏移,那么收到的将会是另外一个电位。
2、某些逻辑系列产品的门限电平是一个温度的函数。温度较低的门电路到温度较高的门电路的信号传送可能容限减少或者负的容限值。
3、快速变化的返回信号电流,流经接地通路电感,引起逻辑器件之间的对地电压变化。这些对地电压差对于接收信号电位的影响就像上面所说的直流地电位差一样。这是感性串扰的一种形式。
4、邻近线路上的信号可能通过各自的互容或互感相互耦合,对某个指定的线路产生串扰。串扰叠加到预期的接收信号之上,可能使一个好信号偏移到邻近开关门限。
5、振铃、反射、长的线路使二进制信号的形状产生扭曲。与发射端相比,接收端变化了的信号显得更小(或更大)。容限为信号失真流出了一些容许限度。
前两种情况在所有电子系统都会存在,无论其运行速度如何。后三种是高速系统特有的。这3个高速效应都随被传输信号的大小而改变:信号返回电流越大,引起的地电位差越高。信号电压(或电流)越大,产生的串扰越多,而且传输信号越大,表现出的振铃和反射越严重。因此不论是低速还是高速系统,都不可避免的引入噪声,而电压容限给了系统调整地余地。
电压容限是指驱动器的输出与接收端输入在最坏情况下的灵敏度之间的差值。很多器件都是输入电压敏感的。图中显示了驱动器输出与接受器输入电压之间的逻辑关系。

对于驱动器端输出高电平不低于VOH min,输出低电平不高于VOL max。而对于接收端输入来说,只要高于VIH min,就可以保证可靠接收到逻辑1,只要低于VIL max即可保证接受到逻辑0。而如果输入电压位于VIH min和VIL max之间的区域时,可能被接收电路判为1,也可能判为0,因此对于接收电路来说输入电压不能处于这个不定态区域。以高电平输出和输入关系来看,最小的输出值和最小允许输入值之间存在一个差值,这个值就是高电平的电压容限。
即:高电平电压容限 = VOH min - VIH min 。同理低电平电压容限 = VIH min - VIL max 。
电压容限为处理电路系统中各种不理想因素提供了一个缓冲地带,使得系统能够在一定程度上容忍发送和接收过程中的信号畸变。电压容限在系统噪声预算设计中占有重要的作用,系统最终的噪声总量不能超过电压容限,否则,信号进入接收端的不定态区域时,系统将无法正常工作。
实际系统中总会有不理想的因素,造成信号的恶化,引入噪声。下面几种情况都会引入噪声:
1、由于回路阻抗的存在,回路中必然产生压降,导致各逻辑器件之间存在地电位差。门电路发送的信号是本地地电位上的一个固定电位,如果发送端与接收端的参考电位之间发生了偏移,那么收到的将会是另外一个电位。
2、某些逻辑系列产品的门限电平是一个温度的函数。温度较低的门电路到温度较高的门电路的信号传送可能容限减少或者负的容限值。
3、快速变化的返回信号电流,流经接地通路电感,引起逻辑器件之间的对地电压变化。这些对地电压差对于接收信号电位的影响就像上面所说的直流地电位差一样。这是感性串扰的一种形式。
4、邻近线路上的信号可能通过各自的互容或互感相互耦合,对某个指定的线路产生串扰。串扰叠加到预期的接收信号之上,可能使一个好信号偏移到邻近开关门限。
5、振铃、反射、长的线路使二进制信号的形状产生扭曲。与发射端相比,接收端变化了的信号显得更小(或更大)。容限为信号失真流出了一些容许限度。
前两种情况在所有电子系统都会存在,无论其运行速度如何。后三种是高速系统特有的。这3个高速效应都随被传输信号的大小而改变:信号返回电流越大,引起的地电位差越高。信号电压(或电流)越大,产生的串扰越多,而且传输信号越大,表现出的振铃和反射越严重。因此不论是低速还是高速系统,都不可避免的引入噪声,而电压容限给了系统调整地余地。
在前文中我提到过,要重视信号上升时间,很多信号完整性问题都是由信号上升时间短引起的。本文就谈谈一个基础概念:信号上升时间和信号带宽的关系。
对于数字电路,输出的通常是方波信号。方波的上升边沿非常陡峭,根据傅立叶分析,任何信号都可以分解成一系列不同频率的正弦信号,方波中包含了非常丰富的频谱成分。
抛开枯燥的理论分析,我们用实验来直观的分析方波中的频率成分,看看不同频率的正弦信号是如何叠加成为方波的。首先我们把一个1.65v的直流和一个100MHz的正弦波形叠加,得到一个直流偏置为1.65v的单频正弦波。我们给这一信号叠加整数倍频率的正弦信号,也就是通常所说的谐波。3次谐波的频率为300MHz,5次谐波的频率为500MHz,以此类推,高次谐波都是100MHz的整数倍。图1是叠加不同谐波前后的比较,左上角的是直流偏置的100MHz基频波形,右上角时基频叠加了3次谐波后的波形,有点类似于方波了。左下角是基频+3次谐波+5次谐波的波形,右下角是基频+3次谐波+5次谐波+7次谐波的波形。这里可以直观的看到叠加的谐波成分越多,波形就越像方波。
图1

因此如果叠加足够多的谐波,我们就可以近似的合成出方波。图2是叠加到217次谐波后的波形。已经非常近似方波了,不用关心角上的那些毛刺,那是著名的吉博斯现象,这种仿真必然会有的,但不影响对问题的理解。这里我们叠加谐波的最高频率达到了21.7GHz。
图2

上面的实验非常有助于我们理解方波波形的本质特征,理想的方波信号包含了无穷多的谐波分量,可以说带宽是无限的。实际中的方波信号与理想方波信号有差距,但有一点是共同的,就是所包含频率很高的频谱成分。
现在我们看看叠加不同频谱成分对上升沿的影响。图3是对比显示。蓝色是基频信号上升边,绿色是叠加了3次谐波后的波形上升边沿,红色是基频+3次谐波+5次谐波+7次谐波后的上升边沿,黑色的是一直叠加到217次谐波后的波形上升边沿。
图3

通过这个实验可以直观的看到,谐波分量越多,上升沿越陡峭。或从另一个角度说,如果信号的上升边沿很陡峭,上升时间很短,那该信号的带宽就很宽。上升时间越短,信号的带宽越宽。这是一个十分重要的概念,一定要有一个直觉的认识,深深刻在脑子里,这对你学习信号完整性非常有好处。
这里说一下,最终合成的方波,其波形重复频率就是100MHz。叠加谐波只是改变了信号上升时间。信号上升时间和100MHz这个频率无关,换成50MHz也是同样的规律。如果你的电路板输出数据信号只是几十MHz,你可能会不在意信号完整性问题。但这时你想想信号由于上升时间很短,频谱中的那些高频谐波会有什么影响?记住一个重要的结论:影响信号完整性的不是波形的重复频率,而是信号的上升时间。
本文的仿真代码很简单,我把代码贴在这里,你可以自己在matlab上运行一下看看。
clc; clear all; pack;
Fs = 10e9;
Nsamp = 2e4;
t = [0:Nsamp-1].*(1/Fs);
f1 = 1e6;
x0 = 3.3/2;
x1 = x0 + 1.65*sin(2*pi*f1*t);
x3 = x0;
for n=1:2:3
x3 = x3 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x5 = x0;
for n=1:2:5
x5 = x5 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x7 = x0;
for n=1:2:7
x7 = x7 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
subplot(221)
plot(x1)
subplot(222)
plot(x3)
subplot(223)
plot(x5)
subplot(224)
plot(x7)
x217 = x0;
for n=1:2:217
x217 = x217 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
plot(x217)
figure
plot(x217,'k')
hold on
plot(x1,'b')
plot(x3,'g')
plot(x7,'r')
hold off
axis([8000 12000 -0.5 4])
对于数字电路,输出的通常是方波信号。方波的上升边沿非常陡峭,根据傅立叶分析,任何信号都可以分解成一系列不同频率的正弦信号,方波中包含了非常丰富的频谱成分。
抛开枯燥的理论分析,我们用实验来直观的分析方波中的频率成分,看看不同频率的正弦信号是如何叠加成为方波的。首先我们把一个1.65v的直流和一个100MHz的正弦波形叠加,得到一个直流偏置为1.65v的单频正弦波。我们给这一信号叠加整数倍频率的正弦信号,也就是通常所说的谐波。3次谐波的频率为300MHz,5次谐波的频率为500MHz,以此类推,高次谐波都是100MHz的整数倍。图1是叠加不同谐波前后的比较,左上角的是直流偏置的100MHz基频波形,右上角时基频叠加了3次谐波后的波形,有点类似于方波了。左下角是基频+3次谐波+5次谐波的波形,右下角是基频+3次谐波+5次谐波+7次谐波的波形。这里可以直观的看到叠加的谐波成分越多,波形就越像方波。
图1

因此如果叠加足够多的谐波,我们就可以近似的合成出方波。图2是叠加到217次谐波后的波形。已经非常近似方波了,不用关心角上的那些毛刺,那是著名的吉博斯现象,这种仿真必然会有的,但不影响对问题的理解。这里我们叠加谐波的最高频率达到了21.7GHz。
图2

上面的实验非常有助于我们理解方波波形的本质特征,理想的方波信号包含了无穷多的谐波分量,可以说带宽是无限的。实际中的方波信号与理想方波信号有差距,但有一点是共同的,就是所包含频率很高的频谱成分。
现在我们看看叠加不同频谱成分对上升沿的影响。图3是对比显示。蓝色是基频信号上升边,绿色是叠加了3次谐波后的波形上升边沿,红色是基频+3次谐波+5次谐波+7次谐波后的上升边沿,黑色的是一直叠加到217次谐波后的波形上升边沿。
图3

通过这个实验可以直观的看到,谐波分量越多,上升沿越陡峭。或从另一个角度说,如果信号的上升边沿很陡峭,上升时间很短,那该信号的带宽就很宽。上升时间越短,信号的带宽越宽。这是一个十分重要的概念,一定要有一个直觉的认识,深深刻在脑子里,这对你学习信号完整性非常有好处。
这里说一下,最终合成的方波,其波形重复频率就是100MHz。叠加谐波只是改变了信号上升时间。信号上升时间和100MHz这个频率无关,换成50MHz也是同样的规律。如果你的电路板输出数据信号只是几十MHz,你可能会不在意信号完整性问题。但这时你想想信号由于上升时间很短,频谱中的那些高频谐波会有什么影响?记住一个重要的结论:影响信号完整性的不是波形的重复频率,而是信号的上升时间。
本文的仿真代码很简单,我把代码贴在这里,你可以自己在matlab上运行一下看看。
clc; clear all; pack;
Fs = 10e9;
Nsamp = 2e4;
t = [0:Nsamp-1].*(1/Fs);
f1 = 1e6;
x0 = 3.3/2;
x1 = x0 + 1.65*sin(2*pi*f1*t);
x3 = x0;
for n=1:2:3
x3 = x3 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x5 = x0;
for n=1:2:5
x5 = x5 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x7 = x0;
for n=1:2:7
x7 = x7 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
subplot(221)
plot(x1)
subplot(222)
plot(x3)
subplot(223)
plot(x5)
subplot(224)
plot(x7)
x217 = x0;
for n=1:2:217
x217 = x217 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
plot(x217)
figure
plot(x217,'k')
hold on
plot(x1,'b')
plot(x3,'g')
plot(x7,'r')
hold off
axis([8000 12000 -0.5 4])
信号的上升时间,对于理解信号完整性问题至关重要,高速pcb设计中的绝大多数问题都和它有关,你必须对他足够重视。
信号上升时间并不是信号从低电平上升到高电平所经历的时间,而是其中的一部分。业界对它的定义尚未统一,最好的办法就是跟随上游的芯片厂商的定义,毕竟这些巨头有话语权。通常有两种:第一种定义为10-90上升时间,即信号从高电平的10%上升到90%所经历的时间。另一种是20-80上升时间,即信号从高电平的20%上升到80%所经历的时间。两种都被采用,从IBIS模型中可看到这点。对于同一种波形,自然20-80上升时间要更短。
好了,只要了解这些就够了。对于我们终端应用来说,精确的数字有时并不是很重要,而且这个数值芯片厂商通常也不会直接给我们列出,当然有些芯片可以从IBIS模型中大致估计这个值,不幸的是,不是每种芯片你都能找到IBIS模型。
重要的是我们必须建立这样的概念:上升时间对电路性能有重要的影响,只要小到某一范围,就必须引起注意,哪怕是一个很模糊的范围。没有必要精确定义这个范围标准,也没有实际意义。你只需记住,现在的芯片加工工艺使得这个时间很短,已经到了ps级,你应该重视他的影响的时候了。
随着信号上升时间的减小,反射、串扰、轨道塌陷、电磁辐射、地弹等问题变得更严重,噪声问题更难于解决,上一代产品中设计方案在这一代产品中可能不适用了。
信号上升时间的减小,从频谱分析的角度来说,相当于信号带宽的增加,也就是信号中有更多的高频分量,正是这些高频分量才使得设计变得困难。互连线必须作为传输线来对待,从而产生了很多以前没有的问题。
因此,学习信号完整性,你必须有这样的概念:信号陡峭的上升沿,是产生信号完整性问题的罪魁祸首。
信号上升时间并不是信号从低电平上升到高电平所经历的时间,而是其中的一部分。业界对它的定义尚未统一,最好的办法就是跟随上游的芯片厂商的定义,毕竟这些巨头有话语权。通常有两种:第一种定义为10-90上升时间,即信号从高电平的10%上升到90%所经历的时间。另一种是20-80上升时间,即信号从高电平的20%上升到80%所经历的时间。两种都被采用,从IBIS模型中可看到这点。对于同一种波形,自然20-80上升时间要更短。
好了,只要了解这些就够了。对于我们终端应用来说,精确的数字有时并不是很重要,而且这个数值芯片厂商通常也不会直接给我们列出,当然有些芯片可以从IBIS模型中大致估计这个值,不幸的是,不是每种芯片你都能找到IBIS模型。
重要的是我们必须建立这样的概念:上升时间对电路性能有重要的影响,只要小到某一范围,就必须引起注意,哪怕是一个很模糊的范围。没有必要精确定义这个范围标准,也没有实际意义。你只需记住,现在的芯片加工工艺使得这个时间很短,已经到了ps级,你应该重视他的影响的时候了。
随着信号上升时间的减小,反射、串扰、轨道塌陷、电磁辐射、地弹等问题变得更严重,噪声问题更难于解决,上一代产品中设计方案在这一代产品中可能不适用了。
信号上升时间的减小,从频谱分析的角度来说,相当于信号带宽的增加,也就是信号中有更多的高频分量,正是这些高频分量才使得设计变得困难。互连线必须作为传输线来对待,从而产生了很多以前没有的问题。
因此,学习信号完整性,你必须有这样的概念:信号陡峭的上升沿,是产生信号完整性问题的罪魁祸首。






