来源:于博士信号完整性研究网,转载请注明出处www.sig007.com.
一、什么是信号完整性
如果你发现,以前低速时代积累的设计经验现在似乎都不灵了,同样的设计,以前没问题,可是现在却无法工作,那么恭喜你,你碰到了硬件设计中最核心的问题:信号完整性。早一天遇到,对你来说是好事。
在过去的低速时代,电平跳变时信号上升时间较长,通常几个ns。器件间的互连线不至于影响电路的功能,没必要关心信号完整性问题。但在今天的高速时代,随着IC输出开关速度的提高,很多都在皮秒级,不管信号周期如何,几乎所有设计都遇到了信号完整性问题。另外,对低功耗追求使得内核电压越来越低,1.2v内核电压已经很常见了。因此系统能容忍的噪声余量越来越小,这也使得信号完整性问题更加突出。
广义上讲,信号完整性是指在电路设计中互连线引起的所有问题,它主要研究互连线的电气特性参数与数字信号的电压电流波形相互作用后,如何影响到产品性能的问题。主要表现在对时序的影响、信号振铃、信号反射、近端串扰、远端串扰、开关噪声、非单调性、地弹、电源反弹、衰减、容性负载、电磁辐射、电磁干扰等。
信号完整性问题的根源在于信号上升时间的减小。即使布线拓扑结构没有变化,如果采用了信号上升时间很小的IC芯片,现有设计也将处于临界状态或者停止工作。
下面谈谈几种常见的信号完整性问题。
反射:
下图显示了信号反射引起的波形畸变。看起来就像振铃,拿出你制作的电路板,测一测各种信号,比如时钟输出或是高速数据线输出,看看是不是存在这种波形。如果有,那么你该对信号完整性问题有个感性的认识了,对,这就是一种信号完整性问题。
很多硬件工程师都会在时钟输出信号上串接一个小电阻,至于为什么,他们中很多人都说不清楚,他们会说,很多成熟设计上都有,照着做的。或许你知道,可是确实很多人说不清这个小小电阻的作用,包括很多有了三四年经验的硬件工程师,很惊讶么?可这确实是事实,我碰到过很多。其实这个小电阻的作用就是为了解决信号反射问题。而且随着电阻的加大,振铃会消失,但你会发现信号上升沿不再那么陡峭了。这个解决方法叫阻抗匹配,奥,对了,一定要注意阻抗匹配,阻抗在信号完整性问题中占据着极其重要的地位。
串扰:
如果足够细心你会发现,有时对于某根信号线,从功能上来说并没有输出信号,但测量时,会有幅度很小的规则波形,就像有信号输出。这时你测量一下与它邻近的信号线,看看是不是有某种相似的规律!对,如果两根信号线靠的很近的话,通常会的。这就是串扰。当然,被串扰影响的信号线上的波形不一定和邻近信号波形相似,也不一定有明显的规律,更多的是表现为噪声形式。串扰在当今的高密度电路板中一直是个让人头疼的问题,由于布线空间小,信号必然靠得很近,因此你比须面对它,只能控制但无法消除。对于受到串扰的信号线,邻近信号的干扰对他来说就相当于噪声。
串扰大小和电路板上的很多因素有关,并不是仅仅因为两根信号线间的距离。当然,距离最容易控制,也是最常用的解决串扰的方法,但不是唯一方法。这也是很多工程师容易误解的地方。更深入的讨论,我会在后续文章中陆续推出,如果你感兴趣,可以常来于博士信号完整性研究网http://www.sig007.com,关注博士讲坛栏目。
轨道塌陷:
噪声不仅存在于信号网络中,电源分配系统也存在。我们知道,电源和地之间电流流经路径上不可避免存在阻抗,除非你能让电路板上的所有东西都变成超导体。那么,当电流变化时,不可避免产生压降,因此,真正送到芯片电源管脚上的电压会减小,有时减小得很厉害,就像电压突然产生了塌陷,这就是轨道塌陷。轨道塌陷有时会产生致命的问题,很可能影响你的电路板的功能。高性能处理器集成的门数越来越多,开关速度也越来越快,在更短的时间内消耗更多的开关电流,可以容忍的噪声变得越来越小。但同时控制噪声越来越难,因为高性能处理器对电源系统的苛刻要求,构建更低阻抗的电源分配系统变得越来越困难。你可能注意到了,又是阻抗,理解阻抗是理解信号完整性问题的关键。
信号完整性问题涉及面比较广,这里只是简单介绍几种现象,希望这篇文章能让你对信号完整性有个初步的认识。信号完整性,将是每个硬件工程师的必修课。早一天接触,早一天受益。
二、何时会遇到信号完整性
多年前,在我开始研究信号完整性问题时也曾经有过这样的疑问,随着对信号完整性理解的深入,便没有再仔细考虑。后来在产品开发过程中,朋友、同事经常向我提出这一问题。有些公司制作复杂电路板时,硬件总也调不通,于是找到我,当我解决了问题,并告诉他们,原因就在于没有处理好信号完整性设计,负责开发的硬件工程师也会提出同样的问题。他们通常的说法是:高速电路中会有问题,可是什么情况下必须进行专门的信号完整性设计?
不断的有人问我,我不得不作更深入的思考。说实话,这个问题很难回答,或者说他们这种问法很难回答。他们的意思可以解释为,速度高了就要考虑信号完整性,低速板不存在这个问题,那总要有个临界频率,这个频率是多少?有人曾提出过这样的论点,当外部总线频率超过80MHz时,就要进行专门的分析设计,低于这一频率,不用考虑信号完整性问题。对这一论点,我不敢苟同。仔细分析,他们这种问法的背后是对信号完整性的一种误解。
如果必须有一个答案的话,我想答案应该是:只要信号畸变到了无法容忍的程度就要考虑信号完整性问题。呵呵,看起来像是在胡说八道,不过这确实是能找到的最好的答案了。
要想弄清这个问题,必须先了解信号完整性的实质到底是什么。产生信号完整性的原因很多,频率(值得推敲,暂且借用提问者的说法)只不过是其中的一个而已,怎么能单单用频率来强行地划分界线!顺便说一句,很多人说频率的影响,其实这个词很值得推敲。频率到底指的是哪个部分的频率?电路板上有主时钟频率,芯片内部主频,外部总线带宽,数字信号波形带宽,电磁辐射频率,影响信号完整性的频率到底指的是哪一个?问题根源在于信号上升时间。如果你不是很理解,可以到于博士信号完整性研究网学习。
信号完整性最原始的含义应该是:信号是否能保持其应该具有的波形。很多因素都会导致信号波形的畸变,如果畸变较小,对于电路板不会产生影响,可是如果畸变很大,就可能影响电路的功能。系统频率(芯片内部主频以及外部频率)、电磁干扰、电源波纹噪声,数字器件开关噪声、系统热噪声等都会对信号产生影响,频率并不具有特殊的地位,你不能把所有的注意力都放在频率这个因素上。
那么这里又会出现另一个问题,波形畸变多大,会对电路板功能产生影响。这没有确定统一的指标,和具体应用以及电路板的其他电气指标有关。对于数字信号而言,对畸变的容忍度较大。能有多大的容忍度,还要考虑电路板上的电源系统供电电压波纹有多大,系统的噪声余量有多大,所用器件对于信号建立时间和保持时间的要求是多少等等。对于模拟信号,相对比较敏感,容忍度较小,至于能容忍多大的畸变,和系统噪声,器件非线性特性,电源质量等等有关。
是不是听起来很晦涩!确实,要说清楚这个问题并不容易,因为牵扯到了太多的因素在内。下面这个数字信号波形的例子能让你有一个简单直观的理解。
这是一个受反射影响的方波数字信号,波形的畸变仅仅是反射的结果,没有迭加其他噪声。假设低电平逻辑小于0.7v,高电平大于2v。对于高电平来说,震荡的低谷部分可能会冲到2v以下,此时电路处于不定态,可能引起电路误动作。所以,迭加在高电平上的波纹幅度不能太大。由于电路存在噪声,电源也有波纹,这些最终都会迭加到信号波形上,所以你计算波纹幅度的时候要考虑这些因素,而这些因素和你的电路板其他部分设计有关。所以你无法确定一个统一的畸变标准,只能根据你具体电路的设计和应用综合考虑。最终的原则只有一个:通过信号完整性设计、电源完整完整性设计等手段,将总的信号畸变控制在一定范围内,保证电路板正常稳定工作。
工程中,解决信号完整性的问题是一个系统的工程,并不是一两种方法就可以包打天下的。什么时候会碰到信号完整性问题也不是可以硬性的划一道线来区分,一句话,要根据你的实际情况来定。
可能你会感觉,这么多不确定的因素,还怎么在最初设计的时候考虑信号完整性问题?嗯,没问题的,其实对于所有影响信号质量的因素,你都可以通过一定的设计技术来控制。对于电源波纹问题,那是电源完整性的问题,又是一个系统的工程。而其他的电磁干扰,电磁兼容等则是另外一个系统工程。
总之,信号完整性问题涉及的知识较多,是一个跨学科的知识体系。网上关于信号完整性基础知识讲解很多,但很少有讲得很深入的。要想学好信号完整性,你需要有一定的精力投入,但可以告诉你,只要掌握学习方法,其实不难。一旦你学好它,回报是非常高的,毕竟这方面的人才现在是奇缺阿,很多公司给信号完整性工程师开价都在25W以上,如果你很牛的话,呵呵,决不是这个价。