ARTICLE DETAIL

资讯详情

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

XU9232自动切换PWM/PFM,破解轻负载DC-DC待机功耗难题

XU9232自动切换PWM/PFM,破解轻负载DC-DC待机功耗难题 做低功耗设备的兄弟应该都见过这个画面万用表串在电池负极系统已经睡到“死”了心里预期待机电流1mA表上却蹦出十几mA。查MCU、查传感器、查周边拉电流的电阻全部正常最后把目光移到那颗给核心供电的DC-DC上——用示波器一看它还在勤勤恳恳地以固定频率“空转”每次开关都在白烧能量。这就是固定频率PWM模式在轻负载下的尴尬。XU9232这颗同步DC-DC电源芯片解决的就是这个问题。它支持PWM/PFM自动切换工作模式重载时保持PWM模式输出纹波小、环路响应快负载一旦变轻自动切到PFM模式用减少开关动作的方式把轻载效率拉回来。对正在做物联网传感器节点、电池供电主控板、或者被“睡眠状态下系统依然发烫”困扰的工程师来说这篇文章把它的模式切换原理、效率收益、实测方法和落地坑位一次讲透。后面写到的波形观察方法、轻载电流测量方式就算你最后不选XU9232换其它带模式切换的芯片也一样能用。1. 轻负载为什么是PWM模式的“血亏区”很多刚接触电源设计的工程师会有一个直觉负载电流小了电源自己耗电应该也小了。这话对一半。对线性稳压器类勉强成立但对固定频率PWM开关电源来说负载变小之后损耗的大头往往反而变成了“维持开关动作”本身。1.1 开关损耗不会随负载一起消失固定频率PWM模式下开关管的开关动作是停不下来的。不管输出是2A还是2mA开关频率基本恒定比如常见的1.0MHz左右。每一轮开关都要付出下面几笔固定开销开关管寄生电容充放电损耗约等于0.5×Coss×Vin²×fsw和输出电流没有任何关系栅极驱动损耗每开关一次就要给MOS管的栅极电容充放电一次控制环路、基准源、内部运放的工作电流芯片本身的静态功耗也一直在电感的磁芯损耗频率越高越明显同样跟负载电流解耦。把这四笔损耗加在一起就是轻载效率崩溃的直接原因。举个例子如果芯片在空载时这四笔固定损耗合计5mW负载是1mA/3.3V输出功率只有3.3mW。这时候效率大概就是3.3/(3.35)算下来约40%一大半能量都烧在开关动作本身上了。要是负载继续往下掉到0.1mA效率就直奔个位数去了。1.2 PFM模式的本质按需开关PFM模式脉冲频率调制思路完全反过来开关周期不固定负载越轻单位时间内的开关次数越少。相当于把“每隔固定时间必开关一次”改成“输出跌到阈值了就补一次能量没跌就继续躺平”。轻载时输出电容上存的电荷足够维持负载挺长时间控制器补能量的次数可以拖得很稀疏。开关损耗、栅极驱动损耗大致变成和负载电流成正比而不是一个固定常数。还是上面那个例子如果切到PFM后开关次数降低到原来的十分之一固定损耗摊下来只有0.5mW效率立刻回到85%以上。1.3 为什么不能“全程PFM到底”那你可能想问既然PFM轻载这么香为什么不全靠它因为PFM模式有两个硬伤第一是重载时开关频率会被“逼着”提得很高甚至接近极限控制能力不足电感电流峰值波动大第二是PFM模式下的频率不固定瞬态响应比PWM慢遇到负载突变容易电压跌落。所以业界成熟的方案永远是混合式重载用PWM轻载切PFM中间靠迟滞平滑过渡。XU9232把这套逻辑做进了芯片内部外面不需要额外的控制引脚逻辑这也是它适合量产方案的原因——不需要改动太多外围。2. XU9232的自动切换机制到底“切”的是什么标题里这句话轻负载时切换到PFM模式听起来只是一句话但内部至少要解决三个问题怎么感知轻载、怎么避免切换抖动、切换瞬间怎么保证输出稳定。做电源设计的都知道能自动做的事都不容易做完美。2.1 芯片内部用哪个信号判断“轻载”业界典型的判断方式有两种一种是根据反馈误差电压另一种是检测电感电流的谷值或过零状态。XU9232这类同步DC-DC内部一般会持续监测误差放大器的输出。负载重输出电压有下跌趋势误差放大器输出会拉高指令开关持续工作负载变轻到一定程度误差放大器输出电位下降到预设阈值模式切换电路就认为系统进入轻载状态开始降低工作频率或进入跳周期模式。另一种补充判据是电感电流状态。在同步整流架构里轻载时电感电流在开关周期的后段会趋向于过零甚至反向。芯片一旦检测到过零信号就清楚负载已经轻到“不需要每个周期都送能量”的地步于是闭合驱动信号等待能量不足时再醒来。2.2 回差设计是模式切换不发抖的核心自动切换最怕什么最怕在两个模式边界上来回横跳。负载稍微波动一点芯片一会儿PWM一会儿PFM开关频率忽高忽低输出电压跟着抖效率曲线还会出现一个“坑”。解决办法是给切换阈值加上迟滞回差。你可以把它理解成空调温度控制的回差到26℃关压缩机到28℃才重新启动中间那两度谁都不动。XU9232的内部比较器也是这个逻辑进入PFM的负载阈值和退回PWM的负载阈值之间留了一段区间。负载一旦进入PFM必须继续变重到一定程度才切回PWM避免在临界点反复横跳。2.3 从SW引脚波形一眼看出当前模式要验证芯片到底在哪个模式最直接的办法不是看功耗表而是拿示波器测SW开关节点对GND的波形。PWM模式方波等间距、频率恒定比如250kHz或更高占空比稳定PFM模式波形变成“稀疏”的脉冲串有些周期有开关有些周期完全静默静默时间随着负载变轻而拉长模式切换点附近能看到方波密度在连续变化但不会出现忽密忽疏的剧烈抖动。我在实测中喜欢把示波器的触发模式设为单次然后让系统切换负载观察SW波形从“密密麻麻”变“稀稀拉拉”的瞬间。这一步能直接把芯片是否休眠偷懒看穿比拿电流表猜半天效果直观得多。3. 省下的效率到底有多少算一笔账前面讲原理现在算数字。这里要顺手强调一个区分电源芯片的PWM/PFM和你在STM32上配置的PWM输出外设是两个层面的东西。MCU的TIM输出PWM是“设定占空比控制频率固定”电源芯片的PWM是“内部误差放大器算出来的开关动作”。很多人搜“PWM占空比计算公式”“PWM模式0模式1”时容易把两者搞混。XU9232提到的PWM/PFM说的是后者——电源变换器的工作模式。3.1 占空比公式与模式效率的关系讨论效率之前先复习一个基础占空比不直接等于效率。对于CCM下的降压电路占空比约等于Vout/Vin升压电路则约等于1-Vin/Vout。占空比决定的是输出联络的“接通比例”而效率取决于每单位输出能量背后搭了多少开关损耗。很多工程新手拿占空比去算轻载损耗思路就歪了。轻载时占空比虽然变小但开关管还是在以固定频率动作只有频率降下来才真正省了开关损耗。PFM模式等于把公式里的“fsw”这个因子变小了这才是它提升轻载效率的数学本质。3.2 一组典型实测数据下面这组数据基于XU9232同级别同步DC-DC芯片的典型实测趋势环境为常温输出3.3V。数字对具体批次和厂家会有浮动但趋势是所有带PWM/PFM自动切换芯片共有的。负载电流PWM-only模式效率自动切换后实际效率实际工作模式1mA约62%约88%PFM5mA约78%约90%PFM10mA约85%约90%PFM30mA约90%约90%切换点附近100mA约92%约92%PWM500mA约93%约93%PWM注意看30mA这一行。自动切换模式下效率在切换点附近并没有掉到“谷底”正是因为第2.2节说的迟滞回差在起作用让芯片在过渡区间仍然保持了相对稳定的效率。3.3 电池续航直接差出一个量级把数据换算成电池系统的续航会更直观。假设一颗1000mAh的锂电池输出电压3.0V设备平均负载1mA/3.3V输出。下方代码可以直接用来估算续航时间def battery_life(Vout, Iout_mA, Vin, eta, capacity_mAh): Pout_mW Vout * Iout_mA Iin_mA Pout_mW / (Vin * eta) return capacity_mAh / Iin_mA life_pwm battery_life(3.3, 1, 3.0, 0.70, 1000) life_pfm battery_life(3.3, 1, 3.0, 0.90, 1000) print(fPWM-only: {life_pwm:.1f} hours) print(fPFM auto: {life_pfm:.1f} hours) print(fimprovement: {(life_pfm / life_pwm - 1) * 100:.1f}%)跑出来的结果大概是PWM-only模式约636小时自动切换PFM约818小时续航提升约28.6%。这只是1mA的轻负载工况。对很多以“1小时工作99小时待机”为常态的IoT设备来说整个生命周期省下来的能量非常可观。甚至可以说一颗带PWM/PFM自动切换的电源芯片比换更高容量的电池还要划算——因为它没有增加体积和重量。3.4 小提示做PWM调速调光的人也要关注这层热搜里大量出现“pwm调速”“pwm控制电机”“pwm调光”这类词说明很多人在做外设控制。但请注意一点你在做电机调速或LED调光时MCU输出的是控制信号动力或光源的功率来源仍然是系统电源轨。如果电源轨本身在低负载下效率崩盘你的PWM调得再准整机功耗还是难看。所以带PWM/PFM自动切换的DC-DC和MCU的PWM外设不是竞争关系而是搭档关系一个负责高效供电一个负责精准控制。设计完整系统时建议同时考虑。4. 把XU9232落到板子上外围器件有四个细节芯片只是解决方案的一半外围器件选不对自动切换的优势发挥不出来。这一节讲实操层面最影响模式切换效果的四件事。4.1 电感选型不能只看“感值一样就行”很多开发者在BOM里选电感只看感值比如“10uH就对了”然后在小封装里随便挑一颗。但PFM模式对电感的峰值电流能力非常敏感轻载时控制策略可能允许电感电流冲到一个峰值再停止如果电感饱和电流不够峰值附近感值掉得非常快输出纹波和音频噪声都会恶化。注意三个参数饱和电流至少是最大输出电流的1.3倍以上DCR越低轻载效率越高磁芯材质避免选损耗角太大的廉价铁氧体。有的低成本电感在PFM的低频脉冲下会发出“吱吱”声就是因为磁致伸缩效应配合低频率共振换个大厂磁材一般能压住。4.2 输出电容的ESR是PFM纹波的胜负手PFM模式下开关频率降低输出纹波整体会比PWM模式偏大一些。纹波大小主要由输出电容的容值和ESR共同决定。容值给足了但ESR大充放电锯齿会周期性叠加在输出上轻载电压波动可能拉到几十毫伏级对敏感负载不友好。选MLCC时优先考虑X7R或X5R介质避免用高ESR的普通电解做输出侧大电容。如果输出侧必须并电解也建议再并一颗小容值低ESR陶瓷电容专门应对PFM的开关边沿。4.3 反馈FB网络不要离芯片太远自动切换依赖反馈电压判断负载如果FB检测到的电压被PCB上的开关噪声污染芯片可能误判负载状态提前或延迟切换。FB分压电阻尽量靠近FB引脚放置走线远离SW和LX节点最好用地线包住。分压电阻的阻值也不要选得过大——XU9232这类芯片内部FB引脚本身有漏电流阻值太大时漏电流会在分压网络上产生额外压降造成输出电压偏离设定值。常见的经验范围是上臂几十kΩ到几百kΩ具体参考datasheet里的推荐值。对低功耗设计人人都想用毫安级电流把分压网络功耗降到最低但分压网络电流一旦低于芯片FB引脚的漏电流两个数量级输出电压精度就开始变差得不偿失。4.4 注意PFM频率落入音频范围轻载PFM模式下有效开关频率可能落到十几kHz到几十kHz的低频段正好是人耳最灵敏的区间。如果电感质量一般或者板子上有机械谐振结构就会变成可听见的“高频尖叫”。XU9232这类有迟滞设计的芯片已经部分规避了这个问题但PCB布局上电感和电容之间不要靠得太近避免机械耦合。如果依然有声音检查SW节点波形实际频率再看电感是否进入饱和——很多时候“吱吱”不是芯片问题是电感峰值电流超规格了。5. 实测定会踩的三个坑位和排查链路最后一部分把我在实际项目中踩过的坑串成一条完整的排查链路。这些坑在实验室里不那么显眼一旦批量装上用户现场就麻烦。5.1 效率曲线在模式切换点附近出现“鼓包”现象测效率曲线时发现中间某一段效率反而比两侧低比如从90%降到83%再升回来像是曲线长了个包。排查链路先确认芯片确实在自动切换模式然后看SW波形确认“鼓包”区域是否正好是芯片频繁切换模式的区间。如果切换频率很快说明迟滞不够或反馈环路有噪声干扰重点查FB引脚周边走线和去耦电容。如果是外围器件问题可以在FB引脚对地加一个几十pF的小电容过滤高频噪声但注意不要加太大导致环路变慢。5.2 睡眠唤醒瞬间输出电压跌落现象系统从睡眠中唤醒外设重新上电瞬间大负载把输出拉低甚至触发复位。很多人第一反应是输出电容不够大实际上更可能是芯片之前在PFM模式下“躺平”了唤醒瞬间控制环路重新介入PWM需要几十微秒。如果负载上升斜率极快这段时间内输出确实会跌落一些。处理方式在输出侧适当增加电容或者将唤醒时序拆两步——先让主控进入中等频率模式再打开外设电源。对XU9232来说通常把输出电容从10uF提到22uF就能把跌落幅度控制在可接受范围内。5.3 万用表轻载电流读数“一眼假”现象标称待机电流1mA万用表读出来3mA换一台贵的表读出来又变成1.5mA怀疑芯片有问题。原因很可能是万用表电流挡的内阻和采样更新率在骗你。PFM模式下输入电流并不是连续波形而是稀疏的脉冲万用表的积分周期和脉冲周期混叠读数完全随机。低端表的采样电阻还会引入额外压降进一步让系统工作点漂移。正确做法是用示波器电流探头测输入端的脉冲电流波形再用积分算出平均值。如果没有电流探头可以在输入电源串一颗极低阻值采样电阻比如20mΩ用示波器测电阻两端电压波形后做数学积分再除以周期得到平均电流。这个方法在实验室里复现性很高推荐直接做成一条测试宏。注意不要用普通万用表在PFM模式下去“精确”测动态功耗。它更适合测平均功耗稳定、连续电流的工况用在脉冲电流场景会让你对自己的设计失去信任。最后分享两个我个人的实操习惯自从XU9232这种带自动切换的芯片用顺手后我每块低功耗板子都保留两个固定测试动作第一个是示波器长测SW节点波形确认待机和满载两种状态下模式切换是否符合预期第二个是保存一条积分平均电流的测试模板专治轻载功耗“读数漂”的毛病。如果你现在正被电池设备待机功耗高的问题困扰先别急着怀疑MCU代码花半天时间把电源芯片的工作模式研究明白回报往往比想象中大。XU9232的价值不仅在于多了一块“轻载省电”标签更在于把省电的逻辑自动化了让软件工程师不用在固件里刻意做低功耗调度去迁就电源系统整体方案简化很多。
返回列表