1、PCB设计中关于反射的那些事儿摘要:如何确保信号完整性?入门工程师告诉你:避免串扰和反射。专家工程师也告诉你:避免串扰和反射。反射在信号完整性中的地位毋庸置疑。市面上大部分的书籍都是从路的角度分析反射,让我们跟随这篇文章,敲开场的大门,探索反射的世界。最近高速先生粉丝(微信公众号:一博_看得懂的高速设计)增长很快,得益于各位朋友的大力推荐。其中有一位朋友推荐我们公众号时是这样说的“给大家分享一个公众号,这是我见过最无聊的公众号!一天到晚只说技术,真是弄不明白做硬件的人是怎么想的啊!哇哈哈哈哈哈哈哈哈”。对于这位朋友,高速先生只想说,您真是太(bu)有(hui)眼(xin)光(shang)啦(a
2、)!好了,玩笑到这。高速先生出道以来,接到了大量朋友的提问,很大一部分问题几种在基础理论上。很明显大家都是有思考过的,对一些东西处于明白但又有点不明白的区间,还差一层窗户纸没有捅破。所以高速先生写出这样一篇文章,希望能帮助大家捅破这层窗户纸。基础理论篇幅较长,所以这一系列文章会分比较多期。开篇在国外能碰到许多二三十年工作经验的工程师,帮助他们沟通的工具不是PPT,不是仿真结果,不是测试结果,而是一张纸和一支笔。很佩服他们可以用一张纸一支笔给你勾绘出一个电路,一条波形,一种debug的方案。曾有一个老工程师告诉我,当你用场的角度去理解电路上的器件的时候,一切将会变得简单起来。什么叫场的角度理解分
3、立器件?在这个世界里,容抗是Xc=1/(2fC) ,感抗是XL= 2fL=L 。这两个公式中的f与指的不是我们的信号频率,而是正弦波的频率与角频率。第二页:大家和SI工程师眼中的信号在这里,我们要感谢伟大的让巴普蒂斯约瑟夫傅立叶简称傅立叶,对,就是发明傅立叶变化的那个人。所以在大家眼中看到的信号是这样的:而在一个SI工程师的眼中看到的信号是这样的:或者,这样的:当我们能将信号分解为一个一个正弦波来研究的时候,一切都变简单了,可以量化了。在正弦波的世界中只有频率f,幅度A,相位。第三页:正弦波变成了什么?现在,我们可以愉快的用场来看这个世界了。让我们来思考下面这个问题:一个1V的正弦波在某岔路口
4、分成了两个大小相等的正弦波,两条路通向同一个终点,但是一条路长为L,另外一条路长度为L+X,在终点的时候,这个正弦波变成了什么?当两条岔路一样长时,:终点的信号和起点的信号没有区别。当一条路比另一条多二十分之一波长时:区别也十分小吧?高速先生在这里特别打上了mark点。大家可以看到,终点的信号比起点的信号衰减了1.2%。X更长,达到八分之一波长时:这时候,衰减已经不需要打mark点也可以看出来了。X再长一点,达到四分之一波长时:30%的能量不见了!直到,X达到波长一半的长度:好惨,完全阵亡。那么,这一期的问题是:为什么高速先生要举这个例子呢?好吧,这个问题也是个玩笑(首尾呼应)。这一系列的基础
5、理论详解就不提问题了。奖品将在向我们提问的各位朋友中选出。我们下期分解。作者:陈德恒 一博科技本文由一博科技自媒体“看得懂的高速设计”出品,欢迎关注我们微信公众号:“一博_看得懂的高速设计”。高速先生愿意与你随时随地交流技术问题。PCB设计中关于反射的那些事儿(2)集总的世界大家知道,信号是以电磁波的形式传递的。波从一个介质入射到另一个介质时,会产生反射。同样的,当我们信号传输遇见阻抗不连续时,信号会产生反射。(关注技术自媒体微信公众号:一博_看得懂的高速设计)反射能量的强度跟阻抗比匹配的程度相关。在开路短路这种极端情况下,反射的幅值会和入射的幅值相等。由于反射的存在,即使我们的设计中通常不会
6、出现前面例子中分叉之后再接到接收端的情况,还是会有大量相位不相等的谐波在我们传输线中传输。这些能量就会相互产生干扰,受干扰的程度跟反射的幅值和两个能量之间的相位差有关。从前面的例子中我们可以看到,当两个信号的相位差不到/20时,叠加后的影响是微乎其微的。大家通常将/20作为一个界限,当传输线长度小于/20时,我们用集总参数来考虑我们的电路。我们一直在说,那是什么?如果大家每次都想着=v*T=v/f的话,理解一些理论的时候肯定很绕,没法有个直观的反应。在这里大家需要再建立起一个概念,我们通常看到的波形是一个电压/时间的坐标轴,当我们把X轴的时间换成长度,在普通的FR4板材上,我们看到的大致是一个
7、这样的图像:我们要在一条传输线上完成一个1GHz的正弦波,这条传输线大概需要6000mil。所以很多时候我们以为我们传输线上的波形是这样子的:但其实我们传输线上实际的波形可能是这样子的:或者是这样子的:可以看到其实他们的dv/dX是非常小的,这里用dX不用dt是因为传输线的总电容/电感是跟X有关的。我们都知道地球是圆的,可是身处我们的位置去看的话地球就是平的。同样的,在集总参数中,由于在线路上的电压电流变化速度很慢,我们可以将它当做是直流,在这时,传输线的容抗与感抗都没有表现出来,这时传输线是透明的:接收端接收到的就是发送端发出的信号,下面是传输线10与传输线100的对比:为什么以前的板子不需
8、要控阻抗,为什么现在的一些模拟信号也是不需要控阻抗的,原因就在这里。通常我们1GHz的正弦波的/20在300mil左右,10MHz的正弦波的/20则有30000mil。传输线是透明的,接收端接收到的波形与传输的路径没有关系,这就是集总的世界。下一页:一些经验公式在上面给大家展示的这张图其实是非常有代表意义的:这是一个1GHz的信号,上升沿大概在0.1ns左右。大家想到了什么?是的,DDR3的时钟信号。五倍频谐波合成一个波形,上升沿时间为信号周期的十分之一,符合我们一切对信号完整性的预期。该信号五倍频率处的这个谐波称之为最高次有效谐波,我们前文中说的集总参数与分布参数界限的/20,指的就是最高次
9、有效谐波的/20。所以一个1GHz的信号(注意这里说的是信号,不是正弦波),通常他的/20是60mil。但是否每个波形的最高次有效谐波都是信号的五倍频呢?并不一定,大家看下面两幅图:这是两个频率为500MHz的信号,他们周期相等,幅值也相等,但是上升沿不一样。很明显,上升沿较抖的红色信号直到9倍频处还有较为明显的频率分量,而上升沿较缓的蓝色信号在三倍频以后的频率分量就非常少了。什么时候会出现这种状况呢,不是说好了上升沿时间为信号周期的十分之一吗?由于工艺的不断更新换代,芯片的die电容不断减小,现在大量的100MHz信号的上升沿达到了0.2ns甚至更少,高速先生不久前就碰到过66MHz的信号反
10、射非常严重的。同样是因为工艺的原因,按照上升沿时间为信号周期的十分之一计算的话,25Gbps信号的上升时间应为8ps,臣妾做不到啊!所以在802.3bj中,要求的25G信号的上升沿为9.6ps(20%-80%)。而在现在的高速无源链路上只关心到信号中心频率的两倍频处,再高的频率分量由芯片来给你保证了。为了辅助我们得出最高次有效频率,我们还有这些经验公式:0.35/Tr,0.5/Tr.其中Tr单位使用ns的话,得到的频率为GHz,两个公式的区别在于对最高次有效谐波定义的严格与否。等等!各位看官不要走!如果您觉得这样计算最高次有效谐波的波长再除以二十再跟传输线长度来进行对比来判断是集总参数还是分布
11、参数再去决定是否考虑传输线效应太麻烦的话,这里还有个最简单的:就是这个了,如果上升时间小于六倍的传输延时,我们需要考虑传输线效应,称之为高速。最后,让我们来对比一下两种方法算出来的分布参数与高速有何不同,拿我们最开始的DDR3的波形举例:上升时间Tr为100ps;高速的临界条件为传输延时为16.6ps;16.6ps传输的长度为100mil;100mil为3GHz正弦波的/20;3GHz约等于使用0.35/Tr来算最高次谐波3.5GHz;如果使用0.5/Tr来算最高次谐波的话,他的最高次谐波为5GHz;回到文章顶部看我们最开始分享的那张图.其实我们用有效频率的二十分之波长来定义分布/集总参数与用
12、六分之上升时间来定义高速/低速信号是完全一样的东西啊。耐心看完的朋友们都是英雄,我们下期再虐!PCB设计中关于反射的那些事儿(3)路的反射和场的反射文章未动,公式先行:inc入射;trans 传输;refl反射当信号穿越阻抗不连续的点时,会产生反射电压与电流,从而使得分界面两边的电压和电流相等(基尔霍夫定律)。(关注技术自媒体微信公众号:一博_看得懂的高速设计)在这里给大家自爆一下高速先生小时候学习过程中做过的笔记:对于理工科来说,一些从数学上去理解问题的过程是必不可少,也是最直观的。高速先生也和大家一样,学习反射都是从手算反弹图开始的。同样的,小高速先生在画出反弹图之后曾经觉得自己懂反射了。
13、可是转念一想,还是发现了很多无法理解的问题:为什么测试时在通道中间测试到的波形有回沟,而在终端测试到的波形又是好的?Breakout区域有一次阻抗不连续,但走出该区域之后,走线从细变宽,会增加一次反射,那是不是全程按照breakout区域走线会比较好?源端匹配电阻是不是也增加了一次反射?是的,其实这些用一句“传输线很短的时候反射掩盖在上升沿中了”就可以解释。但是到底是怎么掩盖在上升沿中的?我们发现在上方的反弹图中传输延时远远大于信号的上升时间,在计算反射时我们用的电压实际上是信号高电平的电压,并没有关注上升沿过程中其他电平的状态,但实际上的情况并不是这样,可是如果我们如果把上升沿的状态加入算式
14、中,那这游戏可就没法玩了。所以,我们需要场的思维,请看下一页分解。下一页:场 的反射场的反射来到了场的领域,我们要做的第一件事就是把我们的波形拆开,让我们先来看看之前说过的测试点的问题。(关注技术自媒体微信公众号:一博_看得懂的高速设计)为了将问题简化,我们假定一个这样的条件:1.在拓扑上,源端完全匹配,末端全反射,理想的100差分传输线。2.传输的为我们之前模拟的DDR3信号,由三次谐波构成。3.测试点位置离接收端距离为500mil。好的,现在开始让我们分析,首先,如同大家在之前文章中看到的,我们接收端信号与测试点信号的区别是这样的:让我们看看1GHz谐波发生了什么:测试点测到的是两个信号叠
15、加的波形,一个是入射信号,一个反射波。反射波与入射波幅值相等(末端全反射);走过的路程比入射波多1000mil(一来一回),也就是六分之一波长;两个信号的相位差也就是60。这样,我们就看到了1GHz的谐波在接收端时蓝色的波形,在测试点处为红色的波形,幅值衰减,相位超前。再看看3GHz的谐波:同样的1000mil,对于3GHz来说就是半波长,相位差180,这样我们就发现在测试点处3GHz的频率分量基本上就衰减完了。再来看看5GHz的谐波:相位差300,于是看到测试点的波形衰减,相位滞后。将在测试点的三个频率分量的叠加再叠加起来之后:不知道大家对于这样的分析方法是感觉如何,是觉得把东西变复杂了还是
16、变简单了呢?怎么想没有关系,下一篇中高速先生会将这样的方法再拓展,相信你会爱上这个方法的。PCB设计中关于反射的那些事儿(4)反射的疑云与解答反射疑云在前文中有不少公式与计算,但其实个人觉得应用工程师要做的是知道趋势,知道影响范围,并不需要精确计算,那是软件干的事情。(关注技术自媒体微信公众号:一博_看得懂的高速设计)最近听到一个理论,说大数据时代,人们只需要知其然,不需要知其所以然。想象一下,当我们要做一个项目时,我们可以轻而易举的知道一些其他类似项目哪些结构成功了哪些结构失败了,我们还需要理论分析干嘛呢?这句话到底有没有道理大家仁者见仁智者见智,下面我们继续来解决我们的反射问题:Break
17、out区域有一次阻抗不连续,但走出该区域之后,走线从细变宽,会增加一次反射,那是不是全程按照breakout区域走线会比较好?首先将问题进行简化,由于本身反射系数不大,第四次反射很小,假设传到RX的信号是最初的信号加上第二次反射的信号。一段长为X的阻抗不连续,对哪个频率的影响最大呢?当相位差为(2n+1)/2时,也就是相差二分之一波长的时候(反射一来一回,对应的X为四分之一波长)。也就是说,当X为100mil时,第一次最大衰减的频点为15GHz,我们从S参数中可以很明显的看出:当X为300mil时,第一次谐振频率为5GHz:假设总线长为2000mil,而全部按照breakout区域走线的阻抗去
18、走的话,第一次谐振频率则变成了750MHz,谐振周期为1.5GHz:回头呼应反射系列文章的第一节,从那几张图中可以知道:半波长时信号完全损耗了,四分之一波长时信号损耗30%。全反射(反射系数为1)时,在谐振频率(半波长)时损耗为100%,谐振频率的损耗跟反射强度有关。看到这里估计各位看官也明白了,阻抗不连续越长,影响的频率越低。的的确确是因为阻抗不连续较短,反射淹没在上升沿当中了。根据这套理论,我们很容易去判断设计中的一些细节对整个系统的影响到底有多大,举个例子:信号速率越来越高是一种趋势,于是各种优化方案也被人们提了出来,这两个可能是近年来开始被大家熟悉的优化方案,加粗反焊盘上的走线或者填补
19、走线附近的参考层,以防止反焊盘上扇出的走线阻抗偏高。可是这到底有多大的影响或者优化呢?排除一些特殊情况(连接器,板厚较厚需要使用较大过孔等等),这一段在antipad上的走线长度大约为20mil(亲,不要把过孔pad算上哦)。20mil的第一次谐振频率大约是多少呢?75GHz(四分之一波长)。如果我们按照二十分之一波长(影响不到1%)来算的话,对应的频率也是15GHz。您的信号需要做这样的优化吗?看完这些之后,相信能帮助大家在工(he)程(ge)师(wan)精(sui)神和工(qiang)匠(po)精(zheng)神中间找到一个平衡点了。(关注技术自媒体微信公众号:一博_看得懂的高速设计)这一
20、节高速先生有给大家准备问题。问:减小反射影响的方法有哪些?下一页:深入反射深入反射问:穷人思维和富人思维有什么区别?答:我拿到一2.4mm的20层板给它的28G信号通道做优化,将信号安排在最后几层,花了很久的时间在孔径,pad,antipad,taper,孔距,地孔数量上做平衡,在最后为20mil长的stub需不需要背钻做整体评估时,客户拍拍我的肩膀说:“小陈呐,别那么麻烦了,用镭射孔走第三层嘛,过孔短,stub也短”。真实故事改编,逗大家一乐。回顾上一期问题,平时大家想到减小反射的方法大多在匹配传输线阻抗,源端串阻,末端端接,进一步的还有容性负载补偿。除了减小反射本身,是否还有别的方法呢?有
21、,避开谐振点。下面是一个简单的DDR3时钟一驱四的拓扑,时钟频率为500MHz:CPU到第一片颗粒长度为1500mil,颗粒与颗粒之间的长度为500mil,这时接收颗粒的波形如下:拓扑没有问题,末端也用匹配电阻上拉了,负载也并不多,为什么裕量那么小?回想一下前几节说的,500HMz的时钟信号频域分量主要在500MHz,1.5GHz,这几个频率分量的四分之一波长分别为3000mil,1000mil。而我们当前拓扑中两两之间1500mil,500mil的线长很容易就凑成了四分之一波长,谐振最严重的长度。怎么办呢?我们将CPU到第一片颗粒之间的线长延长至2100mil,颗粒之间线长延长至700mil之后:整体的裕量变大了,如果再稍微做一些容性负载补偿:裕量进一步提升。实际操作时只需要在布局时稍微注意一下器件之间的距离,不需要增加成本,也不需要多余的绕线。高速先生反射系列的文章到这里就结束了,最后总结一下:反射的本质是波的反射,以及不同相位的波之间的叠加。反射影响的严重程度主要是以下两点: 1.阻抗不匹配程度,影响谐振幅值。阻抗越不匹配,谐振幅度越大。 2.阻抗不匹配长度,影响谐振频率,不匹配长度越长,谐振频率越低。需要根据实际情况分析反射的影响,对症下药。希望这一系列文章对大家有帮助,欢迎大家提问讨论。