FPGA电源旁路电容取值
ilove314也有篇文章
FPGA电源的旁路电容值计算,我就是看了他的文章才知道应该注意旁路电容的取值问题的,再次对他表示感谢!他这篇文章主要参考
Xilinx应用笔记xapp158.pdf,而我这篇文章主要参考Altera的文章”
Power
Supply Integrity”。(本文对旁路电容和去耦电容不作区分,至于两者的区别参看下文)。
好的旁路和去耦能改善电源的信号完整性,这对系统的稳定起很重要的作用。去耦和旁路的设计依赖于系统设计和板极需求。比如输出缓冲器状态改变,从逻辑高电平变为逻辑低电平时,输出端从供给的电源到地之间形成一个低阻抗的通路,这种输出结构的变化会使输出充电或放电,这要求电流能立刻流过负载,使之达到指定的电压。旁路电容用在这里给瞬时的电流提供能量存储。
这些能量存储的瞬时响应必须覆盖一个大的频率范围和负载范围。因此,这个能量存储系统必须包含多种电容。
串联电感小的小电容能给高频转换提供一个快速响应的电流,而大电容能在高频电容充分放电后接着供给电流。
一般的系统要求电容覆盖的频率范围从1kHz到500MHz,因此需要三种电容:
>0.001~0.1uF 高频电容(high-frequency)
> 47 ~100uF 中频电容(medium-frequency)
> 470 ~3300uF 低频电容(low-frequency)
典型的能量存储系统
如果设计是采用高密度封装的,如采用BGA封装,那么在Vccint/Vccio和地之间用不用旁路电容都将有很大的区别。因此在这些情况下,只要PCB板空间允许,尽可能放多一些旁路电容。特别是陶瓷电容去很好的频率响应。
PS:这里所指的低频高频是指电容的谐振频率位置,也就是指主要起作用(给DC信号线上的AC噪声提供一个低阻抗的通路,使噪声从信号线上流到地)的地方。电容的等效电路模型如下图,
电容等效电阻抗公式: Z = R + j(wL - 1/wC)
下图为等效电路的阻抗-频率图(Impedance vs. frequency)。
同样封装(0805)的不同电容值的电容谐振频率不一样。
为了提供给噪声一个小阻抗的通路,所以ESR(等效串联电阻)和ESL(等效串联电感)都要求小一些。
电容的选择和摆放
高频旁路电容:
合适的摆放位置对于高频电容(0.001~0.1低电感陶瓷电容)来说很重要。设计者必须减小电容到器件电源管脚的导线长度,以减小电感。这个路径包括流经地平面或电源平面(Vccint/Vccio)的路径,在这些铜箔平面上每英寸的电感大约1nH。旁路电容的过孔必须直接穿到地层,Vccint或Vccio层。
PS:
导线(trace)、过孔(via)和焊盘(pad)都将影响寄生电感。
寄生电感与环路面积有关,具体计算可以参考下面网页:
Circuit Board Decoupling
Information
通过缩短连接迹线,可以最大限度地缩小这个环的尺寸,从而降低电感。
通过缩短电流经过的通孔的长度,也可以最大限度地缩小这个环的尺寸,从而降低电感。
在可能的情况下,应当不使用连接迹线(图A)——通孔应当平接至焊区(图B)。此外,连接迹线应当尽可能宽。可以将通孔置于电容焊区的侧面(图C),或者使通孔的数量翻倍(图D),进一步改善贴装电感。
中频/低频旁路电容:
其他种类的电容(47~100uF中频电容、470~3300uF低频电容)都是些尺寸比较大的电容,它们能放在板子的任何地方,但无论如何尽可能靠近芯片器件。
总结:
Vccint/Vccio管脚的高频旁路电容必须离这些管脚的距离小于1cm。这些管脚的中频电容必须离管脚小于3cm。
Vccint旁路电容计算
Vccint是FPGA核心电压。
在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高频电容=<25到100>x等效I/O开关电容
high-frequency I/O capacitance =<25 to 100> × equivalent switched I/O capacitance
高频电容电容值=I/O高频电容/bank Vccio管脚的数量
=
(<25到100>/ 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。
中频电容应该选择47uF到100uF的钽电容。每两个Vccio块需要一个中频电容。如果没有钽电容,低电感的铝电解电容也可以。这些电容(高频电容和低频电容)应该距离Vccio管脚小于3cm。最后,每个Vccio电平(3.3v、2.5V)都至少放一个低频电容(470uF~3300uF)。
PS:
铝和钽等电解 (大容量)电容器的关键特性参数。
——钽电容或低电感的铝电解电容适合做中频和低频旁路电容
陶瓷电容器的特性参数
——陶瓷电容适合做高频旁路电容
所示为设计边沿速率约为 200-300 ps 时的各临界距离。对于边沿速率较低的设计,分开的距离可轻松地达到一至二英寸而不导致噪声问题。
在任何电路板上,陶瓷去耦电容器的所需接近度均取决于信号上升时间与同个信号在电容器引线到被去耦的电源引脚之间的迹线长度上传导所需的时间之比。基本规则是,电容器距离封装电源引脚越远,其电容效应越弱。此效应与频率和电感成正比,而电感又与电容器与电源引脚之间的迹线长度成正比,
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 设计