采用电容去耦是解决电源噪声问题的主要方法。这种方法对提高瞬态电流的响应速度,降低电源分配系统的阻抗都非常有效。
 
对于电容去耦,很多资料中都有涉及,但是阐述的角度不同。有些是从局部电荷存储(即储能)的角度来说明,有些是从电源分配系统的阻抗的角度来说明,还有些资料的说明更为混乱,一会提储能,一会提阻抗,因此很多人在看资料的时候感到有些迷惑。其实,这两种提法,本质上是相同的,只不过看待问题的视角不同而已。
 
1. 从储能的角度来说明电容退耦原理。
在制作电路板时,通常会在负载芯片周围放置很多电容,这些电容就起到电源退耦作用。其原理可用图 1 说明。
 
 
 
(公式 1)
 
只要电容量 C 足够大,只需很小的电压变化,电容就可以提供足够大的电流,满足负载瞬态电流的要求。这样就保证了负载芯片电压的变化在容许的范围内。这里,相当于电容预先存储了一部分电能,在负载需要的时候释放出来,即电容是储能元件。储能电容的存在使负载消耗的能量得到快速补充,因此保证了负载两端电压不至于有太大变化,此时电容担负的是局部电源的角色。
 
从储能角度理解电容容易造成一种错觉,认为电容越大越好。而且容易误导大家认为储能作用发生在低频段,不容易向高频扩展。实际上,从储能角度理解,可以解释任何电容的功能。下面举例。
 
图 2 电容储能作用向高频扩展
 
如上图所示,假设在低频段,比如几十 khz,由于低频信号在电感上产生的感抗可以忽略,所以在低频段电容的 ESL 可以近似等于 0。当负载瞬间(几十 khz)需要大电流的时候,电容可以通过 ESR 向负载供电,供电的实时性很高,eSR 只是消耗了一部分电量,但不影响供电的实时性。由于频率比较低,所以放电时间也比较长(频率的倒数),所以需要电容的容量较大一些,可以长时间放电。所以低频段储能好理解。
 
同样大的电容,假设负载突变的频率较高(几十 Mhz 或者更高),那么当负载顺么变化的时候(几十 Mhz 或者更高),ESL 上形成的感抗不容忽视,这个感抗会产生一个反向电动势去阻止电容向负载供电,所以负载上实际获得的电流的瞬态性能比较差,即,电容的电流无法供应瞬间的电流突变,尽管电容容量很大,但由于 ESL 较大,此时的大容量储能发挥不了作用。实际上,频率较高,电容给负载供电的时间缩短(频率的倒数),也不需要电容有那么大的储能。对于高频,关键的因素是 ESL,要降低电容的 ESL,选择小封装的小电容,ESL 显著降低,这就是为什么我们高频选择小电容的原因,另外走线长度引入的电感也会折算到 ESL 参数里,所以小电容一定要靠近 pin。
 
从储能的这个角度理解甚至可以扩展到 pF 级电容。理论上假设不存在 ESR,ESL 以及传输阻抗为 0,则一颗大电容完全胜任所有频率。但这种假设并不存在。所以电路中需要大小电容合理搭配去应对不同频率下的负载的能力供给。而且电容越靠近负载,传输线的等效电感,电阻的影响就越小。
 
图 3 手机 Vbat 电源电容分配图
 
举例,在手机设计中,给 vbat 供电支路的几个分支上都挂 47uf 电容,如上图所示,连接器附近,PMU 附近,PA 附近都挂 47uf 电容,认为只有 PA 旁边的 47uf 对 PA 有效果,连接器旁边的,PMU 旁边的对 PA 没有效果,实际不是这样的,当 PA 需要瞬间电流的时候,三颗钽电容都会向 PA 供电,供电过程完全取决于瞬间压差,哪颗电容与 PA 的瞬间压差最大,哪颗供电越积极。远离 PA 的电容需要考虑传输线的阻抗和感抗。对于低频,这点寄生感抗可以忽略。对于 217HZ 来说,PA 所需的电流三颗电容加起来都远远不够用,故在 GSM 大功率的时候,PA 从三颗电容上均取电流。
 
对于低频,寄生电感的作用可以忽略,这些大电容距离芯片的远近只要体现在走线电阻上,一般电源线走线电阻压降在 100 毫欧以内,对电容充放电影响非常小,故可以认为大电容在主板上可以不必追求距离芯片非常近。
 
从储能的角度来理解电源退耦,非常直观易懂,但是对电路设计帮助不大。因为不好从量化角度去考量,适合定性分析。从阻抗的角度理解电容退耦,能让我们设计电路时有章可循。实际上,在决定电源分配系统的去耦电容量的时候,用的就是阻抗的概念。
 
2. 从阻抗的角度来理解退耦原理。
将图 1 中的负载芯片拿掉,如图 2 所示。从 AB 两点向左看过去,稳压电源以及电容退耦系统一起,可以看成一个复合的电源系统。这个电源系统的特点是:不论 AB 两点间负载瞬态电流如何变化,都能保证 AB 两点间的电压保持稳定,即 AB 两点间电压变化很小。
 
图 4 电源部分
 
我们可以用一个等效电源模型表示上面这个复合的电源系统,如图 3,恒压源与内阻的串联模型。
 
对于这个电路可写出如下等式:
 
(公式 2)
 
假设供电源是一个理想的电压源,即 Z=0,且假设传输途径的阻抗也为 0,那么负载不论怎么变化,变化速度有多快,电压源都能够反应过来,并且确保 A,B 两点电压始终恒定。但实际上电源内阻并不为零,而且传输线也不是理想的,而且这些影响因素是个复数,与频率相关,所以就出现了电源的 PDN 阻抗。
 
我们的最终设计目标是,不论 AB 两点间负载瞬态电流如何变化,都要保持 AB 两点间电压变化范围很小,根据公式 2,这个要求等效于电源系统的阻抗 Z 要足够低。在图 4 中,我们是通过去耦电容来达到这一要求的,因此从等效的角度出发,可以说去耦电容降低了电源系统的阻抗。另一方面,从电路原理的角度来说,可得到同样结论。电容对于交流信号呈现低阻抗特性,因此加入电容,实际上也确实降低了电源系统的交流阻抗。
 
从阻抗的角度理解电容退耦,可以给我们设计电源分配系统带来极大的方便。实际上,电源分配系统设计的最根本的原则就是使阻抗最小。最有效的设计方法就是在这个原则指导下产生的。
 
为了理解电源输出阻抗(内阻)的概念,我们回忆一下电源内阻的定义:断开负载,从负载端看进去,恒压源短路,横流源断路。如图 6 所示。
 
图 6 电源内阻等效图
 

 

从图 6(b)可以看出,并联电容后从负载端看过去电源的内阻发生新的变化,即 Z’=Z//Z1,其中 Z1 为电容的容抗。可见新的内阻 Z’<Z,故电源端电源随负载的变化量减小,但 Z’是个复数,随频率相关,不同的频率下内阻不一样,电源 PDN 做的就是如何在各个频率段下阻抗尽可能小。理论上,并联无数个电容,电源内阻总可以无限接近于 0,从而电源无限接近于横压源或恒流源。
 
图 6 中的电容容抗,不能简单的使用 jwC 进行计算,因为电容不是理想模型,它包含 ESR,ESL,而这些需要实测模型。图 7 为 47uF 的钽电容的|Z|曲线。它反映了该电容在不同频率下的阻抗值(不考虑相位信息)。从图中可以看出,该电容阻抗最低的点表现在 700K 频率时,阻抗是 8 毫欧。
 
图 7  47uF 钽电容的 Z 曲线
 
这个曲线图是实测值,包含了该电容的所有信息(除相位外)。
 
比如:它包含了电容的容量信息,一般容量越大的电容谐振点越低,要达到 700k 的谐振点,只有这种容值附近的电容才能够达到。0.1uf 电容无论如何也达不到这个频点。它包含了 ESL 信息,假设 ESL=0,则曲线是一条有斜率的直线。它也包含了 ESR 信息,比如谐振点处的 8 毫欧就是它的 ESR 值。所以,假如我们使用阻抗特性描述电容时,大家千万不要再使用蓄流的概念理解,比如,PMU 上使用 10uF 电容和使用 4.7uf 电容从阻抗曲线上看有一些区别,但我们可以接受,此时千万不要再以蓄流为理由说 10uF 比 4.7uF 储能多,所以效果好,两种研究方法是从不同角度去分析同一个问题,交织在一起会混乱。建议使用阻抗法分析,可以做到定量分析。
 
举例说明,比如我们设计防浪涌电路,一般浪涌信号的波形如图 8 所示。
 
图 8  0.5us-100kHz 的浪涌波形
 
假设我们要消除图 8 所示的浪涌波形,需要加电容,但加多大的电容,如果从电容充放电角度去分析非常复杂,一两页纸张都不容易讲明白。但假如从阻抗角度分析,我们只需要一个简单的要求,即加一颗电容,使得图 8 所示的谐波被短路到 GND,浪涌就消除了。怎么实现这个要求呢,必须选择一颗电容,使得该电容对于该浪涌信号的频率下的阻抗最低即可。所以思路清晰了,按照两部走:
 
1 确定浪涌信号的频率。图 8 可以看出浪涌信号近似于正弦波,基波频率大概为 100khz,只有在起始瞬间会有一些高次谐波,对于这个高次谐波可以估计一下,大概为几 Mhz 级别。
 
2 寻找两颗电容,一颗谐振点在 100kHz 的电容去消除浪涌信号中的基波信号。再找一颗谐振点在几 Mhz 的电容去消除浪涌信号中的高次谐波。假如对浪涌信号的高次谐波预估不确切,可以多加几颗其他可能的频段的电容。
 
实际操作中发现,即使 470uf 的电容,其谐振点也在 200k,100khz 的谐振点的电容估计更大。而手机根本不可能放置这么大的电容,所以只能看 47uF(手机能放置的最大电容)对于 100kz 的阻抗了。470uF 在 200khz 时阻抗为 3 毫欧,在 100khz 时为 5 毫欧姆。47uf 在 100khz 时阻抗为 40 毫欧姆。可以接受,如果再并联一颗 47uF 电容,则 100khz 时阻抗减半,为 20 毫欧。个人认为对于浪涌信号,短路电阻为 0.1 欧姆以内就可以满足要求。根据这个要求,电容还可以变小一些。电容对于静电防护的原理也是一样的,防护之前必须知道静电的频谱。
 
对于图 3 那样的电容布局,实际上 3 颗 47uF 电容都对于浪涌有防护作用,但这三颗又不是直接的并联关系,下面详细分析这三颗电容对于静电防护的实际模型。
 
假如浪涌是从电池连接器处进入,则应该分析电池连接器处的阻抗。如图 9 所示,对于图 3 的布局电容进行了等效,等效之后可以看出,Zc1,Zc2 布局位置较远,对于浪涌的防护不能使用电容测试模型,LX 的加入,电容的|Z|曲线会向左边偏移,RX 的加入,|Z|曲线会向上平移。移动的大小取决于 LX,Rx 的量值,这些都使得电容对于浪涌的防护能力变差。具体可以通过 PCB 仿真实现,通过仿真可以获知连接器入口处 100khz 的阻抗,从而知道对于浪涌防护的效果。一般来说,100k 低频段,Lx 的影响可以忽略。
 
图 9 三颗不同位置的 47uF 电容对于浪涌的防护示意图
 
从上图可以看出,布局源的电容实际上也对浪涌的防护起到了作用,只是作用没有布局在连接器处得效果好,至于差别多少需要仿真去量化。
 
引申到我们工作中的例子,PA 旁边放置 22uF 电容的作用是干什么的,2012 解释为浪涌防护,而且还要求必须布置在 pin 脚附近,对于这个我不太理解,浪涌从哪里来?若从连接器处来,则应该优先布置在连接器附近。若从减小电压跌落角度考虑,我们来看看这个模型
 
 
从储能角度更好理解,PA 需要电流时导致电压跌落,如果电容供给 PA 一部分电流,会小电压跌落,但是能减小多少呢,没办法量化。而从阻抗的角度分析,电源上出现了一个 217Hz 的方波,我们需要加电容将这个方波(可以认为是干扰波)短路到 GND。方波的频谱包含了 217Hz 及其几次倍频,幅值最大的部分在基波,我们要首先想办法滤除基波,滤除的办法是找一颗谐振点在 217Hz 的电容,对于这么低的一个频率,我们可以认为 ESL 对其没有影响,那么电容容抗可以用理想模型 1/jwc 来计算,假设理想的阻抗为 0.1 欧姆,那么通过计算,需要的电容容量为 7338uF。即使用标称 6800,1000uf 之类的电容滤波才能看到明显效果。那么我们 22uF 电容能有多大能耐呢!只能滤除一些倍频频谱。
 
从此例子可以看出,从储能角度能够解释的,使用阻抗也能解释,且使用阻抗分析方法可以很容易做到定量分析。
 
电源去耦涉及到很多问题:总的电容量多大才能满足要求?如何确定这个值?选择那些电容值?放多少个电容?选什么材质的电容?电容如何安装到电路板上?电容放置距离有什么要求?下面分别介绍。
 
目标阻抗(Target Impedance)定义为:
 
 
为要进行去耦的电源电压等级,常见的有 5V、3.3V、1.8V、1.26V、1.2V 等。
 
为允许的电压波动,在电源噪声余量一节中我们已经阐述过了,典型值为 2.5%。
 
为负载芯片的最大瞬态电流变化量。该定义可解释为:能满足负载最大瞬态电流供应,且电压变化不超过最大容许波动范围的情况下,电源系统自身阻抗的最大值。超过这一阻抗值,电源波动将超过容许范围。
 

 

对目标阻抗有两点需要说明:
 
1、目标阻抗是电源系统的瞬态阻抗,是对快速变化的电流表现出来的一种阻抗特性。
 
2 、目标阻抗和一定宽度的频段有关。在感兴趣的整个频率范围内,电源阻抗都不能超过这个值。阻抗是电阻、电感和电容共同作用的结果,因此必然与频率有关。感兴趣的整个频率范围有多大?这和负载对瞬态电流的要求有关。顾名思义,瞬态电流是指在极短时间内电源必须提供的电流。如果把这个电流看做信号的话,相当于一个阶跃信号,具有很宽的频谱,这一频谱范围就是我们感兴趣的频率范围。
 
需要多大的电容量:
 
有两种方法确定所需的电容量。第一种方法利用电源驱动的负载计算电容量。这种方法没有考虑 ESL 及 ESR 的影响,因此很不精确,但是对理解电容量的选择有好处。第二种方法就是利用目标阻抗(Target Impedance)来计算总电容量,这是业界通用的方法,得到了广泛验证。你可以先用这种方法来计算,然后做局部微调,能达到很好的效果,如何进行局部微调,是一个更高级的话题。下面分别介绍两种方法。
 
方法一:利用电源驱动的负载计算电容量
 
设负载(容性)为 30pF,要在 2ns 内从 0V 驱动到 3.3V,瞬态电流为:
 
 
如果共有 36 个这样的负载需要驱动,则瞬态电流为:36*49.5mA=1.782A。假设容许电压波动为:3.3*2.5%=82.5 mV,所需电容量为
 
C=I*dt/dv=1.782A*2ns/0.0825V=43.2nF
 
说明:所加的电容实际上作为抑制电压波纹的储能元件,该电容必须在 2ns 内为负载提供 1.782A  的电流,同时电压下降不能超过 82.5 mV,因此电容值应根据 82.5  mV 来计算。记住:电容放电给负载提供电流,其本身电压也会下降,但是电压下降的量不能超过 82.5mV(容许的电压波纹)。这种计算没什么实际意义,之所以放在这里说一下,是为了让大家对去耦原理认识更深。
 
方法二:利用目标阻抗计算电容量
 
为了清楚的说明电容量的计算方法,我们用一个例子。要去耦的电源为 1.2V,容许电压波动为 2.5%,最大瞬态电流 600mA,
 
第一步:计算目标阻抗
 
 
 
第二步:确定稳压电源频率响应范围。
 
和具体使用的电源片子有关,通常在 DC 到几百 kHz 之间。这里设为 DC 到 100kHz。在 100kHz 以下时,电源芯片能很好的对瞬态电流做出反应,高于 100kHz 时,表现为很高的阻抗,如果没有外加电容,电源波动将超过允许的 2.5%。为了在高于 100kHz 时仍满足电压波动小于 2.5%要求,应该加多大的电容?
 
第三步:计算 bulk 电容量
 
当频率处于电容自谐振点以下时,电容的阻抗可近似表示为:
 
 
 
频率 f 越高,阻抗越小,频率越低,阻抗越大。在感兴趣的频率范围内,电容的最大阻抗不能超过目标阻抗,因此使用 100kHz 计算(电容起作用的频率范围的最低频率,对应电容最高阻抗)。
 
 
第四步:计算 bulk 电容的最高有效频率
当频率处于电容自谐振点以上时,电容的阻抗可近似表示为:
 
 
频率 f 越高,阻抗越大,但阻抗不能超过目标阻抗。假设 ESL 为 5nH,则最高有效频率为:
 
 
 
样一个大的电容能够让我们把电源阻抗在 100kHz 到 1.6MHz  之间控制在目标阻抗之下。当频率高于 1.6MHz 时,还需要额外的电容来控制电源系统阻抗。
 
第五步:计算频率高于 1.6MHz  时所需电容
如果希望电源系统在 500MHz  以下时都能满足电压波动要求,就必须控制电容的寄生电感量。必须满足
 
 
所以有:
 
 
假设使用 0402 封装陶瓷电容,寄生电感约为 0.4nH,加上安装到电路板上后
 
过孔的寄生电感(本文后面有计算方法)假设为 0.6nH,则总的寄生电感为 1 nH。为了满足总电感不大于 0.16 nH 的要求,我们需要并联的电容个数为:1/0.016=62.5 个,因此需要 63 个 0402 电容。
 
为了在 1.6MHz 时阻抗小于目标阻抗,需要电容量为:
 
 
因此每个电容的电容量为 1.9894/63=0.0316 uF。
 
综上所述,对于这个系统,我们选择 1 个 31.831 uF 的大电容和 63 个 0.0316 uF 的小电容即可满足要求。