ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

峰值电流模式控制原理与斜坡补偿实战解析

峰值电流模式控制原理与斜坡补偿实战解析 峰值电流模式控制这东西做电源的人早晚都要啃一遍。不管你是刚入门的学生还是调试Buck/Boost的硬件工程师只要你碰过带电流采样脚的PWM控制器就一定会遇到“占空比一超过50%就振荡”“负载一变输出纹波就乱跳”这类问题。这些问题背后几乎都指向同一个核心峰值电流模式控制的底层运行逻辑没有彻底吃透。这篇文章不打算给你堆一堆公式然后说“显而易见”而是把峰值电流模式控制从内部信号流、电感电流的微观行为、斜坡补偿为什么要存在到你在示波器上看到的异常波形完整串一遍。我可以先给个结论峰值电流模式控制本质上是一种“逐周期”的电流内环控制它比电压模式多了“电感电流峰值”这个直接反馈量所以响应快、天然限流但代价是它对斜坡补偿和噪声极其敏感。文章最后我会把调试现场最容易踩的坑整理成速查表你也可以直接用它对照排查问题。1. 峰值电流模式到底在“控”什么1.1 为什么不是直接控输出电压很多初学者会有一个困惑我明明最终要的是稳定的输出电压为什么要绕一圈去控电感电流这里先说一个容易混淆的概念。电压模式控制Voltage Mode Control是误差放大器输出Vcomp然后和固定频率的锯齿波比较产生PWM。它只采样输出电压对于电感电流的变化是“事后”才知道的。比如说输入端电压突然掉了一点电感电流的上升斜率立刻变小但输出电压不会瞬间变化电压环要等到输出电容放掉一点电之后才反应过来然后慢慢修。这个延迟在环路里就是相位裕量被吃掉的原因也是电压模式动态响应慢的根子。峰值电流模式控制Peak Current Mode Control, PCM的思路完全换了一个方向它不去等输出电压变化而是直接盯着电感电流。每个开关周期开始时时钟置位RS触发器开关管导通电感电流开始上升当电流采样电压上升到等于误差电压Vcomp时比较器翻转复位RS触发器开关管关断。电流峰值被直接控制在Vcomp决定的水平上输出电压只是通过电压环去调节这个Vcomp。用一句行话讲电感电流从“状态变量”变成了“受控源”。这样做的好处是本质性的。输入电压变化的那一瞬间电感电流的上升斜率dI/dt跟着变电流峰值提前或延后到达VcompPWM占空比立刻改掉不需要等输出电压变化再反应。所以峰值电流模式天生就有一级输入前馈输入瞬态响应比电压模式快一个数量级。另外一个附带好处是逐周期限流任何原因导致电流超过设定值比较器马上关断管子你不用额外做快速过流保护电路。1.2 电流内环为什么是“逐周期”的理解逐周期这个概念是理解峰值电流模式运行的钥匙。我们在大学里学的经典控制理论讨论的是连续时间系统用传递函数、波特图。但峰值电流模式的电流内环本质上是一个在每个开关周期都会“重新开始”的事件驱动系统以时钟沿作为基准点每个周期导通时刻固定关断时刻由电流比较结果决定。这意味着电流环路没有“历史记忆”。前一个周期的电流误差不会累积到下一个周期因为下一个周期一定从固定的时钟沿重新导通电感电流从当前值继续跑但控制动作重新开始。这个特性让电流内环的响应速度可以做得很快——快到你一周期内就能修正电流偏差所以它的带宽可以推到开关频率的1/6到1/3远远高于电压外环带宽通常只有开关频率的1/10到1/20。但是逐周期控制也带来了副作用它把小信号模型变成了一个离散采样系统而离散系统经常出现一种问题——采样时刻的变量变化会让系统出现非预期振荡。这就是占空比超过50%时峰值电流模式会发生次谐波振荡的根源。第二章节我要详细展开这个微观过程因为“逐周期”三个字背后是RS触发器比较器时钟这三个单元组成的时序闭环。2. 底层运行逻辑从RS触发器到电感电流的微观过程2.1 一个开关周期里的信号流我们先不看整个电源系统只看一个开关周期内的信号流。一个峰值电流模式控制器的核心是一个RS触发器。S端接固定频率时钟R端接PWM比较器输出。具体时序是这样的时钟上升沿到来RS触发器S端收到脉冲Q端输出高电平驱动功率管栅极开关管导通。开关管导通后电感两端施加正向电压Buck变换器中为Vin-Vout电感电流线性上升电流采样电阻上的电压也随之线性上升。当采样电阻电压上升到等于Vcomp时PWM比较器同相端和反相端交叉输出翻转触发RS触发器R端Q端输出低电平功率管关断。开关管关断后电感电流通过续流二极管或同步管续流电流线性下降直到下一个时钟上升沿到来再次置位触发器开始新周期。这套时序里有几个细节值得注意。第一Vcomp由电压误差放大器输出但它不是一个慢变量在每个周期内基本恒定。第二PWM比较器的输入采样电压通常需要加一个很小的RC滤波滤掉开关管开通瞬间的电流尖峰但这个滤波也不能太大否则会引入延迟导致电流峰值被削掉。第三RS触发器必须是非重触发式的如果在同一周期内R和S同时有效逻辑会混乱所以控制器内部会做一些消隐或优先处理。这整个闭环的直观理解是时钟决定何时导通电流峰值决定何时关断。占空比不是直接算出来的而是被事件驱动的结果。2.2 峰值电流的比较与PWM关断在实际芯片里比较器的输入可以是电流采样电阻电压也可以是电流互感器的次级信号或者功率管导通压降VDS间接表征的电流。不管哪种方式最后都转换成电压信号和Vcomp做比较。这里有一个隐藏知识点峰值电流模式控制所控制的“峰值”是某个特定时刻的电流值。在电感电流连续模式CCM下这个峰值等于负载电流加上1/2纹波电流。而在电感电流断续模式DCM下电感电流从0开始上升峰值刚好是平均电流的两倍。也就是说同样的Vcomp电平在CCM和DCM下对应的输出功率完全不一样这是模式切换时环路需要重新调整的原因。PWM关断的瞬间比较器翻转会有延迟这个延迟叫比较器传播延迟。在500kHz开关频率下比较器延迟如果是50ns相当于占空比误差2.5%如果不做补偿会表现为轻载时输出电压偏高因为实际电流峰值比预期高。所以稍微讲究一点的设计会在采样电压上加一个前馈斜坡或者在误差放大器输出上加一个斜坡把比较器延迟的影响修正回来。另外时钟上升沿和驱动输出之间也存在延迟。这个延迟会表现为最小导通时间受限。芯片数据手册上会标minimum on-time如果需要的占空比对应的导通时间小于这个值控制器就进入脉冲跳跃模式通过丢周期来维持输出。这个概念后面调试会用到先记在这里。2.3 斜坡补偿的本质给电流环“加阻尼”这是峰值电流模式最核心也是最让人头疼的话题。我不打算用一堆特征根公式把读者吓跑但从物理直觉说清楚为什么需要斜坡补偿。假设一个Buck变换器工作在CCM电感电流下降斜率是m2 Vout / L。现在假设有一个微小的扰动使某一周期的电感电流比稳态值大了一个ΔI0。在这个扰动周期因为峰值电流被Vcomp限制开关管会提前关断导通时间变短。下一个周期因为导通时间变短电感电流波形的起始点变成什么这里需要画一个波形来看。在CCM下电感电流是连续三角波。如果你在某个周期起点注入一个正扰动这个扰动会沿着电感电流的上升沿传到峰值点然后沿着下降沿传到下一个周期的起点。因为固定频率时钟周期T固定扰动在上升沿被放大了放大量与占空比相关在下降沿被传递。经过推导可以得到每经过一个周期扰动被乘以一个因式这个因式的绝对值等于 -D / (1-D)。当D 0.5时因式绝对值小于1扰动逐周期衰减当D 0.5时因式绝对值大于1扰动逐周期放大表现为电流波形一高一低交替出现周期为两倍的开关周期输出电压纹波会出现低频包络。这就是次谐波振荡subharmonic oscillation。要消除这种振荡最直接的办法是让扰动不能无阻尼地传播。具体做法是在PWM比较器的一个输入端注入一个与时间成正比的斜坡电压。这个斜坡会让PWM比较器提前翻转等效于在每个周期内给电流环引入一个阻尼项。工程上严格的说法是斜坡补偿斜率mc需要满足 mc ≥ (m2 - m1) / 2才能保证任意占空比下扰动衰减。但实际设计中我们通常取 mc 等于 0.5到1倍的 m2这样既能抑制次谐波振荡又不会把电流环增益削减得太狠。为什么不能无限制加大斜坡补偿因为斜坡补偿本质上是在“帮”比较器提前关断相当于引入了一个电压模式控制的成分。补偿越大电流环的增益越低峰值电流模式的前馈特性和快速响应优势就越弱。补偿过度时系统会退化成类似电压模式的行为电流峰值不再精确跟随Vcomp负载调整率会变差。所以斜坡补偿不是越大越好工程上是在“稳定性”和“电流环增益”之间取一个平衡点。2.4 占空比超过50%时为什么会振荡上面说了数学模型现在换一个更直观的角度。把一个CCM电感电流波形画出来开关周期T固定导通时间ton DT关断时间toff (1-D)T。在CCM中峰值电流固定为Ipeak则每个周期开始时电感电流的谷值 I_valley Ipeak - m1 * ton Ipeak - m1D*T而下个周期的谷值又由上一个周期的谷值加上电流纹波变化量得到。假设某一周期谷值偏高ΔI则导通期间上升的纹波量ΔI_rise m1 * D * T但这部分上升受到峰值限制峰值仍然是Ipeak所以实际上到峰值时偏差被“压缩”到... 准确描述应该这样推令起始偏差为ΔI_n则峰值偏差变为ΔI_n m1 * (Δton)不对因为峰值是固定的所以扰动峰值为0导通时间被调制了Δton -ΔI_n / m1于是占空比扰动ΔD_n -ΔI_n / (m1 * T)。这个ΔD_n会影响关断期间下降的纹波量下一个周期起始偏差ΔI_{n1} ΔI_n m2 * ΔD_n * T不对因为下降量随toff变化。严格推导下一个起点相对峰值下降的幅度为m2 * (1 - D_n) * T。稳态下降幅度为m2*(1-D)T。峰值固定所以ΔI_{n1} - (下降量的变化) - m2 * T * (-ΔD_n) m2 * T * ΔD_n 代入ΔD_n -ΔI_n/(m1T)得ΔI_{n1} - (m2/m1) * ΔI_n -D/(1-D) * ΔI_n。负号表示下一周期偏差反号这就是交替波浪的由来。当D/(1-D) 1即D 0.5时偏差每一步都放大振荡发散。有了这个微观推导你再看“占空比高于50%时加斜坡补偿”这句话就不会只知道套口诀了。本质是通过外加斜坡mc等效把m1变大了衰减因子变成 (m2 - mc)/(m1 mc) 的绝对值只要mc足够大任意占空比下都能让这个比值小于1。3. 实操把底层逻辑用到你的Buck/Boost上3.1 电流采样采样电阻、互感器和Isense脚讲完原理该动手了。峰值电流模式控制的第一个硬件难点就是电流采样。三种常见方案采样电阻sense resistor、电流互感器current transformer、功率管Rds(on)检测。采样电阻方案最简单把低阻值电阻串在电感或开关管源级电阻上的压降直接进Isense引脚。选型要点是阻值要小避免额外损耗精度要高温漂要低最关键的是PCB布局要采用开尔文连接采样线和功率线分开走以免功率电流流过铜箔产生附加压降干扰采样。一个经验值满载时采样电压取100~300mV太小信噪比差太大损耗高。电流互感器方案适合大电流场景它通过变压器将主电流缩小一定比例馈送到次级原副边隔离损耗比采样电阻小得多。但互感器有励磁电感和复位问题——每个周期必须确保磁复位否则磁芯饱和失去采样功能。用互感器采样有一个极容易被忽略的细节副边电流在上升沿和下降沿都有但控制器只需要上升沿的信息所以通常要加一个二极管或同步整流开关在下降沿把副边短路。Rds(on)检测方案是成本最低的利用功率管导通时的压降约等于Id * Rds(on)来采样不需要额外电阻。但Rds(on)随温度变化高达30%且导通瞬间有很长的振荡很难做精确的逐周期限流一般用在对精度要求不高的消费类电源中。在实际布置Isense引脚外围时我强烈建议在Isense引脚对地加一个RC低通滤波时间常数设在30~100ns用来滤掉开关管开通尖峰。但要小心滤波时间常数太大会让比较器看到的电压滞后实际电流导致关断点滞后实际峰值电流偏高。如果你发现输出过流保护点比设计值偏大先查这个RC是否过大。3.2 斜坡补偿的实现与参数估算现在看斜坡补偿怎么落地。大部分现代PWM控制器芯片例如UC3842系列、SG3525之外的电流模式芯片都有内置斜坡补偿一般是通过把内部振荡器的斜坡叠加到Isense端或COMP端。具体到电路实现方式主要有两种第一种把斜坡补偿电流注入到Isense节点。在Isense电阻末端接一个电阻到RT/CT引脚利用内部振荡器产生的线性充放电斜坡产生一个微小电流叠加到采样电阻电压上等效于人为增大了采样电压的斜率。调这个电阻的值即可调补偿强度。第二种把斜坡叠加到误差放大器输出COMP端。原理和第一种一样相当于给Vcomp减去一个逐渐增大的电压让比较器更早翻转。这种方式不干扰电流采样信号但会影响电压环的直流增益。参数怎么估算我以Buck变换器为例Vin12VVout5VL10µH开关频率500kHz负载3A。电感电流下降斜率m2 Vout/L 5V / 10µH 0.5A/µs对应采样电阻50mΩ上的电压下降斜率为25mV/µs。为了对任意占空比稳定斜坡补偿斜率mc至少取m2的一半即12.5mV/µs工程上我建议取0.75~1倍m2也就是20~25mV/µs。这样加上去之后等效电流环增益仍在可以接受的范围。具体到芯片引脚上如果内部补偿电流是固定比例跟随振荡器斜坡的你需要根据数据手册上“slope compensation current”的公式反算外部电阻值然后实测一下满载时的电流限制点是否还在设计范围内。还要特别说明一点Boost变换器需要的斜坡补偿和Buck不一样。Boost的电感电流在关断期间同时给输出供电其小信号模型里存在右半平面零点峰值电流模式对右半平面零点没有改善能力所以斜坡补偿不足时Boost更容易出现宽频振荡。Boost的斜坡补偿一般要取到m2的1到1.5倍并且电压环带宽要压得比Buck更低一些。3.3 环路补偿参数怎么定电流内环确定后电压外环设计就相对简单了。电压外环的目的是通过调整Vcomp来让输出电压稳定。峰值电流模式的一个关键小信号特性是电流内环把功率级从二阶系统降阶成为一阶系统近似为一个受控电流源对输出电容充电。输出电容和负载电阻构成一个主导极点相位延迟最多90度所以补偿网络的设计比电压模式容易得多。用经典的II型补偿一个积分极点加一个零点就够了补偿零点放在LC滤波器双重极点的位置附近不LC双重极点已经被电流环破坏了你只需要把补偿零点放在输出电容和负载构成的极点附近一般是1/(2πRloadCout)。比如3A负载5V输出对应Rload≈1.67ΩCout100µF极点频率约950Hz零点就放在950Hz左右。跨导放大器补偿网络里电容C1决定中频增益C2用于抑制高频噪声Czero电阻R1和电容串联形成零点。中频段增益决定了电压环带宽一般取开关频率的1/10到1/20。500kHz开关频率下带宽30~50kHz比较合理。相位裕量目标45度以上。因为电流环已经把相位滞后减轻了很多正常情况下II型补偿轻松能达到60度以上。调试方法也分享一下先用网络分析仪扫环路没有仪器就做负载瞬态测试。用电子负载在25%到75%负载之间以1kHz到10kHz方波跳变看输出过冲/下冲。过冲大、振铃多、恢复时间长说明相位裕量不够或带宽过低。如果输出波形非常干净但带宽太低轻载到满载切换时会有几十毫伏的跌落那也是需要继续调带宽的信号。3.4 模式切换与轻载优化峰值电流模式控制器在轻载时经常会进入skip mode跳过周期因为最小导通时间的存在占空比无法无限小。跳过周期会带来输出纹波增大和音频噪声风险。这部分调试时经常被忽略但项目后期往往被EMC测试卡住。处理思路有几个。第一如果系统允许把开关频率选高一点最小导通时间对应最小占空比就更小轻载进入跳周期模式的点也会更晚。第二选择支持轻载恒定频率的控制器比如用CCM强制模式代价是轻载效率下降。第三在采样RS触发器端增加一个最小占空比钳位保证每个周期至少导一段非常短的时间输出纹波会小一些。实际测试中我最常遇到的轻载问题反而是“跳周期频率落在音频范围内”。如果你的板子在某个负载附近发出“吱吱”声先别急着怀疑电感磁芯先看一下控制芯片是不是在跳周期。跳周期频率等于开关频率除以每若干周期跳掉的周期数而这个跳变节律受到环路和负载的共同影响。有时候你把电压环带宽降低一点或者把跳周期的滞回窗口调宽一点音频噪声立刻消失。4. 调试现场5个必踩的坑与排查思路4.1 次谐波振荡在示波器上的三种表现第一个坑是次谐波振荡的误判。很多人以为是环路不稳定拼命调补偿网络结果越调越糟。次谐波振荡在示波器上有几个典型特征开关节点电压或电感电流波形出现高矮交替的脉冲周期是两倍开关周期。电感电流的峰值不是平的而是一高一低交替整体波形呈“虚线”状但平均值基本稳定。输出电压纹波上出现一个低频包络频率等于开关频率的一半而纹波的峰值明显增大。你可以用一个简单的测试确认把示波器探头接到电流采样电阻两端触发模式设为脉宽触发观察连续几个周期的峰值是否一致。如果峰值交替变化几乎可以断定是斜坡补偿不足占空比大于50%的问题。这时候该做的是加斜坡补偿而不是去调电压补偿网络。我有一次调试一个同步Buck占空比53%波形就是死活有细微抖动补偿网络从II型换成III型都没用最后加了一个几百皮法的电容把斜坡补偿斜率提上去一次就好了。4.2 斜坡补偿加了还是振问题在哪加了斜坡补偿但振荡依旧这种情况我在现场遇到过好多次。排查顺序建议先确认补偿作用点是否正确。很多芯片的斜坡补偿是叠加在Isense信号上的你要确认补偿电阻的接法是否真的把斜坡叠加进去了——万用表量不出来要用示波器看Isense波形在开关周期内的斜率是否明显大于纯阻抗压降。第二个排查点是补偿量是否足够。相比理论值实际PCB上的寄生参数会让电流检测信号多出额外的延迟和阻尼所以理论计算的补偿斜率经常需要再加大20%~30%。我个人的习惯是直接给数据手册推荐最大值的1.2倍然后示波器验证波形稳定之后再逐步降下去直到刚好出现振荡的前一点作为最优补偿点。第三个排查点是采样信号是否被干扰。如果Isense布线和功率走线靠得太近每次开关管关断瞬间di/dt会在采样线上感应出振铃这个振铃如果落在比较器的翻转电压附近PWM比较器就会随机抖动表现为波形时振时不振。处理方法是重新走线或者加大Isense RC滤波时间常数但后者会牺牲电流峰值精度你需要在两者之间找平衡。4.3 电流采样尖峰导致误触发开关管开通瞬间因为反向恢复电流和寄生电容放电电流采样电阻上会有一个幅度很高的窄尖峰。这个尖峰如果超过VcompPWM比较器就会提前复位开关管被错误关断表现为实际导通时间比预期短输出能力严重不足。这个问题最典型的症状是空载时输出电压正常一带载输出电压就往下掉过流保护提前触发。你测Isense波形会发现每个周期开始有一个大尖峰蹿得很高。解决方案有几个一是Isense引脚加RC滤波时间常数调到尖峰宽度以上二是利用芯片自带的blanking time消隐时间在开通后一段时间内屏蔽比较器三是降低开通速度把驱动电阻加大一点让电流上升沿更缓。顺便提一嘴尖峰问题在GaN和SiC这类超快器件上会更严重因为开关边沿几纳秒内完成尖峰频率极高普通RC滤波有时不够。这种情况下需要用电流互感器采样因为互感器天然抑制直流分量和低频尖峰输出信号更干净。4.4 输出纹波有低频包络先别急着改环路输出纹波出现低频包络不一定是控制环路问题。我见过一个案例一个Buck变换器满载时纹波完好但50%负载时纹波出现2kHz左右的包络电感电流波形一高一低交替但频率远远低于二分之一开关频率。查了半天最后发现是负载本身在低频变化电子负载的CC模式在某个档位内部有一个低频自激电流波动和电源本身无关。另一个常见原因是散热风机的电流脉动、LED调光电路的PWM电流等负载侧噪声通过输出电容耦合到输出电压里。当你看到低频包络时先断开负载接一个纯电阻负载测试。如果问题消失优先怀疑负载侧问题还在再回头查控制环路和斜坡补偿。这个排查顺序能帮你省下大量没必要的调试时间。4.5 常见问题速查表现象可能原因排查/解决方向电感电流高矮交替频率为开关频率一半次谐波振荡斜坡补偿不足增加斜坡补偿斜率检查D50%工况带载后输出电压下跌过流点提前Isense尖峰误触发增大Isense RC滤波使用消隐时间轻载时音频啸叫跳周期频率落入音频范围调整滞回窗口降低电压环带宽减少跳变节律负载瞬态响应振铃电压环相位裕量不足用网络分析仪测环路或调整补偿零点位置输出纹波低频包络负载侧干扰或补偿参数不合理先用纯电阻负载隔离负载侧问题PWM抖动但电流波形平均正常比较器噪声或地线干扰开尔文采样线分离功率地和信号地空载正常满载电流限制异常电流采样电阻温漂或互感器饱和换温漂系数更好的电阻复查互感器磁复位调试峰值电流模式变换器很多所谓“玄学”问题最后都能追溯到上述几个环节。我个人在实际操作中的体会是遇到波形异常先别急着动补偿网络拿起示波器去测Isense引脚把采样波形看清楚80%的问题都能当场定位。电流采样和斜坡补偿是峰值电流模式的灵魂这两个点做扎实了环路的稳定性基本就有了一大半保障。最后再分享一个小技巧如果你手上没有网络分析仪用负载瞬态测试配合观察开关节点波形的占空比变化也能大致判断环路裕量。把一个固定频率的方波负载叠加到输出上观察PWM占空比是否紧跟负载变化而变化如果占空比变化明显滞后或出现超过三四个周期的振铃就说明相位裕量偏低了。这个办法虽然粗糙但在现场应急时非常实用。
返回列表