引言
在嵌入式系统硬件设计中,串扰是硬件工程师必须面对的问题。特别是在高速数字电路中,由于信号沿时间短、布线密度大、信号完整性差,串扰的问题也就更为突出。设计者必须了解串扰产生的原理,并且在设计时应用恰当的方法,使串扰产生的负面影响降到最小。
1 串扰理论分析
串扰主要源自两个相邻导体之间所形成的互感与互容。在高速数字电路中,互感通常比互容的问题更严重。
1.1 互容
一个电路产生电场,该电场会影响第二个电路,这种相互影响的系数称为它们的互容。
式中,CM为互容,ΔV为驱动波形的阶跃幅度,TR是驱动波形的上升时间,RB是接收电路的接地阻抗。
由式1可知,互容串扰电压与CM、ΔV/TR 、成正比,因此,减小互容串扰电压的方法有:
② 减小ΔV/TR。在确保信号时序的前提下,尽可能选择信号沿较缓的器件。
③ 减小RB。减小被干扰电路接地阻抗,对被干扰电路进行末端端接,为被干扰电路并接去耦电容。
1.2 互感
两个信号回路相互靠近时,一个信号回路的磁场变化将影响另一个信号回路,这种影响就是互感。互感的大小取决于信号回路的自感与两个信号回路耦合的程度。
式中,LM为互感,ΔV为驱动波形的阶跃幅度,TR是驱动波形的上升时间,RA是驱动电路的源端阻抗。
由式(2)可知,互感串扰电压与LM、ΔV/TR 成正比,与RA成反比。因此,减小互感串扰电压有如下方法。
(1) 减小LM
① 增大信号走线间距(因为LM随着间距平方的增加而下降,关键信号可采用3W原则)。
② 为信号提供完整的参考平面。在低速电路中,电流沿着电阻最小路径前进,而高速信号沿着电感最小路径前进。电感最小的返回路径就紧贴在一个信号导体下面,它使输出电流路径与返回电流路径之间的总回路面积最小,从而使输出电流路径与返回电流路径的干扰磁场相互抵消。
③ 减小信号到参考平面的距离,从而减小环路面积,达到减小LM的目的。
④ 尽可能地减小相邻信号间的平行长度。平行长度越短,则总的LM越小。
⑤ 无参考平面隔离的相邻信号层走线方向应该垂直,可减小磁场耦合程度。
⑥ 对串扰较敏感的信号线尽量布在内层,以减小磁场耦合程度。
(2) 减小ΔV/TR
在确保信号时序的前提下,尽可能选择信号沿较缓的器件。
(3) 增大RA
在干扰电路源端串接电阻,减小电流变化斜率,同时要兼顾与传输线阻抗匹配,避免信号反射。
1.3 近端串扰和远端串扰
图1 两条传输线的耦合
如图1所示,假设位于A点的驱动器是干扰源,而位于D点的接受器为被干扰对象,那么驱动器A所在的传输线被称为“干扰源网络”或“侵害网络(Agreessor)”,相应的接收器D所在的传输线网络被称为“静态网络”或“受害网络”。静态网络靠近干扰源一端的串扰称为“近端串扰”(也称后向串扰),而远离干扰源一端的串扰称为“远端串扰”(也称前向串扰)。根据产生的原因不同,可将串扰分为容性耦合串扰和感性耦合串扰两类。
受侵害线上近端和远端串扰噪声的波形可以通过图2得出。当一个数字脉冲上升沿进入传输线,它将不断地在受侵害线上感应出噪声,一部分串扰噪声将传向近端,另一部分将传向远端。远端串扰脉冲与侵害线上的信号经过时间TD(信号在传输线上的延迟时间)后同步到达终端。近端串扰脉冲将起始于侵害线上信号变化沿出现的时刻,而侵害信号到达终端前产生的最后一部分近端串扰信号将在t=2TD时刻才到达近端,这是因为这部分信号要经过整条传输线才能被传回近端。所以,近端串扰起始于t=0,并且持续2TD的时间。远端串扰起始于t=TD,持续时间为数字信号的上升或者下降时间。
图2 串扰噪声示意图
近端和远端传播的容性耦合电流都是正向的。具体的容性耦合如图3所示,图中的TP是干扰信号在传输线上的延迟时间,Tr是干扰信号的上升时间。
流向近端的感性耦合电流与近端容性耦合电流同向,流向远端的感性耦合电流与远端容性耦合电流反向。具体的感性耦合如图4所示。
图3 容性耦合的近端、远端串扰波形
图4感性耦合的近端、远端串扰波形
正常条件下,在一个完整平面上,感性和容性的串扰电压大小基本相等。远端的串扰分量(在D点的电压)相互抵消,近端的串扰分量(在C点的电压)相互增强。带状线电路具有很好的感性和容性耦合平衡性,因此其远端耦合系数极小;对于微带线路,与串扰相关的电场大部分穿过空气(而不是其他的绝缘材料),介电常数较小,因此容性串扰比感性串扰小,导致其远端串扰是一个小的负数。在开槽和其他不完整的参考平面上,感性耦合比容性耦合更大,使远端串扰变大。
1.4 串扰的反射
电压反射系数ρ的计算公式:
式中,RL是终端负载电阻,Z0是传输线特性阻抗。若RL =Z0,则ρ=0;若终端开路(RL=∞),则ρ=1;若终端短路(RL=0),则ρ=-1。在图1中,若近端阻抗与传输线特性阻抗不匹配,会使近端串扰在远端造成反射。为了消除近端串扰反射到远端,可以通过在近端接入正确的匹配电阻使ρ=0,消除反射。
2 串扰理论的应用实例
在工作实践中,笔者遇到了很多有关串扰的实际案例,通过运用上述分析的结论,均较好地得以解决。现将几个代表性问题的解决方法与大家分享。
2.1 增大信号走线间距
现象:Linux操作系统在加载过程中,出现偶然性意外错误而终止,系统提示访问了非法地址。
分析:操作系统从NAND Flash解压到SDRAM中并执行。SDRAM的CLK信号频率较高、沿斜率较大,本身就是一个干扰源。同时,由于CLK信号对于SDRAM时序控制的重要性,若受到周围信号的干扰,则可能影响SDRAM的正常读写。用示波器测试SDRAM的CLK信号,发现信号上偶尔会出现一些很小的干扰,但系统加载却正常了。经分析,这应与示波器探头自带的电容有关。尝试在CLK信号与地之间并接10 pF去耦电容,系统加载即正常。可见,CLK信号确实是受到了干扰,并接去耦电容正是将干扰滤除了一部分。
解决:由于SDRAM是高速器件,时序要求较高,CLK并接电容后,信号沿变缓,时序参数较为临界,通过增大信号走线间距的方法解决串扰问题更为合适。重新设计PCB时,将CLK与信号其他信号的中心距增大到3W(即3倍线宽),问题得以解决。
2.2 在信号源端串接电阻
现象:CPU通过总线外扩一个以太网芯片,但程序无法正常初始化该芯片,网络不通。
分析:用示波器测试“读”、“写”、“片选”、“数据”、“地址”等总线信号,发现这些信号上升、下降沿时间很短,信号过冲较严重,信号间距受空间所限无法增大,因此,总线信号间必然存在串扰问题。各总线信号既是干扰源,又是被干扰对象。在信号源端串接电阻有两个好处:作为干扰源,源端阻抗变大,电流变化率降低,与其他信号的互感耦合减小;作为被干扰对象,源端阻抗与传输线匹配,有利于吸收近端串扰,避免将近端串扰反射到远端。
解决:将总线信号源端串联电阻的阻值从10 Ω增大到50 Ω,重新运行程序,网卡芯片初始化正常,串扰问题解决。
2.3 为信号提供完整的参考平面
现象:CPU总线上增加点阵液晶设备,发现网口通信时网口1经常出现丢包现象,网口2甚至无*INK UP成功。
分析:系统主板为两层板,没有完整的信号参考平面,由于液晶连接线较长,使数据总线的长度增加,从而使串扰变得更加严重。网卡芯片与点阵液晶共用低8位数据总线与读、写控制信号,因此信号受到干扰、通信受到影响。
解决:重新设计PCB时,将2层板改为4层板,增加地层、电源层,为总线信号提供完整的参考平面,串扰减小。
2.4 减小被干扰电路接地阻抗
现象:SPI通信时,从SPI设备读回的数据不是期望的数据。
分析:用示波器测试SPI总线信号,发现CLK信号的上升沿、下降沿产生高频振荡,并两次跨过高、低门限电平。这将引起SPI数据的误触发,使CPU得到不正确的数据,因此需要滤除该高频干扰信号。
解决:在CLK信号与地之间并接1000 pF去耦电容,为高频干扰信号提供对地的低阻抗通道,干扰问题解决。
结语
串扰在高速电路设计中是一个不可忽视的问题,会影响系统的时序、降低噪声容限,导致系统无法正常工作。本文介绍了串扰产生的原理,通过对串扰电压的计算推导得到影响串扰的关键因素,根据这些因素提出一系列解决串扰问题的方法,并在实例中进行验证应用,对于解决串扰问题有一定的借鉴、指导意义。