ARTICLE DETAIL

资讯详情

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

硬件振铃从根源到抑制:开关节点、栅极驱动与数字链路实战

硬件振铃从根源到抑制:开关节点、栅极驱动与数字链路实战 第一次在示波器上抓到那条长头发的开关波形时我是愣住的——本该干净的方波边沿上挂着一串越来越小的起伏像水面上被丢进石子的涟漪。这就是硬件开发里绕不开的振铃ringing。它不是什么玄学本质就是寄生电感和寄生电容在快速边沿的激励下搭起了一个LC谐振腔能量在里面来回倒倒一次就在波形上留一个峰。轻则让眼图闭合、EMI超标重则让功率管承受超出额定值的过冲把器件推到雪崩边缘。做过电源、做过高速数字、做过电机驱动的人几乎都在这上面栽过跟头。这次想聊的东西比较全从振铃的物理来源讲起到开关节点振铃、栅极驱动振铃、数字链路反射型振铃这三条最常见的战线再到串联阻尼电阻怎么选、RC snubber的参数怎么算、控制环路振铃和相位裕度是什么关系、探头怎么接才能看到真实的波形最后给一份排查速查表和我在项目里真金白银换来的踩坑记录。不管你是刚画第一块DC-DC板的入门选手还是已经在调DDR或者SiC驱动的老手下面这些内容应该都能对得上号。1. 振铃到底是什么把抖动和谐振分清楚1.1 从示波器上那条波形说起先把现象描述清楚。你在开关电源的SW节点上测波形理想情况下它应该是从0跳到Vbus或者从Vbus掉到0边沿干净利落。但实际测出来的往往是这样上升沿冲到一个比Vbus高不少的峰值然后往下掉、再往上弹反复几次才稳定下来。这一串冲高—回落—再冲高的衰减振荡就是振铃。它的频率通常远高于开关频率从几十兆赫兹到几百兆赫兹都有周期短到在屏幕上密密麻麻挤成一片亮带。很多人第一次见到会把两件事混在一起一是振铃本身二是振铃的第一个峰值也就是过冲。这两个东西的来源是同一个谐振过程但它们的危害不一样。振铃是一个持续的过程它决定了EMI辐射的频谱分布、决定了电路里其他敏感节点会不会被串扰而过冲是一个瞬态的极值点它决定了你的器件耐压够不够、结电容会不会被击穿、下游芯片的输入级会不会受伤。所以做分析的时候我习惯把这两个指标分开量、分开治。判断一段振荡是不是真振铃有个简单办法看它的频率和你的激励边沿有没有关系。真振铃的频率由寄生LC决定和你把驱动电阻从10Ω换成4.7Ω时频率基本不变变的只是幅度和衰减速度。如果你换个电阻振铃频率也跟着变那多半不是寄生谐振而是驱动能力和负载的相互作用或者是控制环节在作怪。这个区分很关键方向错了后面所有的调试都是白费劲。1.2 振铃、过冲常被写成过充、下冲三兄弟行业里对这几个词的说法不太统一有些资料把过冲叫过充这个说法在功率电子圈子里更常见一些指的都是同一个东西波形第一个峰值超出最终稳态值的那部分。我做过的项目里评审会上有人说过充、有人说 overshoot、有人说峰值电压说的往往是同一件事所以内部文档里我一般会统一术语避免沟通时各说各的。从数学上看一个二阶欠阻尼系统的阶跃响应过冲量由阻尼系数唯一决定。阻尼系数越小过冲越大振荡次数越多。这里有个非常实用的近似关系过冲百分比 ≈ exp( -π·ζ / √(1-ζ²) ) × 100%其中 ζ 是阻尼系数。代入几个值感受一下ζ0.7 时过冲约 4.3%这是很多控制系统追求的目标ζ0.5 时过冲约 16%ζ0.2 时过冲约 52%ζ0.1 时过冲接近 73%。而 ζ 和电路的电阻、电感、电容之间的关系是ζ (R/2) · √(C/L)也就是说同样的L和C回路里的等效串联电阻R每降低一半阻尼系数就砍一半过冲立刻从百分之十几飙到百分之五六十。这解释了为什么很多振铃问题在换上更低导通电阻的MOSFET、或者用更短的走线更低的寄生电阻之后反而变严重了——你以为在做好事其实是在给谐振腔松绑。下冲是同一个道理的镜像波形在跳变后跌到低于稳态值或者低于地电位的部分。开关节点上的负向下冲比过冲更危险因为它会把体二极管正偏、把衬底注入严重时直接触发寄生晶闸管导致闩锁。所以看波形的时候上下两个方向都要盯着别只盯着那个好看的尖峰。1.3 哪些硬件开发场景躲不开振铃振铃不是一个局部问题它渗透在几乎所有涉及快速切换的场合。按我这几年碰到的问题归类大致有这么几大块开关电源类Buck、Boost、半桥、全桥的开关节点是最经典的振铃现场。同步Buck的SW节点在上下管交替导通时环路电感和下管的输出电容形成谐振几十到上百兆的振铃几乎是标配。栅极驱动类MOSFET、IGBT、SiC器件的栅极回路本身就是一个RLC网络驱动电阻、栅极电感、输入电容凑在一起很容易在开通和关断瞬间振荡。栅极振铃的后果比开关节点的更隐蔽它可能让器件在米勒平台附近反复导通造成额外的开关损耗甚至直通。数字高速链路类只要走线长度和信号上升时间满足某个比例关系阻抗不连续点就会产生反射反射波在源和负载之间来回弹形成振铃。DDR、PCIe、以太网、MIPI这些接口全都在这个范畴里。电机驱动与逆变器类长电缆连接电机时电缆的特征阻抗和电机的感性负载不匹配逆变器输出端会产生剧烈的振铃峰值电压最高能到母线电压的两倍。控制环路类这一块是另一个维度的问题。电源的负反馈环路如果相位裕度不够在负载阶跃或者输入扰动下输出电压会出现低频的衰减振荡周期是微秒到毫秒级和前面说的几十兆赫兹完全不是一个量级。我见过不少工程师把控制环路的低频振荡和开关节点的高频振铃混为一谈然后拿抑制高频的办法去治低频的问题折腾一周没进展。所以第一步永远是先量准频率再判断它属于哪一类。2. 振铃的根源寄生参数搭出来的LC谐振腔2.1 环路电感与节点电容从哪儿来理想电路图上电源到MOSFET的连线是一根没有长度、没有电感的线MOSFET的漏源之间在关断时是彻底断开的。现实中完全不是这样。每一段铜箔、每一个过孔、每一段引脚都在贡献电感。经验数据是这样的FR4板上的走线大约是每毫米1nH也就是说10mm的一段走线差不多10nH一个普通过孔大约1nH到1.5nH一颗SMD陶瓷电容的封装加上内部结构等效串联电感ESL通常是0.5nH到2nH一颗TO-220封装的功率管引脚电感加起来能有5nH到10nH。把这些电感串起来从母线电容的正极出发经过正极走线、上管、SW节点、下管、负极走线再回到母线电容的负极这一整圈围起来的面积对应的电感就叫功率环路电感 Lloop。在同步Buck里这个环路在上下管切换的瞬间是电流唯一的通路所以它的大小直接决定了开关节点振铃的剧烈程度。做得好的布局Lloop能压到2nH到5nH做得差的10nH到20nH很常见两者带来的振铃幅度能差好几倍。节点电容这边主角是MOSFET的输出电容 Coss它是漏源之间的寄生电容随漏源电压变化数据手册里通常给出典型值比如100pF到3nF不等。除此之外还有SW节点铜箔对地的寄生电容、下管的反并联二极管结电容、示波器探头的输入电容10:1探头通常10pF到15pF。SW节点铺铜面积越大、越靠近地平面这个节点电容就越大谐振频率也就越低。所以振铃的本质可以一句话概括环路电感和节点电容构成了一个并联LC谐振腔开关动作相当于给这个谐振腔注入了一次阶跃能量剩下的就是它自己慢慢衰减的过程。阻尼来自回路里的等效电阻包括走线电阻、MOSFET导通电阻、电容的ESR这些电阻通常都很小所以阻尼很弱振荡能持续好几个周期。2.2 谐振频率、特征阻抗与阻尼系数的手算这三个量必须会手算因为所有抑制手段的取值都建立在它们之上。公式不复杂谐振频率 f0 1 / (2π · √(L · C)) 特征阻抗 Z0 √(L / C) 阻尼系数 ζ (R/2) · √(C/L) 临界阻尼电阻 Rcrit 2 · √(L/C) 2 · Z0拿一个同步Buck的实际数字来算。假设布局中等的板子Lloop取10nH下管Coss取500pF回路等效电阻取0.5Ω。先算谐振频率√(10nH × 500pF) √(5×10⁻¹⁸) 2.24×10⁻⁹f0 1/(2π×2.24×10⁻⁹) ≈71MHz。这个数字和很多板子实测的开关节点振铃频率是对得上的说明模型没跑偏。再算特征阻抗Z0 √(10nH/500pF) √20 ≈4.5Ω。这个数值很关键它告诉你想要把这一圈振荡压下去回路上需要引入大约9Ω2×Z0的等效阻尼电阻。寄生电阻只有0.5Ω差了将近20倍所以不加措施的话ζ只有约0.05过冲接近85%波形上就是那种一根尖刺直冲云霄的样子。阻尼系数ζ (0.5/2)×√(500pF/10nH) 0.25 × √0.05 0.25×0.224 ≈0.056。按前面的过冲公式过冲接近84%和实测印象吻合。这套算法最大的价值在于给你一个数量级判断。比如你想知道加个2Ω的栅极电阻有没有用一算就知道栅极回路里的L大概是5nH、Ciss是3nFZ0 √(5n/3n) 1.29Ω2Ω已经超过临界阻尼值了理论上足够压住。反过来如果你在数字链路上给一条50Ω特征阻抗的线加个5Ω串阻那基本等于没加因为5Ω远小于50Ω。2.3 为什么边沿越快、走线越长振铃越凶有两个参数对振铃的影响是压倒性的理解了它们很多设计取舍就自然清楚了。第一个是边沿速度。GaN和SiC器件的开关时间可以做到几纳秒激励信号的频谱能量能一直延伸到几百兆赫兹。频谱越宽能激发的谐振模式就越多振铃越容易起。这也是为什么用SiC替换Si之后明明效率提升了EMI反而变差了——不是SiC本身有问题是它的速度把原来被掩盖的寄生谐振全激发出来了。第二个是走线长度。长走线一方面贡献更大的电感另一方面在数字电路里决定了是否会产生反射。判断反射是否显著有个常用准则当走线的单程传播延迟大于信号上升时间的1/2时就必须端接。FR4上微带线的传播延迟大约是150ps/inch约6ps/mm假设信号上升时间tr500ps临界长度是Lcrit tr / (2 × tpd) 500ps / (2 × 150ps/inch) ≈ 1.67 inch ≈ 42mm也就是说上升时间500ps的信号走线超过42mm就得考虑端接了。如果是上升时间150ps的信号临界长度直接掉到12.7mm。很多工程师在画板时凭感觉觉得这点长度没事其实早就越线了。还有一个容易被忽视的点振铃幅度和激励的边沿速率成正比。同一块板子把栅极电阻从2Ω加到10Ω边沿变缓振铃幅度能掉一半以上。这是一种用效率换安静的交易代价是开关损耗上升。所以栅极电阻的取值永远是在振铃和效率之间找平衡点不存在一个放之四海皆准的最佳值。3. 三类典型电路里的振铃长什么样3.1 开关电源半桥的开关节点振铃这是最典型也最容易观察的振铃。同步Buck在死区时间结束、下管关断、上管开通的瞬间SW节点电压从0被拉向Vbus。这一跳给Lloop和Coss构成的谐振腔注入了能量SW节点电压会冲过Vbus形成过冲然后以71MHz左右的频率衰减振荡。这里有个细节值得展开振铃的幅度和负载电流强相关。轻载时电感电流小下管关断时几乎没有反向电流需要换流Coss上的初始电荷少振铃幅度小重载时电感电流大换流过程中存储在Lloop里的能量按 ½·L·I² 计算电流翻倍能量变四倍振铃幅度显著上升。这解释了为什么很多板子在满载老化时EMI超标轻载测试却一切正常。实测数据可以参考一个48V转12V、开关频率200kHz的同步Buck重载20A时SW节点过冲到68V振铃频率约65MHz衰减到稳态用了大约5个周期。过冲68V对60V耐压的管子来说是致命的所以这里必须做抑制。抑制的第一步不是加吸收电路而是先看布局能不能优化——把母线陶瓷电容挪到离半桥5mm以内Lloop从12nH降到4nH过冲立刻能掉到58V以下这是最免费的改善。还需要注意的是SW节点的振铃会通过两条路径向外传播一是空间辐射SW节点的铜箔相当于一根小天线二是传导耦合振铃电流流过母线电容时在电容ESL上产生电压尖峰这个尖峰顺着输入线传到电源端。所以治振铃不只是为了让波形好看它直接关系到EMI能不能过。3.2 栅极驱动回路的振铃与米勒平台栅极回路的振铃和开关节点的机制一样只是元件换了一批。这里的电感来自驱动芯片到MOSFET栅极之间的走线和引脚典型值3nH到10nH电容是MOSFET的输入电容Ciss大功率管能到几纳法电阻是驱动电阻加上驱动芯片的输出阻抗。这个回路的特征阻抗可以算一下L5nHCiss3nFZ0 √(5/3) ≈ 1.29Ω。要获得临界阻尼需要2.6Ω左右的总串联电阻。所以如果你用的驱动电阻是1Ω加上芯片输出阻抗1Ω总共2Ω基本接近临界如果用0Ω电阻直驱ζ会小到0.2以下栅极波形上能看到明显的振铃。栅极振铃最危险的后果是误开通。具体过程是这样的下管处于关断状态时上管开通导致SW节点电压快速上升这个dv/dt通过米勒电容Crss耦合到下管栅极在栅极上抬出一个电压尖峰。如果这个尖峰超过了阈值电压Vth下管就会被短暂导通上下管同时导通形成直通瞬间电流可以达到几百安培管子直接炸掉。栅极振铃会放大这个尖峰因为振荡的峰值可能远高于耦合电压本身。抑制的手段有几个层次。最直接的是加大关断电阻或者用非对称驱动——开通用一个电阻关断用另一个电阻并联二极管的方式关断路径用小电阻加快关断、开通路径用大电阻控制dv/dt。再进一步可以加米勒钳位电路用一个三极管在关断期间把栅极直接短到源极。还有负压关断把关断电平拉到-3V到-5V给阈值留出更大裕量。这几个手段我在不同项目里都用过选哪个取决于器件的Vth水平、驱动器的能力和成本预算。3.3 数字链路的反射型振铃与端接选择数字链路上的振铃来源和电源那边不太一样它是传输线反射造成的。信号沿走线传播遇到阻抗不连续点走线宽度变化、过孔、连接器、负载电容就产生反射波反射波回到源端又反射一次来回叠加形成振铃。判断是否需要端接前面已经给了长度准则。这里补充一下端接方案的对比因为选错了不仅没用还会引入新问题端接方式拓扑结构适用场景主要代价串联端接驱动端串R使 RZoutZ0点对点、单一负载边沿变慢负载端仍有一次全反射并联端接负载端接R到VTT多点总线静态功耗大需要额外电源戴维南端接上拉电阻下拉电阻分压到Z0多点总线两个电阻功耗更大AC端接负载端R串C到地高频时钟总线电容影响低频分量参数调试麻烦二极管钳位肖特基二极管到VCC和GND保护性措施只削尖峰不消除反射串联端接是最常用的因为不增加静态功耗。参数很简单如果走线特征阻抗是50Ω驱动器输出阻抗是10Ω那串联电阻取40Ω。实际工程里为了留裕量经常取33Ω配合驱动器标称的17Ω输出阻抗凑成50Ω。值得注意的是串联端接的电阻必须放在驱动端、尽量靠近芯片引脚放在负载端是完全无效的因为反射已经在路上发生了。我在一块FPGA板上踩过这个坑时钟线走线120mm上升时间300ps板子跑起来眼图明显闭合。当时第一反应是加串阻结果放在了时钟缓冲器的输出端之后5mm处效果不明显后来把电阻挪到距离芯片引脚2mm的位置眼图立刻打开了。这个位置差异带来的效果差别比调整阻值本身大得多。4. 抑制手段落地从串阻到RC吸收的参数算给你看4.1 串联阻尼电阻怎么取值怎么修正串联阻尼电阻是最简单、最便宜的抑制手段但取值不能拍脑袋。基本原则是总电阻 R R串联 R寄生应该让阻尼系数 ζ 落在0.4到0.7之间对应过冲5%到25%这是一个比较实用的工作区间。具体到不同场景取值逻辑不一样栅极驱动回路先算Z0 √(Lg/Ciss)串联电阻取1到2倍的Z0。比如算出来Z01.3Ω驱动芯片输出阻抗1Ω那栅极电阻取2Ω到3Ω比较合适。加大到10Ω虽然振铃更小但开关损耗会明显上升需要在效率测试里权衡。数字信号线串联电阻 Z0 - Zout紧靠驱动端放置。同时要注意电阻本身的封装0402的寄生电感约0.5nH比0603小高速线上优先选小封装。电源开关节点的串阻这条路走不通因为SW节点要通过大电流串电阻等于烧电炉。所以电源振铃必须靠snubber、布局或者其他手段。实测修正的方法很简单把电阻做成可调用一个小型电位器或者准备几个不同阻值的焊盘从最小值开始往上加每加一档量一次过冲和上升时间。你会发现一个规律过冲在某个阻值之后急剧下降再往上加改善就很小了但上升时间继续恶化。那个拐点就是最佳值。我一般会在拐点附近再往上取半档留一点工艺和温度裕量。有个注意点串阻的取值在低温下要重新验证。MOSFET的导通电阻随温度下降而减小阻尼变弱振铃可能反而更严重。很多项目只在常温下测量产到北方冬天就出问题这种案例我见过不止一次。4.2 RC snubber的两步测量法与参数计算RC snubber吸收电路是治电源开关节点振铃的主力手段由一个电容Cs和一个电阻Rs串联后并在开关节点与地之间。它的工作原理是把Cs当作一个高频短路让Rs去消耗谐振能量。难点在于Cs和Rs怎么选。网上流传的经验值比如1nF10Ω在实际项目里经常不灵因为每块板的寄生参数都不一样。我推荐用两步测量法来反推寄生参数这个方法我在很多板子上验证过准确性足够工程使用。第一步测出原始振铃频率f0。用高带宽示波器配合弹簧地线在SW节点上测读出振铃周期T0f0 1/T0。第二步在SW节点对地人为并联一个已知电容Ct比如1000pF的C0G电容注意耐压再测一次频率f1。因为并联电容后总电容变成CCt频率会下降满足f0 1 / (2π·√(L·C)) f1 1 / (2π·√(L·(CCt)))两式联立就可以解出C和LC Ct · f1² / (f0² - f1²) L (f0² - f1²) / (4π² · Ct · f0² · f1²)举个实测例子某块48V半桥板未加电容时f071MHz并联1000pF后f133MHz。代入公式C 1000pF × 33²/(71²-33²) 1000 × 1089/(5041-1089) 1000 × 1089/3952 ≈276pFL (5041-1089) / (4π²×1000pF×(71MHz)²×(33MHz)²)。分母计算4π²≈39.4839.48 × 1e-9 F × 5.041e15 × 1.089e15 39.48×1e-9×5.49e30 ≈ 2.168e23。分子5041-10893952注意这里的单位是10¹²Hz²即3952e12 3.952e15。L 3.952e15/2.168e23 ≈ 1.82e-8 18.2nH。这个18.2nH比我一开始估计的10nH大说明这块板的布局偏大也解释了为什么它的振铃这么严重。拿到C和L之后snubber参数按下面的规则取Cs ≈ (1 ~ 3) × C Rs ≈ 1 / (2π · f0 · Cs)Cs取2倍C的话Cs≈550pF实际取560pF的C0G或X7RRs 1/(2π×71e6×560e-12) ≈ 4.0Ω取4.3Ω。这两个值装上去过冲从68V降到了57V效果非常明显。但这里有个必须校核的东西snubber的功耗。Cs在每个开关周期都会充电放电一次损耗大约是Psnubber ≈ Cs · V² · fsw代入Cs560pF、V48V、fsw200kHz560e-12 × 2304 × 2e5 ≈0.26W。这个功耗全部落在Rs上所以Rs的封装不能太小0805是最低要求功率余量要留到2倍以上。如果把这个电容加到2nF损耗直接变成0.92W效率和热设计都会受影响。所以Cs不是越大越好够用就行。注意Cs的直流偏压特性要查。X7R电容在加上48V直流后实际容值可能只剩标称值的40%到60%。所以选型时要看偏压曲线或者直接按标称值放大一倍选再用实测频率回过头来验证。4.3 RCD钳位、磁珠与有源钳位的取舍RC snubber之外还有几个常用手段各有各的适用面。RCD钳位主要用于反激和正激拓扑的初级侧。它由一个电阻、一个电容和一个二极管组成二极管把漏感能量引到电容上再通过电阻消耗掉。相比RC snubberRCD的优势是能钳住一个固定的电压平台而不是跟着振荡走缺点是漏感能量全部变成热效率损失比RC大。在漏感比较大比如3%以上的场合RCD是更稳妥的选择。磁珠在抑制高频振铃上很有用因为它对高频呈现电阻性把能量变成热。选型的时候要看两个参数100MHz下的阻抗值和额定电流。阻抗值不是越高越好太高的磁珠在几百兆时可能因为寄生电容而呈现容性反而失去抑制作用。我一般选100MHz下60Ω到300Ω的型号同时保证额定电流有2倍余量因为磁珠在大电流下会饱和失效。有源钳位是更高端的选择用一个辅助开关管和电容把漏感能量回收既能压住过冲又能把能量送回输出效率优势明显。代价是驱动时序变复杂需要额外的隔离驱动或者自举电路成本也高。在追求高效率、高功率密度的场合比如GaN的图腾柱PFC有源钳位是值得投入的。选型的时候我的判断逻辑是这样的如果是成本敏感的消费类电源优先优化布局 RC snubber如果是工业级、对可靠性要求高的考虑RCD如果是高效率高密度的量化评估有源钳位的收益。不要一上来就上最复杂的方案先把布局这块免费的潜力挖干净。4.4 布局与叠层的降感清单再好的吸收电路也不如一开始就把寄生电感做小。下面这份清单是我每次做电源layout时的自检项目功率环路面积最小化输入陶瓷电容紧贴半桥最好放在同一面距离控制在5mm以内。不要为了美观把电容排成一排远离功率管。用平面代替走线多层板里把半桥的输入和回流做成相邻的平面磁场互相抵消寄生电感能降一个数量级。加宽铜箔同样的长度铜箔宽度翻倍电感能降低30%左右。开关节点走线做到2mm以上很常见。过孔并联单个过孔约1nH大电流路径上打4到6个过孔并联能有效降低电感。特别是母线电容的接地过孔。开尔文连接驱动回路的源极取样点直接接在MOSFET的源极焊盘上不要共用功率路径否则功率回路的压降会串进驱动回路。减小SW节点面积开关节点是dv/dt最大的节点面积越大对地电容越大振铃频率越低、辐射越强同时还是EMI的主要来源。在满足载流能力的前提下尽量收窄。叠层设计四层板推荐 信号-地-电源-信号 的结构让功率回流路径紧贴地层。这张清单看起来简单但每一条都能带来实实在在的改善。我做过对比测试同一套原理图一块板按上面的原则做另一块随便摆前者的SW节点过冲比后者低15V以上EMI测试裕量多出6dB。5. 控制环路里的振铃时域振荡和相位裕度是一回事5.1 阶跃响应上那几圈振荡在说什么前面讲的都是高频的寄生谐振这一节换个频段。电源的负反馈环路如果在穿越频率附近相位裕度不足那么在负载电流突变或者输入电压扰动时输出电压会出现低频的衰减振荡。这个振荡的周期通常在几十微秒到几百微秒和开关周期是一个量级以上用示波器看就像是输出被推了一下然后晃回来。这种振荡和相位裕度有明确的对应关系。经验数据是相位裕度阶跃响应表现过冲量30°以下明显振荡波动5次以上40%以上45°有2到3次可见振荡25%左右60°轻微过冲无明显振荡10%70°到80°单调或一次小过冲5%以下所以行业里普遍把相位裕度目标定在45°到60°之间低于45°基本会在动态测试里出问题高于70°虽然稳定但响应变慢负载突变时的电压跌落会变大。这是一个典型的权衡。还有一个隐蔽的坑相位裕度在不同负载条件下是不一样的。CCM连续导通模式和DCM断续导通模式下的小信号模型不同轻载时如果进入DCM或者跳周期模式环路增益和极点位置都会变原本在满载下60°的裕量到了10%负载可能只剩30°。这就是为什么有些电源在轻载时会发出音频噪声——环路在低频振荡频率落到了人耳能听到的范围通过陶瓷电容的压电效应发出来。5.2 补偿网络调整的实际手法如果确认是环路振铃调整的路径是从补偿网络入手。这里给一套我在实际项目中用的流程不涉及复杂推导直接说操作。第一步测出当前的穿越频率和相位裕度。方法是用环路注入器或者变压器加隔离电阻在反馈回路上注入小信号用频率响应分析仪扫伯德图。没有专业设备的话也可以用输出负载阶跃的响应曲线反推——振荡次数和过冲量对照上表就能估出裕度大概在什么区间。第二步判断是相位不够还是增益太高。如果是振荡次数多但幅度小多半是相位裕度问题需要加零点补偿如果是大幅度缓慢摆动可能是穿越频率定得太高需要降低带宽。第三步调整补偿元件。以常见的Type II补偿为例零点放在输出滤波器的LC谐振频率附近用来补偿那个-180°的相位跌落主极点放在原点。实际操作时先固定电容值通过调整串联电阻的位置来移动零点每次调整后用负载阶跃验证直到振荡消失、过冲落在10%以内。需要注意的是调整环路时观察的是动态响应不是稳态纹波。很多新手盯着稳态纹波调补偿方向完全错了。正确的测试条件是负载在10%到90%之间来回跳变边沿速率要足够快典型是1A/µs用示波器直流耦合观察输出电压的包络。还有一点如果环路振铃怎么调都调不下去回头检查一下是不是布局或者地线的问题引入了额外的相位延迟。特别是反馈取样点和地线的处理取样走线如果沿着功率路径走会把开关噪声耦合进反馈导致环路在错误的位置误动作。这种问题用补偿网络是治不好的。6. 实测验证把振铃量准的探头与设置6.1 探头接地方式决定了你看到的是真是假这一节我放在后面但它其实是整篇文章里最实用的一节。因为你测到的振铃有很大一部分是探头自己造成的。标准示波器探头配的那根鳄鱼夹地线长度通常15cm左右。按每毫米1nH算这根地线的寄生电感大约150nH。探头的输入电容按15pF算两者谐振频率是f 1/(2π·√(150nH × 15pF)) 1/(2π×√(2.25×10⁻¹⁸)) ≈ 86MHz也就是说只要你的被测波形里有86MHz以上的分量探头接地点就会自己振给你看。我见过工程师对着一个120MHz振铃调了三天最后换了个弹簧地线振铃直接消失——那根本就是探头引入的假象。正确做法是用弹簧地线也叫接地弹簧、短地针把地回路长度压到5mm以内电感降到5nH以下谐振频率推到500MHz以上对绝大多数测量场景就够用了。如果被测点是同轴接口直接用同轴连接器同轴电缆是最理想的。还有一种情况要留意用差分探头测SW节点时探头的共模抑制比在几百兆时急剧下降测出来的波形可能包含共模成分。这时候建议用两个单端探头做数学相减或者直接用高带宽的无源探头配弹簧地线。提示判断一个振铃是真实的还是探头引入的最简单的办法是把探头从被测点移开一点点不接触如果振铃还在那就是空间耦合进来的如果振铃消失那多半是真实的。另一个办法是换一根地线长度不同的探头真实振铃的频率不会变探头引入的振铃频率会随接地线长度变化。6.2 带宽、采样率、量程与耦合方式带宽这块要算清楚。示波器和探头的带宽决定了你能看到的上升时间关系是系统上升时间 ≈ 0.35 / 带宽想看一个2ns的振铃半周期需要系统上升时间远小于2ns也就是带宽至少350MHz实际建议500MHz以上。如果只有100MHz带宽上升时间3.5ns看到的波形已经被严重平滑峰值被低估、高频振荡被吃掉很容易误判振动已经治好了。采样率按5倍带宽的规则选500MHz带宽配2.5GSa/s以上。更低的采样率会造成混叠把高频振铃折叠成低频的假信号这种错误极其隐蔽。开启峰值检测模式能在低采样率下捕捉到窄尖峰但会牺牲波形保真度用于找峰值可以用用于定量分析不合适。量程和耦合方式也有讲究。测SW节点的过冲时垂直档位要留够余量让波形占屏幕的6到8格不要顶格。耦合方式用直流因为交流耦合会滤掉直流分量看起来过冲变小了实际上是假象。还有探头的补偿每次换探头都要用校准信号源调一次补偿不准会导致方波边沿出现假的过冲或下冲。6.3 换个角度定位振荡源当你面对一堆设施都试过但搞不清楚是谁在振的时候可以换个思路从频谱上看问题。用近场探头贴着板子扫描或者直接看SW波形的FFT能很快定位振铃的主频。这个频率和你前面手算的f0对照如果吻合说明模型对上了接下来就可以有针对性地改寄生参数。如果实测频率远高于手算值那可能不是环路电感在起作用而是MOSFET封装内部的引脚电感或者芯片内部的寄生在振荡这时候外部加snubber的效果会有限要考虑换封装或者换器件。另一个技巧是逐个断开法。如果怀疑某个元件参与了振荡把它去掉前提是电路能工作看频率变不变。比如拆掉SW节点上的某个电容频率明显上升说明它确实是谐振腔的一部分频率不变说明它无关。这个方法比反复试参数高效得多。7. 排查速查表与踩坑记录7.1 加了阻尼还在振的几种情况经常有人问我加了10Ω栅极电阻怎么还在振这种情况下通常是下面几个原因之一我整理成了一个速查表现象可能原因排查动作加了串阻振铃频率不变、幅度略降阻尼电阻没在正确的回路上或被旁路检查电阻位置确认寄生走线没有绕开电阻振铃频率随驱动电阻变化不是寄生谐振是驱动能力与负载的相互作用换用固定驱动能力改变负载看频率是否变轻载正常、重载振铃环路能量随电流增加换流过程加剧按最大负载设计snubber做全负载范围扫描换低Rds(on)管子后振铃变严重回路等效电阻下降阻尼系数变小适当增加栅极电阻或snubber不要一味追低Rds只有靠近某颗电容时才振空间耦合或者探头引入的假振铃换探头接地方式用近场探头确认耦合路径平行线间串扰导致振铃容性/感性耦合不是本节点自身谐振拉开间距、加地线隔离、降低dv/dt这张表里的第一条和第二条是最容易搞混的。区分方法就是前面说的改驱动电阻看频率变不变。频率不变是真谐振频率跟着变是别的问题。7.2 温度、负载、批次带来的反复硬件开发里最让人头疼的不是问题本身而是实验室好好的量产就出问题。振铃这个领域有几个典型的反复来源温度。MOSFET的导通电阻在-40℃时可能只有常温的60%回路等效电阻变小阻尼系数变小振铃幅度上升。另外MOSFET的Coss也随温度变化。所以低温启动测试必须做特别是车载和户外设备。负载。前面说过负载电流越大换流能量越大振铃越严重。做测试的时候一定要扫全负载范围从空载到满载再加上动态负载。我习惯在测试记录表里把每个负载点的过冲峰值都记下来画成曲线一眼就能看出最恶劣的工作点。器件批次。不同批次的MOSFETCoss可能有10%到20%的差异不同批次的陶瓷电容容值偏差可能到±10%不同厂家的磁珠高频特性差别更大。这些差异叠加起来会让原本裕量不足的设计在某个批次上翻车。所以设计时留20%以上的裕量比精确计算某个参数更重要。PCB工艺。铜厚从1oz变成2oz走线电阻下降阻尼变弱介质厚度变化会影响特征阻抗。同一份设计文件不同板厂做出来的振铃表现可能不一样。这类问题在批量转产时特别容易暴露。7.3 我在项目里踩过的坑说几个具体的例子都是真金白银换来的。第一个坑早期做一块48V输入的GaN半桥用0Ω栅极电阻追求最快的开关速度效率确实上去了结果EMI测试在120MHz附近超标12dB。当时第一反应是加snubber试了五六组参数都只能降到超标5dB。后来换了个思路把栅极电阻加到3.3Ω边沿从4ns拉到8nsEMI直接合格了。回头算了一下开关损耗只增加了0.4W在总效率上不到1%。这个教训让我明白在速度不是硬需求的时候适度的钝比复杂的补偿电路更划算。第二个坑一块板子的DDR3地址线在常温下测试一切正常到了客户那边机房温度偏高出现偶发的读写错误。排查了很久才发现是地址线上没有做端接常温下裕量刚好够温度上升后驱动器输出阻抗变化反射加剧导致眼图闭合。加了33Ω串阻之后问题消失。这件事让我养成了一个习惯高速信号不管跑不跑得起来都先算一下走线长度和上升时间的关系该端接就端接不要赌。第三个坑有一次用示波器测SW节点看到120MHz的振铃加了一堆措施都压不下去折腾两天。后来换了根探头用弹簧地线一测振铃只有40MHz而且幅度小得多。那120MHz完全是15cm鳄鱼夹地线造出来的。这个坑之后我现在测任何高速节点都先把弹簧地线找出来这已经成了肌肉记忆。第四个坑一块电源在满载老化时snubber电阻烫得能煎鸡蛋测了一下温度125℃。算了一下功耗是0.3W选的却是0603封装额定0.1W严重超规格。换成1206封装并且重新计算后温度降到70℃以下。这里的教训是snubber的功耗必须算而且要考虑高温下的降额不能凭经验随便抓个电阻焊上。振铃这东西说到底就是电路里那些你看不见的寄生参数在说话。它们不会因为你在原理图上没画就不存在也不会因为你算了半天公式就乖乖听话。我的经验是把布局做扎实把测量做准确把余量留够剩下的才是参数微调的事。很多时候把探头接地线从15cm换成5mm比换十组RC参数都有用。
返回列表