信号完整性的定义 定义:信号完整性(Signal Integrity,简称SI)是指在信号线上的信号质量。差的信号完整性不是由某一单一因素导致的,而是板级设计中多种因素共同 引起的。当电路中信号能以要求的时序、持续时间和电压幅度到达接收端时,该电路就有很好的信号完整性。当信号不能正常响应时,就出现了信号完整性问题。信号完整性包含: 1、波形完整性(Waveform integrity) 2、时序完整性(Timing integrity) 3、电源完整性(Power integrity) 信号完整性分析的目的就是用最小的成本,最快的时间使产品达到波形完 整性、时序完整性、电源完整性的要求。 我们知道:电源不稳定、电源的干扰、信号间的串扰、信号传输过程中的反射,这些都会让信号产生畸变,看下面这张图,你就会知道理想的信号,经过:反射、串扰、抖动,最后变成什么鬼。 典型的信号完整性问题:反射、串扰、电源/ 地噪声、时序等。 反射 由于传输系统阻抗不匹配,会使传输的信号不 能被完全吸收,造成部分能量返回。反射造成信号出现过冲(Overshoot)、振铃(Ringing)、边沿迟 缓(阶梯电压波)。过冲是振铃的欠阻尼状态,边沿迟缓是振铃的过阻尼状态。下图为信号反射的三种表现形式。 过冲一方面会造成强烈的电磁干扰,另一方面 会损伤后面电路的输入级,甚至失效。而振铃会带 来信号长时间不能稳定,边沿迟缓带来信号上升时 间过长,二者都可能带来信号的时序问题,如时钟数据同步、建立与保持时间不满足等。 PCB设计总有几个阻抗没法连续的地方,怎么办? PCB的阻抗控制 高速电路设计/信号完整性的一些基本概念 为什么一般传输线特性阻抗都希望控制为50欧姆? 为什么PCB走线中避免出现锐角和直角? PCB中的平面跨分割 串扰 Crosstalk 由于导线之间间距过小,当有快速变化的电流 流过导线时会产生交变的磁场,而使邻近的导线上 感应出信号电压,称为串扰(Crosstalk)。下图为信号串扰试验模型,以及受影响信号线上的串扰信号。 串扰一方面是EMC主要根源之一,另一方面, 串扰干扰正常的信号流,有可能造成数据错误,是造成误码的主要原因之一。问题发生没有一定规律, 时隐时现,诊断与定位往往花费大量时间与精力。 串扰和反射能让信号多不完整? 互感--连接器如何引起串扰 某单板经常发现工作一段时间后,网口工作异 常,数据传输经常有误码。询问供应商,该现象一 般和某芯片的信号受到干扰有关。检查 PCB 发现,在相邻层该信号和一条 100M 信号相重叠,中间没有地平面分隔,由此引入干扰。 反射--初始波 当驱动器发射一个信号进入传输线时,信号的幅值取决于电压、缓冲器的内阻和传输线的阻抗。驱动器端看到的初始电压决定于内阻和线阻抗的分压。 反射系数 ƒ 其中-1≤ρ≤1 当ρ=0时无反射发生 当ρ=1(Z 2 =∞,开路)时发生全正反射 当ρ=-1(Z 2 =0,短路)时发生全负反射 初始电压,是源电压Vs(2V)经过Zs(25欧姆)和传输线阻抗(50欧姆)分压。 Vinitial=1.33V 后续的反射率按照反射系数公式进行计算 源端的反射率,是根据源端阻抗(25欧姆)和传输线阻抗(50欧姆)根据反射系数公式计算为-0.33; 终端的反射率,是根据终端阻抗(无穷大)和传输线阻抗(50欧姆)根据反射系数公式计算为1; 我们按照每次反射的幅度和延时,在最初的脉冲波形上进行叠加就得到了这个波形,这也就是为什么,阻抗不匹配造成信号完整性不好的原因。 由于连接的存在、器件管脚、走线宽度变化、走线拐弯、过孔会使得阻抗不得不变化。所以反射也就不可避免。 串扰 电压后者电流有变化,自然就会往外辐射电磁波 串扰是指当信号在传输线上传播时,因电磁耦合对相邻的传输线产生的不期望 的电压噪声。 串扰是由电磁耦合引起的,耦合分为容性耦合和感性耦合两种。 容性耦合是由于干扰源(Aggressor)上的电压变化在被干扰对象(Victim)上 引起感应电流从而导致的电磁干扰; 而感性耦合则是由于干扰源上的电流变化产生的磁场在被干扰对象上引起感应电压从而导致的电磁干扰。因此,信号通过一导体时会在相邻的导体上引起两类不同的噪声信号:容性耦合信号和感性耦合信号。 感性耦合: 容性耦合: 电源完整性 电源完整性(Power integrity)简称PI,是确认电源来源及目的端的电压及电流是否符合需求。 电源完整性在现今的电子产品中相当重要。有几个有关电源完整性的层面:芯片层面、芯片封装层面、电路板层面及系统层面。在电路板层面的电源完整性要达到以下三个需求: 1、使芯片引脚的电压噪声+电压纹波比规格要求要小一些(例如芯片电源管脚的输入电压要求1V之间的误差小于+/-50 mV) 2、控制接地反弹(地弹)(同步切换噪声SSN、同步切换输出SSO) 3、降低电磁干扰(EMI)并且维持电磁兼容性(EMC):电源分布网络(PDN)是电路板上最大型的导体,因此也是最容易发射及接收噪声的天线。 名词解释: a、“地弹”,是指芯片内部“地”电平相对于电路板“地”电平的变化现象。以电路板“地”为参考,就像是芯片内部的“地”电平不断的跳动,因此形象的称之为地弹(ground bounce)。 当器件输出端由一个状态跳变到另一个状态时,地弹现象会导致器件逻辑输入端产生毛刺。对于任何形式封装的芯片,其引脚必会存在电感电容等寄生参数,而地弹主要是由于GND引脚上的阻抗引起的。集成电路的规模越来越大,开关速度不断提高,地弹噪声如果控制不好就会影响电路的功能,因此有必要深入理解地弹的概念并研究它的规律。 我们可以用下图来直观的解释一下。图中开关Q的不同位置代表了输出的“0”“1”两种状态。假定由于电路状态装换,开关Q接通RL低电平,负载电容对地放电,随着负载电容电压下降,它积累的电荷流向地,在接地回路上形成一个大的电流浪涌。随着放电电流建立然后衰减,这一电流变化作用于接地引脚的电感LG,这样在芯片外的电路板“地”与芯片内的地之间,会形成一定的电压差,如图中VG。这种由于输出转换引起的芯片内部参考地电位漂移就是地弹。 芯片A的输出变化,产生地弹。这对芯片A的输入逻辑是有影响的。接收逻辑把输入电压和芯片内部的地电压差分比较确定输入,因此从接收逻辑来看就象输入信号本身叠加了一个与地弹噪声相同的噪声。 b、PDN 电路板设计中,都有电源分配网络系统。电源分配网络系统的作用就是给系统内所有器件或芯片提供足够的电源,并满足系统对电源稳定性的要求。 我们看到电源、GND网络,其实分布着阻抗。 电源噪声余量计算: 1、芯片的datasheet会给一个规范值,通常是5%;要考虑到稳压芯片直流输出误差,一般是+/_2.5%,因此电源噪声峰值幅度不超过+/_2.5%。 2、如芯片的工作电压范围是3.13~3.47,稳压芯片标出输出电压是3.3V,安装在电路板后的输出电压是3.36V。容许的电压的变化范围是3.47-3.36=110mv。稳压芯片输出精度是+/_1%,及3.36* +/_1%=+/_33.6mv。电源噪声余量为110-33.6=76.4mv。 计算电源噪声要注意五点 (1)稳压芯片的输出的精确值是多少。 (2)工作环境的是否是稳压芯片所推荐的环境。 (3)负载情况是怎么样,这对稳压芯片输出也有影响。 (4)电源噪声最终会影响到信号质量。而信号上的噪声来源不仅仅是电源噪声,反射窜扰等信号完整性问题也会在信号上叠加,因此不能把所有噪声余量留给电源系统。 (5)不同的电压等级对电源噪声要求也不样,电压越小噪声余量越小。模拟电路对电源要求更高。 电源噪声来源 (1)稳压芯片输出的电压不是恒定的,会有一定的纹波。 (2)稳压电源无法实时响应负载对于电流需求的快速变化。稳压电源响应的频率一般在200Khz以内,能做正确的响应,超过了这个频率则在电源的输出短引脚处出现电压跌落。 (3)负载瞬态电流在电源路径阻抗和地路径阻抗产生的压降。 (4)外部的干扰。 电源/地噪声 当信号状态快速改变时,在电源和地上会产生 纹波电流。由于电源和地上的电感的存在,信号突 变产生的尖峰电流将使电源和地上出现电压的波 动。系统几十甚至上百个信号同时发生状态改变时, 有可能造成系统的误动作。由于电源/地噪声的复杂 性,有时单独作为电源完整性(Power Integrity)来 研究。 历史参考文档: 电源完整性与地弹噪声的高速PCB仿真 电源完整性测量对象和测量内容 电源完整性设计 电源完整性设计2 电源完整性设计3 高速数字电路“接地”要点 电源完整性——理解与设计 时序问题 系统中数据的提取通常是由时钟信号的上升沿 或下降沿触发,按照一定的节拍进行,数据应该及 时到达接收端并进入稳态。数据的超时延时和数据 的信号畸变都会造成数据的读取错误。接收端信号 由于出现严重的振铃现象,部分进入非稳定状态, 会使数据不能被可靠地提取,造成误码问题。 时序分析基本概念 传输时间:传输时间是指信号在传输线上的传播延时,与线长和信号传播速度有关。通常我们认为信号在传输线的传输速度为6000mil/ns,可以根据信号传输线的长度得出传输时间。 飞行时间(Flight Time):指信号从驱动端传输到接收端,并达到一定的电平之间的延时,和传输延迟和上升时间有关。 Tco:Tco是指器件的输入时钟边缘触发有效到输出信号有效的时间差,这是信号在器件内部的所有延迟总和。 建立时间:指的是接收端能够正确地锁存数据,在时钟边沿来导之前应该保持稳定的最小时间,它表示数据有效必须先于时钟有效的最小时间。 保持时间:为了成功的锁存一个信号到接收端,器件必须要求数据信号在被时钟沿触发后继续保持一段时间,以确保数据被正确的操作。这个最小的时间就是我们说的保持时间。 时钟抖动(Jitter):时钟抖动是指时钟触发沿的随机误差,时钟抖动通常指时钟周期在周期与周期之间的变化。这个误差是由时钟发生器内部产生的,和后期布线没有关系。 时钟偏移(Skew):是指由同样的时钟产生的多个子时钟信号之间的延时差异。 采样窗口:指我们通过示波器观察到的信号的波形。 同步时钟系统 时序设计——DDR为例 DDR布线在PCB设计中占有举足轻重的地位,设计成功的关键就是要保证系统有充足的时序裕量。要保证系统的时序,线长匹配又是一个重要的环节。我们来回顾一下,DDR布线,线长匹配的基本原则是:地址,控制/命令信号与时钟做等长。数据信号与DQS做等长。为啥要做等长?大家会说是要让同组信号同时到达接收端,好让接收芯片能够同时处理这些信号。那么,时钟信号和地址同时到达接收端,波形的对应关系是什么样的呢?我们通过仿真来看一下具体波形。 建立如下通道,分别模拟DDR3的地址信号与时钟信号。 图1 地址/时钟仿真示意图 为方便计算,我们假设DDR的时钟频率为500MHz,这样对应的地址信号的速率就应该是500Mbps,这里大家应该明白,虽然DDR是双倍速率,但对于地址/控制信号来说,依然是单倍速率的。下面来看看波形,在地址与时钟完全等长的情况下,地址与数据端的接收波形如下图2,红色代表地址信号,绿色代表时钟信号。 图2 时钟信号与地址信号波形 上面的波形我们似乎看不出时钟与地址之间的时序关系是什么样的,我们把它放在一个眼图中,时序关系就很明确了。这里粗略的计算下建立时间与保持时间。如下图 图3 时钟信号与地址信号波形 由上图3.我们可以知道,该地址信号的建立时间大约为891ps,保持时间为881ps。这是在时钟与地址信号完全等长情况下的波形。如果地址与时钟不等长,信号又是什么样的呢?仿真中,我们让地址线比时钟线慢200ps,得到的与眼图如下: 图4 时钟信号与地址信号波形 由上图可知,在地址信号比时钟信号长的情况下,保持时间为684ps,建立越为1.1ns。可见,相对于地址线与时钟线等长来说,地址线比时钟线长会使地址信号的建立时间更短。同理,如果时钟线比地址线长,则建立时间会变长,而保持时间会变短。那么双倍速率的数据信号又是怎样的?下面通过具体的仿真实例来看一下。 图5 DQ 与 DQS仿真示意 仿真通道如上图所示,驱动端和接收端为某芯片公司的IBIS模型,仿真波形如下: 图6 DQ与DQS仿真波形 我们将DQS和DQ信号同时生成眼图,在一个窗口下观测,结果如下: 图7 DQ与DQS眼图 如上图所示,大家可能发现了,如果按照原始对应关系,数据信号的边沿和时钟信号的边沿是对齐的,如果是这样,时钟信号怎样完成对数据信号的采样呢?实际上并不是这样的。以上仿真只是简单的将两波形放在了一起,因为DQ和DQS的传输通道长度是一样的,所以他们的边沿是对齐的。实际工作的时候,主控芯片会有一个调节机制。一般数据信号会比DQS提前四分之一周期被释放出来,实际上,在颗粒端接收到的波形对应关系应该是这样的: 图8 平移后的眼图 通过主控芯片的调节之后,DQS的边沿就和DQ信号位的中心对齐了,这样就能保证数据在传输到接收端有足够的建立时间与保持时间。和上面分析时钟与地址信号一样,如果DQ与DQS之间等长做的不好,DQS的时钟边沿就不会保持在DQ的中间位置,这样建立时间或者保持时间的裕量就会变小。先简单的来看一张图 图9 延时偏差对时序的影响 上图中,T_vb与T_va表示的是主控芯片在输出数据时时钟与数据之间的时序参数。在理想情况下,时钟边沿和数据电平的中心是对齐的,由于时钟和数据传输通道不等长,使得时钟边沿没有和数据脉冲的中间位置对其,使得建立时间的裕量变小。在理解了这些基础问题之后,我们需要做的就是将这些时间参数转化为线长。 下面我们通过具体实例来看看时序的计算,下图是Freescale MPC8572 DDR主控芯片手册,这张图片定义了从芯片出来的时候,DQS与DQ之间的相位关系。 图10 MPC8572时序图 图11 MPC8572时序参数 颗粒端为美光DDR,该芯片的时序图以及时序参数如下图所示,这张图片则定义了颗粒端芯片识别信号所需要的建立时间与保持时间。 图12 DDR颗粒时序图以及时序参数 我们用T_pcbskew来表示DQ与DQS之间的延时偏差,如果想要得到足够的时序裕量,则延时偏差要满足以下关系: T_pcbskew《T_vb-T_setup T_pcbskew》T_hold-T_va 代入数据,有: T_vb-T_setup=375-215=160ps T_hold-T_va=-160ps 这样,如果传输线的速度按照6mil/ps来计算,T_pcbskew为+/-960mil。大家会发现裕量很大,当然这只是最理想情况,没有考虑时钟抖动以及数据信号的抖动,以及串扰、码间干扰带来的影响,如果把这些因素都考虑进来,留给我们布线偏差的裕量就比较小了。 综上所述,时序控制的目的就是要保证数据在接收端有充足的建立时间与保持时间 眼图 眼图(EYE Diagram)介绍 所谓眼图简单的说就是把一连串接收端接收到的脉冲信号(000,001,010,011, 100, 101,110,111)同时叠加在高速示波器上以形成眼图,如下图所示: 图1 若在眼图中加入一个多边形以标识信号真正存在的区域,即所谓的眼图模板测试(Eye Mask)。因为眼图模板测试可在一次量测中,计算出测试信号波形的上升时间、下降时间、噪声与抖动(Jitter)等,形成一套系统化的测量方法,因此眼图已被多个协会(SATA, SAS, PCIE, USB, Ethernet等几乎所有的高速总线协会)采用来规范各种通信互连系统的标准测试项目。 图 2 眼图的特性是累加了一连串的脉冲时序,因此它具有测量信号重复性的作用。图1的眼图可以呈现许多信息;假如整个互连通信系统无任何噪声时,眼图上的轨迹应为同一条直线。当噪声越大时,信号变动程度也越大,在垂直方向之叠合轨迹也越粗,误码率也将增加。如下图所示: 图3 眼图的水平方向为时间轴,代表信号到达的时间,抖动将造成水平方向上轨迹变粗。眼图的左右边沿可以测量出信号的上升时间和下降时间。眼图形状类似于眼睛,当眼睛张的越大时,传输质量越佳。基本上若眼图的形状呈现【瞇瞇眼】形状时,表示信号质量极非常差。如下图所示: 图4 在信号量测中,眼图的形成正如上所述:由多个差分信号运算所累加而成。以SATA为例,其原理大致如下: 首先SATA 的信号pin角,大致上可分为TX+、TX-、RX+与RX-;由于SATA、SAS、PCI Express这类总线都是以差分信号来取代传统的单端信号传输,TX 为发送端,RX为接收端,而+、-则为差分的成对信号。参考图5(A)与图5(B)的信号波形图(以TX 为例),当信号传递时,即使因外界的噪声干扰,也不用担心信号会有误判的情形发生,因为差分信号的传输机制会将TX+与TX-作相减的运算,如图5(C)所示,如果有噪声,也不会传递到芯片内部,这样就不会影响到正常的信号传递,从而提高噪声容忍度。 图5 而示波器在测量眼图信号时,透过自触发点之后,将TX+ - TX-的信号累加至示波器上,如下图所示,即获得了眼图。 图 6 很多人在称赞美女的时候,经常会用【明眸皓齿】、【蜂腰美人】或【水蛇腰】来形容。其实在评判眼图的质量时,这个标准也蛮适用的。这其实就可以当作检查眼图是否完美的两个重要准则: ■【明眸皓齿】:眼睛要大,如果配合上有眼图模板的话,那么以眼图模板当作瞳孔,则眼白(Margin)就必须要够多。 ■【蜂腰美人】:如图7红绿色圆圈中交叉的部分,必须要越小越好,最好是一个点,就像蜂腰美人一样,比较瘦小,因为这里代表的是抖动,如果太大就会造成误码率增加。抖动越小则代表信号质量越好,发生误码的机率越低。 图 7 前面讲到了眼图模板,眼图的测试主要是用来检测高速串行传输的信号质量,不论是SATA、PCI Express还是USB,标准都有提供眼图模板的标准给工程师作为眼图的测量准则。如图8所示,是USB2.0 TX的眼图模板,所谓的眼图模板主要是用在判断眼图是否符合规范的要求,图8中ABCDEF6点所围成的六边形红色区域以及GH以上、IJ一下区域代表所谓的【禁止区域】,如果眼图有任何信号波形位进入这些红色区域,则表示信号传输不满足协议规范的要求(如图9绿色圆圈处)。 图 8 图 9 眼图的判断 以上说了那么多,现在就来看看眼图到底如何来判断。 首先,看是否【明眸】。眼图是否够大?是否有进入内模板?是否有超过上下限。 其次,看是都【蜂腰】。眼图交叉点的部分,是否达到够细?是否达到最小协议规范中抖动的要求? 以上两点需要同时满足,才能说明眼图符合设计要求。 |