经常能看到有人在问蛇形线的问题。平时我们能看到蛇形线的地方大都是一些高速高密度板,好像带有蛇形线的板子就更高级,会画蛇形线就是高手了。网上关于蛇形线的文章也有很多,总感觉有些帖子的内容会误导新手,给人们带来困扰,人为制造一些障碍。那么我们来看看实际应用当中蛇形线到底有什么作用。
要弄懂蛇形线,我们先来说说PCB走线。这个概念似乎不用介绍,做硬件的工程师每天在做的不就是布线工作么。PCB上的每条走线都是硬件工程师辛苦的一条一条画出来的,这有什么可说的呢?其实就是这简单的走线也包含了很多我们平时会忽略的知识点。比如说,微带线和带状线的概念。简单地说微带线是走在PCB板表层的走线,带状线是走在PCB内层的走线。这两种线有什么区别呢?微带线的参考平面是PCB内层的地平面,走线的另一面是暴露在空气中的,这样就造成了走线四周的介电常数并不一致,比如我们常用的FR4基板介电常数是4.2左右,空气的介电常数是1。而带状线上下两面都有参考平面,整个走线是嵌入在PCB基材当中的,走线四周的介电常数是一致的。这也就造成了带状线上传输的是TEM波,而微带线传输的是准TEM波。为什么是准TEM波?那是由于在空气和PCB基材交界处的相位不匹配造成的。什么事TEM波?…………如果就这个问题深挖下去的话,讲上十天半个月也讲不完。长话短说,无论是微带线还是带状线,他们的作用无非就是用来承载信号,无论数字信号或者模拟信号。这些信号在走线里以电磁波的形式从一端传输到另一端。既然是波,那就要有速度。信号在PCB走线上的速度是多少呢?根据介电常数的区别,速度也不一样。电磁波在空气中的传播速度是大家都熟知的光速。在其他介质中的传播速度就要通过下面的公式来计算:
V=C/Er0.5
其中,V是在介质中的传播速度,C是光速,Er是介质的介电常数。通过这个公式我们就能轻松的计算出信号在PCB走线上的传输速度。比如我们把FR4基材的介电常数简单以4来带入公式计算,也就是信号在FR4基材中的传输速度是光速的一半。但是表层走线的微带线,由于一半在空气中,一半在基材中,介电常数会略有降低,这样传输速度会比带状线略快一些。常用的经验数据就是微带线的走线延时大约为140ps/inch,带状线的走线延时大约为166ps/inch。
前面说了这么多只有一个目的,那就是信号在PCB上的传输是有延时的!也就是说信号并不是在一个管脚发送出去以后,瞬间就通过走线传输到另一个管脚。虽然信号传输的速度很快,但是只要走线长度足够长,还是会对信号传输带来影响。比如说一个1GHz的信号,周期是1ns,上升沿或者下降沿的时间大约为周期的十分之一,那么就是100ps。如果我们的走线长度超过1inch(大约2.54厘米),那么传输的延迟就差出了一个上升沿还要多的时间,如果走线超过8inch(大约20厘米),那么延迟就能整整差出一个周期!原来PCB的影响这么大,我们板子上超过1inch的走线是很常见的。那么延迟会对板子正常工作有影响么?看看实际系统,如果只是一个信号,和其他信号不想关,那么延迟似乎不会有什么影响。但是,在高速系统里,这个延迟是会实实在在的发生作用的。比如我们常见的内存颗粒,是以总线形式连接的,有数据线,有地址线,有时钟,有控制线。再看看我们的视频接口,HDMI或者DVI无论几个通道,都会包含数据通道和时钟通道。或者是一些总线协议,都是数据和时钟同步传输。那么,在实际的高速系统当中,这些时钟信号和数据信号都是同步的从主芯片中发送出来的,如果我们的PCB走线设计很差,时钟信号和数据信号的长度相差很大,那么很容易就能造成数据的错误采样,那么整个系统也就不会正常工作了。要解决这个问题怎么办呢?很自然的我们就会想到,把长度短的走线加长,让同组的走线长度差不多,那不就延迟一样了?那怎么把走线加长呢?绕呗!Bingo! 终于绕回主题了,真不容易。这就是蛇形线在高速系统中的主要作用。绕线,等长。就是这么简单。蛇形线就是用来绕等长的,通过画蛇形线,我们能让同组信号实现等长,这样在接收芯片接收到信号后就不会由于PCB走线上的不同延时造成数据的错采了。蛇形线和其他PCB板上的走线一样,都是用来连接信号的,只是走的长一些而已,无它。所以蛇形线并不高深,也没多复杂。既然和其他走线一样,那么一些常用的布线规则对蛇形线也是适用的,同时由于蛇形线的特殊结构,在布线时要注意到,比如尽量让蛇形线相互平行的部分远一点,短一点,也就是俗话说的绕大弯,不要在小范围内绕的太密太小。这都有助于减小信号干扰。蛇形线由于人工的增加了线长,对信号必然是有坏的影响的,所以在系统中只要能满足时序要求,能不用就不要用。有些工程师凡是用到DDR或者用到高速信号就会去做全组等长,蛇形线满板飞,似乎这样就是更好的布线,实际上这是偷懒不负责任的表现。很多不需要绕线的地方绕线了,浪费了板子的面积不说,也降低了信号质量。我们应该根据实际的信号速度要求计算延迟的冗余度,从而确定好板子的布线规则。
除了等长的作用以外,看到网络上的文章中经常提到蛇形线的其他几个作用,这里也简单说一下。
1、 经常看到的一个说法是阻抗匹配的作用。这个说法很奇怪,PCB走线的阻抗和线宽有关,和介电常数有关,和参考平面的距离有关,什么时候和蛇形线有关了?走线的形状什么时候影响到阻抗了?不知道这个说法的源头是从哪来的。
2、 还有说是滤波的作用。这个作用不能说没有,但是在数字电路里面应该没有滤波的作用或者说在数字电路里面我们是不需要用到这个功能的。在射频电路里,蛇形的走线能形成一个LC电路,如果说对一定频率的信号有滤波作用那还是说的过去的。
3、 接收天线。这个可以有。在有些手机或者收音机上我们都能看到这个作用。有些天线就是用PCB走线来做的。
4、电感。这个可以有。本来PCB上的所有走线都有寄生电感。要做一些PCB电感是可以实现的。
5、 保险丝。这个作用让我百思不得其解。短而窄的蛇形线怎么起到保险丝的作用呢?电流一大就烧断?那板子不是废了,这个保险丝的代价太大了吧,实在想不明白会在什么样的应用中用到。
通过上面的介绍我们可以明确,在模拟或者射频电路当中,蛇形线有些特殊作用,这是微带线特性决定的。而在数字电路设计当中,蛇形线就是用来做等长实现时序匹配的作用。并且,蛇形线会对信号质量产生影响,所以在系统中应该明确系统需求,根据实际要求计算系统冗余,谨慎使用蛇形线。