
做开关电源这些年被问得最多的一个问题就是PWM、PFM、PSM到底有什么区别该选哪个这个问题看着基础但每次回答起来都要讲很久因为选型背后牵扯的是负载特性、效率指标、EMI预算和成本控制不是一句话能说清的。如果你正在设计反激式开关电源或者手头项目里需要选一颗DC-DC芯片又或者是刚接触LLC、移相全桥这类拓扑把PWM、PFM、PSM这三种控制模式吃透能少走很多弯路。这篇文章我会从原理层面把三者拆开讲清楚再结合反激电源、RCD吸收、MOS管驱动这些实际工程场景告诉你什么时候该用哪一种、调试时容易踩哪些坑。内容不局限于芯片手册上的定义更多是这些年实操下来的经验和教训适合电源工程师、硬件开发人员和刚入行的学生参考。1. 三种控制模式的工作原理拆解1.1 PWM定频调宽稳字当先PWM的全称是脉冲宽度调制Pulse Width Modulation它的核心特征是开关频率固定不变通过改变占空比来调节输出能量。打个比方你用固定的节拍敲鼓每一拍的时间长度不变但是每一锤敲下去的轻重可以变化最终听到的鼓声强弱不同——PWM就是这个道理频率是“拍子”占空比是“轻重”。开关电源里的PWM控制具体到实现方式又分两种电压模式和电流模式。电压模式很好理解输出电压经过分压反馈到误差放大器和三角波比较直接生成占空比电流模式则多了一个内环用电感电流或开关管峰值电流去和误差信号比较这样每个周期都能限制峰值电流动态响应更快抗输入扰动能力也更强。UC3842、UC3843这类老牌控制器走的就是峰值电流PWM路线。为什么定频PWM能成为大多数电源的基础方案因为频率固定以后输入EMI滤波器的设计就有了明确目标。你可以把截止频率设计在开关频率附近有针对性地做差模、共模滤波变压器的磁芯损耗、绕组损耗也能在固定频率下精确计算。环路补偿同样受益控制到输出的传递函数在固定频率下是稳定可预测的调环路时心里有数不用担心频率漂移带来的相位突变。PWM最明显的短板在轻载。输出功率降低时占空比变小但开关频率没有降下来每一次开关动作产生的开关损耗、驱动损耗、磁芯损耗都还在。这就导致一个问题满载时效率能做得很高负载一轻效率曲线就往下掉。1.2 PFM调频定宽轻载能效的关键PFM的全称是脉冲频率调制Pulse Frequency Modulation正好和PWM反过来脉冲宽度近似固定通过改变开关频率来调节输出功率。还是拿敲鼓类比PFM换了一种玩法——每一锤下去的力度固定但拍子的快慢可以变你用改变节奏的方式控制整体能量输出。PFM在开关电源里最常见的体现是反激变换器在轻载时降低开关频率。因为轻载需要的能量小开关频率降下来了单位时间内的开关次数变少开关损耗和驱动损耗也随之下降。这也是PFM轻载效率高的根本原因——它直接把“开关次数”这个变量给削下去了。还有一种很典型的PFM应用是LLC谐振变换器。LLC的工作频率围绕谐振频率附近变化输出需要更多能量时降低频率需要更少能量时提高频率本质上就是PFM。准谐振反激QR也是类似思路它通过检测变压器辅助绕组的电压波形让MOS管在谷底开通既降低了开通损耗又让开关频率随负载变化可归入PFM一类。PFM的代价是什么第一个是EMI问题。频率不固定意味着噪声频谱被摊开了你没有单一的高次谐波可以去滤除EMI滤波器要按最低工作频率来设计否则低频段滤不干净。第二个问题是磁性元件设计麻烦变压器要保证在最低频率下不饱和还要兼顾最高频率下的磁芯损耗和铜损工作范围拉宽以后妥协点很难找。1.3 PSM跳周期超轻载的节能方案PSM的全称是脉冲跳跃调制Pulse Skip Modulation有些芯片叫跳周期模式或者Burst Mode突发模式。它的工作方式更“简单粗暴”当输出超过设定值时控制器直接跳过若干个开关周期让输出靠电容储存的能量维持输出跌落以后再恢复开关动作。也就是说PWM是每一拍都敲PFM是改变拍的快慢PSM则是直接在某些拍子上撒手不敲。这种控制方式在超轻载和待机状态下效果非常惊人。电源空载或者待机时需要的功率可能只有额定功率的千分之几如果还用固定频率PWM光是控制IC自身的损耗和MOS管的驱动损耗就不小。PSM模式下很多开关周期被跳过控制IC可以进入低功耗状态只在需要补电时醒来工作几个周期。现代适配器和充电头几乎都内置了类似功能。OB2273这类反激控制器在轻载时会进入跳周期模式来降低待机功耗很多升降压控制器内部也会在PWM/PFM/PSM之间自动切换目的就是为了满足越来越严苛的能效规范比如待机功耗低于75mW这类硬指标。PSM的代价也很明显输出纹波变大。因为能量是按“一串脉冲”方式分批供给的输出电容上的电压波动比连续开关时要大。同时跳过周期的频率如果落在20Hz到20kHz的音频范围内磁性元件和陶瓷电容就可能发出人耳能听到的啸叫声这也是很多电源工程师一遇到噪声就头疼的原因。1.4 三种模式核心对比项目PWMPFMPSM控制对象占空比频率固定开关频率脉宽固定开关周期是否执行工作频率恒定随负载变化间歇性变化轻载效率低较高极高重载效率高视设计而定重载不适用输出纹波小中等较大动态响应快中等慢EMI特性频谱集中易滤波频谱宽滤波难低频分量多典型应用反激、正激、推挽、移相全桥LLC、准谐振反激、DC-DC轻载优化适配器待机、辅助电源空载这张表是选型时的核心参照。需要注意实际产品里这三种模式不是互斥的现在的控制芯片经常会把它们组合起来用重载跑PWM轻载切PFM超轻载再进PSM。模式切换的逻辑和切换点设置才是调电源时真正考验功夫的地方后面专门讲。2. 选型思路到底用哪种控制模式2.1 先看负载范围我曾经帮人分析过一个LED驱动电源效率不达标的问题。电路本身用的是定频PWM满载效率有88%但客户要求在10%负载下效率也要做到80%以上这显然不现实——除非把控制模式换掉。选控制模式第一步永远是看负载范围。如果你的产品是服务器电源、工业设备内部供电这类基本跑在恒定负载或者窄范围负载的场合用定频PWM完全没问题环路简单、可靠性高没必要去折腾PFM带来的频率变化问题。但如果是适配器、充电器、电池供电设备这类负载范围很宽的产品满载到空载之间跨度可能上百倍单靠PWM就会在轻载环节严重失分这时候就必须引入PFM甚至PSM。一个比较典型的判断方法是把额定输出功率从小到大画一条负载曲线看10%负载点和满载点的效率目标是多少。如果10%负载效率要求大于75%基本可以认定需要轻载优化方案如果只有空载功耗要求比如待机低于75mW那PSM基本是必须的。2.2 再看效率和EMI预算效率和EMI是一对天生的矛盾体选控制模式时绕不开。定频PWM在EMI方面有天然优势。频率固定你做滤波器时只需要针对基波和它的整数倍谐波做衰减差模电感、共模电感的参数可以算得很准测试整改也比较有针对性。实测过很多反激电源开关频率定在65kHz时传导EMI测试的余量通常比变频方案更好控制。PFM就不一样了。频率从几十kHz漂到几百kHz每一段频率的谐波分量都在变化滤波器必须在整个工作频段内都足够有效。这种情况下滤波器的截止频率要按最低开关频率来设计意味着电感值要更大成本也更高。有些控制器为了缓解这个问题会在PFM基础上引入频率抖动Frequency Jitter把窄带的EMI能量弥散到更宽的频段从而压低某个单点上的干扰强度。所以选型时要做个权衡如果产品对EMI要求严格而且不愿意在滤波器上花太多钱定频PWM是更稳妥的选择如果产品主打轻载效率和待机功耗那频谱宽一些的代价是必须接受的。2.3 模式切换是主流前面反复提到现在的高性能电源IC大多是混合控制内部会划分几个负载区间重载跑PWM、轻载跑PFM、超轻载进PSM。这种三段式设计的好处是每段都工作在最高效区坏处是切换瞬间容易出幺蛾子。切换点的设置非常关键。如果从PWM切到PFM的阈值设置得太低轻载时电源还在用PWM硬扛效率优化效果出不来切太早在中等负载段就进入变频模式EMI测试可能会出问题。切换点还需要有迟滞比如PWM切PFM设在20%负载PFM切回PWM要设在25%负载这样能避免在临界点附近来回振荡。动态响应测试也经常暴露出切换点设置的问题。负载阶跃测试时如果负载从轻载瞬间跳到满载电源必须立刻从PFM或PSM切回PWM。如果环路响应不够快输出电压就会出现较大的跌落或过冲。关于这个我后面在调试实录里详细说。3. 从电路实现来看几种典型方案与调试要点3.1 UC3843反激的PWM环路怎么搭反激式开关电源是PWM控制最典型的应用场景之一新手学习时最常接触的就是UC3843方案。这颗芯片是峰值电流PWM控制器内部有振荡器、误差放大器、电流采样比较器和RS触发器。UC3843的开关频率由RT和CT决定公式近似为f 1.72 / (RT × CT)其中RT单位取kΩCT单位取μF算出来的频率单位是kHz。我调试时习惯先定RT再调CT比如想要100kHz的工作频率取RT10kΩ那CT就等于1.72/(100×10)0.00172μF取标称值1.8nF实际频率会略有偏差再微调CT让频率落到设计值。电流采样是峰值电流控制的关键。MOS管源极串联采样电阻把开关电流转换成电压送入CS引脚和误差放大器的输出比较。这里有一个常见的坑占空比超过50%以后峰值电流模式容易出现次谐波振荡。UC3843内部把最大占空比限制在50%左右就是为了规避这个问题。如果你用UC3842这种最大占空比接近100%的芯片就一定要在电流采样信号上加斜坡补偿否则轻载时很容易出现大小波交替。斜坡补偿的斜率一般取电感电流下降斜率的一半到相等实际操作是注入一路和振荡器同步的斜坡信号到CS引脚。反馈环路方面反激电源通常用光耦加TL431把输出电压反馈到芯片的COMP脚。光耦的电流传输比CTR在不同批次之间离散性很大选型时不要卡得太紧环路补偿网络放在TL431和光耦之间具体参数用频率响应分析仪扫一下把穿越频率控制在开关频率的十分之一左右。再提一个热搜词PWM直驱MOS管发热。我有段时间用STM32输出的PWM去驱动反激电源的MOS管发热非常严重。原因是单片机GPIO输出能力有限直接驱动MOS管时栅极充电速度太慢导致开关管长时间停留在线性区开关损耗飙升。后来在GPIO和MOS管栅极之间加了一级图腾柱驱动再串一个10Ω的栅极电阻发热问题才解决。栅极电阻不能完全取消它用来抑制栅极振铃但也不能太大不然开关速度又被拖慢了。3.2 反激RCD吸收与尖峰毛刺反激电源的MOS管关断瞬间漏感储存的能量会释放出来在漏极上形成很高的尖峰电压。如果不做处理这个尖峰很容易击穿MOS管。RCD吸收电路就是专门对付这个尖峰的。RCD的典型接法快恢复二极管串联在变压器原边绕组和母线正极之间电阻和电容并联在二极管两端。MOS管关断时漏感能量通过二极管给电容充电电容电压抬升到一定值后多余的能量通过电阻消耗掉从而把漏极尖峰钳位在安全范围内。RCD参数怎么选先用示波器抓原始尖峰幅度确定需要的钳位电压。电容取值通常在1nF到10nF之间先取小值看尖峰有没有压住电阻从50kΩ往下降边降边观察钳位电压和损耗。判断标准是满载工况下钳位电压比反射电压高出30%到50%比较合适。电阻太小吸收电路自身损耗太大整机效率会被拖下来电阻太大钳位效果不够尖峰压不住。热搜词里还有一个“如何减少开关电源MOS打开时候的尖峰毛刺”这个一般不是漏感的问题而是MOS管开通瞬间管子结电容放电以及二极管反向恢复造成的电流尖峰。常用的手段包括在MOS管漏极和源极之间加RC缓冲电路电容取几百pF到几nF电阻取几欧到几十欧或者优化次级整流二极管的反向恢复特性换用快恢复二极管或肖特基二极管。PCB布局也很关键高压环路的面积要尽量小走线越短寄生电感就越小尖峰自然而然就低了。3.3 布局对模式性能的影响这个话题不管你是做PWM还是PFM/PSM都躲不开。反激式开关电源的PCB布局如果做不好再好的控制模式也白搭。核心原则是功率环路要小地线要走单点信号地要和功率地分开。具体到热词里反复出现的“反激开关电源PCB”我的经验是先把功率回路理清楚输入电容正极到变压器原边变压器原边到MOS管漏极MOS管源极到电流采样电阻再回到输入电容负极。这四个点形成的环路必须尽量紧凑否则这个回路上的寄生电感就会和MOS管结电容形成振铃导致很高的电压尖峰也容易引入高频噪声。RCD吸收回路也要贴着变压器原边绕组放二极管到变压器绕组的引线越短越好。控制芯片的接地脚要和功率地严格分开最后在输入电容负极单点汇合。UC3843这类芯片的CS引脚走线尤其要注意电流采样信号经过采样电阻后会有很陡的脉冲边沿如果走线太长或者和功率走线靠太近开关噪声很容易耦合进去引起误触发。3.4 现代芯片的三模切换与单片机PWM聊完反馈和布局再回到控制模式本身。现在市面上常见的反激控制器比如昂宝的OB系列、PI的系列芯片内部已经集成了完整的PWM/PFM/PSM三段式切换逻辑。芯片根据反馈引脚的电流或COMP电压判断负载水平自动切换工作模式不需要外部电路参与。这类芯片的设计重点是外围的变压器匝比和反馈环路参数模式切换点通常由芯片厂家设定好你在选型时关注芯片的轻载功耗指标和跳周期频率就好。如果你做的是数字电源用STM32这类MCU自己产生PWM那就完全是另一套玩法。STM32的定时器可以输出中心对齐PWM配合DMA实现高频PWM波形更新甚至能做多路互补带死区的PWM这些在移相全桥和半桥LLC里都是刚需。但要记住MCU输出的PWM信号一般是3.3V或5V电平驱动能力很弱驱动MOS管必须经过专门的栅极驱动芯片或图腾柱电路否则就是我在3.1节里说的发热问题。ST官网和社区里热议的“PWM加DMA”方案主要是用来实现高分辨率、多通道的PWM输出。DMA可以在不占用CPU的情况下连续更新比较寄存器很适合做动态负载模拟或者电机控制。但对开关电源来说控制环路带宽通常在几kHz到几十kHz用MCU数字环路完全够用难点在于ADC采样和PWM更新之间的同步延迟处理不好会让环路相位裕度变差。4. 实测调试实录与常见问题排查4.1 模式切换导致输出电压跳动有一回调一个反激适配器满载电性能全部合格但一进入轻载动态测试就出问题输出电压会出现周期性的波动大概几十毫伏的起伏用示波器看还能看到开关脉冲成串出现、然后停歇、再过一段时间又出现的现象。当时第一时间想到的就是模式切换阈值的问题。负载正好落在PWM和PFM切换点附近芯片在两种模式之间来回切换每个模式的输出电压调整率不同最终在宏观上表现为电压周期性波动。解决办法是把负载移开到切换点附近测试确认是切换抖动而不是环路不稳定然后在反馈网络中加一点迟滞或者调整光耦反馈电阻让模式切换点落在某个明确的负载点上。这类问题在只标称“支持多种工作模式”的芯片上尤其常见。所以调试时一定要用示波器观察开关节点电压波形看模式切换到底发生在什么负载条件下不要只盯着输出电压看。4.2 轻载纹波测出来特别大纹波测试是个容易出冤枉结果的项目。很多人用示波器配一个普通探头探头地线用长鳄鱼夹测出来的“纹波”全是探头拾取的噪声数值大得吓人。正确的做法是把探头地线换成接地弹簧尽量缩短地回路长度开启示波器的20MHz带宽限制如果条件允许用同轴电缆配合BNC转接头直接测量输出电容两端。排除测量问题以后如果纹波还是偏大就要考虑是不是PSM模式本身的固有纹波。PSM模式下能量按脉冲串供给输出电容电压当然会有起伏这是工作原理决定的只能通过增大输出电容、提高PSM切换阈值等手段来压纹波没办法从根本上消除。实测下来输出电容从100μF加到220μFPSM纹波能下降30%左右代价是多占板面积。4.3 电源发出滋滋声电源啸叫是我最常被问到的问题之一。排除零件松动这种物理原因电学上的啸叫根源基本都是电流或电压的波动频率落在了人耳可听范围内驱动了磁性元件或陶瓷电容发出机械振动。反激电源在PSM模式下跳周期的重复频率通常在几kHz到十几kHz正好落在人耳最敏感的频段变压器磁芯就有可能发出可听见的响声。对策有几种把PSM的跳周期基频移出20Hz到20kHz范围但这个空间很有限给变压器浸漆加强磁芯和绕组的固定减小机械振动或者在磁芯侧面点胶阻尼振动传递。顺便说一句陶瓷电容啸叫在轻载纹波大的情况下也很常见。陶瓷电容的压电效应会在电压波动时产生微小的形变多个电容并联时形变叠加就会发出声音。这种情况下换用聚合物电容或在电容周围留出装配间隙通常能缓解。4.4 常见问题速查表现象可能原因排查与解决轻载效率低芯片未进入PFM/PSM检查模式切换引脚配置确认反馈电流阈值待机功耗超标PSM模式被禁用了检查芯片模式设置引脚确认跳周期功能开启轻载纹波过大PSM固有的输出电压波动增加输出电容调整切换阈值模式切换时电压跳动切换点附近反复切换提供迟滞调整反馈网络参数PFM模式下EMI超标频率范围宽滤波器设计不足按最低频率设计滤波器启用频率抖动变压器啸叫跳周期频率落在音频范围变压器浸漆调整PSM频率磁芯点胶MOSFET发热严重驱动能力不足或栅极电阻过大检查栅极驱动电路减小栅极电阻并抑制振铃输出电压跌落动态响应不足/模式切换滞后加大输出电容提高环路带宽电流采样大小波占空比大于50%缺少斜坡补偿增加斜坡补偿电路斜率取下降电流斜率的0.5~1倍传导EMI尖峰超标开关节点振铃严重优化RCD吸收在开关节点加RC缓冲缩小功率环路以上这些是我在实际项目里反复遇到过的问题。每次调试模式切换相关的故障我都会先问自己三个问题现在到底工作在哪个模式切换点是否合理切换动作是否稳定把这三个问题搞清楚大部分疑难杂症都能找到方向。最后再分享一个实操中很实用的技巧判断电源当前工作在什么模式不需要看芯片寄存器直接用示波器探头勾在MOS管漏极或开关节点上就行。PWM模式下开关脉冲等间隔排列频率固定PFM模式下脉冲间隔在变化但每个脉冲都存在PSM模式下你会看到一串脉冲之后跟着一段完全没有开关动作的空白。养成观察开关波形的习惯比反复看芯片手册直观得多。