1. 从半桥到全桥:Class D功率级的拓扑选择与实战权衡
做Class D功放做到第六篇,基本上已经绕不开一个核心问题:功率输出级到底用半桥还是全桥。前几篇我们把调制器、栅极驱动、死区时间这些环节都过了一遍,但真正决定整机输出功率上限、失真表现和EMI水平的,还是最后那两颗或四颗功率MOSFET怎么摆。这篇就专门把功率电路这一块讲透,从拓扑选型、MOSFET参数计算、死区与体二极管导通、到PCB布局和实测波形,全部按我自己踩过的坑来写。
如果你正在做50W以上的Class D,或者被“半桥够不够用”“全桥是不是一定更好”这类问题卡住,这篇内容应该能帮你省掉至少两轮打板的钱。我默认读者已经了解PWM调制的基本原理,也搭过至少一个能出声的半桥电路,所以基础概念不展开,直接上硬货。
2. 半桥与全桥的底层差异:不是功率翻倍那么简单
2.1 半桥结构的真实工作边界
半桥拓扑在Class D里是最经典的配置,两颗MOSFET上下串联,中间点通过LC滤波器接扬声器。它的优点是驱动简单、只需要一路自举供电、死区控制逻辑清晰。但很多人忽略了一个关键点:半桥的输出摆幅只有电源电压的一半。也就是说,±40V供电的半桥,理论上最大输出交流峰值只有40V,对应正弦波有效值约28.3V,8Ω负载下功率约100W——这是理想值,实际因为导通损耗和滤波损耗,能拿到80W就算不错了。
更麻烦的是半桥的泵升效应。当上管关断、下管体二极管续流时,中间点的电压会低于地电位,这个负压会把自举电容的参考点往下拉。如果自举电容容量不够或者自举二极管恢复特性差,上管驱动电压就会跌落,导致上管不完全导通,效率骤降甚至炸管。我早期用IR2110驱动半桥时就遇到过这个问题,示波器上看上管Vgs在重载时从12V掉到8V,波形直接畸变。
半桥还有一个隐性成本:输出耦合电容。因为半桥中间点静态时是电源电压的一半,扬声器两端存在直流偏置,必须串一个大容量电解电容隔直。这个电容不仅占体积、增加成本,还会在低频段引入相位失真。对于Hi-Fi应用,这个电容往往是音质瓶颈。
2.2 全桥结构的优势与代价
全桥用四颗MOSFET组成H桥,扬声器接在两个半桥中间点之间。它的最大优势是输出摆幅翻倍:同样±40V供电,全桥可以输出峰峰值80V的方波,对应正弦波有效值约28.3V——等等,这里容易搞混。准确说,全桥的每个半桥输出摆幅是电源电压,两个半桥差动输出,负载两端电压摆幅是两倍电源电压。所以±40V供电的全桥,负载峰值电压可达80V,有效值56.6V,8Ω下理论功率400W。这就是为什么大功率Class D清一色用全桥。
但全桥的代价也很明显。首先是驱动复杂度翻倍:需要四路隔离驱动或两路自举加两路隔离,死区控制要同时管两个半桥,逻辑上容易出错。其次是共模EMI:两个半桥的开关节点都在跳变,如果PCB布局不对称,共模电流会通过扬声器线辐射出去。我实测过,同样功率下全桥的辐射EMI比半桥高6-10dB,必须加共模扼流圈才能过认证。
还有一个容易被忽视的点:全桥的体二极管导通损耗。在死区时间内,负载电流会通过MOSFET的体二极管续流。半桥只有一个续流路径,全桥有两个。如果死区时间设得太大,体二极管导通时间增加,反向恢复损耗会显著上升。我用SiC肖特基并联体二极管后,死区损耗降低了约30%,但成本增加了不少。
2.3 选型决策表:什么场景选什么拓扑
| 场景 | 推荐拓扑 | 理由 |
|---|---|---|
| 输出功率<50W,供电<±25V | 半桥 | 成本低,驱动简单,泵升效应可控 |
| 输出功率50-150W,供电±30-50V | 半桥(加自举增强)或全桥 | 看散热和EMI要求,全桥余量更大 |
| 输出功率>150W,供电>±50V | 全桥 | 半桥电流应力太大,效率撑不住 |
| 电池供电,低压大电流 | 全桥 | 半桥压摆不够,全桥可桥接负载 |
| Hi-Fi低失真要求 | 全桥(无输出电容) | 消除耦合电容的相位失真 |
这个表是我自己项目里总结的,不一定适用于所有情况,但大方向不会错。如果你做的是便携蓝牙音箱,半桥加自举增强基本够用;如果是车载低音炮或者专业功放,直接上全桥,别犹豫。
3. MOSFET选型与损耗计算:别只看Rds(on)
3.1 关键参数的真实优先级
选MOSFET时,很多人第一眼只看Rds(on),觉得越小越好。但Class D功率级的工作频率通常在200kHz-1MHz,开关损耗往往比导通损耗大得多。我按实际经验给参数排个序:
- Qg(栅极总电荷):决定驱动损耗和开关速度。Qg越小,驱动电流越小,开关越快。但Qg太小可能导致抗干扰能力差,米勒平台期间容易误触发。
- Coss(输出电容):决定开关过程中的充放电损耗。Coss越大,开关损耗越高,尤其是硬开关时。
- Rds(on):决定导通损耗。但注意,Rds(on)随温度上升会增大,标称值通常是25°C下的,实际工作结温100°C时可能翻倍。
- Vds耐压:至少是电源电压的1.5倍,考虑尖峰余量。
- 体二极管反向恢复时间(trr):死区期间体二极管导通,trr越长,反向恢复损耗越大。
我做过对比测试:同样100V耐压、8A电流等级,A管Rds(on)=10mΩ但Qg=50nC,B管Rds(on)=20mΩ但Qg=15nC。在500kHz开关频率下,B管的总损耗反而比A管低20%。所以高频应用优先选低Qg和低Coss的管子,Rds(on)可以适当妥协。
3.2 导通损耗与开关损耗的计算实例
假设全桥拓扑,供电±60V,负载8Ω,输出功率200W,开关频率400kHz,选用某款MOSFET:Rds(on)=15mΩ(100°C时),Qg=30nC,Coss=200pF,Vgs驱动=12V。
导通损耗:输出电流有效值Iout=sqrt(200/8)=5A。全桥每个半桥的占空比约50%,但电流波形是正弦包络。粗略估算,每颗MOSFET的导通损耗Pcond=Iout^2×Rds(on)×D,其中D是导通占空比。对于正弦输出,平均导通损耗约为Iout^2×Rds(on)/2(因为半桥上下管各导通一半时间)。所以Pcond=25×0.015/2=0.1875W。四颗管子总共约0.75W。这个值很小,说明导通损耗不是主要矛盾。
开关损耗:硬开关下,开关损耗Psw=0.5×Vds×Id×(tr+tf)×fsw。假设tr+tf=20ns,Vds=60V,Id=5A,fsw=400kHz。Psw=0.5×60×5×20e-9×400e3=1.2W。每颗管子1.2W,四颗就是4.8W。这已经远超导通损耗了。
驱动损耗:Pgate=Qg×Vgs×fsw=30e-9×12×400e3=0.144W。每颗管子0.144W,四颗0.576W。这个也不小。
Coss损耗:Pcoss=0.5×Coss×Vds^2×fsw=0.5×200e-12×3600×400e3=0.144W。每颗0.144W,四颗0.576W。
总损耗约0.75+4.8+0.576+0.576=6.7W。对于200W输出,效率约96.7%。这个效率在Class D里算正常,但如果想做到98%以上,必须降低开关损耗——要么用软开关(ZVS),要么换更低Qg和Coss的管子。
注意:以上计算是粗略估算,实际波形不是理想方波,米勒平台和寄生振荡会额外增加损耗。建议用示波器实测Vds和Id波形,积分计算实际损耗。
3.3 体二极管与死区时间的博弈
死区时间是Class D设计里最微妙的参数。设得太小,上下管直通,炸管;设得太大,体二极管导通时间增加,反向恢复损耗上升,输出失真也变大。
我一般按以下步骤确定死区时间:
- 先查MOSFET数据手册的trr和Qrr。如果trr>50ns,死区时间至少设100ns。
- 用示波器看开关节点波形,找到体二极管导通引起的电压平台。这个平台宽度就是实际死区时间。
- 逐步减小死区时间,直到平台刚好消失,再留20%余量。
实测中,我用IRF6645(trr=35ns)时,死区时间设80ns比较合适;换成SiC MOSFET(trr几乎为零),死区时间可以降到30ns,效率提升约1.5%。
但死区时间不是越小越好。太小的话,驱动电路的传输延迟差异会导致上下管实际死区不一致,批量生产时容易出问题。我建议死区时间至少是驱动IC传输延迟差异的3倍。比如驱动IC的延迟差异是10ns,死区时间至少30ns。
4. 栅极驱动电路:自举、隔离与负压关断
4.1 自举电路的参数计算与常见坑
半桥和全桥的低侧驱动容易,高侧驱动通常用自举。自举电路的核心是自举电容和自举二极管。自举电容容量计算公式:
Cboot ≥ Qg_total / ΔVboot
其中Qg_total是所有高侧MOSFET的栅极总电荷,ΔVboot是允许的自举电压跌落。一般ΔVboot取0.5V-1V。比如Qg_total=30nC,ΔVboot=0.5V,Cboot≥60nF。实际选100nF-1μF,留足余量。
自举二极管必须选快恢复或肖特基,反向恢复时间<50ns。普通整流二极管(如1N4007)恢复时间太长,会导致自举电容充不满,高侧驱动电压跌落。我早期用1N4007,上管Vgs只有7V,效率惨不忍睹。换成SS14后,Vgs恢复到11.5V。
自举电容的耐压至少是电源电压的1.5倍。如果电源是±60V,自举电容耐压至少100V。但注意,自举电容的参考点是开关节点,开关节点电压在0V和60V之间跳变,所以电容两端电压是浮动的。实际选X7R或X5R陶瓷电容,耐压100V以上。
还有一个坑:自举电容的ESR。ESR太大会导致充放电时电压波动大,高侧驱动不稳定。我实测过,同样100nF,X7R的ESR约10mΩ,Y5V的ESR约100mΩ,后者导致上管Vgs纹波明显增大。所以自举电容选X7R或C0G,别用Y5V。
4.2 隔离驱动的选型与负压关断
全桥的高侧驱动如果不用自举,可以用隔离驱动。隔离驱动的好处是可以加负压关断,防止米勒电容耦合导致的误触发。Class D的开关节点dv/dt很高,可能达到50V/ns,米勒电容Cgd会把开关节点的高频信号耦合到栅极,如果关断电压是0V,很容易被抬到阈值电压以上,导致上下管直通。
负压关断一般用-3V到-5V。实现方式有两种:一是用隔离驱动IC自带负压输出,比如Si8235;二是用变压器隔离,次级加稳压管和电容产生负压。前者简单但成本高,后者便宜但占体积。
我自己的经验:半桥用自举加0V关断基本够用,全桥建议至少高侧用负压关断。如果做的是高压大功率(>±80V),四颗管子全部用隔离驱动加负压关断,别省这个钱。
4.3 栅极电阻的取值与振荡抑制
栅极电阻Rg决定开关速度。Rg越小,开关越快,开关损耗越低,但EMI越差,振荡越严重。Rg越大,开关越慢,开关损耗越高,但EMI好,振荡小。
我一般先用10Ω起步,看开关节点波形。如果振荡严重(振铃超过20%的Vds),增大Rg到20Ω或33Ω。如果开关损耗太大(管子发热严重),减小Rg到4.7Ω或2.2Ω,但必须同时加RC吸收电路。
RC吸收电路接在开关节点和地之间,或者跨接在MOSFET的D-S之间。参数计算:Rsnub=sqrt(Lpar/Coss),Csnub=3×Coss。其中Lpar是PCB走线电感,一般5-20nH。比如Coss=200pF,Lpar=10nH,Rsnub=sqrt(10e-9/200e-12)=7Ω,Csnub=600pF。实际选Rsnub=10Ω,Csnub=1nF。
但RC吸收电路会额外增加损耗,所以优先优化PCB布局减小Lpar,实在压不住再用吸收。
5. PCB布局:Class D功率级的生死线
5.1 功率回路的最小化原则
Class D功率级的PCB布局,核心原则只有一条:功率回路面积最小。功率回路包括:电源电容→高侧MOSFET→低侧MOSFET→地→电源电容。这个回路里的电流是脉冲电流,di/dt极高,回路面积越大,寄生电感越大,开关节点振铃越严重。
我一般把电源电容(陶瓷+电解)紧贴MOSFET放置,陶瓷电容距离MOSFET的D-S引脚不超过5mm。电解电容可以稍远,但也要在同一个铜皮上。功率回路的走线用铺铜,不要用细线。
半桥的功率回路相对简单,全桥有两个半桥,每个半桥的功率回路要独立最小化。两个半桥之间的负载走线可以稍长,但也要尽量短。
5.2 栅极驱动回路的隔离与屏蔽
栅极驱动回路是另一个关键。驱动IC到MOSFET栅极的走线要短而粗,一般不超过20mm,线宽至少0.5mm。驱动回路的返回路径(源极)要和栅极走线平行,形成最小回路。
如果驱动IC和MOSFET距离较远,栅极走线要用地线包围屏蔽,防止开关节点的高dv/dt耦合到栅极。我试过用双绞线连接驱动板和功率板,效果比排线好很多。
还有一个细节:驱动IC的电源去耦。驱动IC的VCC引脚要就近放100nF和10μF电容,100nF用X7R陶瓷,10μF用钽电容或陶瓷。去耦电容的接地端要直接连到驱动IC的GND引脚,不要经过过孔。
5.3 散热与铜皮面积的平衡
MOSFET的散热靠铜皮和散热器。铜皮面积越大,散热越好,但寄生电容也越大。开关节点铜皮太大会增加Coss,导致开关损耗上升。所以开关节点铜皮够用就行,不要盲目铺大。
我一般按MOSFET的功耗计算所需铜皮面积。假设每颗MOSFET功耗1.5W,热阻要求结温不超过125°C,环境温度40°C,允许温升85°C。热阻=85/1.5=56.7°C/W。PCB铜皮的热阻约500°C/W per square inch(1oz铜),所以需要约8.8平方英寸的铜皮。这个面积不小,实际用2oz铜可以减半。
如果铜皮面积不够,加散热器。散热器和MOSFET之间用导热垫,热阻约1-2°C/W。但散热器会增加体积和成本,所以优先用铜皮散热。
6. 实测波形分析与问题排查
6.1 开关节点波形的正常与异常特征
正常的开关节点波形应该是干净的方波,上升沿和下降沿有轻微振铃(<10%的Vds),没有明显的电压平台。如果看到以下异常,对应问题:
| 波形特征 | 可能原因 | 解决方法 |
|---|---|---|
| 上升沿振铃>20% | 功率回路寄生电感大 | 减小回路面积,加RC吸收 |
| 下降沿有电压平台 | 死区时间太大,体二极管导通 | 减小死区时间 |
| 上升沿有台阶 | 驱动电流不足,米勒平台长 | 减小Rg,增大驱动电流 |
| 波形顶部塌陷 | 自举电容容量不足 | 增大自举电容 |
| 波形底部有负压尖峰 | 体二极管反向恢复 | 换低trr管子,加RC吸收 |
| 波形抖动 | 驱动信号受干扰 | 屏蔽栅极走线,加负压关断 |
这个表是我自己排查问题时总结的,基本覆盖了90%的异常波形。
6.2 效率不达标的排查步骤
如果实测效率比计算值低5%以上,按以下步骤排查:
- 测开关损耗:用示波器测Vds和Id,积分计算实际开关损耗。如果远大于计算值,说明开关波形有问题。
- 测导通损耗:测MOSFET的壳温,反推导通损耗。如果壳温比预期高,说明Rds(on)偏大或散热不良。
- 测驱动损耗:测驱动IC的供电电流,计算驱动损耗。如果驱动电流异常大,说明栅极振荡或直通。
- 测滤波损耗:测LC滤波器的电感温度,如果电感发热严重,说明电感磁芯损耗大或线径不够。
- 测死区损耗:测体二极管导通时间,如果超过死区时间的50%,说明死区设置不合理。
我遇到过一次效率只有85%的情况,排查发现是自举电容用了Y5V,ESR太大导致上管驱动电压跌落,上管导通不完全,导通损耗翻倍。换成X7R后效率恢复到94%。
6.3 炸管问题的系统化排查
炸管是Class D最头疼的问题。我炸过至少20颗管子,总结出以下排查流程:
- 先查直通:用示波器看上下管Vgs是否有重叠。如果有重叠,查死区时间设置和驱动逻辑。
- 再查过压:测开关节点尖峰是否超过Vds耐压。如果超过,加RC吸收或换更高耐压管子。
- 查过流:测负载电流是否超过设计值。如果超过,查负载是否短路或滤波器是否饱和。
- 查过热:测MOSFET结温是否超过150°C。如果超过,查散热和损耗计算。
- 查驱动:测驱动电压是否在规格范围内。如果偏低,查自举或隔离驱动。
炸管往往是多个因素叠加。我遇到过死区时间设太小+自举电容失效+散热不良,三个问题同时存在,炸了四颗管子才找到全部原因。所以炸管后不要只换管子,要把所有可能因素都查一遍。
提示:炸管后先别急着上电,用万用表测一下驱动IC是否损坏,自举二极管是否击穿,栅极电阻是否烧断。这些外围器件往往比MOSFET先坏。
7. 从原理图到实物的完整检查清单
7.1 上电前的静态检查
在第一次上电前,必须做以下检查:
- 用万用表测电源正负极是否短路。如果短路,查MOSFET是否击穿,电容是否装反。
- 测每个MOSFET的G-S电阻,应该在10kΩ左右(栅极下拉电阻)。如果为0,栅极击穿;如果无穷大,栅极开路。
- 测自举电容两端电阻,应该无穷大。如果有电阻,自举二极管击穿或电容漏电。
- 测驱动IC的VCC对地电阻,应该>1kΩ。如果为0,驱动IC损坏。
- 检查所有电解电容极性是否正确。反接的电解电容上电会炸。
这些检查花不了5分钟,但能避免90%的上电炸机。
7.2 首次上电的限流与观察
首次上电一定要用限流电源,限流值设为额定电流的10%。比如额定电流5A,限流设0.5A。然后:
- 上电,观察电源电流。如果电流立即达到限流值,说明有短路,立即断电排查。
- 如果电流正常(<100mA),用示波器看开关节点波形。应该有正常的PWM方波。
- 逐步增大限流值,同时观察波形和电流。如果波形畸变或电流异常增大,断电排查。
- 加到额定电流后,测效率、测温升、测输出失真。
我一般会先不加负载,只上电看静态电流和波形。静态电流应该在50mA以内(驱动IC和辅助电源的功耗)。如果静态电流>200mA,说明有直通或漏电。
7.3 满载老化的注意事项
满载老化至少跑2小时,观察以下参数:
- MOSFET壳温:不超过100°C(留25°C余量到150°C结温)。
- 电感温度:不超过80°C(磁芯居里温度通常>120°C)。
- 输出失真:用音频分析仪测THD+N,应该<0.1%(Hi-Fi)或<1%(普通应用)。
- 效率:应该稳定在设计值±2%以内。
- 波形:开关节点波形应该无异常振铃或抖动。
老化过程中如果发现参数漂移,立即断电排查。我遇到过老化1小时后效率从94%降到88%,排查发现是电感磁芯饱和,换大一号磁芯后解决。
8. 个人实操心得与几个反直觉的经验
做Class D功率级这么多年,有几个经验是跟教科书反着来的,但实测有效。
第一,死区时间不是越小越好。教科书说死区时间要尽量小以减小体二极管导通损耗,但实测发现,死区时间太小会导致驱动IC的传输延迟差异被放大,批量生产时直通风险大增。我现在的做法是:死区时间设为驱动IC延迟差异的5倍,比如延迟差异10ns,死区设50ns。效率可能低0.5%,但可靠性高很多。
第二,自举电容不是越大越好。自举电容太大,充电时间长,高频时可能充不满。我试过用1μF自举电容,400kHz下上管Vgs只有9V;换成100nF后恢复到11.5V。所以自举电容按Qg_total的3-5倍选就行,别盲目加大。
第三,MOSFET不是越贵越好。我用过某款氮化镓管子,Qg极低,开关损耗很小,但Coss非线性严重,开关节点振铃很难压。后来换回优化过的硅MOSFET,效率只低0.3%,但EMI好过认证。所以选管子要看整体系统,不是单看某个参数。
第四,散热器不是越大越好。散热器太大会增加对地的寄生电容,导致共模EMI变差。我试过用大散热器,辐射EMI超标6dB;换成小散热器加风扇,EMI达标,温度还更低。所以散热要综合考虑热阻和EMI。
最后分享一个调试小技巧:用热成像仪看功率级。上电后热成像仪能一眼看出哪个器件发热异常。我多次靠热成像仪发现栅极电阻发热(栅极振荡)、自举二极管发热(恢复损耗大)、PCB铜皮发热(回路电阻大)。这个工具比万用表高效得多,建议每个做功率电子的都备一个。
功率电路设计没有捷径,每个参数都要算,每个波形都要测,每个问题都要查到根因。但一旦调通,Class D的效率和小体积是线性功放没法比的。希望这篇内容能帮你少炸几颗管子,少打几版板。