原理、拓扑与设计调试实战详解)
写在前面这个电源系列写到第十一篇了。前面聊过LDO聊过buck也聊过boost和buck-boost都是围绕电感展开的开关电源。今天这篇换个思路聊聊一个完全不需要电感的DC-DC方案charge pump也就是电荷泵。很多工程师一听电荷泵第一反应是“不就是个倍压电路嘛”确实它最经典的应用就是倍压但电荷泵能做的事情远比倍压多得多反压、降压、多路输出、驱动LED、产生LCD偏压甚至在部分功率场景下直接替代电感式DC-DC。这篇就把charge pump的原理、拓扑、器件选型、效率分析到实际调试踩坑一次讲透。如果你正要给系统里的小功率供电轨找低成本方案或者做便携设备、传感器供电、显示偏压这类的设计这篇文章应该能帮你省不少调研时间。1. charge pump到底是什么1.1 一个看似“魔法”但原理极简的电路charge pump中文叫电荷泵也常被称为开关电容变换器。它通过开关阵列控制电容的充放电把能量从一个电容“搬运”到另一个电容从而实现电压变换。整个过程不需要电感不需要变压器核心元件就是开关管和电容。我第一次接触电荷泵的时候感觉这东西像变魔术。心想电容存储能量靠的是电场能量密度比电感小得多怎么还能做电源变换后来真正理解它的工作方式之后才明白它的巧妙之处。电荷泵的基本工作原理可以概括为三步第一步开关管把输入电源接到一个电容上给电容充电这个电容叫飞电容flying capacitor第二步开关管切换连接方式把飞电容从输入端断开第三步把飞电容与输出端连接让电容上存储的能量释放到输出电容和负载上。通过这样周期性的充放电输出电压就可以被“泵”到高于输入电压、低于输入电压或者变成负压。之所以叫charge pump就是因为它在干“泵电荷”这个活像一个电荷搬运工把电荷从一个电位搬运到另一个电位。跟电感式开关电源最大的区别在于电感式变换器依靠电感中的磁通变化来转移能量而电荷泵依靠电容的电荷重分配来转移能量。这个本质区别决定了电荷泵的很多特性最典型的就是没有感性元件就没有EMI的磁场辐射问题也没有电感啸叫的问题。但代价是它的输出电流能力受限因为飞电容能存储的能量远不如一个电感在开关频率下能传递的功率。1.2 charge pump在电源家族中的定位如果以功率等级来划分电源拓扑大概是这样的LDO适合极低功率和低压差需求电荷泵适合中小功率电感式开关电源适合中高功率和高效率要求。从实际应用来看charge pump的输出电流一般集中在几十毫安到几百毫安这个区间再往上做效率和成本优势就会明显下降。当然也有例外部分大电流电荷泵可以把输出电流做到1A以上但那通常对飞电容容值和开关频率有非常苛刻的要求实际量产的产品并不多。在系统设计中电荷泵通常被用在哪几个位置呢LCD/OLED偏压电源需要产生正负几十伏的电压电流只需求几毫安到几十毫安电荷泵是绝佳选择RS232电平转换需要从3.3V或5V产生±12V左右的电平这是电荷泵的一个经典应用场景LED背光驱动尤其是并联LED驱动电荷泵可以用1x/1.5x/2x模式自适应切换避免电感方案的成本和EMI问题反压产生从一个正电源产生对应的负电源给运放、音频电路或偏置电路供电电池供电设备的中间轨比如从锂电池的3.7V降压到2.8V给传感器供电或者升压到5V给USB设备供电在小电流场景下电荷泵比boost更简洁。很多工程师一遇到电压变换就上buck/boost这当然没错但在小电流场景下一颗电荷泵芯片加两个电容就能解决的问题用buck/boost反而需要电感、二极管和更多的外围器件。这种场景下电荷泵的优势是压倒性的。1.3 与电感DC-DC、LDO的关键差异把三种方案放在一起对比它们的优缺点就非常清晰了。特性LDOCharge Pump电感式DC-DC所需元件输出电容飞电容输出电容电感输入/输出电容二极管/同步管电压转换方向只能降压升压/降压/反压升压/降压/反压转换效率低近似Vout/Vin中等可做到80%~90%高通常85%~95%甚至更高EMI极低低无磁场辐射较高磁场辐射明显输出纹波很低中等与拓扑和频率相关可低可高看设计成本最低低较高负载能力低-中中高复杂度极低低较高LDO的原理很简单本质就是一个可调电阻在输入输出间消耗压差所以效率受制于压差。电荷泵的效率则主要取决于拓扑类型和开关管的导通损耗。理论上2x模式下理想效率上限是Vout/(2×Vin)因为输入端要以2×Vin的等效电压提供能量如果输入电压是3V输出电压是5V的理想2x倍压效率上限就是83.3%。这里要特别提醒一点电荷泵不是“效率低”的代名词。在1x模式输入直通输出下电荷泵的效率可以非常接近100%因为此时只是通过开关管把输入连接到输出压降极小。这就涉及到后面要讲的模式切换技术。2. 核心拓扑与工作模态拆解2.1 Dickson电荷泵最经典的升压拓扑Dickson电荷泵是1976年提出的经典拓扑简单说就是把多个二极管-电容级联通过时钟信号控制各级电容交替充放电实现多级倍压。先看最基础的2倍压电荷泵它只需要一个飞电容和四个开关在集成电路中通常用MOS管实现。工作过程分两个相位充电相Charging Phase开关把Cin与Cfly并联输入电源给Cfly充电使Cfly两端电压等于Vin放电相Transfer Phase开关把Cfly与Cin串联后接到输出端此时输出端电压就是Vin加上Cfly上的电压即2×Vin。实际电路中输出端会有输出电容Co来维持负载电流所以输出电压能稳定在接近2×Vin的水平。负载电流越大输出电压下降越明显。这就是电荷泵的“开环”特性它本质上是一个电压源加一个等效内阻不是严格的稳压输出。如果做三倍压就需要两个级联的电容和对应的开关网络。把三倍压器画成示意结构大致长这样Vin ────[开关]──── Cfly1 ────[开关]──── Cfly2 ────[开关]──── 输出 │ │ 地/时钟 地/时钟两级电容交替被充电到Vin然后再串联叠加输出端就能得到接近3×Vin的电压。级数越多输出电压越高但效率越低因为每一级都有损耗且寄生电容的影响会越来越明显。在芯片设计领域Dickson拓扑是最经典的电荷泵结构很多电荷泵芯片内部就是多级Dickson结构。在实际设计中需要注意一个问题多级Dickson的逐级电压会越来越高后级电容和开关管的耐压需求也随之提高这会增大芯片面积和成本。所以实际产品中很少做超过三级的Dickson倍压。2.2 反压电荷泵如何产生负压电荷泵不仅能升压还能生成负电压。这在很多系统里是刚需比如音频电路的负电源、LCD的VGL负压、运放的双电源供电。反压电荷泵的原理也不复杂。核心思路是先把一个电容充电到输入电压然后把电容的“正极”接地“负极”接到输出端这样输出端相对于地就是负电压。还是用三个关键步骤来看充电相Cfly正极接Vin负极接地Cfly被充到Vin连接切换Cfly正极从Vin断开负极也从地断开放电相Cfly正极接地Cfly负极接输出端。因为电容两端的电压不能突变Cfly正极接到地0V后负极电压就变成-Vin于是输出端就被拉到-Vin附近。再配合输出电容稳压就能得到一个稳定的负压输出。如果输入端是5V那这个电路就能产生接近-5V的输出。如果想产生-10V就级联两级。很多RS232芯片内部就集成了类似的倍压和反压电荷泵从5V或3.3V产生±12V左右的高压电平。在实际应用中反压电荷泵有几点需要注意输出电压是负压反馈网络需要对负压做采样不能用普通的正压反馈结构负载调整率跟升压类型类似负载加重时负压幅度会减小启动时可能输出瞬态过冲因为电容初始充电瞬间会把输出拉到更负的值必要时需要加软启动或输出钳位。2.3 分数型电荷泵降压也能做升压和反压都好理解但电荷泵还能降压这就有点意思了。最常用于降压的是两种结构1/2倍电荷泵和2/3倍电荷泵。1/2倍电荷泵的思路是这样的把两个电容串联在输入和地之间每个电容分压到Vin/2。然后通过开关把其中一个电容上的电压传递到输出端输出就在Vin/2附近。实际上更常用的是跨接电容结构。两个相同容值的飞电容在充电相串联接在输入和地之间每个电容上存储的电荷量对应地压降是Vin/2在放电相并联接到输出端把各自存储的电荷释放给输出电容这样输出就稳定在Vin/2附近。1/2倍电荷泵有个特别大的优势输入电流是连续且接近无脉动的。因为电容串联时输入电流直接通过两个电容流到地这个电流路径是连续的。这就使得1/2电荷泵的输入EMI特别低很适合给音频电路或射频电路供电。2/3倍电荷泵的结构稍微复杂一些通过在充电相和放电相之间切换电容的不同连接方式串并、并串、单并等实现输出等于2/3×Vin。这种拓扑常用于LED驱动中因为LED的正向电压通常接近电池电压的2/3用2/3倍压能获得接近90%的效率。这里要提出一个概念分数电荷泵的自动模式切换。很多LED驱动芯片会在1x、1.5x、2x模式之间自动切换。当电池电压比较新、电压较高时用1x直通模式效率接近100%当电池电压下降1x模式无法维持LED电流时自动切换到1.5x模式再不够就切到2x模式。这种跟随电池电压变化的动态切换能最大化整个电池放电周期内的平均效率这也是电荷泵在LED驱动领域一直占有一席之地的核心原因。3. 关键参数、器件选型与设计计算3.1 输出电压、负载调整率与核心参数公式电荷泵的等效模型可以简化成一个电压源串联一个等效电阻Rout然后输出端接输出电容和负载。理想空载输出电压由拓扑决定2x拓扑就是2×Vin-1x拓扑就是-Vin1/2拓扑就是Vin/2。但加上负载之后输出电压就不是理想值了。电荷泵的等效输出电阻来自于电荷转移过程的损耗、开关管的导通阻抗和电容的ESR。实际输出电压可以表示为Vout Vout_ideal - Iout × Rout比如一个2x电荷泵输入5V理想空载输出10V。如果等效Rout是2Ω输出100mA时输出电压就是10V - 0.1A × 2Ω 9.8V。这比电感式boost电源的负载调整率差得多电感式boost有反馈环路可以通过调整占空比来稳定输出电压而电荷泵要做到稳压通常需要额外的LDO级联或者通过调节电荷泵开关频率和导通时间来实现预稳压。如果你在用分立器件搭电荷泵电路可以用更细致的公式来估算等效输出电阻Rout ≈ (N²) / (f × Cfly) 2×N×Rsw 8×N²×ESR_cfly其中N是拓扑倍压系数比如2x时N2f是开关频率Cfly是飞电容容值Rsw是开关管导通阻抗ESR_cfly是飞电容的等效串联电阻。这个公式非常有指导意义。它告诉我们要降低电荷泵的输出电阻核心是三个方向提高开关频率f增大飞电容容值Cfly降低开关导通阻抗Rsw。但三者都有天花板频率太高开关损耗会上升电容太大体积和成本会上升导通阻抗太低芯片面积会上升。设计就是在三者之间取平衡。3.2 飞电容怎么选飞电容是电荷泵的“能量中转站”它的选型直接决定电荷泵的负载能力、输出电压和效率。选飞电容主要看四个参数容值、耐压、ESR和温度特性。容值飞电容容值决定了每次充电能存储的电荷量也就是负载能力的上限。在给定负载电流Iout、开关频率f和目标纹波要求的条件下飞电容的最小容值可以这样估算Cfly ≥ Iout / (f × ΔV)其中ΔV是允许的飞电容电压跌落。比如输出100mA开关频率1MHz允许飞电容电压跌落100mV那Cfly ≥ 0.1 / (1e6 × 0.1) 1μF。可能需要缓冲一下对于100mA的负载电流飞电容如果只选1μF裕量有点太小了一般建议至少按计算值的2~3倍选取。因为飞电容ESR、PCB寄生电容等都会降低有效容值。ESR这是很关键但容易被忽视的参数。飞电容的ESR直接叠加在电荷转移路径上ESR越大瞬态压降越大损耗也越大。陶瓷电容的ESR非常低所以几乎所有的电荷泵设计都用X5R/X7R陶瓷电容作为飞电容。要避免使用高ESR的电解电容或钽电容。耐压飞电容在充放电过程中承受的电压应力不同。以2x拓扑为例充电相时Cfly两端最高电压是Vin放电相时Cfly被串联到输出端一端是Vin另一端接近2×Vin所以Cfly两端的电压仍然是Vin。也就是说2x拓扑下飞电容耐压只要大于Vin的1.5倍左右就够了。但在多级拓扑或其他拓扑中中间级飞电容的耐压要求会不一样一定要仔细分析每颗电容在两种开关相位下的最大电压应力。温度特性X5R电容在-55℃到85℃范围内容值变化约±15%X7R是±15%以内而Y5V/Z5U这类电容在温度变化时容值可能衰减60%以上绝对不能用于飞电容位置。选型时这个问题一定重视起来不然低温下电荷泵的负载能力会肉眼可见地下降。3.3 开关频率、死区与控制策略电荷泵的开关频率直接影响输出纹波和电容体积。频率越高需要的飞电容和输出电容越小但芯片内部开关损耗和驱动损耗也越大。常见的电荷泵开关频率在几百kHz到几MHz之间部分高压电荷泵可能只有几十kHz。在设计电荷泵时死区Dead Time是一个容易被忽略但非常重要的参数。死区是开关管切换时两组开关都断开的短暂时间目的是防止上下开关管同时导通造成直通短路。但死区时间不能太长否则会影响电荷转移效率。优秀的电荷泵芯片会在内部做精细的死区控制让死区时间足够短又不会出现直通。另外现代电荷泵芯片通常会集成以下控制功能软启动限制启动瞬间的浪涌电流防止输出过冲限流保护在输出短路或过载时限制电流热关断芯片温度过高时自动关断模式切换在1x/1.5x/2x等模式间自动切换。从控制角度来说电荷泵的稳压策略主要有两种一种是开环电荷泵LDO电荷泵负责粗调LDO负责精调这种架构稳压效果好但效率略低另一种是自适应调节电荷泵的等效输出阻抗通过调整开关频率或开关管驱动强度来微调输出电压效率更优但控制复杂。4. 效率与纹波的深入分析4.1 效率解析损耗从哪来理解电荷泵的效率可以从能量流的角度来看。电荷泵的效率定义为η Pout / Pin (Vout × Iout) / (Vin × Iin)对于理想2x倍压电荷泵输入电流的平均值是2×Iout因为输入提供的能量要支持输出端的2倍电压所以理想效率上限就是η_max (2Vin × Iout) / (Vin × 2Iout) 100%当然这是忽略所有损耗的理想值。实际损耗主要包括导通损耗开关管的导通电阻Rsw上消耗的能量跟输出电流的平方成正比。负载越大这项损耗越明显开关损耗开关管的栅极驱动损耗、寄生电容充放电损耗电容ESR损耗飞电容和输出电容的ESR在充放电电流流过时产生焦耳热死区损耗死区时间内电容电压不能完全平衡造成的不完全电荷转移损耗。在实际电路中电荷泵在中等负载下效率可以做到80%~90%。轻载时开关损耗和静态电流Iq占比上升效率会下降重载时导通损耗和ESR损耗占比上升效率也会下降。所以电荷泵存在一个最佳效率点一般在中等负载附近。有一个典型的效率-负载曲线规律电荷泵的效率随负载电流升高先升后降峰值效率通常在额定负载的30%~60%区间。设计时如果知道典型工作电流可以让系统工作在效率最高点附近。4.2 降低纹波的实用手段电荷泵的输出纹波主要来自两方面一是飞电容周期性地向输出电容注入电荷导致输出电压波动二是电容ESR上流过纹波电流产生的电压波动。降低纹波的几个实用手段增大输出电容容值。这个最直接输出电容越大电压波动越小。在小功率场景下输出电容从1μF加到10μF纹波通常能降低一个数量级。降低飞电容反馈路径的ESR。飞电容的ESR会直接叠加在输出纹波上选用低ESR的X7R陶瓷电容比什么都管用。提高开关频率。频率高了每个周期转移的电荷量少了输出纹波自然就小了。如果芯片支持外部时钟同步还可以把电荷泵的开关频率同步到系统中其他开关电源的频率上通过相位错开和频点错开降低系统级EMI叠加。增加π型RC或LC滤波。如果纹波要求非常苛刻比如给模拟电路供电纹波需要控制在10mV以内输出端再加一级低通滤波是最有效的办法。不过这会增加成本和面积一般只有在特殊场景才这样做。关于纹波测量有一点经验之谈用示波器测电荷泵输出纹波时接地线要用弹簧接地或直接靠测不要用长鳄鱼夹地线。长地线会引入开关噪声的共模分量测出来的纹波可能比实际值大好几倍干扰你的判断。4.3 常见应用场景电荷泵的应用场景其实比很多人想象的要广。除了前面提到的LED背光和LCD偏压还有几个值得关注的细分方向USB供电辅助部分USB设备在电压跌落到阈值以下时用电荷泵对输入电压做2倍/1.5倍提升给传感器或无线模组提供稳定供电SRAM/NOR Flash负压部分非易失存储器擦除时需要负压电荷泵在芯片内部集成负压模块是常见做法音频耳机/麦克风偏置麦克风偏置电压需要干净低噪声的电压电荷泵配合后级LDO可以满足要求电池前端保护用反压电荷泵产生负压给MOSFET驱动实现电池反接保护工业传感器两线制接口需要从4-20mA环路中取电并产生稳压源电荷泵加LDO的组合可以做到很低的静态功耗。这些场景有一个共同特征小电流、对面积敏感、EMI要求高。这些恰恰是电荷泵的舒适区。5. 实操演示与仿真验证5.1 设计目标与参数计算下面以一个实际需求为例演示完整的电荷泵设计流程。需求从5V输入产生-5V输出最大负载电流50mA输出纹波小于50mV。这个需求放在运放双电源供电或者LCD VGL供电场景很典型。因为输入输出电流都不大选反压电荷泵拓扑最合适。设计步骤第一步选芯片。查了一圈选用一颗带反馈稳压功能的反压电荷泵芯片开关频率1MHz最大输出电流200mA输入电压范围2.7V~5.5V。第二步计算飞电容容值 Cfly ≥ Iout / (f × ΔV) 0.05A / (1MHz × 0.05V) 1μF考虑裕量和低温容值衰减飞电容选2.2μF/10V X7R陶瓷电容。第三步选择输出电容。输出纹波要求50mV输出电容可以用以下公式估算 Co ≥ Iout / (f × Vripple) 0.05 / (1MHz × 0.05) 1μF但考虑到负载瞬态响应和ESR的影响输出电容选10μF/10V X7R陶瓷电容留足裕量。第四步确认输入电容。输入电容主要作用是稳定输入电压抑制开关电流引起的输入电压跌落选4.7μF/10V X7R陶瓷电容。第五步在芯片输出端串一个22Ω电阻并联47μF电容形成RC滤波进一步降低输出纹波。这样虽然会在轻载时略微降低输出电压但对负压偏置应用来说完全可以接受。5.2 仿真关键波形解读搭好电路后用仿真软件跑一下瞬态仿真。重点看三个波形飞电容电压频率1MHz开关飞电容电压在0V和-5V之间切换。充电相时电容被充到5V放电相时被翻转到输出端形成-5V。波形应该是一个方波边沿越陡峭说明开关切换越快。输出电压启动瞬间有轻微过冲大约到-5.3V左右然后回落到-5V附近并稳定。稳定后纹波峰峰值应该小于50mV。如果你在仿真中看到输出纹波远超预期优先检查输出电容是否选小了或者开关频率是不是太低。输入电流波形反压电荷泵的输入电流是脉动状在充电瞬间有一个较陡的电流尖峰。这个尖峰是输入EMI的来源之一在空间受限时不加输入电容很容易把噪声耦合到其他电路。仿真通过后打板实测。实测时注意测负压纹波要用差分探头或把示波器通道设置成直流耦合并把参考地接在负压轨上直接用示波器探头测负压很容易把探头烧掉。负压测量一定要跟示波器通道的共模电压范围确认清楚不能超范围。5.3 PCB布局与实测注意电荷泵的PCB布局跟其他开关电源一样重要虽然它没有电感不存在磁耦合问题但高频开关电流一样会在寄生电感上产生电压尖峰。布局要点飞电容尽量靠近芯片的飞电容引脚走线要短而粗。飞电容的回路面积越小回路电感和辐射越少输出电容靠近输出引脚地回路直接回到芯片的地焊盘不要绕路输入电容放输入端抑制输入电压跌落和输入纹波敏感信号远离飞电容走线因为飞电容两个引脚之间的电压是按照开关频率来回翻转的会产生电场耦合噪声。实测时还有几个需要注意的坑空载输出会偏高。因为电荷泵没有环路反馈空载时输出电容会充到接近理想的负压值。如果系统对空载电压有要求需要确认芯片是否内置反馈或需要加假负载。负载突变时负压轨会塌。电荷泵的响应速度比电感式DC-DC慢瞬时大电流会带来明显的电压跌落。如果后级有动态电流需求输出电容要适当地加大。负压启动顺序。在某些系统中正电源和负电源的启动顺序有严格要求。电荷泵的启动时间通常在几十微秒到几百微秒之间要跟系统时序匹配好。6. 常见问题与排查技巧实录6.1 启动过冲怎么解决电荷泵最常见的启动问题是输出电压过冲。原因在于启动瞬间飞电容和输出电容都是零电荷芯片把输入电压强行接到飞电容上然后飞电容再接到输出输出端可能被拉到比稳态值高很多的位置。解决启动过冲的几个方法利用芯片自带的软启动功能大部分电荷泵芯片都有内部软启动外部增大输出电容的充电时间常数比如在输出端串联一个小电阻再接大电容如果使用的是分立器件搭的电荷泵控制开关管的驱动信号斜率让开关逐渐导通。我实测过一个案例芯片本身有软启动但输出电容从10μF加到47μF后过冲从0.5V降到了0.1V以内。输出电容对过冲的抑制作用比想象中要明显。6.2 负载调整率差怎么办如果你的电荷泵输出在负载变动时下降幅度过大比如从10mA加到50mA输出电压掉了500mV以上可以从这几个方向排查飞电容容值不足这是最常见的原因。用示波器测飞电容两端的电压波形如果在放电相开始时电压跌落超过设定值的10%说明飞电容需要加大。飞电容ESR偏高如果飞电容用的是普通贴片电容而非陶瓷电容ESR可能偏大。试着换一颗相同的X7R陶瓷电容对比一下。开关频率过低提高开关频率能显著降低等效输出电阻。如果芯片支持外部时钟或频率设置电阻可以尝试把频率调高。PCB走线过长飞电容和芯片之间的走线阻抗叠加在等效输出电阻上。把飞电容移到芯片附近负载调整率通常会有改善。6.3 噪声与兜底建议电荷泵的噪声问题通常不是输出纹波本身而是把开关噪声耦合到系统中。如果发现电荷泵工作后模拟信号质量变差优先检查输入电源是否被电荷泵拉偏如果输入电源路径上串联了过大的走线电感电荷泵的脉动输入电流会在这个电感上产生电压跌落和尖峰。处理方法是让输入电容更靠近芯片并适当增大输入电容容值。接地是否干净电荷泵的高频电流回路如果和模拟电路的参考地混在一起会直接污染模拟信号。建议电荷泵的地单独走线后单点连接到系统主地。加RC滤波在敏感电路供电线上串联几欧姆到几十欧姆的电阻再并联一个电容就能滤除高频开关噪声。代价是压降和负载调整率变差需要平衡。最后分享一个排查心得遇到电荷泵问题别急着怀疑芯片坏了先拿起示波器看三个波形——飞电容两端波形、输出纹波波形、输入电流波形。大多数问题看一眼波形就能定位。比如飞电容波形不对称说明开关驱动有问题输出纹波频率是开关频率的一半说明电容容量不够输入电流波形异常尖峰说明环路面积太大或输入电容不够。波形会告诉你答案比盲目调参数有效率得多。关于charge pump的内容这篇先讲到这里。回想我自己做过的几款含电荷泵的产品最深刻的体会有两个一是电荷泵虽然原理简单但要把性能做稳做优飞电容选型、PCB布局和地处理的功夫一点不能省二是设计时一定要想清楚这个电压轨是给谁供电、电流需求曲线是什么样的、启动时序和纹波容限是多少。把这些问题想明白了电荷泵就是又便宜又好用的电源方案。希望这篇能帮你把电荷泵用好。