4、死区时间优化:死区时间对效率的影响、自适应死区控制技术、死区时间测量方法
死区时间,说白了就是两个开关管都关断的那段空白期。同步整流里,上管和下管不能同时导通,否则就是直通短路,炸管是分分钟的事。但死区设得太长,体二极管导通损耗又会吃掉你的效率。
我刚开始做同步整流时,总觉得死区时间设个固定值就完事了。结果有一次调试一个48V转12V的模块,满载效率死活上不去,摸散热片烫手。后来一查,死区时间设了120ns,而实际只需要40ns。那80ns的浪费,全变成了体二极管的发热。从那以后,我对死区时间再也不敢马虎了。
4.1 死区时间对效率的影响
死区时间对效率的影响,主要体现在两个地方:
- 体二极管导通损耗:死区时间内,电流只能走MOSFET的体二极管。体二极管正向压降通常0.7V-1.2V,而MOSFET导通电阻产生的压降可能只有几十毫伏。你想想看,同样电流下,体二极管的损耗是MOSFET的10倍以上。
- 死区时间过长:体二极管导通时间变长,损耗直线上升。而且体二极管的反向恢复电荷Qrr也会带来额外损耗。
- 死区时间过短:上下管可能出现共通,瞬间短路电流能把效率直接打下来,严重时直接炸管。
我习惯用一个简单公式估算死区损耗:
P_dead = V_f × I_load × t_dead × f_sw × 2
其中V_f是体二极管正向压降,t_dead是死区时间,f_sw是开关频率。注意乘以2,因为每个周期有两次死区(上管关断到下管开通,下管关断到上管开通)。
举个例子:V_f=0.8V,I_load=10A,t_dead=100ns,f_sw=200kHz。算下来P_dead=0.8×10×100e-9×200e3×2=0.32W。看起来不大?但如果你把死区优化到30ns,损耗就降到0.096W,省了0.224W。对于高效率电源来说,这0.2W可能就是92%和93%的差距。
关键结论:死区时间每增加10ns,在200kHz开关频率下,体二极管导通损耗增加约0.032W/A。高频设计中,死区优化带来的效率提升非常可观。
4.2 自适应死区控制技术
固定死区时间的问题在于——你只能按最坏情况来设。温度变化、负载变化、器件离散性,都会让最优死区时间漂移。所以就有了自适应死区控制技术。
自适应死区控制的核心思路:实时检测开关节点电压,动态调整死区时间。说白了,就是让控制器自己去判断什么时候该开下管,什么时候该开上管。
常见的实现方式有几种:
| 技术方案 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 电压检测法 | 监测SW节点电压,检测体二极管导通结束时刻 | 实现简单,响应快 | 对噪声敏感,需要精密比较器 |
| 电流检测法 | 检测电感电流过零点,判断死区结束时机 | 精度高,适合轻载 | 需要电流检测电路,成本高 |
| 时间优化算法 | 通过逐周期调整,搜索最优死区时间 | 无需额外检测电路 | 收敛速度慢,动态响应差 |
| 混合控制 | 电压检测+时间搜索结合 | 兼顾精度和鲁棒性 | 控制逻辑复杂 |
我个人比较推荐电压检测法,性价比最高。具体做法是:在SW节点对地接一个比较器,阈值设在0V附近。当体二极管导通时,SW节点电压是负的(约-0.7V)。体二极管关断瞬间,SW电压会快速上升。检测到这个上升沿,就说明死区该结束了。
我曾经在一个项目里用过TI的UCC27211驱动芯片,它内部集成了自适应死区功能。实测下来,死区时间从固定100ns优化到了20-50ns动态调整,满载效率提升了1.2%。
实战技巧:自适应死区控制器的响应速度要匹配你的开关频率。一般来说,控制环路的带宽至少要达到开关频率的1/10。否则负载突变时,死区来不及调整,反而可能造成共通。
4.3 死区时间测量方法
做死区优化,首先得能测准死区时间。我见过不少工程师,拿着示波器随便一测就说死区是50ns,结果根本没考虑探头延迟和测量误差。
正确的测量方法,我总结了几个要点:
- 使用差分探头:单端探头测栅极信号,地线夹子会引入寄生电感,测出来的波形有振铃,死区时间根本读不准。差分探头或者使用探头上的接地弹簧,能大幅减少测量误差。
- 测量点选择:测上管栅极和下管栅极,而不是测SW节点。因为SW节点电压变化受寄生参数影响,测出来的死区时间可能偏大或偏小。
- 使用阈值电压:不要用波形顶部和底部来量死区。我习惯用MOSFET的米勒平台电压作为阈值。比如上管关断,从Vgs降到米勒平台电压开始计时,到下管Vgs上升到米勒平台电压结束。这样测出来的才是真正的死区时间。
- 多次测量取平均:开关电源的波形有抖动,单次测量不靠谱。用示波器的统计功能,至少测100个周期取平均值。
避坑指南:我曾经用普通10x探头直接测栅极波形,结果测出来的死区时间比实际大了30ns。后来换了差分探头才发现,那30ns是探头地线环路引入的测量误差。所以,测量死区时间,探头选择是第一位的。
下面这张图展示了死区时间的测量原理:
实际测量时,我建议用示波器的数学功能,直接做上下管Vgs的异或运算。异或结果为高电平的时间段,就是死区时间。这样读数更直观,也更容易做统计。
经验数据:对于常见的同步整流Buck电路,最优死区时间通常在20-60ns之间。具体数值取决于MOSFET的栅极电荷Qg、驱动能力、以及开关频率。我一般先按Qg/I_drive估算一个初始值,再通过效率曲线微调。
死区时间优化,说白了就是在安全性和效率之间找平衡。自适应死区控制是趋势,但前提是你得先把测量搞准。没有准确的测量,再好的控制算法也是白搭。