2。下图中的C20由于使用封装是B,两个管脚间距很小,很容易造成短路,特别是在TopLayer短路时由于看不到很难发现。
4。贴片发光二极管在器件反面有符号“-|”,“|”侧是正极。
Blackfin芯片学习和应用开发记录
减小DC/DC变换器中的接地反弹 — 一些接地要点
By Jeff Barrow [jeff.barrow@analog.com]
电路接地1在电路原理图中看起来很简单;但是,电路的实际性能是由其印制电路板(PCB)布局决定的。而且,接地节点的分析很困难,特别是对于DC/DC变换器,例如降压型和升压型变换器,这些电路的接地节点会聚快速变化的大电流。当接地节点移动时,系统性能会遭受影响并且该系统会辐射电磁干扰(EMI)。但是如果很好地理解“接地“引起的接地噪声的物理本质可提供一种减小接地噪声问题的直观认识。
接地反弹(Ground bounce)简称地弹会产生幅度为几伏的瞬态电压;最常见的是由磁通量变化引起的。传输电流的导线环路实际上构成了一个磁场,其磁场强度与电流成正比。磁通量与穿过环路面积和磁场强度乘 积成正比。
磁通量 ∝ 磁场强度 × 环路面积
更精确的表示是:
ΦB = BA cosφ
其中磁通量ΦB等于磁场强度B乘以穿过环路平面A和磁场方向与环路平面单位矢量夹角φ的余弦。
图1示出了磁通量与电流之间的关系。一个电压源驱动电流克服电阻沿导线环路流动。电流与环绕导线的磁通量相关联。为了将不同的物理量联系起来,可以考虑用你的右手握住导线(应用右手定则)。如果你的拇指指向电流的方向,那么你的其它手指将沿磁场磁力线方向环绕导线。因为那些磁力线穿过环路,所以形成了磁通量,在本例中磁通量方向为穿入页面。
图1. 右手定则
改变磁场强度或环路面积都会引起磁通量变化。当磁通量变化时,在导线中产生与磁通量变化率dΦB/d t成正比的电压。应该注意的是,当环路面积固定,电流变化;或者电流恒定,环路面积变化;或者两种情况同时变化——都会改变磁通量。
例如,假设图2中的开关突然断开。当电流停止流动时,磁通量消失,这会沿导线各处产生一个瞬态大电压。如果导线的一部分是一个接地返回引脚,那么以地电平为参考端的电压会产生一个尖峰,从而在任何使用该引脚为接地参考端的电路中都会产生错误信号。
图2. 开启开关的作用
通常,PCB印制线电阻上的电压降不是接地反弹的主要来源。1盎司(oz)铜的电阻为500 微欧/方数(µΩ/⌈),因此1 A电流变化只能产生500 µV/⌈的反弹电压——问题只存在于采用细长印制线或菊花链式接地或精密电子电路。
寄生电容器的充电和放电为瞬态大电流返回到地提供了一条路径。由于电流变化引起的磁通量变化也引起接地反弹。
在DC/DC开关电源中减少接地反弹的最好方法就是控制磁通量变化——使电流环路面积和环路面积变化最小。
在某些情况下,例如图3所示,电流保持恒定,而开关切换引起环路面积变化,因此产生磁通量的变化。在开关状态1中,一个理想的电压源通过理想导线与一个理想电流源相连。电流在一个包含接地回路的环路中流动。
在开关状态2中,当开关改变位置时,同样的电流在不同的路径中流动。电流源为直流(DC),且并没有变化,但环路面子发生了变化。环路面积的变化意味着磁通量的变化,所以产生了电压。因为接地回路为变化环路的一部分,所以它会产生反弹电压。
图 3
降压型变换器的接地反弹
为了讨论方便,将图3中的简单电路变换成与其类似的电路——图4中的降压型变换器。
图4. 对于高频开关,大电容CVIN和大电感LBUCK可以看作一个电压源和电流源
在高频时,一个大电容器——例如降压型变换器输入电容器,CVIN——可以看作一个DC电压源。类似地,一个大电感器——例如降压型变换器输出电感器,LBUCK——也可以看作一个DC电流源。所做的这些近似有助于直观理解。
图5示出当开关在两个位置之间交替切换时磁通量如何变化。
图5. 开关对环路面积的影响
大电感器LBUCK使输出电流大约保持恒定。类似地,大电容器CVIN保持电压大约等于VIN。由于输入引线电感两端的电压不变,所以输入电流也大约保持恒定。
尽管输入电流和输出电流基本不变,但当开关从位置1切换到位置2时,总环路面积会迅速变为原来的一半。环路面积的变化意味着磁通量的快速变化,从而沿着接地回路引起接地反弹。
实际上,降压型变换器由一对半导体开关构成,如图6所示。
虽然每个图中的复杂程度增加,但是通过磁通量变化引起接地反弹的分析方法仍然很简单和直观。
图6. 采半导体开关对分析接地反弹的基本原理不变
事实上,磁通量的变化会沿着接地回路各处都产生电压,这就带来了一个有趣的问题:哪里是真正的地?因为接地反弹意味着,相对于称作地的某个理想点(那一点需要定义),在接地返回印制线上产生一个反弹电压。
在电源稳压器电路中,真实的地应该连接在负载的低压端。毕竟,DC/DC变换器的目的是为负载提供稳定的电压和电流。电流回路上的其它所有点都不是真正的地,只是接地回路的一部份。
由于在负载的低压端接地并且环路面积的变化是接地反弹的原因,图7显示了如何精心地放置CVIN通过减小环路面积变化的比率降低接地反弹。
图7. 精心放置CVIN可以大大减小接地反弹
电容器CVIN旁路PCB顶层的高端开关直接到达底层低端开关两端,因此减小了环路面积的变化,将其与接地回路隔离。当开关从一种状态切换到另一种状态时,从VIN的底部到负载的底部,无环路面积变化或开关电流变化。因此接地回路没有发生反弹。
图8. 当开关从一种状态切换到另一种状态时不合理的布线会导致电流环路面积大幅变化
实际上,PCB布线本身决定了电路的性能。图8为图6中降压型变换器电路原理图的PCB布线图。当开关处于状态1所示的 位置,高端开关闭合,DC电流沿着外圈红色环路流动。当开关处于状态2所示的位置,低端开关闭合,DC电流沿着蓝色环路流动。注意由于环路面积变化引起磁 通量变化。因此产生电压和接地反弹。
为了清晰起见,在单层PCB上实现布线,但即使使用第二层整块接地平面也无法解决接地反弹问题。在展示改进布线图之前,图9给出了一个简单例子说明地平面无法解决问题。
图9. 整体地平面并不总是一个好方法
这里,我们采用双层PCB以便在与顶层电源线垂直处附加一个旁路电容。在左边的例子中,地平面是整体的并且未切割。顶层印制线电流通过电容器流过,穿过过孔,到达地平面。
因为交流(AC)电总是沿着最小阻抗路径流动,接地返回电流绕着其路径拐角返回电源。所以当电流的幅度或频率发生变化时,电流的磁场及其环路面积发生变化,从而改变磁通量。电流沿最小阻抗路径流动的规律意味着,即使采用整体地平面也会发生接地反弹——与其导通性无关。
在右边的例子中,一个经过合理规划切割的地平面会限制返回电流以使环路面积最小,从而大大减小接地反弹。在切割返回线路内产生的任何剩余接地反弹电压与通用地平面隔离。
图10中的PCB布线利用图9中示出的原理减小了接地反弹。采用双层PCB板以便将输入电容器和两个开关安排在地平面的孤岛上。
这种布线不必最好,但它工作很好,而且能够说明关键问题。应该注意红色电流(状态1)和蓝色电流(状态2)包围的环路面 积很大,但两个环路面积之差很小。环路面积变换很小意味着磁通量的变化小——即接地反弹小。(然而,一般情况下,也要保证环路面积小——图10只是为了说 明AC电流路径匹配的重要性。)
另外,在磁场和环路面积发生变化的接地回路孤岛内,沿着任何接地回路引起的接地反弹都受接地切割限制。
此外,可能第一眼看上去,输入电容器CVIN好像没有位于图7中所示的顶层高端开关和低层低端开关之间,但进一步观察才会发现是这样。尽管物理邻近可以很好,但真正起作用的是通过最小化环路面积实现的电子接近。
图10. 合理的降压型变换器布线可以使状态1和状态2之间的环路面积变化很小
升压型变换器中的接地反弹
升压型变换器实际上是降压型变换器的反射,因此——如图11所示——它是输出电容器,输出电容器必须放在顶层高端开关和底层低端开关底端之间以使环路面积变化最小。
图11. 按照降压型变换器将CVIN放在关键位置相同的方法,升压型变换器将CVOUT放在关键位置。
a)不合理设计,b)合理设计。
小结
接地反弹电压主要是由于磁通量变化引起的。在DC/DC开关电源中,磁通量变化是由于在不同的电流环路面积之间高速切换 DC电流引起的。但是精心放置降压型变换器的输入电容器和升压型变换器的输出电容器并且合理切割接地平面可以隔离接地反弹。然而,重要的是当切割地平面时 必须谨慎以避免增加电路中其它返回电流的环路面积。
另外,一个合理的布线应该将真正的地放在连接负载的底层,不会引起环路面积的变化或电流的变化。任何其它与导通相关的点都可以称为“地”,但它只是沿着返回路径的一点而已。
其它用于接地分析的有用概念
如果你牢记下述基本概念,你就会清楚地知道什么情况会产生接地反弹,什么情况不会产生接地反弹。图12示出了相互垂直的两个导体不会遭受磁场的互相影响。
图12. 相互垂直的两个导体不会遭受磁场的互相影响
沿着相同方向传输相等电流的两条平行导线周围产生的磁力线在两条导线之间处会相互抵消,所以两条导线总储存能量要比单独一条导线储存的能量少。因此,PCB宽印制线的电感要比窄印制线小。
图13. 电流沿着相同方向流动的两条平行导线
沿着相反方向传输相等电流的两条平行导线周围产生的磁力线在两条导线的外部相互抵消,而在两条导线之间处增强。如果内部环路面积缩小,那么总磁通量,所以电感也随之变小。该现象可以解释为何AC地平面的返回电流总是沿顶层印制线导线下方流动。
图14. 电流沿着相反方向流动的两条平行导线
图15示出了为何拐角增加电感。一条直导线只能看到它自己的磁场,但是在拐角处,还能看到垂直导线的磁场。因此,拐角储存了更多的磁场能量,其电感要大于直导线。
图15. 为何拐角增加电感
图16示出了在传输流的导线下面切割接地平面,由于转移回路电流可增加环路面积,从而增大环路尺寸并且助长接地反弹。
图16. 返回电流沿着最小阻抗路径流动
元件方向的作用,如图17所示。
图17. 元件方向的影响
总结
接地反弹一直是一个潜在的问题。对于监视器或电视,它意味着图像有噪声;对于音频设备则意味着噪声本底。在数字系统系统中,接地反弹可能会导致计算错误——甚至是系统崩溃。
对于预测接地反弹幅度来说,仔细估计寄生元素和细致的仿真是有效的方法。但对指导电路设计的直觉,理解背后的物理原理是很必要的。
首先,设计PCB时,应该将负载的低压端设置为真正的地。
然后,用电流源和电压源容替大电感器和电容器以简化电路动态特性。观察每种开关组合下的电流环路。应该使环路重叠;如果无法做到重叠,应该精心地在地平面上切割出一个小岛以确保只有DC流入和流出孤岛开口。
在大多数情况下,经过这些努力可以获得可以接受的接地性能。如果还是不能,应该首先考虑地平面的电阻,然后考虑所有开关和进入返回路径的寄生电容器两端流过的位移电流。
无论什么电路,基本接地原理都是相同的——应该使磁通量的变化最小或者对它隔离。
尾注
1在Analog Dialogue杂志已经发表了许多关于“接地”问题的文章。这些文章可以在我们的综合在线存档文件中找到。Paul Brokaw和本文作 者合作撰写的一篇文章,见23-3 (1989) pp. 7-9。其中包括与接地和噪 声相关的早期参考文献索引。相关资料见11-2 (1977) pp. 10-15; 25-2(1991) pp. 24-25; 26-2 (1992) p. 27 (包含一系列很好的参考文献); 30-2 (1996) p. 11 (包括EMC/EMI/ESD方面的参考文献);39-3 (2005) pp. 3-8。研讨会教材《High Speed System Applications(高速系统应 用)》,Walt Kester和Hank Zumbahlen编著,ADI公司出版 (2006),书 中有大量章节介绍PCB布线和设计工具(pp. 4.1-4.90)。其它相关文章 还有“Reducing ground bounce in dc/dc-converter applications(减小 DC/DC变换器应用中的接地反弹)”,Jeff Barrow,EDN, 7/6/2006。
概述:
为采用blackfin处理器设计产品的工程师避免犯一般错误。除了这个文档
之外,设计者应当读相关的规格书,硬件参考手册,以及所用处理器的堪误
表(可以从ADI网站中下载到)。
NMI极性:
所使用的处理器的双极性非屏蔽中断引脚。个别处理器(如ADSP-BF531/
BF532/BF533/BF535和BF561),NMI引脚激活为高。而其他处理器,NMI
引脚激活为低以便于同标准的外围设计连接。同样的,注意NMI引脚是否可
用以它的非激活状态。
注:不要让NMI悬空。
5V电压容许
直接将5V电压连接到引脚有可能使其损坏、产生故障。Blackfin处理器输
出连接到5V设备输入引脚可能左漂浮或可能被上拉到5V。大多数处理器引脚
不能容忍5V电压。除了两线接口(TWI)引脚。其他所有引脚电压变化应当
保证在规格书中规定的电压值或小于其许可范围的最大值,高电压中采用限
流电阻不能起到完全的保护作用。
不使用引脚处理:
看数据手册中的引脚描述列表。
信号完整性:
快速的信号上升时间和下降时间是引起信号完整性的主要问题。处理器的
每个引脚上升/下降斜率不一样。同样的,一些引脚对噪音和其他引脚的信
号反射具有更大的敏感性。采用简单的信号完整性处理方法防止线上传播反
射信号干扰时钟和同步信号,短的走线和连续终止对以下的信号很重要:
CLINK引脚应当有相应的驱动阻抗匹配。
SPORT口信号(TCLK,RCLK,RFS,TFS)应当采用终结。
PPI引脚,如PPI——CLK和同步信号也同样受益于标准的信号完整性技术。
SDRAM时钟,控制,地址和数据对连续的终于有益并减少不必要的EMI。
假如有多个信号源的信号,要保证走线短是很困难的,ADI网站上提供的
IBIS模块有助于对这些信号的处理。
测试点和信号提取:
对CLKOUT,SCLK,BANK选择,PPICLK和RESET信号设置测试点可以方便调
试。如果选择的如引导模式(BMODE)引脚直接连到电源或地,对于BGA封装
的处理器将没法做到。对于调试,使用上拉或下拉电阻比直接接电源或地更
好。
旁路电容:
对于更高速度的电路对内部供电端加上适当的旁路电容。电路中的有害感
应电容对高频电路具有很大的影响。有两件事需要考虑:当处理器运行速度
高于100MHz时,首先电容应当少,走线应当短以减小感应系数。0402的表贴
电容比更大尺寸的电容效果要明显。第二,小电容值将更容易引起LC电路的
自激。低于50MHZ的采用几个0.1uF的电容。高于500MHz的采用VDD——INT旁
加0.1,0.01,0.001和100pF的组合电容。
复位:
Blackfin处理器的引脚没有滞后作用,因此,要求一个单调和上升或下降。
所以复位引脚不能直接连到R/C延时电路上,Blackfin处理器对这种电路噪
音比较敏感。所以复位引脚应当有一个复位芯片生产一个复位信号供给。
JTAG:
JTAG接口的完整应用,参考Analog Devices JTAG Emulation Technical
Reference (EE-68)[1]。
PF引脚作为输出使用:
PF引脚作为输出应当接上拉或下拉以确定复位时的状态。
使用EZ-KIT Lite原理图
EZ-KIT Lite评估系统的原理图是一个很好的设计参考。因为EZ-KIT Lite
是一个评估和开发板,还提供一些例子
总线请求:
总线请求引脚(/BR)要求在所有的设计中加上拉电阻。如果不加上拉电阻
在没有任何外设驱动的情况下可能产生错误的总线请求。
现在国内几乎所有的电子企业都不做PCB仿真,画完PCB直接投入生产,即使高频应用经验丰富的工程师也难免会出差错。因为很多情况下都要对一些方案进行折衷。就像这款JD642,体积较小,64位的SDRAM数据线如果加匹配处理的话需要很多空间,而如果不做匹配的话又怕信号质量不能满足要求。怎么折衷?不加匹配,等出现信号质量问题再改版吗?成本?开发周期?...即使调试过程中没有发现信号质量问题,以后产品投入市场能确保没有问题吗?下面就通过SDRAM数据线PCB信号仿真来看一下如何利用PCB仿真工具来协助完成原理图设计。
模型建立
点OK后退到“ASSIGN Models”界面。选管脚为“Output”类型。
下面我们开始建立传输线模型。
再将其它传输线也添加上。
这就是没有加阻抗匹配的仿真模型(PCB最远直线间距1.4inch,对线长为1.7inch)。现在模型就建立好了。
为发现更多的信息,我们使用眼图观察。因为时钟是
之后按照芯片手册制作眼图模板。因为我们最关心的是接收端(DRAM)信号,所以模板也按照DRAM芯片HY57V283220手册的输入需求设计。
芯片手册中要求输入高电平VIH高于2.0V,输入低电平VIL低于0.8V。DRAM芯片的一个NOTE里指出,芯片可以承受最高5.6V,最低-2.0V信号(不长于3ns):
按下边红线路径配置眼图模板:
之后就可以进行仿真了,来看一下我们的眼图吧:)
可以看到三个测试点波形差异很大。波形最差的就是接收端的紫色波开形了,上冲到5.4V,下冲到-1.2V。但仍能满足DRAM芯片要求。从DRAM芯片方面来看,不加串阻是可以满足芯片要求的,而且接收端的信号虽然回冲很大,不过,还是高于2.0V,满足芯片高电平界定标准。整个眼图和模板没有交叠,所以可以接受。
下面再看一下在DRAM侧距DSP引脚500mil的地方加33欧串阻的话信号是什么样子:
可以看到信号质量明显改善。上下冲和回冲都减小了。
我们知道匹配分始端串联匹配和终端并联匹配。那看一下终端并75欧电阻波形是什么样子:
波形也明显改善很多^_^
当然,始端串阻和终端并阻是不能同时使用的,如果同时使用,对终端实际上就形成了分压。最终电平不能满足高电平判别需求:
上图是在始端加33欧串阻,终端加75欧并阻的情况,可以看到DRAM接收到的高电平只有3*(75/(75+33))约2V。
对于这样的数据总线,随着读和写的改变,始端和末端也发生变化,那样串阻就不好确定放在什么地方了,那我们看一下,把串阻放在靠近DRAM端的情况(距DSP1.2inch,距DRAM0.5inch):
可见,效果仍然比不加串阻的情况要好很多,之所以串阻能起到这样的效果。从能量的角度可以简单的这样理解,因为整条线的各个芯片脚都是阻抗比较大,整条线上没有消耗能量的点,没有串阻的话,能量会在传输线上来回反射,相互叠加,造成很大的过冲和振铃。其中又因为DRAM输入阻抗较高,而且线又较长,所以信号问题比较严重。在这段线上加一个串阻能有效的消耗反射的能量,使过冲和振铃现象得到改善。
下面我们再把DRAM设为输出端,DSP设为输入端,3245仍为高阻,看一下各点的测试波形。
看一下是否能满足DSP芯片要求
在DSP芯片数据手册里有下面一段内容:
这段内容指出,下冲不低于-1.0V,上冲不超过4.3V就算合格的。这样看来DSP也可以接受不加串阻的情况。而3245数据手册没有给出芯片输入电平条件,但从芯片资料给出的内部结构上看,输入电平高于4V是没有问题的。
parameter 参数1=表达式,..., 参数n=表达式;
在每个赋值语句的右边必须是一个常数表达式。
改变参数型常数的方法:
1)创建实例时用 #(参数, ..., 参数n) 改变实例的参数值
module Decode(A,B);
Parameter p1=1, p2=1;
....
endmodule
module Top;
wire A1;
wire B1;
wire A2;
wire B2;
Decode #(2,0) D1(A1, B1);
Decode #(3) D2(A2, B2);
endmodule
在上例中#(3)改变了p1值,p2保持不变。
2)在一个模块中改变另一个模块参数值使用defparam命令
module Test;
wire w;
Top T();
endmodule
module Top;
Block B1();
Block B2();
endmodule
module Block;
Parameter p=0;
endmodule
module Annotate;
defparam
Test.T.B1.p=2,
Test.T.B2.p=3;
endmodule
2。变量类型
Verilog模块中输入输出信号类型缺省默认类型是wire型。
reg型数据常用于表示"always"模块内的指定信号,常代表触发器。
在"always"模块内被赋值的每一个信号都必须定义成reg型。reg型只
表示被定义的信号将用在"always"模块内。
reg类型数据的缺省值为不定值x。
assign A=B;
always #1 Count=C+1;
以上类型: A(wire) B(wire/reg) Count(reg) C(wire/reg)
3。阻塞和非阻塞赋值方式
1)Nonblocking b<=a;
2)Blocking b=a;
4。块语句
1)顺序块 begin 语句;语句;end 或 begin:块名 语句;语句;end
2)并行块 fork 语句;语句;join 或 fork:块名 语句;语句;join
在Verilog语言里,所有的变量都是静态的,即所有的变量都只有一个唯
一的存储地址,因此进入和跳出块不影响存储在变量内的值。
5。== !=和=== !==的区别
===比较两个操作数必需完全一致,其结果才是1,否则为0。
真值表:
===
0)0->1
1)1->1
X)X->1
Z)Z->1
other->0
==
0)0->1; 1->0;
1)0->0; 1->1;
X)any->X
Z)any->X
6。case casez casex的真值表
case采用===比较方式
casez中0,1,x采用===比较方式, z和any比较为1
casex中0,1采用===比较方式, x,z和any比较为1
注意以上语句的所有表达式的值位宽必须相等。
例如:
A=0;
B=0;
ADDRESS=5'b0X000;
casex(ADDRESS)
5'b00???: A=1;
5'b01???: B=1;
.....
endcase
结果:A=1 B=0
7。避免生成多余的锁存器
例如
always @(al or d)
begin
if(al) q<= d;
end
当al为0时q没有赋值即默认保持原值,这就会自动生成锁存器。
避免生成多余的锁存器的原则:
a)如果用到if语句,最好写上else项。
b)如果用到case语句,最好写上default项。
8。避免X阻塞事件
reg[7:0] Count;
initial
begin
Count=1;
B=x;
end
always
begin
@(A) Count=Count+1;
@(B) Count=Count+1;
end
结果:Count=1,因为@(B)阻塞了进程。
9。注意变量位宽
例如:
reg[2:0] A;
reg[7:0] B;
A=-1; //3'b111
B=A; //8'b00000111 B!=-1