1. 从“能响”到“好听”:Class D功率级设计的深水区
搞了十几年音频硬件,我越来越觉得Class D功放的设计像做菜——前级调制是切菜备料,谁都能上手;但功率级设计才是真正下锅爆炒,火候差一点,出来的东西要么夹生要么焦糊。很多人做Class D,前几版照着芯片手册抄,能出声、效率也高,就觉得大功告成。可一旦把耳朵凑近,或者拿AP测一下THD+N,问题就全暴露了:高频发毛、底噪偏高、大动态时声音发紧、死区时间没调好导致效率骤降。这些毛病,十有八九都出在功率电路这一级。
这篇是Class D功率电路设计系列的第六篇,前面几篇我们聊了调制器、栅极驱动、死区控制这些话题,这次把焦点完全对准功率级本身——MOSFET怎么选、输出滤波器怎么算、PCB布局怎么摆、散热怎么处理。这些内容直接决定了一台Class D功放能不能从“能响”跨到“好听”这个门槛。适合已经做过一两版Class D、想进一步压榨性能的硬件工程师,也适合刚入行、想少走弯路的电源与音频方向的朋友。我会把选型逻辑、计算过程、实测踩坑都摊开讲,你照着抄作业也行,理解背后的道理再自己改也行。
2. 功率级拓扑选型:半桥还是全桥,这不是拍脑袋决定的
2.1 半桥与全桥的适用边界
Class D功率级最基础的两种结构就是半桥和全桥。半桥用两个MOSFET组成一个桥臂,输出经过LC滤波后驱动负载,通常需要双电源或者单电源加隔直电容。全桥则是两个半桥组成H桥,负载跨接在两个桥臂中点之间。很多人一上来就问“哪个更好”,这问题本身就不对——没有绝对的好坏,只有适不适合你的应用场景。
半桥的优势在于元件少、驱动简单、成本低,适合输出功率在50W以内、供电电压不高的场合,比如便携蓝牙音箱、小功率有源音箱。但半桥有个硬伤:单电源供电时输出端会有半个电源电压的直流偏置,必须用大容量隔直电容。这个电容不仅体积大、成本高,还会引入低频失真——电容的容值随频率和偏压变化,低频段THD会明显恶化。我实测过,同样一颗1000uF的电解电容,在50Hz处的等效容值可能只有标称值的60%到70%,这对低频响应是实打实的伤害。
全桥结构用四个MOSFET,负载直接跨接,不需要隔直电容,低频响应平坦,而且同等供电电压下输出摆幅是半桥的两倍,也就是功率理论上可以做到四倍。代价是元件翻倍、驱动复杂度上升、需要更仔细地处理上下管的死区和直通问题。我的经验是:输出功率超过30W、或者对低频失真要求严格、或者供电电压受限需要更大摆幅时,直接上全桥,别在半桥上纠结。
2.2 为什么BTL全桥成为主流选择
现在市面上中高功率的Class D方案,绝大多数都是BTL全桥结构。原因很直接:单电源供电下,BTL能提供最大的输出摆幅,而且不需要隔直电容,整个音频频段的阻抗特性一致。以24V供电为例,半桥单电源理论最大输出摆幅是24V峰峰值,但实际受限于隔直电容和滤波网络,有效值功率在8Ω负载上大概只有十几瓦;而BTL全桥的理论最大摆幅是48V峰峰值,8Ω负载上可以做到接近30W的有效值功率,差距非常明显。
BTL还有一个隐性优势:偶次谐波失真会相互抵消。因为负载两端是反相驱动的,偶次失真分量在负载上同相叠加后反而抵消掉了,所以BTL的THD通常比半桥低一个档次。这也是为什么高端Class D功放清一色用BTL的原因之一。
不过BTL也不是没有代价。四个MOSFET的导通电阻会串联在输出路径上,每个半桥的导通损耗都会叠加。而且BTL的EMI辐射比半桥更复杂,因为两个桥臂的开关节点都在高频切换,辐射方向更多。所以在PCB布局和滤波设计上要更下功夫,这部分后面会详细讲。
2.3 多电平拓扑的取舍
除了半桥和全桥,还有一些多电平拓扑,比如三电平、五电平结构。这些拓扑的好处是开关节点电压跳变幅度减小,EMI和开关损耗都会降低,THD也能改善。但代价是元件数量成倍增加,驱动时序更复杂,死区控制难度直线上升。我个人的看法是:除非你做的是几百瓦以上的专业音频或者对EMI有极端要求的场合,否则多电平拓扑的性价比不高。对于大多数消费级和准专业级应用,优化好的BTL全桥已经足够。
3. MOSFET选型:不是导通电阻越低越好
3.1 关键参数解读与权衡
选功率MOSFET,很多人第一眼就看导通电阻Rds(on),觉得越低越好。这个思路对了一半,但另一半可能让你掉坑里。Rds(on)确实决定导通损耗,但Class D功放里开关损耗往往才是大头,尤其是在高频开关下。开关损耗跟栅极电荷Qg、输出电容Coss、反向恢复电荷Qrr这些参数直接相关。你选一个Rds(on)极低但Qg巨大的管子,开关损耗可能把省下来的导通损耗全吃回去还倒贴。
我一般会按这个优先级来筛选:首先看耐压Vds,要留至少20%的余量,比如24V供电的BTL,开关节点电压最高到48V,加上振铃尖峰可能到60V,所以Vds至少选75V或者80V的管子。然后看Qg和Coss,这两个决定了驱动损耗和开关损耗。最后才看Rds(on),在Qg和Coss可接受的范围内选尽量低的。
有一个经验公式可以快速估算开关损耗:Psw ≈ 0.5 × Vds × Id × (tr + tf) × fsw。其中tr和tf是上升和下降时间,跟Qg和驱动电流有关。比如Vds=48V,Id=3A,tr+tf=20ns,fsw=400kHz,那么Psw ≈ 0.5 × 48 × 3 × 20e-9 × 400e3 = 0.576W。这还只是一个管子的开关损耗,四个管子加起来就超过2W了。所以高频开关下,开关损耗绝对不能忽略。
3.2 不同功率段的选型建议
小功率段(10W到30W),我通常选SOP-8或者DFN封装的小管子,Qg在10nC以内,Rds(on)在20mΩ到50mΩ之间。这个功率段电流不大,导通损耗占比低,重点是把Qg压下来,让开关损耗和驱动损耗尽量小。比如TI的CSD17573Q5B,30V耐压,Qg只有5.6nC,Rds(on)约8mΩ,非常适合小功率BTL。
中功率段(30W到100W),开始要兼顾导通损耗和开关损耗。这个功率段电流可能到5A以上,Rds(on)的影响开始显现。我一般选Qg在20nC到50nC之间、Rds(on)在10mΩ到20mΩ的管子,封装用PowerPAK或者TO-252。英飞凌的IPP系列或者安森美的NVMFS系列都有不少合适的选择。
大功率段(100W以上),导通损耗成为主要矛盾,Rds(on)要压到10mΩ以下,同时Qg也不能太离谱。这个功率段往往需要并联管子来分流,但并联会带来均流问题,栅极驱动也要重新设计。我个人的经验是:与其并联一堆小管子,不如选一颗大电流的管子,比如TO-247或者TO-220封装的,Rds(on)在5mΩ左右,Qg控制在100nC以内。这样驱动简单,均流问题也避免了。
3.3 体二极管与死区时间的关系
MOSFET的体二极管在Class D里扮演着续流角色,死区时间内负载电流会通过体二极管续流。体二极管的反向恢复特性直接影响死区损耗和EMI。如果体二极管的Qrr大,反向恢复时会产生电流尖峰和振铃,不仅增加损耗,还会辐射EMI。所以选管子时一定要看体二极管的反向恢复电荷Qrr,越小越好。
死区时间的设置跟体二极管也密切相关。死区太短,上下管直通风险大;死区太长,体二极管续流时间增加,损耗和EMI都会恶化。我一般会把死区设在20ns到50ns之间,具体值要根据管子的开关速度和体二极管特性来调。实测时用示波器看开关节点波形,如果看到明显的体二极管导通平台,说明死区太长了;如果看到直通尖峰,说明死区太短。这个调试过程后面会详细讲。
4. 输出滤波器设计:不是随便凑个LC就完事
4.1 截止频率与滤波阶数的选择
Class D的输出滤波器是一个LC低通滤波器,目的是把开关频率及其谐波滤掉,只留下音频信号。截止频率的选择很关键:太低会衰减高频音频信号,太高则滤波效果不够,开关残余会进入负载。一般来说,截止频率设在开关频率的十分之一到五分之一之间比较合适。比如开关频率是400kHz,截止频率设在40kHz到80kHz之间。
滤波阶数方面,一阶LC是最简单的,但滚降斜率只有-20dB/十倍频,对开关谐波的抑制不够。二阶LC滚降斜率-40dB/十倍频,是大多数Class D功放的选择。三阶以上虽然滤波效果更好,但相位裕度下降,容易引起振荡,调试难度大。我个人的经验是:除非对EMI有极端要求,否则二阶LC足够。
截止频率的计算公式是f_c = 1 / (2π√(LC))。比如要截止频率40kHz,选L=10uH,那么C = 1 / (4π² × f_c² × L) = 1 / (4 × 9.87 × 1.6e9 × 10e-6) ≈ 1.58uF。实际选值要留一定余量,因为电感的感值随电流变化,电容的容值随频率和偏压变化。
4.2 电感选型:磁芯材料与饱和电流
输出滤波电感是Class D功率级里最关键的元件之一。电感选不好,轻则THD恶化,重则饱和导致炸管。选电感主要看三个参数:感值、饱和电流、直流电阻。
感值根据截止频率计算,但要注意电感的感值随电流上升会下降。铁氧体磁芯的电感在接近饱和时感值会急剧下降,导致截止频率上移,滤波效果变差。所以选电感时,饱和电流要留至少30%的余量。比如最大输出电流是5A,那么电感的饱和电流至少选6.5A以上。
磁芯材料方面,铁氧体成本低、高频损耗小,但饱和磁通密度低,体积大。铁粉芯饱和磁通密度高,但高频损耗大。合金粉芯比如Sendust或者MPP,饱和磁通密度高、高频损耗也低,但成本高。我一般在中低功率用铁氧体,大功率用合金粉芯。具体选型时,还要看电感的直流电阻,DCR太大会增加输出损耗,降低效率。一般DCR要控制在50mΩ以内。
4.3 电容选型:材质与并联策略
输出滤波电容要选高频特性好的材质,比如聚丙烯薄膜电容或者C0G陶瓷电容。电解电容的等效串联电阻ESR大,高频滤波效果差,而且容值随频率和偏压变化大,不适合做输出滤波。我一般用薄膜电容做主滤波,再并联小容量陶瓷电容滤高频。
电容的容值也要注意偏压特性。C0G陶瓷电容的容值随偏压变化很小,但容值做不大,一般用于高频旁路。薄膜电容的容值稳定,但体积大、成本高。实际设计中,我通常用一颗几微法的薄膜电容并联几颗0.1uF的C0G陶瓷电容,兼顾低频和高频滤波。
还有一个细节:电容的额定电压要留足余量。BTL输出端的电压摆幅是电源电压的两倍,比如24V供电,输出端电压摆幅到48V峰峰值,所以电容额定电压至少选100V以上。如果选50V的电容,虽然标称够用,但偏压特性会导致容值大幅下降,滤波效果打折扣。
5. PCB布局与散热:细节决定成败
5.1 功率回路的布局原则
Class D功率级的PCB布局,核心原则是:功率回路面积最小化。功率回路包括电源电容、上下管MOSFET、输出滤波电感和负载。这个回路里的电流是高频脉冲,回路面积越大,辐射的EMI越强,同时寄生电感也越大,导致开关节点振铃加剧。
我的布局习惯是:把上下管MOSFET紧挨着放,电源电容紧贴MOSFET的漏极和源极,输出电感和电容紧靠MOSFET的输出端。整个功率回路的面积控制在1平方厘米以内。走线要短而粗,能铺铜就铺铜,减少寄生电感。
栅极驱动回路的布局同样重要。栅极驱动电流虽然不大,但开关瞬间的di/dt很高,驱动回路的寄生电感会导致栅极电压振铃,严重时可能误导通。所以驱动芯片要尽量靠近MOSFET的栅极,驱动走线要短,回路面积也要小。
5.2 散热设计与热仿真
Class D功放的效率虽然高,但功率级还是有损耗的,主要是导通损耗和开关损耗。这些损耗最终变成热量,如果散热不好,MOSFET结温升高,Rds(on)增大,损耗进一步增加,形成正反馈,严重时热失控炸管。
散热设计的第一步是估算总损耗。导通损耗Pcond = Iout² × Rds(on) × D,其中D是占空比。开关损耗前面已经给了估算公式。把四个管子的损耗加起来,就是功率级的总损耗。然后根据热阻参数计算结温:Tj = Ta + Ptotal × (Rθjc + Rθcs + Rθsa)。Ta是环境温度,Rθjc是结到壳的热阻,Rθcs是壳到散热器的热阻,Rθsa是散热器到环境的热阻。
我一般会把结温控制在125°C以下,留至少25°C的余量。如果计算下来结温接近或超过125°C,就要加散热器或者换更低损耗的管子。散热器的选型根据Rθsa来定,自然对流下Rθsa一般在10°C/W到50°C/W之间,强制风冷可以做到5°C/W以下。
5.3 接地与屏蔽策略
Class D功放的接地是个老大难问题。功率地和信号地必须分开,最后在一点连接。功率地上的高频脉冲电流会在接地阻抗上产生压降,如果信号地也走这条路径,就会引入噪声,导致底噪升高甚至自激。
我的做法是:功率级的所有接地走线单独走一层或者一个区域,信号级的接地走另一个区域,最后在电源输入电容的接地端单点连接。输出滤波电容的接地也要单独走,不要跟信号地混在一起。
屏蔽方面,如果EMI测试不过,可以在功率级上方加一块屏蔽罩,或者把电感换成屏蔽电感。屏蔽电感虽然贵一点,但辐射EMI能降低10dB以上,很多时候能省掉屏蔽罩的成本。
6. 实测调试与常见问题排查
6.1 上电前的静态检查
第一次上电前,一定要做静态检查。用万用表测电源输入端和输出端的阻抗,确认没有短路。测上下管MOSFET的栅极和源极之间的阻抗,确认没有击穿。测输出滤波电感和电容的连接,确认没有虚焊。
我还会用示波器看栅极驱动波形,确认驱动芯片输出正常,死区时间符合设计值。这一步很关键,很多炸管事故都是因为驱动异常导致的直通。如果条件允许,先用低压电源上电,比如12V,观察静态电流和输出中点电压,确认没有异常再上全压。
6.2 关键波形观测与死区调整
上电后,用示波器看几个关键波形:开关节点电压波形、输出滤波后的音频波形、栅极驱动波形。开关节点波形要看振铃幅度和频率,振铃太大说明寄生电感或电容太大,需要优化布局或者加RC吸收电路。输出波形要看THD和底噪,如果THD高,可能是死区时间不合适或者滤波器截止频率太低。
死区调整是个细致活。我的方法是:先把死区设大一点,比如100ns,然后逐步减小,同时观察开关节点波形和静态电流。当死区减小到某个值时,静态电流会突然上升,说明出现了直通,这时候把死区往回加一点,留20%的余量。实测下来,大多数管子在30ns到50ns之间能找到最佳死区。
6.3 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 静态电流大 | 死区太短导致直通 | 看开关节点波形有无直通尖峰 | 增大死区时间 |
| THD高 | 滤波器截止频率太低 | 测输出频响曲线 | 增大截止频率或降低滤波阶数 |
| 高频发毛 | 开关残余进入负载 | 看输出波形有无开关频率分量 | 优化滤波器或提高开关频率 |
| 底噪高 | 接地不当或驱动回路干扰 | 分开功率地和信号地 | 单点接地,优化驱动布局 |
| 效率低 | 开关损耗大或导通损耗大 | 测管子温升和开关波形 | 换低Qg或低Rds(on)的管子 |
| 炸管 | 直通或过压 | 查驱动波形和开关节点尖峰 | 增大死区,加吸收电路,换高耐压管子 |
6.4 独家避坑经验
第一个坑:输出滤波电感的饱和电流不够。我早期做的一款功放,电感选的是饱和电流5A的,但实际最大输出电流到6A,结果大动态时电感饱和,感值骤降,开关残余直接进入负载,高音单元当场烧掉。后来换了饱和电流8A的电感,问题解决。所以电感饱和电流一定要留足余量,至少30%以上。
第二个坑:栅极驱动电阻太小。为了加快开关速度,我把栅极电阻从10Ω降到2Ω,结果开关节点振铃严重,EMI测试超标,而且管子温升反而更高,因为振铃导致额外的损耗。后来把栅极电阻调回5Ω,振铃明显减小,EMI也过了。所以开关速度不是越快越好,要跟布局和EMI折中。
第三个坑:散热器接地。有一次我把散热器直接接地,结果输出底噪明显升高。后来发现散热器跟MOSFET的漏极之间有寄生电容,散热器接地后这个电容把开关噪声耦合到了地线上。解决办法是散热器不接地,或者用绝缘垫片隔离。这个细节很多设计手册里不会写,但实际调试中经常遇到。
7. 从设计到量产:一致性与可靠性考量
7.1 元件容差与批量一致性
实验室里调好的参数,到了量产可能就变了。元件的容差是主要原因:电感的感值±20%,电容的容值±10%,MOSFET的Rds(on)±15%,这些容差叠加起来,可能导致截止频率偏移、死区时间变化、效率波动。所以设计时要留足余量,不能卡着临界值选元件。
我的做法是:截止频率的设计值比目标值高20%,这样即使电感和电容都偏下限,截止频率也不会太低。死区时间的设计值比实测最佳值大20%,这样即使管子开关速度有差异,也不会出现直通。Rds(on)按最大值计算损耗,这样即使批量管子偏上限,散热也够用。
7.2 保护电路的必要性
Class D功放如果没有保护电路,一旦出问题就是炸管烧喇叭。最基本的保护包括:过流保护、过温保护、直流保护。过流保护可以用采样电阻加比较器实现,当过流时关断驱动信号。过温保护用NTC热敏电阻贴在MOSFET附近,温度超过阈值时降低输出功率或者关断。直流保护检测输出端是否有直流偏置,如果有就断开负载,保护喇叭。
这些保护电路虽然增加成本,但能大幅降低售后故障率。我个人的经验是:保护电路的成本占整机成本的5%到10%,但能减少80%以上的售后问题,非常值得。
7.3 老化测试与可靠性验证
量产前一定要做老化测试。我一般会抽10%的样品,在满载条件下连续跑48小时,监测温度、效率、THD的变化。如果发现某个样品温升异常或者参数漂移,就要排查是元件问题还是设计问题。老化测试能暴露很多实验室里发现不了的问题,比如焊点虚焊、电容老化、电感磁芯损耗增大等。
可靠性验证还包括温度循环测试和振动测试。温度循环从-20°C到70°C,循环50次,看焊点和元件有没有开裂。振动测试模拟运输和使用中的振动,看有没有元件松动。这些测试虽然费时费力,但能避免批量事故。
8. 个人实操体会
做Class D功率级设计这些年,我最大的体会是:理论计算是基础,但实测调试才是关键。很多问题在仿真里看不出来,比如PCB寄生参数的影响、元件非线性、散热实际效果,这些都要在实测中才能发现。所以我的习惯是:先按理论算一版,打样回来实测,根据实测结果调整参数,再打样再实测,迭代两到三轮才能定型。
另一个体会是:不要迷信芯片手册的参考设计。参考设计通常是针对特定条件和特定负载优化的,换一个应用场景可能就不适用了。比如芯片手册推荐的电感值,在你的开关频率和负载下可能不是最优的。所以参考设计只能作为起点,最终参数要根据自己的实测来定。
最后分享一个小技巧:调试时用近场探头配合频谱仪看EMI辐射,能快速定位辐射源。如果某个频点的辐射特别强,通常是某个回路的寄生参数谐振导致的,针对性地优化布局或者加吸收电路就能解决。这个方法比盲目加屏蔽罩有效得多,也省成本。