
在电源调试里SW引脚波形大概是最常被示波器盯着的信号之一。我见过不少同事抱着一块打样回来的板子首先就把探头戳到SW引脚上——这不是没有道理的。BUCK电路内部那些开关动作、电流连续与否、死区设置、甚至驱动芯片是否正常几乎都能在这一个节点上露出马脚。这篇文章就是专门讲怎么从SW引脚波形判断电路工作在CCM还是DCM以及如何从波形细节反向定位电路问题。适合刚接触DC-DC电源的硬件工程师、嵌入式开发也适合那些画完板子但不太确定怎么调板子的朋友。标题里提到的CCM和DCM是两种完全不同的电感电流工作状态SW引脚波形的差异非常直观。搞懂这两个模式的波形特征再配合示波器、电流探头和一点点寄生参数的计算思路你基本上就能靠一根探头把BUCK电路看透大半。下面我把思路一步步拆开讲先补背景再谈原理最后落到实操和排障。1. BUCK电路与SW引脚先搞清楚你在看什么1.1 从拓扑说起同步BUCK与非同步BUCK的SW节点差异BUCK电路拓扑这些年已经演化出好几种形式但万变不离其宗。最基本的非同步BUCK由高边开关管、续流二极管、电感和输出电容组成同步BUCK则把续流二极管换成了低边MOSFET。这个区别直接体现在SW引脚波形上——非同步BUCK在低边续流阶段SW会被二极管钳位在负压附近大约-0.7V而同步BUCK在低边管完全导通后SW会被拉到很接近0V的电平压降只有I×Rds(on)通常也就几十毫伏。SW节点本质上是高边管源极、低边管漏极或二极管阴极、电感一端的公共连接点。整个电路的工作逻辑就是高边导通时电感储能SW被拉到输入电压VIN高边关断后电感续流电流通过低边管或二极管继续流向负载SW要么接近0V要么是负压。这个节点上的电压变化实际上是开关动作最直接的电压见证。有朋友可能会问为什么不用万用表量输出电压来判断工作状态因为输出电压被电感电容滤波环平滑了它反映的是系统最终调节结果而SW引脚反映的是开关过程和电流状态变化。就好比看一个人跑步后的状态量心率比看鞋底磨损更直接。SW引脚是BUCK电路内部最“暴躁”的节点电压在VIN和0V附近高速切换携带了最多的动态信息。1.2 为什么SW引脚是分析电路的“第一诊断点”我刚调试电源的第一年师傅教我的第一个习惯就是上电先看SW波形。因为几乎所有关键问题都会在SW引脚上留下痕迹占空比是否正确、开关频率有无偏移、是否有振铃、死区时间合适不合适、电感电流是连续还是断续甚至电感有没有饱和都能从SW波形的形态和电平上读出来。举个例子当你调PI环PID闭环控制时环路不稳定会导致占空比抖动SW引脚波形的脉宽会忽宽忽窄这是从输出纹波上不好直接观察的。再比如同步BUCK如果死区设置太短高低边管直通电流会瞬间飙高SW波形翻转边沿会出现异常的台阶或毛刺。这些问题如果只看Vout可能只是纹波大了一点很难判断根因在哪儿。这也是为什么很多电源芯片的数据手册里都把SW引脚的波形作为重要参考图放在应用说明里。SW引脚就是一个设备的“心电图”你想知道电路健不健康看它就够了。1.3 SW引脚上那些“看不见”的寄生参数在看SW波形之前脑子里必须记着一件事你看到的波形不是理想方波而是真实电路寄生参数的物理投影。SW节点至少挂这三个寄生量高边管和低边管的输出电容Coss、PCB走线和封装带来的寄生电感、以及探头本身带来的输入电容和地线电感。这些寄生量在高频开关动作时非常活跃。高边管导通瞬间SW节点电压快速上升寄生电容需要充放电驱动电路要给这些电容提供瞬态电流关断瞬间电感电流又会强制灌入这些寄生电容产生振铃。所以SW波形上看到的过冲、下降沿过冲、振铃很大程度是寄生参数和开关速度相互作用的结果。理解了这一点后面看DCM振铃、看开关沿斜率就不会觉得莫名其妙了。测量时也必须控制探头地线引入的额外电感否则你看到的振铃可能有一半是探头自己贡献的。这个坑我在第4节专门讲。2. CCM模式下的SW引脚波形正经的方波长什么样2.1 CCM判据电感电流是否连续CCM全称是Continuous Conduction Mode连续导通模式指在一个开关周期内电感电流始终大于零不会断流。DCM则是Discontinuous Conduction Mode断续导通模式电感电流在每个周期内会有一段完全为零的时间。判断一个BUCK电路处于哪种模式不能只看负载轻重要综合看电感量、开关频率、占空比和输出电流。临界条件可以写成Iout_crit (Vin - Vout) × D / (2 × fsw × L)其中D是占空比fsw是开关频率L是电感量。输出电流大于这个临界值电路工作在CCM小于这个临界值工作在DCM。临界值越小越容易维持CCM。所以想在小负载下也保持CCM通常要加大电感或者提高开关频率。反过来轻载下芯片进入DCM就是为了降低开关损耗和电感损耗。我经常用这个公式反推如果一个DCM波形看起来不对我会先算临界电流再对照实际负载确认当前是不是理应DCM。这样能避免把正常DCM误判为电路异常。2.2 高边导通与低边导通SW电压的两个稳定电平CCM模式下SW引脚波形可以简单看作一个方波两个稳定电平分别是高电平VIN和低电平GND附近。高边管导通时SW等于VIN这个阶段电感电流在VIN-Vout的电压差作用下线性上升高边管关断后电感电流不能突变会通过低边路径续流SW被拉到很低电位。同步BUCK的低边管导通后SW电压接近0V但并不是绝对0V而是I_L × Rds(on)。当电感电流是2A、低边管导通电阻是50毫欧时SW低电平大约是0.1V这个值用示波器能看出来但很多人会忽略它。这个压降直接影响轻载效率也是低边管选型的重要依据。非同步BUCK则完全不同低边续流靠二极管SW电平会被钳位在-0.7V左右。所以如果你看一个非同步BUCK的SW波形低电平是一个明显的负电压平台不要觉得电路有问题这只是二极管压降。有些芯片内部会用这个负压检测续流结束时刻从而判断进入DCM的时机。2.3 死区时间、体二极管压降与开关沿的细节解读同步BUCK的SW波形上有一个很多人会忽略的细节——死区平台。死区是指高边管和低边管都不导通的短暂间隔目的是防止两个管子同时导通造成贯穿电流。死区期间电感电流不能断只能通过MOSFET体二极管或外置肖特基续流所以SW引脚电压会被二极管钳位在负向0.7V左右。这个平台在示波器上有时候只有几十纳秒但非常关键。死区太长二极管导通时间久损耗大波形负压平台很明显死区太短两个管子可能重叠导通波形边沿出现奇怪的抖动甚至电流尖峰。我记得有一次调一块板子效率总是比规格书低两个百分点后来看SW波形发现死区时间设成了150ns明显偏长把死区压到60ns后效率立刻回升。观察这个负压平台时如果示波器带宽不够或者把通道设置为高阻无源探头且带宽限制打开了这个小平台很容易被滤掉测出来的波形好像死区很短一样。所以测死区时间的时候我建议把带宽限制关掉用尽量高的采样率时间轴放大到每格几十纳秒。2.4 CCM波形“异常”的三个典型信号CCM波形如果出现异常通常集中在三个地方占空比、开关沿、高/低电平值。占空比和理论值D Vout / Vin偏差过大首先怀疑是不是输入电压测量不准、芯片工作在掉电欠压状态、或者反馈环路有问题。开关沿如果上降过缓说明栅极驱动能力不足或者驱动串联电阻太大如果边沿过冲严重并有高频振铃说明寄生参数和驱动速度没有匹配好。还有一种是高电平电压比VIN低很多。别急着怀疑管子坏了很多时候是输入端已经出现压降——比如输入源限流了或者输入走线太细开关瞬间电流导致电压被拉低。这种情况在SW高电平上看VIN会看到顶部不仅偏低而且有明显的弓形塌陷。我踩过这个坑当时还以为是高边管子焊坏了后来用第二个探头同时看输入电压才发现输入源在限流。3. DCM模式下的SW引脚波形从振铃读出电路参数3.1 为什么DCM会在SW引脚上出现衰减振荡DCM模式下SW波形就不再是单纯的方波了。关键区别在于电感电流有一段时间降到了零。当低边管或二极管导通续流结束时电感里的能量已经放完电感电流为零此时高边管也没导通整个SW节点相当于悬浮状态但SW节点上还挂着寄生电容于是寄生电容和电感就组成一个串联谐振回路SW电压开始围绕Vout做衰减振荡。这里必须要说清楚一个很多人搞错的点DCM的空闲段SW电压不是停在0V而是先振荡、最终稳定在Vout附近。因为电感电流为零后没有电流流过电感SW节点直流电位自然和输出端一致。所以你在示波器上看到的DCM波形是高电平VIN的脉冲段然后是一段接近GND或-0.7V的续流段再接着一个以Vout为中心、幅度逐渐衰减的正弦振铃段直到下一次高边导通把它打断。这个振铃频率一般从几MHz到几十MHz不等具体取决于电感和SW节点寄生电容。很多人第一次看到DCM振铃会以为是噪声干扰其实这是电路本性不是故障。搞清楚这一点后面才有办法利用振铃做定量分析。3.2 用振铃频率反推寄生参数公式与计算演示DCM的振铃频率很好算就是LC谐振频率f_ring 1 / (2π × sqrt(L × Csw))其中L是电感量Csw是SW节点对地的总寄生电容包含高边管输出电容、低边管输出电容、PCB分布电容。大多数情况下L是已知的Csw可以通过测振铃频率反推出来。我拿一个实际调试例子演示。手上有一块5V输出、开关频率1MHz的同步BUCK板电感是4.7uH。轻载下SW振铃频率我测到大约12MHz。把L4.7uH代入公式反推Csw 1 / (4π² × L × f_ring²) 1 / (4 × 9.8696 × 4.7e-6 × (12e6)²) 1 / (1.116e7 × 1.44e14) 得出来的数量级大概是37pF左右。这个数值在BUCK电路里很典型。如果你算出来的Csw明显偏大比如几百皮法那就要怀疑是不是PCB SW走线过长、相邻地层平面过近或者是MOS管Coss选得太大这会影响开关速度和开关损耗。反过来如果振铃频率特别高说明寄生电容很小但也意味着开关沿过冲可能更尖锐EMI风险更大。通过振铃波形还能估算回路的损耗阻尼程度。振铃衰减慢说明回路Q值高、损耗小这种情况下振铃电压振荡的次数多如果衰减快可能是电感的DCR大或者内部有额外的阻尼电阻。这些信息对排查EMI问题很有用。3.3 CCM/DCM怎么选不同负载下的工作模式与波形特征对比这里把两种模式放在一起对比方便你在示波器上快速识别特征CCMDCM电感电流始终大于零不会断流每周期有一段为零SW波形形态近似纯净方波方波末端跟一段衰减振铃SW空闲段电平没有真正空闲段振荡并最终停在Vout低边导通压降同步管为低电平压降非同步管为-0.7V续流段结束后立刻进入振铃占空比主要由Vin/Vout决定除了Vin/Vout还要受负载影响常见场景重载、满载、大电流轻载、待机、小电流实际调试中常说“轻载用DCM、重载用CCM”但更准确的描述是两者都是同一拓扑在不同负载下的自然表现。同一块板子在负载变化时工作模式也会切换。看SW波形就能肉眼观察模式切换——重载时波形还是干净的方波把电子负载电流调小某个点开始振铃突然出现这就是进入了DCM。有些芯片支持强制CCM模式也叫FCCM也就是轻载时主动反向导通低边管让电感电流保持连续甚至允许反向流动。这种情况下SW波形始终是方波猜测一下就知道这通常是为了在轻载下维持恒定频率方便做低噪声设计但代价是轻载效率会下降。看到这种波形别误认为芯片没有进入DCM是坏的很可能就是工作在强制CCM状态。4. SW引脚波形的测量实操别让探头毁掉你的判断4.1 示波器设置带宽、采样率、触发方式测量SW引脚波形示波器设置是第一步设置不对后面全是白搭。我一般建议示波器带宽至少100MHz如果开关管驱动很快需要看几十纳秒级别的死区时间或者振铃最好用200MHz以上带宽。带宽限制那个按钮平时可以关掉特别是看开关沿和振铃时绝不能开着否则那些高频细节会被滤干净你看到的波形“太干净”反而失真。采样率方面至少是开关频率的几百倍普通示波器在这种场景下采样率自动就是2.5GS/s或5GS/s问题不大。关键是时间轴缩放观察整个PWM周期用10μs/格或20μs/格观察死区或振铃细节就要缩到50ns/格甚至10ns/格。触发方式我常用上升沿或下降沿触发通道耦合选直流。如果波形整体有上下漂移可以打开带宽限制稳定一下但只能作为辅助观察定量分析时要关掉。如果示波器有余晖模式persistence建议打开能看到开关点抖动范围和波形的包络分布对判断环路稳定性帮助很大。4.2 探头地线处理弹簧地线和接地回路问题这是新手最容易翻车的地方。很多示波器标配那个长长的鳄鱼夹地线地环路电感能有十几纳亨甚至几十纳亨测量SW这种高速开关节点时地线电感和探头输入电容会形成谐振在波形上叠加一个十几MHz到几十MHz的振铃容易让你误判电路本身有振铃。解决办法很简单买那种短弹簧地线直接拧在探头尖端旁边把接地回路缩小到几毫米。这个改变带来的效果非常明显我第一次用弹簧地线测同一块板子振铃幅度直接降了一个数量级。如果你手上没有弹簧地线临时应急可以用细铜丝绕在探头地环上尽量缩短长度千万别拖着大鳄鱼夹量高速节点。还有一个接地问题容易被忽视示波器探头地线是接到系统GND的如果板子上有大电流路径经过测量点附近接地线就成了电流回路的旁路会在波形上叠加共模噪声。这种情况下建议用差分探头测SW与GND之间的电压但大多数场景下弹簧地线就够了。4.3 从波形提取关键参数占空比、频率、死区时间测量占空比时我会先把两个光标分别放在高电平段和低电平段的中点注意别把开关沿算进去因为沿的时间有限会引入误差。读取占空比之后和理论值Vout/Vin对比偏差超过几个百分点就要留意了。当然这个偏差还和死区时间、开关管压降有关最好用公式D Vout / (Vin × η)校正η是估计的效率。死区时间的测量是同步BUCK的核心操作。把时间轴放大观察SW从高电平落入低电平的过程。理想情况下SW先落到约-0.7V的体二极管平台维持一段时间后低边管才导通把SW拉到接近0V。这个负平台的长度就是死区时间。反过来SW从低到高时也会有类似的上冲平台但因为有体二极管钳位到VIN0.7V现象更隐蔽一点。测量死区时间需要配合高带宽探头和较少的平均否则负平台被平滑掉就看不清了。如果示波器支持波形运算可以把多个周期平移对齐后叠加更容易读数。5. 典型异常波形排查实录这些坑我基本都踩过5.1 SW引脚振铃过大先排查探头再决定加不加RC吸收遇到SW引脚振铃特别大我第一步不是急着改电路而是先换探头地线确认这是不是真实信号。之前说过示波器地线带来的假振铃很常见这是成本最低的排查方法。确认是真实振铃之后再判断振铃频率和幅度。如果振铃频率高比如几十MHz且幅度不大一般可以忍受重点优化驱动电阻或栅极电阻来降低开关速度代价是开关损耗略微上升。如果振铃幅度大、频率又在开关频率的整数倍附近EMI大概率过不了这时候通常加RC吸收电路snubber抑制振铃。RC吸收参数选取我习惯先用经验法电阻取几欧到几十欧电容取几百皮法到1nF先焊上去看振铃是否变小。同时要注意RC吸收电容值太大会增加开关损耗因为高频能量都被它吃掉一部分需要反复调平衡。我调试过一个案例SW振铃峰值从8V压到3V效率只降了0.5%这个程度的代价通常可以接受。5.2 占空比与理论值不符延迟、压降和测量误差逐个排查CCM模式下测量占空比和Vout/Vin算出的值对不上先别急着怀疑电路。有三个因素常见且容易忽略第一个是开关管的压降高边管导通压降I×Rds(on)和高边体二极管在死区期间的压降都算进高位导通时间的话等效占空比会略大于理想值第二个是死区时间的影响死区期间电感续流会占用一部分周期实际高边导通时间缩短第三个是测量窗口如果示波器触发了高边开通但判定阈值没有放在波形中点测量的占空比也不准。如果排除这些因素后依然对不上那才需要看环路。比如芯片工作在限流状态占空比会被限制无法继续增大或者输入电压过低触发欠压保护又或者反馈环路不稳定导致占空比周期性抖动。判断环路问题时我会把时间轴拉长到几百微秒用余晖模式看占空比是否在调整如果波形显示出周期性喘振那多半是环路带宽和相位裕量有问题。5.3 波形出现“塌陷”或平台模糊电感饱和与驱动不足要分清SW波形还有一种比较隐蔽的异常高电平顶部逐渐下降像“塌陷”一样向VIN以下弯。这种情况大概率是电感饱和了。当电感饱和时电感量急剧下降电流近乎直通SW上看到的电压就会跟着输入源一起被拉垮。我之前调试一个输出3.3V的模块满载把电流加大到3A之后SW波形顶部突然掉到输入电压以下1.2V摸电感发烫换了大电流饱和能力的电感后波形恢复正常。平台模糊还有一种常见原因是驱动不足也就是高边管没有完全导通SW高电平虽然接近VIN但波形上有明显的毛刺或者圆角过渡。检查驱动电路的供电电压是否偏低高边管的栅极驱动电阻是否偏大必要时把驱动电阻减小。如果芯片时采用自举电容驱动高边管还要检查自举电容容值是否足够太小会导致高边驱动电压跌落SW波形同样会出现平台异常。5.4 常见SW波形异常速查表异常现象可能原因排查方向SW高电平明显低于VIN输入源限流、高边管压降大、自举电压不足同时测输入电压检查高边驱动SW负压平台时间过长死区时间设置偏长缩短死区看效率变化SW振铃幅度大且频率高寄生参数谐振或探头地线问题换弹簧地线加RC吸收SW边沿过缓驱动电阻太大驱动能力不足减小栅极电阻检查驱动电压SW相邻周期波形抖动环路不稳定或输入电源扰动拉长时基观察占空比变化DCM振铃衰减过慢回路Q值高阻尼不足检查电感DCR和低边管反向特性SW波形间歇性“丢失”脉冲芯片进入PFM或保护状态查负载电流和保护阈值高电平顶部塌陷明显电感饱和或自举电容过小换饱和电流更大的电感5.5 从SW波形估算损耗和效率的进阶经验最后再分享一个进阶用法利用SW波形和电感电流波形估算损耗分布。高边导通时SW与电感电流乘积就是高边管的瞬时导通损耗低边导通时同理。死区时间内SW负压和电感电流乘积对应体二极管导通损耗。虽然这种估算精度不如功率分析仪但用来定性判断哪个管子损耗最大、死区是否优化到位足够了。我有一次调一个2MHz的同步BUCK客户反馈轻载效率偏低。用SW波形和电流探头观察发现低边管导通时间较长且SW负压平台明显说明死区时间设置得偏保守。把死区时间从120ns减小到70ns后轻载效率提升了1.8个百分点。这种优化如果不看SW波形单靠效率曲线很难定位到具体是哪个环节拖了后腿。6. 最后再分享一个小习惯我个人在实际操作中的体会是看SW波形一定要养成“先定性、再定量、最后下结论”的顺序。先看宏观形态是方波还是带振铃是CCM还是DCM占空比是否正常再去定量测死区时间、振铃频率、开关沿斜率。最后结合电路参数反推是不是有寄生问题。如果一上来就抠细节很容易被一两个毛刺带偏方向。另外一个小技巧修板子时习惯性地把SW波形和电感电流波形同时抓下来一个电压一个电流对应着看特别直观。没有电流探头时可以用一个低值采样电阻串在电感下游但注意这会影响效率一般调试用没问题。掌握了这套方法之后你会发现BUCK电路调试变得越来越有方向感不再是瞎试参数而是波形说什么你就听什么。