原创 旁路电容计算

2009-12-28 11:00 4720 8 9 分类: FPGA/CPLD

FPGA电源旁路电容取值


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

  ilove314也有篇文章FPGA电源的旁路电容值计算,我就是看了他的文章才知道应该注意旁路电容的取值问题的,再次对他表示感谢!他这篇文章主要参考


Xilinx应用笔记xapp158.pdf,而我这篇文章主要参考Altera的文章 Power Supply Integrity(本文对旁路电容和去耦电容不作区分,至于两者的区别参看下文)


 


好的旁路和去耦能改善电源的信号完整性,这对系统的稳定起很重要的作用。去耦和旁路的设计依赖于系统设计和板极需求。比如输出缓冲器状态改变,从逻辑高电平变为逻辑低电平时,输出端从供给的电源到地之间形成一个低阻抗的通路,这种输出结构的变化会使输出充电或放电,这要求电流能立刻流过负载,使之达到指定的电压。旁路电容用在这里给瞬时的电流提供能量存储。


这些能量存储的瞬时响应必须覆盖一个大的频率范围和负载范围。因此,这个能量存储系统必须包含多种电容。


串联电感小的小电容能给高频转换提供一个快速响应的电流,而大电容能在高频电容充分放电后接着供给电流。


 


一般的系统要求电容覆盖的频率范围从1kHz500MHz,因此需要三种电容:


>0.001~0.1uF   高频电容(high-frequency)
>  47 ~100uF   
中频电容(medium-frequency)


> 470 ~3300uF  低频电容(low-frequency)


 


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


9debe3bd-ebee-4618-845b-ad0c1ee21546.JPG


典型的能量存储系统


 


如果设计是采用高密度封装的,如采用BGA封装,那么在Vccint/Vccio和地之间用不用旁路电容都将有很大的区别。因此在这些情况下,只要PCB板空间允许,尽可能放多一些旁路电容。特别是陶瓷电容去很好的频率响应。


 


PS:这里所指的低频高频是指电容的谐振频率位置,也就是指主要起作用(DC信号线上的AC噪声提供一个低阻抗的通路,使噪声从信号线上流到地)的地方。电容的等效电路模型如下图,



 


2f908295-07df-40f2-b301-fa8452167411.JPG


 


 电容等效电阻抗公式:     Z = R + j(wL - 1/wC)


 下图为等效电路的阻抗-频率图(Impedance vs. frequency)



 

点击看大图


 


同样封装(0805)的不同电容值的电容谐振频率不一样。



 


ed9c75b6-405c-4dca-aec3-0f0fd7527257.JPG


 


为了提供给噪声一个小阻抗的通路,所以ESR(等效串联电阻)ESL(等效串联电感)都要求小一些。


 


 


电容的选择和摆放


高频旁路电容:


合适的摆放位置对于高频电容(0.001~0.1低电感陶瓷电容)来说很重要。设计者必须减小电容到器件电源管脚的导线长度,以减小电感。这个路径包括流经地平面或电源平面(Vccint/Vccio)的路径,在这些铜箔平面上每英寸的电感大约1nH。旁路电容的过孔必须直接穿到地层,VccintVccio层。


 


PS:


导线(trace)、过孔(via)和焊盘(pad)都将影响寄生电感。



 


 点击看大图


 


寄生电感与环路面积有关,具体计算可以参考下面网页:


Circuit Board Decoupling Information


 


通过缩短连接迹线,可以最大限度地缩小这个环的尺寸,从而降低电感。


通过缩短电流经过的通孔的长度,也可以最大限度地缩小这个环的尺寸,从而降低电感。


 



点击看大图 


 


在可能的情况下,应当不使用连接迹线(图A——通孔应当平接至焊区(图B)。此外,连接迹线应当尽可能宽。可以将通孔置于电容焊区的侧面(图C),或者使通孔的数量翻倍(图D),进一步改善贴装电感。


 


中频/低频旁路电容:


其他种类的电容(47~100uF中频电容、470~3300uF低频电容)都是些尺寸比较大的电容,它们能放在板子的任何地方,但无论如何尽可能靠近芯片器件。


 


总结:


Vccint/Vccio管脚的高频旁路电容必须离这些管脚的距离小于<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1cm。这些管脚的中频电容必须离管脚小于3cm


 


 


Vccint旁路电容计算


VccintFPGA核心电压。


Stratic II器件里,逻辑阵列有不同的结构特性,带有一些持续时间很短(<50ps)的小电流(pA甚至更小)。虽然这些电流很小,但加起来流过整个器件将很大,有可能达到几A。每秒这些微小的电流都将转换好几百万次,这样就会存在着数以百万计的的开关效果。旁路电容值计算就是基于平均能量存储需求而计算出来的。


高频电容的值近似公式为:


 


逻辑阵列功率=逻辑阵列开关等效电容xVccint^2x时钟频率


logic array power = equivalent switched logic array capacitance × VCCINT2 × clock frequency


   


逻辑阵列开关等效电容=(逻辑阵列功率)/( Vccint^2x时钟频率)


equivalent switched logic array capacitance = (logic array power) / (VCCINT2 × clock frequency)


 


这个逻辑阵列开关等效电容是整个器件由Vccint供电的等效开关电容。为了减少电源噪声,Vccint电源的旁路电容必须比这个逻辑阵列开关等效电容大得多。高频旁路电容应该比逻辑阵列开关电容大25~100倍。通常取中间数50


 


总的高频旁路电容=<25-100>x等效开关逻辑阵列电容


High-frequency bypass capacitance = <25 to 100> × equivalent switched logic array capacitance


 


每一个Vccint和地的管脚之间都应该有一个高频电容。每个高频旁路电容,等于总的高频旁路电容除以器件Vccint的管脚数量。


 


高频旁路电容值=<25-100>x逻辑阵列开关等效电容/Vccint管脚数量


          =(<25-100>/Vccint管脚数量)x逻辑阵列开关等效电容/( Vccint^2x时钟频率)


 



Capacitor size


= (<25 to 100> × equivalent switched logic array capacitance) / number of VCCINT pins


 


= (<25 to 100> / number of VCCINT pins) × logic array power / (VCCINT2 × clock-frequency)


 


例子:


?  器件Vccint功率(Device VCCINT power)= 5 W  


?  VCCINT = 1.2 V  


?  系统时间频率(System clock frequency) = 150 MHz  


?  高频旁路电容乘数(High-frequency bypass capacitor multiplier)= 50  


?  Vccint管脚数(Number of device VCCINT pins)= 36  


旁路电容电容值= (50 / 36 ) x 5W / (1.2V2x 150MHz)


              = 3.215E-08


              = 0.03215E-06


 


   高频电容的电容值应该取至少0.032uF。通过这个例子,设计者应该选择比这个大的高频电容。


中频电容应该选择47uF~100uF的钽电容。如果没有钽电容,低电感铝电解电容的也可以。Stratix II器件至少需要4个中频电容,放置距离器件3cm以内。另外,至少需要在PCB板上放置一个470uF~3300uF的低频电容。


 


PS


对器件功率的估算可以参考下面网页


Altera


PowerPlay早期功耗估算器和功耗分析器


http://www.altera.com.cn/support/devices/estimator/pow-powerplay.jsp


 


Xilinx


Power Solutions


http://china.xilinx.com/products/design_resources/power_central/index.htm


 


 


Vccio旁路电容计算


        Vccint类似,Vccio的旁路电容的需求也是基于平均能量储存的。FPGA/CPLD驱动的负载决定了等效开关电容的大小。不同的I/O块能工作在不同的电压和不同的开关频率。设计者应该认真考虑旁路电容网络,用下面的公式计算高频旁路电容。


为了降低Vccio的噪声,旁路电容必须要比总的输出负载电容要大很多。高频旁路电容应该是总的负载电容的25~100倍。每个Vccio到地之间的高频旁路电容存在一个电流,使得器件有一个很大的电流消耗。


 


(每个Vccio)的等效开关I/O电容=负载数量x每个输出信号的平均负载


equivalent switched I/O capacitance (per VCCIO) =number of loads ×average load per output signal


 


I/O高频电容=<25100>x等效I/O开关电容


high-frequency I/O capacitance =<25 to 100> × equivalent switched I/O capacitance


 


  高频电容电容值=I/O高频电容/bank Vccio管脚的数量


                =(<25100>/ bank Vccio管脚的数)x负载数量x每个输出信号的平均负载


   individual capacitor size


= high-frequency I/O capacitance /number of VCCIO pins in the bank


= (<25 to 100> /number of VCCIO pins) × number of loads × average load per output signal


 


例子:


?  负载数量(Number of loads)= 40 signals  


?  (每个输出信号的平均负载)Average load value = 10pF  


?  高频电容乘数(High-frequency bypass capacitor multiplier)= 50  


?  Vccio管脚的数(Number of device VCCIO pins)= 5  


?  旁路电容电容值= (50 / 5) x40 x10pF


                 = 4.0E-09


                 = 0.004E-06


 


电容应该取值0.004uF。在这个例子中,设计者选择的高频电容容值应该比这个要大。应该选择比0.004uF大一个数量级的的0.047uF~0.01uF


中频电容应该选择47uF100uF的钽电容。每两个Vccio块需要一个中频电容。如果没有钽电容,低电感的铝电解电容也可以。这些电容(高频电容和低频电容)应该距离Vccio管脚小于3cm。最后,每个Vccio电平(3.3v2.5V)都至少放一个低频电容(470uF~3300uF)


 


PS


铝和钽等电解 (大容量)电容器的关键特性参数。


 


 


点击看大图


——钽电容或低电感的铝电解电容适合做中频和低频旁路电容


 


陶瓷电容器的特性参数


 


 


点击看大图


——陶瓷电容适合做高频旁路电容


 


 


所示为设计边沿速率约为 200-300 ps 时的各临界距离。对于边沿速率较低的设计,分开的距离可轻松地达到一至二英寸而不导致噪声问题。



 


b46370bd-3edc-469c-99c0-81159ea014c5.JPG


 


在任何电路板上,陶瓷去耦电容器的所需接近度均取决于信号上升时间与同个信号在电容器引线到被去耦的电源引脚之间的迹线长度上传导所需的时间之比。基本规则是,电容器距离封装电源引脚越远,其电容效应越弱。此效应与频率和电感成正比,而电感又与电容器与电源引脚之间的迹线长度成正比,


                               Z=2πFL


Z 是阻抗,单位是欧姆; F 是频率,单位是赫兹; L 是电感,单位是亨利。


 


 


     本文大部分参考


(1) Power Supply Integrity


http://www.altera.com.cn/support/devices/power/integrity/pow-integrity.html


   


     翻译版为不才我翻译的,本来e文就不好,大家不要见怪!


(2)xapp158 Powering Xilinx FPGAs  


提供了另一种计算FPGA旁路电容的方法,如果希望想看中文的话,可以参考ilove314的博文。


FPGA电源的旁路电容值计算


(3) xapp623 


Power Distribution System (PDS) Design: Using Bypass/Decoupling Capacitors


 


中文版:功率分配系统(PDS)设计:利用旁路电容/去耦电容


(4)xapp489 针对 Spartan-3E FT256 BGA 封装的四层和六层高速 PCB 设计

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

ash_riple_768180695 2009-12-29 08:54

拜读了!
相关推荐阅读
用户1577452 2013-10-16 09:57
CAN总线局部网络管理机制及实现
近年来,汽车的节能问题备受关注,消减不必要的能源损耗是一种非常有效的方法。当前,大多数车辆在点火钥匙打到OFF档之后,部分功能仍需要使用,例如:车辆防盗、电子驻车功能等。为了降低电量消耗,避免蓄电池电...
用户1577452 2013-10-16 09:53
嵌入式设计人员必须掌握的存储技术
微控制器的存储架构可能很简单(图1)。但是,随着应用开始朝便携化、虚拟化和个性化方向发展,它们现在变得相当复杂。多核(multicore)、许多核(many core)和集群架构,它们同样在一个设备中...
用户1577452 2013-10-16 09:38
Bootloader基础:让你的嵌入式设计具有前瞻性
世界上很少有什么项目能给嵌入式固件开发人员提供足够多的开发时间。事实上,嵌入式固件开发就好像气体一样,会占据它所在的整个空间。而这往往意味着项目结束阶段的测试和质量评估承受压力,进而提高风险。项目经理...
用户1577452 2013-09-01 11:56
积分与微分电路
积分与微分电路积分电路与微分电路是噪讯对策上的基本,同时也是具备对照特性的模拟电路。事实上积分电路与微分电路还细分成数种电路,分别是执行真积分/微分的完全积分/微分电路,以及具有与积分/微分不同特性的...
用户1577452 2013-08-29 07:21
C语言关键字
1.c语言中一共有32个关键字,分别是:auto、int、double、long、char、short、float、unsigned、signed、sizeof、extern、static、goto、...
用户1577452 2013-08-29 07:18
介绍C/C++中堆,栈及静态数据区
本文介绍C/C++中堆,栈及静态数据区。   五大内存分区  在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。下面分别来介绍:  栈,就是那些由编译器在需要的时...
EE直播间
更多
我要评论
1
8
关闭 站长推荐上一条 /3 下一条