反射的产生和预防
在电子系统中,一个电气网络就是一系列的金属导体及由这些导体连接在一起的所有输入输出端口的总和,如下图所示的网络结构。从定义上可以看出,一个电气网络应该至少包括三种元素:驱动、负载及互连体。当然这里的驱动和负载的个数都不只限于一个。
对于这样的网络,要研究其信号完整性,应该是构成网络的所有元素的整体效果。然而,在实际设计中,对于驱动和负载的性能,应用工程师的干预能力几乎没有。在定义了系统需求和选定器件之后,工程师就几乎没有任何能力和手段来影响驱动器件和负载器件的性能了,因此,留给信号完整性工程师们的只有对互连结构及互连体本身特性的设计和优化(在某些公司的硬件流程中,该部分称为无源设计)。我们从最基本的网络结构出发,研究最简单的互连结构和互连体的性能对网络信号完整性的影响。然后,从最简单的互联结构出发,进一步来讨论复杂互连结构和多驱动多负载网络的信号完整性设计技术。
前面已经讲过,在涉及信号完整性问题时,有90%以上的问题来源于单个网络。而对于单个网络而言,几乎所有的问题都来源于信号传输路径上的阻抗不连续所导致的反射。因此,对于单个网络的信号完整性问题的研究就是对这个网络的阻抗分布和反射特征的研究。当整个网络上的反射足够多,累积到一定程度,就会破坏在这个网络上传输的信号,使得信号质量严重下降,负载接收端不能正确判别源驱动端发出的原始信号含义,从而也就导致信号传输失败。严重的反射不仅使自身网络上的信号不能正确识别,还会导致对临近网络的串扰,使电源供电特性紊乱,以及地磁辐射等一系列信号完整性问题。可见,对于单个网络传输特性的研究始终是首要任务。
反射的产生
我们已经讨论了微波发生反射的原理。按照这个原理的推导的反射技术公式,我们来计算一下如图所示的电路结构中发生的反射情况。注意,此时我们要从微波信号的观点来看待传输线。
图中:理想信号源,内阻,均匀介质传输线AB,传输线的特征阻抗为,延迟为TD,终端负载电阻。
1)在t=0时刻,信号源发出一个上升沿信号。该上升沿信号在A点产生的入射电压是由 和特征阻抗分压得到的:,该信号经过均匀传输线AB时,经过TD传输时间,在到达B端前的任一时刻,没有发生任何反射和畸变,如图所示。
2)在t=TD时刻,上升沿信号到达传输线B端,遇到终端负载,根据反射的原理,此时会发生反射,反射系数为:,反射电压为:,从而B点得到电压为:。而该反射电压信号会沿着传输线从B传向A。在经过TD时间的传输,到达A点前一时刻,A点的电压还是保持t=0时刻的入射电压。而从B点回来的反射电压会在A点再次发生反射,并和A点电压叠加,形成新的A点电压,如图所示。
3)在t=2TD时刻,从B端反射回来的信号到达A端,遇到源端内阻,根据反射原理,此时会在A点再次发生反射,反射系数为:,反射电压为:,从而A点的电压为:。
此时该网络上各点的电压状态为上图所示。而该反射电压信号会沿着传输线再次从A传向B,在经过TD时间的传输,到达B点,发生新的一次反射,并形成新的B点电压,如下图所示。
4)这样,经过多次反射叠加过程,可以用下图表示。此图即是在信号完整性分析中著名的梯形反射分析图。
5)当时间趋于无穷时,达到稳定状态,这时就可以用直流的观点来看待电路。传输线AB对于直流信号阻抗为0。A点和B点电压相等,其电压值就是和按着基尔霍夫定律进行分压的结果,即:
对于这样的反射过程,我们可以通过Cadence的仿真工具来验证上述分析结果。下图是一个电路的拓扑结构。为了对比观察方便,这个电路结构中的终端电阻的值被设置为3个值:20,50和80,最终得到结果如下图所示。
在该示例中,信号源ES10被设置成发出一个幅度为5V的脉冲信号,在0时刻发出上升沿,48ns时发出下降沿,上升时间和下降时间都为2ns,传输线TL1的传播延迟设置为5ns。依照这些参数,可以按照分析过程,检验仿真结果。
在这个网络中,电压源是5V,内阻为50,传输线阻抗为50,我们分别用三种不同阻值的电阻做负载,阻值分别为20,50和80。我们可以粗略计算一下这个仿真结果,只计算第一次反射结果,入射电压由电源内阻和传输线阻抗做分压,为2.5V,这个入射电压对于三个情况都是一样的。然后在传输线的末端,依据阻值的不同,我们将得到三个反射系数,分别为:
;;
那么第一次反射后,得到的上的电压(入射电压叠加上反射电压)就分别为,和
从这个实例的分析结果中,我们还可以解读到其他的一些有用信息。随着阻值的变化,我们得到的反射电压变化趋势也是不一样的,按照反射系数公式,我们知道,当,即传输线阻抗大于时,终端反射的电压极性正,叠加后终端电压增加;而当时,终端反射的电压极性为负,叠加后终端电压减小,三种极端情况下反射系数如下。
- 终端匹配,反射系数为0;
- 终端开路,反射系数为+1;
- 终端短路,反射系数为-1;
参照下图得这三种情况的总结,记住这个变化规律,作为参考我们在进行高速系统设计和信号完整性分析时能够快速解决问题。
反射的消除和预防
通过上一节中对传输线中反射现象的分析,我们知道,不论在传输网络上哪一点有阻抗不连续,都会引起传输信号的反射,当这些反射积累达到一定的程度,就会严重影响信号质量。因此,要提高单条传输线网络的信号质量,首要的问题就是要保证这条传输线上阻抗的一致连续性。然而,在实际的PCB设计环境中,影响微波传输路径上阻抗变化的因素主要有。
- 微波传输线线宽W的变化;
- 传输线通过过孔,从一个布线层切换到另外一个布线层;
- 参考平面(回流路径)的变化;
- 通过连接器连接的网络;
- 传输线上分支结构和引入芯片的Stub线;
- 位于传输线终点的负载,其阻抗和传输线阻抗不匹配。
通常,对于高速系统设计,经常采用以下策略来保证阻抗一致连续性。
- 仔细设计系统的叠层结构,并按照一致的阻抗设计原则,来决定各个布线层传输线的物理和几何参数,以达到期望阻抗;
- 仔细设计信号的回流路径,保证回流路径的完整性,能够为传输线提供一致的参考平面;
- 按照阻抗匹配的设计原则,在传输路径的适当位置放置匹配电阻来控制反射;
- 仔细设计整个传输路径的拓扑结构,尽量减少分支数量和减小Stub线的长度。
我们已经反复强调过,对于高速传输线系统不能忽略其回流路径,即参考平面。这里,我们通过简单的图例来说明一下,完整的参考平面对传输线阻抗一致性的影响。对比下图中的A和B两个图,由于B中的参考平面出现缝隙,造成高速传输线在缝隙区域不能建立和其他区域一致的电磁场,因此也就得不到一致连续的阻抗,会在此处造成反射。一般,在参考平面上出现缝隙是由于高密度的过孔,或者由通孔式连接器引起的。因此,前两个策略的应用方法比较直观,实际上也比较好操作,可以有效地为高速传输线提供并连续阻抗。而对于影响阻抗变化的后两种因素,即传输线的拓扑结构和负载阻抗不匹配问题,就要应用后两个策略。
匹配
通过上节中对反射产生机理的分析,我们知道,要消除所传输的信号由于阻抗不匹配而在终端引起的反射(通常我们称为终端反射,或者一次反射),唯一、也是最有效的办法就是使传输线的特征阻抗和终端负载阻抗匹配。然而,听起来很简单的方法在实践中往往是行不通的。虽然我们可以通过仔细的设计PCB的各种物理参数,选择合适的PCB材料做出我们想要的特征阻抗传输线,然而我们却没有权力来选择或者更改负载特性。由于生产工艺和芯片设计商之间的差别,我们不可能要求所有的负载都保持一个阻抗。退一步讲,即使单个芯片的负载阻抗复合要求,但是当对于一个复杂信号的拓扑逻辑使用多个负载时,总的等效阻抗还是会发生变化的。因此,只有在芯片外部寻找办法才是可行途径。
1.终端匹配
既然负载的阻抗是造成终端反射的原因,那么可以通过外接电阻的方式来改变等效负载的阻抗。如下图所示,在终端上拉匹配和终端下拉匹配中,匹配电阻的阻值要和传输线阻抗相匹配,这样就会有效的消除终端反射。然而,需要特别注意的是,无论是终端上拉匹配,还是终端下拉匹配,由于额外电压的引入,使得中断信号的直流工作点会发生偏移,从而影响信号的判决门限和噪声容限(Noise Margin)。所以,对这种方式的使用,要经过仿真,仔细确定其工作点的偏移情况。在终端戴维南匹配中,采用了两个电阻匹配,这种方式的灵活之处在于它能够在保证达到匹配的前提下,通过改变和的值来调节接收端信号的直流偏压。
为了弥补上述匹配方式的缺陷,通过改进,我们有下图所示的终端交流匹配方式。交流匹配方式的优点是,可以有效控制直流工作点的偏移,然而它的缺点也是很明显的。
- 由于加入了电容,所以匹配的成本开销的布线开销都增加了,尤其不适于大规模并行总线的匹配方案;
- 同样是由于这个电容,使得信号的边沿变得平缓,因此不适于高速信号的匹配应用。
2.二极管匹配
在并行匹配中,还有一种特殊方式,就是二极管匹配,如下图所示。
该匹配方式的工作原理是这样的,当传输线上并没有信号传输时,实际上两个二极管都不起作用,也就是说在静态时,该电路结构并没有阻抗匹配的作用。而当驱动端在传输线上发出信号后,由于该结构是失配状态,因此,信号在终端R处发生反射。当反射电压大于VCC+VT时,VT是二极管的正向导通电压,二极管导通,多余的反射能量通过吸收掉,这时相当于阻性器件阻抗的大小取决于通过的I/V曲线关系。同样的道理,当反射电压低于-VT时,导通,吸收多余的反射能量。然而,应该注意到,如果反射电压大小落在【VCC+VT,-VT】之间时,该部分能量不会被吸收,而是反射回源端。因此,要使用这种机构达到比较理想的信号传输效果,还需要在源端进行串行匹配,以吸收二极管不能吸收掉的能量。也正是如此,该结构更多地用于ESD保护,而不是解决信号完整性问题。
3.差分匹配
同样,对于差分线的终端匹配,我们有下图所示的方案。对于这两种差分匹配的区别,我们可以看到,100(当然,也可以是120,这要由具体的差分阻抗的值而定)的跨接电阻是针对差分信号中的差模信号分量进行匹配的;在型匹配中的多个终端串联电阻,是针对差分信号分量中的共模分量进行匹配的。这两种方式,是最基本的差分线匹配方式,当然不只限于这些,而差分匹配1在不考虑共模分量的影响时,在成本和可行性方面是最普遍的方式。
4.源端匹配
有些时候,当不适合在终端做匹配,或者为了防止被终端反射的信号在信号源形成二次反射(源端反射)时,需要在信号源做匹配。这种方式类似于微波源或微波放大器中的隔离器,如下图所示。
实用的微波源、毫米波源甚至包括激光器,一般都应该在其输出端口加隔离器。其主要目的是为防止被终端负载反射回来的信号进入微波信号源,从而干扰微波信号源。加了隔离器后,它们的频谱特性、稳定性和输出功率都将大幅度提高。
借用这样的思想,对于高速信号电路,我们可以以同样的方式在源端进行匹配。如下图所示的22电阻。一方面它可以有效吸收由终端反射回来的信号,另一方面,他和信号源内阻配合,防止发生源端二次反射(注意,在此结构中,TL1的长度一般都是比较短的,否则起不到源端匹配效果,反而会进一步恶化信号质量)。
5.匹配的总结和应用
在以上介绍的几种匹配方案中,在达到基本的阻抗匹配要求的前提下,各有利弊,在此通过表格的方式,对这些匹配方案做一个总结。
匹配方案 | 特点 | 应用代价 |
终端上拉匹配 | 1.引入直流偏移 2.功耗增加 3.有时需要上拉电源具有相当的稳定性,兼备吸流和灌流能力,因此设计成本和负载度增加。比如,DDR存储体系中的终端匹配策略 | 高 |
终端下拉匹配 | 1.引入直流偏移 2.功耗增加 | 一般 |
终端戴维南匹配 | 1.引入直流偏移,但直流工作点可控 2.功耗增加,平均静态功耗要大于前两种终端匹配情况 3.由于实现代价高,不适用于大规模并行总线匹配应用 | 高 |
终端二极管匹配 | 1.功耗不大,只吸收部分能量 2.由于实现代价高,不适用于大规模并行总线匹配应用。对于信号完整性作用一般,更多的使用于ESD场合 | 高 |
交流匹配 | 1.不引入直流偏移 2.不增加功耗 3.由于引入电容,使得信号时间特性变差 4.由于实现代价高,不适用于大规模并行总线匹配应用 | 高 |
差分匹配1 | 1.只匹配差模分量 2.简单,易于实现,广泛应用于差分匹配 | 一般 |
差分匹配2 型匹配 | 1.同时匹配共模和差模分量 2.实现代价较高,但也比较广泛适用于差分信号要求严格的场合 | 高 |
源端匹配 | 1.不增加额外功耗 2.由于实现代价不高,普遍适用于源端阻抗匹配 3.在使用驱动高容性负载时,可对驱动元件提供限流作用,这种限流作用可以帮助改善由于大负载电流引起的电源完整性问题 缺点: 1.增加了RC时间常数,总而减缓了负载端信号的上升时间,因而不适用于很高速的信号传输 2.在使用驱动多负载拓扑结构时,需要仔细仿真确定串行电阻的具体位置 | 低 |
对于以上几种常见的匹配方式,并非是固定、独立的使用模式。在实际应用中,要结合应用的要求,灵活组合各种方式进行阻抗匹配,以达到理想的信号效果。比如下图所示的混合匹配方案,既有源端串行匹配,也有并行上拉匹配。这种方式看起来功耗和代价都比较高,但由于应用的需要,仍然被广泛应用于DDR及DDR2的总线设计中。
因此,对于匹配方式的使用,首先要了解每种匹配方式的原理,以及每种方式对原信号的影响,然后在实际要求的基础之上,灵活使用各种方式进行组合。在充分考虑实现代价和充分仿真的前提下,以得到理想的信号质量为唯一目的。
拓扑结构设计
在上一节中,我们了解到,通过匹配可以达到改善信号效果的目的,并充分讨论了各种匹配方式的利弊,以及这些匹配方式的适用场合。似乎通过设计完美的匹配策略,我们可以得到完美的信号质量,然而不幸的是,事实并非如此。我们先来看一个实际的设计例子。下图是一个电路结构模型,一个输出驱动,三个负载,依次连接到一起,适用的是串行源端匹配方式。可以看到,从驱动输出到最远的一个负载为3000mil。
下图是该电路模型的仿真结果。可以看出,每个负载上得到的信号,几乎是完美的方波,也就是驱动端输出的激励,并且上升沿和下降沿还保持高度的单调性和最大的噪声容限。
现在,我们改动下该电路结构,如下图所示。在这个结构中,驱动和负载的个数没有改变,唯一改变的是该电路的连接方式,也就是并行拓扑结构。但仍然保持驱动和负载之间最远距离为3000mil,从OUT到IN2的距离。
然后我们在不改变激励的条件下(除了改变了电路的连接方式,其他参数都没有改变),再做一次仿真,其结果如下图所示。
下图是上图的噪声容限细节放大后的仿真波形。
从这个仿真波形中,我们可以清楚地看到,在信号的平坦期,也就是高电平和低电平期间,出现了很强烈的振铃现象。同时在信号的上升沿和下降沿期间,也不再平滑单调。经过测量,上升沿的噪声容限为462mV,下降沿的噪声容限为82mV。
比较这两个电路结构,除了负载的连接方式不同,其他几乎都相同。那么为什么在信号质量上会有这么大的差别呢?(如果认为这是由于激励信号频率过高造成的,那就错了。这里的激励信号频率只有50MHz)
Stephen H.Hall在《High-Speed Digital System Design》一书中,对由布线的分支所引起的信号传输路径上的阻抗不匹配造成的反射有精彩论述,在此只引用其中一部分加以描述。参照下图所示的布线分支结构,当信号由传输线传导到分支点T时,由于信号在T点同时看到了两个为50的传输路径,实际上就等效于两个50阻抗并联,因此该信号在T点遇到的是25的阻抗,这就造成了信号反射,反射系数为(//符号表示两阻抗并联)。注意,图中描述的是对称长度的传输线的情况。如果,那么反射会变得更加严重。
不论从以上的仿真结果还是理论分析,我们都可以清楚地看到,影响一个信号传输质量的不仅仅在于信号源和负载,而和该信号所在的电路结构,也即拓扑结构有密切关系。这也是我们在一开始所要表达的意义,一个信号的完整性问题,是由组成该信号网络的三要素共同决定的:驱动、负载和互连体。互连体的概念不仅是单条传输线的传输特性,而是整个网络结构的传输特性。
目前,电子技术的发展使得现代高速系统中的网络结构变得越来越复杂,每个网络上所连接的器件数也数倍于传统电路。举例来讲,在一个应用Nand Flash进行大容量存储的项目中,一个信号驱动源,要带动16个Flash芯片输入负载。在系统设计中,无论是信号完整性工程师,还是对PCB布局布线工程师都带来极大的挑战。然而幸运的是,虽然这种多负载的互联网络结构需要仔细的设计,但是其设计原则还是有章可循的,也很简单,打就是,不管怎样的网络结构,其根本目的是使得整个传输路径尽量保持阻抗一致连续性,由于网络结构的复杂性,再不能保证一致连续性的情况下,要尽量降低信号的反射。经过长期的实践,目前,比较实用的几种网络拓扑结构如下图所示。
对于这几种网络拓扑结构,由于其阻抗特性不同,都有各自的特点和适用范围,下表中对这些拓扑结构作了总结,以便能够在实际应用中进行参考。
拓扑结构 | 特点 | 使用注意事项 |
点对点结构 | 结构简单,所以整个网络的阻抗特性容易控制,时序关系也容易控制。适合高速率、双向传输 | 防止源端的二次反射,一般会在源端增加一个串行匹配电阻 |
菊花链结构 | 结构相对简单,所以整个网络的阻抗特性比较容易控制,也比较适合高速率、双向传输 | 1.特别需要注意传输线扇入和扇出芯片管脚时的走线长度,也即通常说的Stub长度 2.在双向传输环境下,由于负载分布比较随机,因此需要特别注意终端阻抗匹配,尽量减小终端反射 3.在总线应用中,为保证时序特性,对于时钟信号,应使用与其他数据、控制线一致的布线拓扑结构 |
星型对称结构 | 布线结构比较复杂,阻抗不易控制。但由于是星型对称,所以时序特性容易控制。可用于单向高速数据传输,从D到R。仔细设计各端点的阻抗匹配特性也可用于高速双向(从R到D,而不是从R到R)传输 | 1.不论用于单向还是双向传输,特别注意从D到星型中心点的布线长度,它将直接影响信号质量 2.一般会在R端点加终端逻辑匹配,消除终端反射 |
远端簇结构 | 布线结构比星型结构稍简单些。适合单向高速传输,从D到R。不适于从R到D双向传输,但也不是绝对的。速度一般不会高于星型对称结构中从R到D的速度。传输阻抗不容易控制,时序特性较容易控制 | 1.不论用于单向还是双向传输,要保证从分支点到各个R端点的对称性,以达到分支平衡,减少反射次数 2.这种布线结构的一个好处是,一般从D到分支点的长度比较长(这也是远端簇名称的由来)从而有效降低主芯片D周围的布线压力 |
以上四种是最普遍应用的拓扑结构。事实上,在实际工作中,并不是所有的网络结构都能直接映射到这四种拓扑结构上。这就需要工程师们根据具体情况做相应的变动。比如说,对一个大容量的,采用DDR芯片颗粒(不是DIMM存储模块,事实上在每个DIMM存储模块上的DDR存储颗粒都是按照这样的拓扑结构进行搭建的)搭建的存储结构设计中,通常会采用下图所示的拓扑结构,这个结构可以说是远端簇的一种典型应用。
在这个结构中,最典型的特征就是从DDR控制器到DDR存储颗粒的第一段传输线的长度要远远大于其他几段传输线的长度;其次需要注意的是位于第一级的四个星型分支的长度要匹配,进入每个DDR芯片颗粒的Stub,二级分支和长度也尽量匹配,但并不严格,并且长度要尽量短。其实这些要求和前面的拓扑结构总结中的要求是一样的,目的都是尽量保证阻抗的一致连续性,以及减少反射。所以,在实际应用中,可以根据具体的系统要求,从系统的物理尺寸要求、布局,以及散热等多方面考虑,来选择合适的拓扑结构。
在多驱动/负载网络结构中,进行信号完整性设计的正确方法是,先选择恰当的拓扑结构,在经过仿真,针对仿真中出现的噪声和反射进行适当的匹配设计,仿真可以帮助设计者快速达到设计目的。因此,恰当的拓扑逻辑设计是通向良好信号完整性的第一步。而不幸的是,现实中很多工程师,包括从事多年高速信号分析的工程师,往往忽略这一点。