拓冰建站拓冰建站
首页 / 资讯中心 / 正文

PWM/PFM自动切换:DC-DC轻负载效率提升的硬核解析

做电源或者做嵌入式的朋友一定见过这种场景产品整机待机电流明明只有十几毫安输入端的功率却高得吓人一算效率不到四成。电池供电的东西最怕这个设备没干多少活能量全在电源路径上白白浪费掉了。我最近调一块降压电路就踩了同样的坑后来把芯片换成支持PWM/PFM自动切换工作模式的XU9232同样十几毫安的轻负载输入端功耗肉眼可见地降下来板子也不怎么发热了。这颗芯片的核心卖点就是标题里那句轻负载时自动从PWM切到PFM模式。这篇博文就把这件事掰开揉碎讲清楚PWM和PFM到底差在哪、芯片内部靠什么机制完成切换、外围电感和电容怎么选、PCB怎么布局、以及调试中常见的那些坑。适合正在做DC-DC电源设计、嵌入式供电、电池类产品的工程师也适合刚接触电源、想搞懂PFM和PWM区别的入门读者。1. 先搞清楚PWM和PFM到底在解决什么问题1.1 PWM调制固定频率、调节占空比PWMPulse Width Modulation是降压转换器最经典的调制方式。芯片内部以固定频率打开和关闭上管通过改变导通时间占空比来调节输出电压。类比一下水龙头每秒固定开关50万次每次开启的时间长短决定平均出水量。固定频率带来的好处非常明显输出电压纹波集中在一个已知频率及其谐波上EMI滤波器好设计环路补偿也好做。负载从轻到重占空比平滑变化动态响应快且稳定。但PWM有一个绕不开的短板每一次开关栅极驱动都要消耗能量开关管的寄生电容充放电也要消耗能量。这些损耗和负载电流大小基本无关只和开关频率成正比。负载电流大时这些损耗占比小无伤大雅负载电流只有几毫安时固定的开关损耗就成了压垮效率的最后一根稻草。这就是为什么纯PWM模式的芯片在轻载下效率经常跌破50%。1.2 PFM调制固定能量、调节频率PFMPulse Frequency Modulation的思路完全反过来每次开关送出固定的能量包通过改变脉冲出现的频率来调节平均输出功率。同样类比抽水马桶每次冲水量固定水位低了就冲一次水位接近目标就不冲冲水的频率由用水速度决定。轻载时PFM模式会自动拉长脉冲间隔开关频率从500kHz一路掉到几十千赫兹甚至更低。开关次数少了每次开关消耗的能量自然减少轻载效率能大幅回升。比如同样10mA负载PWM模式可能勉强到60%效率切到PFM后能回到80%以上。代价也很直观输出纹波比PWM大一些开关频率随负载漂移EMI频谱不再集中在单一频率滤波网络要按宽频带去考虑。另外PFM模式下环路特性也会变化负载瞬态响应不如PWM那么硬朗。所以好的方案不是“二选一”而是让芯片根据负载自动选模式。1.3 轻载必须切换的账算给你看我以12V输入、3.3V输出、负载10mA的典型场景来估算。负载功率大约33mW。假设PWM开关频率500kHz上管开关过程中电压电流交叠产生的开关损耗约12mW栅极驱动损耗、电感磁损、芯片静态电流等再吃掉几毫瓦总损耗可能超过20mW。算下来效率只有60%上下如果你用的模块Iq高一点效率跌到40%都不奇怪。切到PFM之后开关频率降到大约50kHz开关损耗降到原来的十分之一总损耗剩下5到8mW效率可以回到80%以上。待机一周的耗电光这一个切换就能省出一大截。对电池产品来说这是决定续航能不能多撑一个月级别的差异。2. XU9232的自动切换工作模式里面是怎么实现的2.1 自动切换如何被触发既然PWM和PFM各有优劣芯片就需要一个机制判断“现在该用哪种模式”。主流做法是检测电感电流的工作状态。同步降压转换器工作在CCM连续导通时电感电流始终大于零负载轻到一定程度电感电流会在开关周期内跌到零进入DCM断续导通。芯片内部一般有一个过零检测比较器实时盯电感电流是否降到零。如果连续几个周期都检测到DCM说明负载确实轻了控制逻辑就把调制策略从PWM切换到PFM。反过来当负载增大电感电流峰值持续超过某个阈值芯片就会从PFM平滑回到PWM。XU9232这类芯片采用的就是类似架构整个过程由模拟比较器和状态逻辑自动完成不需要外部干预。还有一类芯片通过误差放大器的输出电压来判断负载轻重EA输出拉低到一定范围说明输出电压容易维持、负载很轻于是切到PFM。这种方式实现简单但响应粒度不如过零检测精细。2.2 切换点设计与迟滞防抖自动切换最忌讳一个现象负载在临界点附近抖动芯片来回切换。假如PWM→PFM的阈值是300mAPFM→PWM的阈值也是300mA负载电流恰好在300mA上下波动模式就会反复横跳。每次切换都可能带来输出电压的小扰动严重时还会产生可闻噪声。解决办法是给切换逻辑加迟滞。例如PWM→PFM在负载降到280mA时触发而PFM→PWM要等负载升到350mA才切回。中间这70mA就是迟滞带。XU9232这类芯片内部都设计了这样的阈值窗口目的就是让模式切换“干净利落”而不是“反复试探”。你在示波器上如果看到SW节点波形在两种模式之间来回跳先不要怀疑芯片坏了看看是不是负载恰好落在迟滞窗口内。2.3 模式切换前后的实际表现从PWM切到PFM不是瞬间完成的芯片内部需要一个短暂的状态转移过程通常在几微秒到几十微秒。切换期间输出电压可能会有小幅波动但只要输出电容容量足够、反馈环路带宽合理这个波动会被限制在几十毫伏以内。PFM模式也不是一直维持很低的频率。随着负载逐渐增大PFM的脉冲频率会不断升高直到接近PWM的开关频率再平滑合并回PWM。所以整个效率曲线在切换点附近是连续的不会出现效率突然跳变的情况。实际测试时用示波器探头点住SW节点同时缓慢增大电子负载能看到波形从稀疏的burst逐渐变密最后变成均匀的固定频率方波。这个现象是我判断芯片切换逻辑是否正常最有效的手段。3. 这类芯片在实际项目里怎么用3.1 场景一MCU系统的多级供电MCU特别是低功耗MCU工作电流动态范围可以到三个数量级。STM32G070这类Cortex-M0内核的芯片跑满外设时可能吃几十毫安进入STOP模式后待机电流只有几个微安级。如果供电的DCDC不带PFM切换MCU睡眠时整个系统还在以高频PWM做无用功电池寿命肉眼可见地缩水。XU9232这类芯片用在MCU供电轨上是最典型的场景MCU睡眠时芯片自动切到PFM靠极低的静态电流维持输出电压MCU醒来瞬间需要拉大电流芯片又能快速回到PWM模式保证瞬态响应不拉胯。我实际测试过传感器节点用普通PWM-only降压芯片时整机待机电流大约是900μA换成支持PWM/PFM自动切换的芯片后同样待机状态掉到280μA电池续航的差距就是这么来的。3.2 场景二PWM调光与LED驱动说句容易混淆的话很多热词里的PWM调光指的还是MCU输出PWM信号去控制LED亮度这是控制层面的PWM。而XU9232内部的PWM/PFM是功率级的调制方式两者不是一个层面的东西。但需求和场景可以串起来。给LED灯条供电时MCU输出PWM到调光MOS管光源的电源来自一颗DCDC。灯条亮度低、PWM占空比很小时电源侧的负载电流也低这时候如果DCDC能切到PFM整个系统的待机功耗和发热都会更好。反过来如果灯条需要高频PWM调光输出电容上会叠加低频脉动电源还需要足够的环路响应能力。如果你在做一个支持PWM调光的灯具电源选型时最好确认一下DCDC在PFM模式下的输出纹波能不能扛住PWM调光带来的电流波动必要时在输出侧加一级滤波。3.3 场景三电机驱动与舵机供电PWM控电机转速和舵机角度本质也是控制信号的PWM由MCU的定时器产生。电机和舵机的供电侧则需要DCDC提供稳定的功率轨。电机的负载特性很恶劣启动瞬间电流可能是额定电流的好几倍堵转时会持续灌入大电流。用带自动切换的DCDC给这类负载供电好处是电机不转、系统待机时电源侧自动进入省电状态电机启动瞬间电源又能迅速切到PWM高频模式扛住瞬态大电流。比如做一个小型云台大部分时间舵机处于保持状态电流不大但云端转动时突然需要几安培这种动态范围恰好是PWM/PFM自动切换的强项。3.4 别把“控制PWM”和“功率级PWM/PFM”搞混写这篇博文前我特意翻了热搜词发现很多人在搜“STM32配置PWM”、“STM32G070 PWM输出程序HAL库函数”、“PB6 PWM输出初始化”之类的问题。这些内容本质是教你怎么用MCU的定时器对外输出PWM控制信号用来驱动舵机、LED调光、电机调速。而XU9232的PWM/PFM自动切换是芯片内部功率级的调制方式决定的是电能转换的效率不是对外输出的控制信号。举个最直白的例子你用STM32的PB6输出一个20kHz、50%占空比的PWM去控制舵机这和XU9232内部500kHz的功率级PWM没有任何直接关系。一颗电源芯片并不会因为你用MCU输了PWM就改变自己的模式它的PWM/PFM切换只由负载电流大小决定。新手如果在这个地方卡住建议先把信号链捋一遍MCU产生的PWM是控制信号DCDC输出的稳定电压是功率轨两者中间可能还隔着驱动器和功率管。分清信号域和功率域很多困惑会迎刃而解。4. 关键参数与外围器件选型4.1 开关频率与占空比计算选用XU9232这类芯片之前先摸清它的额定开关频率。以常见的500kHz到1MHz档位为例频率高则电感可以选小但开关损耗更大频率低则损耗小但电感体积和输出纹波会增大。做便携产品我一般倾向选600kHz到1MHz之间的值兼顾体积与效率。CCM模式下PWM占空比的计算公式很简单D Vout / (Vin × η)其中η是预估效率。以12V输入、3.3V输出、效率90%代入D ≈ 3.3 / (12 × 0.9) ≈ 0.31。也就是说上管导通时间约占开关周期的31%。这个数值决定后面电感伏秒积的估算。注意PFM模式下这个公式不直接适用。PFM的每个脉冲可能是固定导通时间也可能是固定峰值电流输出电压靠脉冲频率来稳定。所以用公式时务必搞清楚芯片当前处于哪种调制方式。4.2 电感选型感值、饱和电流、磁芯电感值按允许的电流纹波来算经验值是让纹波电流ΔIL为最大负载电流的20%到40%。公式如下L (Vin - Vout) × D / (fsw × ΔIL)举个例子Vin12VVout3.3VD0.31fsw500kHz假设最大负载2A取ΔIL0.5A。代入计算L ≈ (12 - 3.3) × 0.31 / (500000 × 0.5) ≈ 10.8μH。实际取标称值10μH或12μH都合理。电感饱和电流不能只看最大负载。PFM模式下某些芯片的峰值电流限制策略和PWM不同轻载时单脉冲峰值电流可能比稳态负载高不少。保守的做法是选饱和电流为最大输出电流的1.3到1.5倍同时留出温度降额。磁芯选型上我建议优先用屏蔽电感比如一体成型电感。PFM模式轻载时开关频率掉进音频范围裸露磁芯的电感容易产生机械振动严重时会发出可闻噪声。一体成型结构对绕组的固定更好啸叫概率明显降低。4.3 输入输出电容的讲究输入电容的主要职责是吸收开关纹波电流计算公式可以简化成CIN Iload × D × (1 - D) / (fsw × ΔVin)拿上面的参数算2A × 0.31 × 0.69 / (500kHz × 100mV) ≈ 8.6μF。考虑到陶瓷电容的直流偏压特性——电压越高有效容量越低实际可以放两颗10μF并联容量裕量才够安心。输入电容要尽量靠近芯片的VIN引脚否则回路电感会在高频下搞出振铃严重时甚至让芯片误触发过压保护。输出电容决定的是负载瞬态时的电压跌落。简化估算Cout ΔIload / (fsw × ΔVout)如果负载从100mA跳到1A允许跌100mVCout ≈ 0.9 / (500kHz × 0.1V) ≈ 18μF取22μF陶瓷电容合适。多颗并联还能降低ESR和ESL对PFM模式下偏高的纹波也有帮助。如果纹波依然超标我习惯加一颗1μF的高频陶瓷电容放在负载端效果往往立竿见影。4.4 选型对比参考我把PWM-only、PFM-only和自动切换三种控制策略放在一张表里对比方便你代入自己的项目需求选择控制策略轻载效率重载能力纹波表现动态响应适合场景PWM-only低开关损耗固定强优秀优秀重载为主、对EMI要求高的系统PFM-only高弱频率上限受限一般较弱纯轻载、微功耗系统PWM/PFM自动切换高强良好良好电池设备、宽动态负载范围XU9232属于第三类它的定位就是覆盖宽负载范围同时在两端都保持较好性能。选型时还要关注芯片的静态电流Iq。轻载时芯片自身的Iq往往占据总损耗大头选择Iq在几十微安级别的版本待机续航才真正有优势。5. 布局布线经验5.1 功率回路要短高频环路更短DCDC的PCB布局是一个高频问题不只是走线好看的问题。输入电容、上管、下管、电感、输出电容之间有一个高频电流环路这个环路的面积直接决定寄生电感和辐射噪声的大小。以XU9232这类同步降压芯片为例输入电容必须紧贴VIN和GND引脚上管导通时的脉冲电流从这个回路灌入。环路面积越大寄生电感越高SW节点的振铃越凶严重时芯片的过压保护都会被误触发。我把这个经验总结成一句话先把输入电容放在最靠近芯片的位置再谈别的。5.2 SW节点与电感摆放SW节点是开关频率最高的节点同时也是电流跳变最大的节点。铜皮太大会增加寄生电容影响效率太小则散热不足。一般建议SW节点铜皮面积比芯片焊盘略大一圈即可不要大面积铺铜。电感放在SW节点和输出电容之间方向和铜皮垂直避免和SW线平行耦合。电感底下尽量不要走敏感信号线PFM模式下这个区域的磁场变化相对剧烈容易干扰旁边的反馈走线。5.3 反馈采样和地线处理反馈分压电阻建议放在芯片FB引脚附近采样点从输出电容之后取。采样线要细要短最好走Kelvin走线直接连到输出电容正端不要在高频电流路径上取信号。高频开关噪声如果灌进FB脚输出电压就会出现莫名其妙的抖动。地线处理上功率地和控制地要单点连接。芯片的GND引脚、输入电容地、输出电容地属于功率地它们之间用短粗铜皮连接反馈分压电阻的地属于控制地单独走线后在某个低噪声点汇入功率地。这样控制信号不会被功率地上的di/dt干扰。5.4 散热与过孔XU9232这类小封装芯片散热主要靠PCB。芯片底部的散热焊盘一定要开地过孔孔径0.3mm左右数量尽量多直接打到背面地平面。过孔不仅导热还能降低地回路电感。背面铺铜面积不要抠抠搜搜散热路径通畅芯片温度能低不少PFM模式下的热循环应力也小。6. 常见问题与排查实录6.1 轻载输出电压偏高PFM模式下输出电压偏高是常见抱怨。原因多半是芯片为了维持最低开关频率每个脉冲送出的能量超过了负载消耗输出电容被“充过头”。这类芯片通常靠PFM脉冲之间的间隙来泄放多余能量如果负载太小或者反馈电阻的阻值太大导致FB引脚漏电流引入误差输出就会漂高。排查方法先测量输出在空载和1mA负载下的电压差。如果空载时明显偏高试着在输出端加一个几百欧的假负载电阻拉走多余的电荷。假负载会牺牲一点待机效率但能把输出电压拉回稳定带。6.2 切换点附近纹波突然变大负载电流刚好落在迟滞窗口内时模式切换可能持续发生输出纹波会比稳定在单一模式时大。用电子负载缓慢扫过切换区间观察纹波变化趋势确认是否只是切换过程中的短暂现象。如果纹波在切换点确实无法接受可以在输出端并联一个小容量陶瓷电容先把高频分量滤掉。电容容量不要贪大太大反而影响环路稳定性。6.3 PFM模式下出现啸叫啸叫的根源是电感或陶瓷电容在音频频率范围内发生机械振动。PFM轻载时开关频率掉到几百赫兹到几千赫兹正好落在人耳敏感区电感的线圈和磁芯在周期应力下开始“唱歌”。处理顺序先换一体成型屏蔽电感大多数情况下能解决还不行就在电感上点胶固定减少机械自由度如果仍然叫检查PFM模式的最小频率是否过低必要时调整负载让工作点偏离听觉敏感区间。6.4 用示波器确认模式切换是否正确判断芯片工作模式最直接的手段是测SW节点波形。PWM模式下SW是一串频率恒定、占空比稳定的方波PFM模式下SW是一簇簇间隙不等、可能成组出现的脉冲簇。具体操作方法示波器探头接SW节点地线用最短的接地弹簧避免探棒引入振铃。把电子负载从零缓慢加载到满载同时观察SW波形密度和频率的变化。如果波形从稀疏到密集过渡平滑说明自动切换正常工作。如果看到波形频繁地在两种形态之间横跳优先怀疑负载落在迟滞窗口而不是芯片故障。6.5 排查流程速查表现象可能原因处理办法轻载效率不达标未真正进入PFM用示波器确认SW模式检查负载是否过轻或芯片Iq偏高输出纹波大输出电容偏小或ESR高增大输出电容选低ESR陶瓷电容加1μF高频电容模式切换点抖动负载在迟滞窗口内调整负载范围或接受小幅切换过渡PFM时啸叫电感机械振动换一体成型电感点胶固定输出电压偏高PFM脉冲能量过剩加假负载检查反馈阻值是否过大SW波形振铃严重输入电容回路过长重排布局缩短输入电容到芯片的走线排查时我习惯按照“先看SW波形再测输出纹波最后查布局”的顺序进行不要一上来就怀疑芯片型号不对。绝大多数问题要么是外围参数不合适要么是布局细节没到位真正芯片问题反而少见。最后说一点我自己的体会。用带自动切换的芯片测试和认证阶段一定要把PFM模式的场景覆盖到。很多产品做EMI测试是按重载PWM模式来调的滤波器参数都针对单一开关频率优化结果轻载进入PFM时频点漂移辐射反而超标。我吃过这个亏后来学乖了样机阶段就把轻载、中载、满载三种状态的实测波形和频谱都留档做滤波器设计时按宽频带处理。XU9232这类自动切换芯片带来的续航收益非常直接但这些隐藏的工程细节同样值得你提前花心思。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门