Charge Pump Design: From Fundamentals to Advanced Applications in Modern Electronics
1. 电荷泵到底是什么从“水桶接力”说起如果你玩过水桶接力的游戏那理解电荷泵就成功了一半。想象一下你有两个水桶电容和一个水泵开关。第一个水桶从低处的水井输入电源打满水然后你把水倒进第二个位置更高的水桶里。通过反复这个“打水-传递”的过程你就能把水送到一个比原始水井高得多的位置。电荷泵干的事儿几乎一模一样只不过它搬运的不是水而是电荷最终目的是产生一个比输入电压更高的输出电压。在芯片内部我们常常需要一些特殊的电压。比如你的手机处理器核心可能只需要1V电压但它的闪存Flash Memory在写入数据时却需要高达10V到20V的电压来“撬动”存储单元。直接从电池拉这么高的电压进来不现实电池电压通常只有3V到4V。这时候电荷泵就闪亮登场了。它就像一个芯片内部的“微型电压魔术师”利用电容和开关的巧妙组合把低电压“泵”到高电压而且不需要笨重的电感。这种技术也叫开关电容式DC-DC转换器。我刚开始接触时觉得这玩意儿真巧妙。它结构简单通常就几个电容、几个MOSFET开关和一个振荡器时钟就能实现升压、降压甚至产生负电压。对于很多低功耗、小面积的集成电路设计来说它比需要电感的传统开关电源方案更有吸引力。当然它也不是万能的后面我们会详细聊它的局限和那些让人头疼的“坑”。2. 核心原理两相时钟与电荷的“搬运舞”电荷泵最经典、最基础的结构是倍压电荷泵也就是把电压翻倍。它的核心动作就像一场精心编排的双人舞由两个相位相反的时钟信号我们常叫它们 Φ1 和 Φ2来指挥。2.1 第一阶段充电蓄力当第一个时钟相位 Φ1 为高电平时开关S1闭合S2断开。此时那个关键的“搬运电容”Cp也叫飞跨电容的一端接输入电压Vin另一端接地。这就好比把我们的“搬运水桶”Cp放到了水井口把它完全灌满。此时Cp两端的电压差就是Vin。与此同时输出端的缓冲电容Co负责维持输出电压它在上一个周期已经被充到了某个电压值正在为后面的负载供电。2.2 第二阶段泵送发力紧接着时钟翻转。Φ1变低S1断开Φ2变高S2闭合。这个动作瞬间改变了Cp的连接方式它原本接地的那一端现在被接到了输出节点Vout上。由于电容两端的电压不能突变当Cp的底端电位突然被抬高到Vout时它的顶端电位也会随之被“抬轿子”一样抬高。具体来说Cp顶端电位会变成Vout Vcp而Vcp就是它两端存储的电压Vin。关键点来了Cp的顶端在第二阶段是悬空的吗不是的在一个理想模型中它通过一个开关图中未明确画出但实际电路会确保连接到了输入电压Vin。这样就形成了一个回路Vin通过内部路径给Cp顶端充电以维持其电压。最终的结果是输出节点Vout的电压被泵送到了大约Vin Vcp 2Vin的高度。当然这是理想情况忽略了所有开关损耗和二极管压降。这个过程周而复始每一次时钟切换Co就被补充一次电荷从而在输出端建立起稳定的2倍输入电压。你可以用下面这个简单的伪代码来理解这个控制逻辑always (posedge clk) begin phase ~phase; // 产生两相相反时钟 end // 开关控制逻辑 assign switch_S1 (phase 1); assign switch_S2 (phase 0);3. 不止于倍压电荷泵的家族图谱很多人以为电荷泵只能做电压加倍那就太小看它了。通过改变电容网络的连接方式和开关时序它能变出各种花样满足电路里千奇百怪的电压需求。3.1 倍压与半压最常用的兄弟倍压电荷泵就是我们上面详细讲的那种Vout ≈ 2Vin。这是应用最广的拓扑结构简单效率相对较高。在EEPROM、Flash的编程电压生成电路里它是绝对主力。半压电荷泵能产生 Vout ≈ Vin/2 的电压。这在一些需要低电压域供电但又不想用外部LDO的场合很有用。它的原理类似但电容连接方式不同是把电荷从输出端“泵回”到输入端从而实现分压。3.2 负压发生器创造“低于地”的世界在模拟电路里我们经常需要负电压。比如要给运算放大器的负电源轨供电或者驱动某些特殊的显示器件。电荷泵也能轻松实现这个功能。它的思路很巧妙在泵送阶段把电容的极性“翻转”过来。原本电容正端接Vin负端接地在翻转后变成正端接地负端接输出。这样输出端相对于地就是负电压了。我最早在做一个音频编解码器芯片时就用过用一块3.3V的电源生成了一个-3V的电压给运放用省了一路外部电源。但这里有个大坑产生负压的节点任何连接到衬底的PN结比如NMOS的源/漏区都可能被正偏导致漏电甚至闩锁效应。所以在负压节点附近的器件隔离必须做得非常好。3.3 多级级联攀登电压高峰当需要更高的电压比如从3V升到15V甚至30V时单级倍压就不够用了。这时可以把多个电荷泵单元像爬楼梯一样级联起来。第一级把电压从Vin泵到2Vin第二级以这个2Vin为输入泵到4Vin以此类推。理论上N级级联能产生 (N1)*Vin 的电压。但问题也随之而来电压应力每一级的电容和开关管需要承受的电压都不同。第一级电容承受Vin第二级就要承受2Vin设计时选器件必须格外小心。效率衰减每一级都有损耗级数越多总的效率下降越厉害。通常级联超过3-4级后效率就很难看了输出驱动能力也会急剧下降。面积成本每多一级就需要额外的电容和开关芯片面积和成本直线上升。在实际项目中我们通常会权衡需求。如果只是偶尔需要一下高压比如Flash擦写对效率不敏感可以用多级级联。如果需要持续提供高压大电流往往会考虑结合电感式的Boost变换器。4. 从理想照进现实关键设计考量与寄生参数纸上谈兵总是简单的一旦动手设计或者调试电荷泵电路各种非理想效应就会跳出来教你“做人”。下面这几个是我踩过最多坑的地方。4.1 开关的“不完美”导通电阻与时钟频率理想开关是零电阻、零延迟的。但现实中的MOSFET开关有导通电阻Ron。这个Ron会和电容构成一个RC网络限制了电荷搬运的速度。这里涉及到两个重要的工作极限慢开关极限当时钟频率非常低远低于RC时间常数的倒数时电容在每个相位都有充足的时间充满电或放完电。此时系统的性能主要由电容容量和时钟频率决定Ron的影响可以忽略。大多数电荷泵都工作在这个区域因为这样设计简单输出纹波也更容易预测。快开关极限当时钟频率非常高电容来不及完全充放电时Ron就成了瓶颈。它会导致电容上的电压摆幅减小从而直接拉低输出电压和最大输出电流。所以选择开关管的尺寸是个学问。尺寸太大Ron小但栅极电容大会增加驱动电路的功耗尺寸太小Ron又太大。我通常的做法是先根据目标输出电流和允许的电压降估算出一个最大Ron再根据这个去初选管子尺寸。4.2 电容的“暗面”底板寄生电容这是电荷泵效率的“头号杀手”也是最容易被新手忽略的。我们用的集成电容无论是MOS电容还是MIM电容都不是理想的。它的下极板通常接开关的那一端对衬底会有一个不可忽略的寄生电容我们称之为底板寄生电容Cpar。这个Cpar为什么可恶因为在每个时钟周期当开关切换时Cpar两端的电压会发生剧烈变化比如从0V跳到Vin。给一个电容两端电压变化就需要对它进行充放电而这个充放电的能量完全来自电源并且最终以热的形式耗散掉对输出没有任何贡献。你可以把它想象成搬运工在运水时自己身上有个漏水的破袋子Cpar。每次他往返运水自己袋子里的水都会漏掉一些这些白费的气力就是损耗。Cpar越大损耗越大。为了降低这个损耗在集成电路工艺中我们会尽量选择“底板”接在低阻抗节点如固定电源或地的电容结构或者采用特殊的电路技术来补偿底板电容的电荷损失。4.3 二极管的“代价”阈值损失在早期或一些极其简单的电荷泵中会用二极管代替MOSFET开关。它的好处是电路简单不需要复杂的时钟驱动。但坏处是每个二极管都有一个正向导通压降VF硅二极管大约是0.7V。在一个倍压电荷泵里电荷的传递路径上通常会经过两个二极管这就意味着输出电压最多只能达到Vout 2*(Vin - VF)。如果Vin是3.3VVF是0.7V那么理想输出是6.6V但考虑二极管压降后可能只有5.2V左右损失非常大而且这个VF会随温度和电流变化导致输出电压不稳定。因此在现代高性能电荷泵设计中几乎都采用MOSFET开关配合同步驱动技术来替代二极管实现所谓的“零阈值损失”或“理想二极管”效果从而大幅提升效率。5. 效率提升实战从基础结构到优化技巧理解了损耗来源我们就能有的放矢地进行优化。电荷泵的效率定义为输出功率除以输入功率提升效率就是和上面提到的各种损耗做斗争。5.1 用MOSFET开关取代二极管这是最直接的一步。如图我们用PMOS和NMOS管构成传输门来充当开关。通过给MOS管的栅极施加合适的驱动电压可以让它在导通时像一个电阻很小的通路压降远低于二极管的VF。但这里有个技术难点如何驱动这些开关管的栅极比如在倍压泵中有一个开关管M1的源极电压会在Vin和2Vin之间摆动。为了确保这个开关管能完全导通栅源电压Vgs足够大它的栅极驱动电压也必须跟着源极一起“泵上去”这就需要用到“自举”技术。通常我们会用一个小电容Cb来存储电荷在合适的时机给这个开关管的栅极提供高压驱动确保它在整个周期内都保持低阻态。5.2 交叉耦合结构优雅的解决方案为了彻底解决开关管驱动和二极管压降的问题交叉耦合电荷泵结构应运而生它非常巧妙。在这种结构里用了两套完全对称的泵电容和开关管M1A/M2A 和 M1B/M2B由两相相反的时钟驱动。当Φ1为高时Cp1从Vin充电同时Cp2将其储存的电荷泵送到输出端。下一相则相反。M2A和M2B这两个PMOS管互相为对方提供栅极驱动当M2A的源极电压被泵高时M2B的栅极电压也被拉低从而确保M2A能充分导通。这种结构的好处是自动完成栅极自举无需额外的自举电容和电路。几乎消除了阈值损失输出电压可以非常接近2Vin。输出纹波减半。因为两套电容交替向输出泵送电荷输出电容Co上的电压波动更小。5.3 电流源充电驯服浪涌与噪声在基础电荷泵里当时钟跳变、开关瞬间接通时泵电容Cp会直接连接到电源Vin或地这会产生一个很大的瞬间冲击电流。这个电流尖峰不仅增加损耗还是电磁干扰的主要来源。一个有效的优化手段是在充电/放电路径上引入“电流源”。不是直接把Cp怼到电源上而是通过一个恒流源或者一个受控的电流路径来给Cp充电。这样Cp上的电压是线性上升的电流是平稳的大大降低了噪声和开关应力。实现上这个“电流源”可以用一个工作在线性区的MOSFET来实现通过控制其栅压来限定最大充电电流。当然这增加了电路的复杂性并且要求时钟频率足够低以确保在每个相位内Cp有足够的时间被这个限流源充到目标电压。6. 高级应用场景不止是升压电荷泵的价值在于其灵活性和高集成度这让它在许多特定场景下成为不可替代的解决方案。6.1 存储器的“高压写入器”在EEPROM和Flash Memory中写入和擦除操作需要向浮栅注入或抽取电子这需要10V-20V的高压。这个电压通常由芯片内部的电荷泵产生。这种泵的特点是高电压、小电流写入操作是瞬时的所需电流不大但电压必须足够高。精确控制需要闭环控制来确保编程电压的准确性防止过压损坏存储单元。多级级联为了从低至1.8V的核心电压泵到20V往往需要多级电荷泵级联。设计这种电荷泵时开关管和电容的耐压是首要考虑因素必须使用厚栅氧器件。同时由于负载很轻对效率的要求相对宽松更关注面积和可靠性。6.2 数字电路的“体偏置生成器”在先进工艺的数字电路中为了在性能和漏电之间取得平衡常常会对晶体管的衬底体端施加一个偏置电压。对于PMOS管可能需要一个负的体偏压来降低漏电流对于NMOS管可能需要一个正的体偏压。 电荷泵是产生这些偏置电压的理想选择因为它可以集成在芯片内部面积小并且可以根据电路的工作模式高性能模式、低功耗模式动态调节偏置电压。6.3 模拟开关与驱动器的“浮地电源”这是一个非常经典且重要的应用。想象一下你要用一个NMOS管作为高端开关来控制一个连接在电源和负载之间的通路。为了让这个NMOS管导通它的栅极电压必须比源极高出一个阈值。但它的源极是接在负载上的电压是浮动的。怎么办这就需要电荷泵出场为这个NMOS管的栅极产生一个“浮地”的电源。这个电源的正端接在MOS管的源极浮动节点负端接栅极。这样无论源极电压如何变化栅源之间的驱动电压都能保持恒定。这种技术也叫“自举”电路广泛用于电机驱动、Class-D音频功放的桥式输出级以及DC-DC转换器的高边驱动中。6.4 闭环控制让输出更稳前面讲的大多是开环电荷泵其输出电压受输入电压、负载电流、工艺角、温度的影响很大。对于要求输出电压精准的应用必须引入闭环反馈控制。常见的控制方式有两种脉冲频率调制/脉冲跳跃调制通过检测输出电压动态地使能或禁用电荷泵的时钟脉冲。当输出电压过高时跳过几个时钟周期当电压过低时再恢复工作。这种方法简单但输出纹波的频率不固定。调节泵电容阵列这是一种更优雅的方案。电荷泵的输出阻抗Rout ≈ 1/(fsw * Cp)。如果我们固定时钟频率fsw那么通过数字信号动态地并联或断开泵电容单元就可以改变等效的Cp值从而调节输出阻抗和输出电压。这种方法能保持固定的开关频率有利于噪声滤波设计我在一些需要低噪声供电的模拟模块中经常采用。7. 设计中的“坑”与避坑指南最后结合我这些年调试电荷泵电路的经验分享几个实实在在的“坑”和应对方法。第一个大坑寄生双极晶体管效应。这在使用NMOS作为开关且电路中有电压摆幅很大的节点时尤其危险。在标准CMOS工艺中NMOS的源/漏区N型、P型衬底和N型阱会形成一个寄生的NPN三极管。如果电荷泵工作时某个节点的电压变化导致这个寄生三极管的基极-发射极正偏它就会导通把大量电荷泄放到衬底轻则导致电荷泵失效、效率暴跌重则引发闩锁效应烧毁芯片。避坑方法仔细检查所有开关节点确保任何PN结都不会被正偏。对于高压或负压节点使用单独的深N阱进行隔离或者改用PMOS管其寄生PNP管不易被触发。第二个坑时钟馈通与电荷注入。MOSFET开关在开启和关闭的瞬间栅极电压会通过栅漏/栅源电容耦合到信号路径上同时沟道中的电荷也会被注入或抽出。这会在敏感的泵电容节点上产生电压毛刺影响精度在精密模拟应用中可能是灾难性的。避坑方法采用差分结构、虚拟开关等技术进行补偿。在版图设计时尽量保证开关管的对称性。第三个坑启动问题。在一些需要自举启动的电荷泵中比如交叉耦合结构如果所有电容初始都没电电路可能无法自行启动陷入“死锁”状态。避坑方法加入一个弱的上拉或下拉电阻或者设计一个简单的启动电路在电源上电初期提供一个初始的电荷注入路径把电路“踢”进正常工作状态。第四个坑负载瞬态响应差。电荷泵本质上是一个高输出阻抗的源。当负载电流突然变化时输出电压会有一个较大的跌落或过冲恢复速度也相对较慢。避坑方法在输出端使用足够大的缓冲电容Co。如果需要更快的响应可以结合线性稳压器使用让电荷泵作为预稳压器提供一个稍高的电压再由LDO进行精细调节。电荷泵的设计就像一门平衡的艺术需要在面积、效率、噪声、驱动能力、复杂度之间反复权衡。没有最好的结构只有最适合当前应用场景的结构。每次开始一个新设计我都会先明确最关键的指标是什么是极限面积是最高效率还是最低噪声想清楚这个很多设计选择就自然清晰了。多仿真多画版图多思考寄生参数的影响这些经验之谈虽然老套但确实是做出稳定可靠电荷泵电路的不二法门。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2408392.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!