做硬件这行,最怕的不是电路不工作,而是电路在小电流调试时一切正常,一上满载,手摸上去烫得不敢碰,然后模拟量漂移、逻辑错乱、保护动作一股脑全来。热设计这个东西,平时不显山不露水,但它就是衡量硬件工程师能不能扛事的硬指标。这篇是这个系列的第三篇,专门把一条主线聊透:芯片到底发热多少、热量从哪里走、结温怎么算、怎么控、怎么测。
这个话题不是给专门做热仿真的人看的,而是给每天都在画板子、调电源、选器件的普通硬件工程师。你不用会Flotherm也能把热设计做对,核心就两件事:把功耗估准,把热路算清。这两件事做扎实了,绝大多数板子的热问题都能在设计阶段消掉,而不是等样机出来再救火。
1. 为什么热设计是硬件工程师的硬门槛
1.1 温度是所有电子器件共同的敌人
电子元器件的失效模式千奇百怪,但背后几乎都能扯到温度。半导体结温每升高一点,漏电流按指数规律往上走,阈值电压漂移,开关速度变慢;电解电容最典型,温度每升高10度,寿命差不多打对折,这就是做电源的人常挂在嘴边的“10度法则”;甚至连焊点都在高温下加速蠕变,时间长了出现微裂纹,表现为“冷焊”“虚焊”之类的间歇性故障。
更麻烦的是,温度问题不像短路、断路那样一测就能定位。它通常是隐性的:今天老化2小时没事,明天环境温度升到45度,系统就开始偶发复位;这个批次芯片扛住了,下个批次换个封装材料,热阻变了,又出幺蛾子。所以我一直觉得,热设计不是“散热片选型”这种单点技术,而是横跨器件选型、原理图设计、PCB布局、结构设计、测试验证的完整可靠性工程。
1.2 为什么很多板子的热问题是被“做出来”的
我见过太多项目,热设计是最后才被想起来的事。原理图阶段没算功耗,layout阶段没留散热铜箔,结构那边随便给个密封铝壳,等样机一测,芯片烫到80多度,才开始着急加散热片。问题是板子都画完了,散热片没地方锁,风扇没地方装,风道被连接器挡住,这时候能做的只有“改版”两个字。
说白了,热设计必须在项目一开始就介入,尤其在原理图阶段就要把每个发热器件的功耗估出来。功耗就是热设计的“账本”,账都算不清,后面加多少散热片都是心理安慰。这也是我这篇文章为什么先说功耗计算,再说结温控制的原因——顺序反了,整个设计就是空中楼阁。
2. 功耗计算:热设计的账本必须算清
2.1 功耗从哪来:三个来源一次说清
芯片发热,本质上就是输入电能和输出电能之间的差值,也就是损耗。具体到一块板子上,发热源主要分三类。
第一类是导通损耗。电流流过MOSFET的导通电阻、电感的DCR、二极管的导通压降,都会产生 I²R 和 V×I 的损耗。这类损耗和负载电流强相关,电流越大,发热越明显。
第二类是开关损耗。MOSFET在开通和关断过程中,电压和电流有一段同时非零的交叠时间,每一个开关周期都消耗一部分能量,乘上开关频率就是功率损耗。频率越高,开关损耗越大,这就是为什么高频DCDC比低频DCDC更难做热设计。
第三类是静态损耗。包括芯片内部的控制电路、基准源、栅极驱动、LDO的自耗电等,这部分功耗相对固定,芯片待机时也存在。
很多新手算功耗只看芯片数据手册上的效率曲线,取一个典型值就算了。这不叫算账,叫猜。真正的做法是先按效率法粗估总量,再按损耗构成拆分到具体器件,这样才能知道热量到底集中在哪个元件上。
2.2 最容易被低估的发热大户:线性稳压器
我带的实习生第一次独立画电源时,在24V输入后面挂了一片LM7805,输出0.5A,问我要不要加散热片。我说你先算算,他算完自己都吓了一跳。
线性稳压器的功耗公式特别简单:
P = (Vin - Vout) × Iout
代入数字: (24 - 5) × 0.5 = 9.5W
TO-220封装的LM7805,不加散热片时结到环境热阻θja大约50°C/W。如果环境温度25°C,结温就是:
Tj = 25 + 9.5 × 50 = 500°C
这数字看着离谱,但数学就是这么残酷。芯片温度早超过保护点了,这也是为什么7805在这种大压差场景下会疯狂热保护。
那加散热片呢?TO-220的结到壳热阻θjc一般5°C/W左右,加上导热硅脂的接触热阻约1°C/W,再配一个2°C/W左右的散热片,总热阻大约8°C/W,结温 = 25 + 9.5 × 8 = 101°C,勉强能压住,但散热片体积已经不小了。所以真正合理的方案不是拼命上散热片,而是直接用DCDC把24V降到5V,让开关电源去承担压差,这才是根治。
2.3 用分项法拆解一颗DCDC的真实功耗
再举一个DCDC的例子,12V转5V,输出3A。如果直接查效率曲线,典型效率大约90%,那损耗大概是:
P_loss = P_out × (1/η - 1) = 15 × (1/0.9 - 1) ≈ 1.67W
总量不到2W,这是效率法的答案。但如果要定位板子上的热点,就得继续往下拆。以一颗常见的同步降压芯片为例,内部两个MOSFET占大头。假设上下管总导通阻抗折算后约0.1Ω,占空比D≈0.42,那么高边导通损耗约 I²×R×D = 9×0.1×0.42 ≈ 0.38W,低边导通损耗约 9×0.1×0.58 ≈ 0.52W。开关损耗按经验粗略估算在0.3W到0.5W之间,取决于开关频率和驱动能力。再加上控制电路静态功耗约0.1W,电感铜阻DCR大约0.4W(如果选到30mΩ的电感,3A损耗就是0.27W,50mΩ就是0.45W),这样一圈拆下来,半导体封装内部大约承担1.3W左右,电感和采样电阻承担0.4W到0.7W。
这1.3W看起来不大,但对一颗QFN封装的DCDC来说,已经足够让结温在高温环境下逼近限值。我见过很多项目,DCDC芯片看着效率很高,但layout没留够散热铜皮,满载老化还是扛不住,问题就出在“总损耗看着小,但封装和PCB配合不好”上。
2.4 算功耗时永远别忘“最坏情况”
做热设计最忌讳只算典型工况,因为热量是累积的,拿平均值设计出来的板子,在最坏条件下必出问题。功耗计算至少要看三个最坏情况。
输入电压最高时,DCDC的占空比变小,有些芯片的高边导通时间变短,开关损耗比例上升,LDO的压差也变大;负载电流最大的时候,所有导通损耗按电流平方增长,这是非线性放大,必须单独算;环境温度最高的时候,器件本身的导通阻抗会升高,MOSFET的Rds(on)在高温下可能比25°C时上升50%以上,功耗随之变大,形成正反馈。
所以我现在做功耗评估,都会在表格里列四列:典型工况、最大负载、最高环境温度、三者叠加。最后一列才是热设计的目标工况,前面的算着玩。
3. 热阻网络:热量和电流其实是同一套逻辑
3.1 热路欧姆定律
热设计最核心的概念,就是热阻。这个术语一看很唬人,其实类比电路就好理解。电流流过电阻产生电压降,这个大家都熟;热量流过“热阻”产生温差,完全是同一套逻辑。
用公式写出来就是:
ΔT = P × Rth
- ΔT:温差,对应电压差,单位°C
- P:热流(功耗),对应电流,单位W
- Rth:热阻,对应电阻,单位°C/W
有了这个类比,热设计里最难啃的“结温计算”就变得很简单了,本质就是解一个由热阻串联组成的网络。
3.2 一条热量走过的完整路径
拿TO-220封装的功率管举例,导热路径是:芯片结 → 封装外壳 → 导热界面材料 → 散热片 → 环境空气。这相当于一串电阻。
厂家数据手册会给你两个关键热阻:结到壳热阻θjc,结到环境热阻θja。θja是封装悬浮在空气中的综合热阻,包含了封装本身的散热,数值一般很大,适合无散热片时估算。真正要做散热设计,得把θjc拆出来用。加上壳到散热片的热阻θcs和散热片到环境的热阻θsa,总热阻就是:
Rth_total = θjc + θcs + θsa
选散热片时,目标就是让θsa足够小。比如我需要总热阻不超过10°C/W,θjc是5°C/W,θcs用硅脂做到1°C/W,那散热片的热阻必须低于4°C/W。有了这个数再去选散热片,一选一个准,不会出现“散热片装很大,芯片还是烫”的情况。
3.3 PCB是隐藏的散热器,别忽略它
很多人以为散热只靠散热片,其实PCB本身就是一个巨大的散热器。铜的导热系数约400W/mK,FR4基材只有0.3W/mK左右,差了一千多倍。所以PCB散热的关键就是铜箔面积和铜箔厚度。
同样一颗SOP-8封装的DCDC,数据手册的θja是在特定面积铜箔下测的,比如35mm×35mm的1oz铜箔,θja大约45°C/W;如果你把铜箔扩到70mm×70mm,θja能降到25°C/W左右。这差距有多大?如果功耗1W,光改layout就能让结温降20°C,比换散热片还划算。
实战中我常用两招增强PCB散热。一是把底层大面积铺铜,并用过孔阵把顶层发热焊盘和底层铜皮连起来,过孔间距0.8到1.2mm,孔径0.3到0.5mm,阵列覆盖芯片散热焊盘区域。二是芯片下方的散热焊盘尽量做大,QFN这类有外露焊盘的封装,散热焊盘必须铺实铜加过孔,千万别只拉一根细线出来,那等于给热量堵路。
4. 结温计算与降额设计:把芯片往安全区里压
4.1 手把手算一遍完整结温
算结温是整个热设计的目标出口。公式就是热路欧姆定律的一种写法:
Tj = Ta + P × Rth_total
拿前面LDO的例子继续。一颗TO-263(D2PAK)封装的LDO,输出5V、输入6V、电流2A,压差1V,功耗P=2W。查数据手册,θjc是3°C/W,散热焊盘用大面积铜箔,θjb(结到PCB)大约8°C/W。如果没加散热片,结温基本取决于PCB散热能力,取θja大概20°C/W(在良好铺铜的情况下)。环境温度55°C的环境里:
Tj = 55 + 2 × 20 = 95°C
这个结温对很多芯片来说已经摸到警戒线了,必须评估功耗能不能降,或者铜箔面积能不能再大。如果还压不住,就得上散热片或者换DCDC方案。
算结温时我还会做一件事,就是反推允许的最大热阻。把额定结温125°C、环境温度55°C、功耗2W代入,允许的θja不能超过 (125 - 55) / 2 = 35°C/W。把这个指标写进设计需求,选型、画板、加散热片的时候就有明确的量化目标,而不是“感觉应该能行”。
4.2 降额设计:别把芯片顶到忍受极限
这里必须强调一个心态问题。数据手册写的结温上限是150°C,不代表你设计到145°C就安全。器件性能在高温下会劣化,EMI特性变差、电源调整率下降、信号完整度受损,而且寿命急剧缩短。工业级元器件虽然标称结温上限125°C,但长期运行的可靠性模型显示,结温每降低10°C,故障率明显下降。
我的个人经验是功耗型器件长期运行结温控制在100°C以内,保守场合85°C以内。这不是浪费性能,而是花钱买可靠性。消费电子如果为了省散热成本,可以适当放宽,但绝不能把长期工作点顶在120°C以上,那是给自己埋雷。
另外要注意“热点”问题。板子上发热的器件不是孤岛,而是互相加热。一颗DCDC旁边再有颗LDO,两股热流叠加,中间区域的温度会比单器件计算值高一截。所以算结温时我会在热点区域额外加5到10°C的温差裕量,再决定要不要调整布局。
4.3 结温控制的四个杠杆
结温高出限值时,可调的无非四个杠杆:降低功耗、降低热阻、降低环境温度、加强散热。
降低功耗是最根本的,比如换效率更高的芯片、优化开关频率、降低工作电压;降低热阻是layout和封装层面的功夫,加大铜箔、加散热片、用好界面材料;降低环境温度靠风道和整机设计,让热风不回流;加强散热则是风扇、热管这些主动手段。我调板子的顺序永远是先砍功耗,再看layout,最后才加风扇,因为风扇是能耗件、噪音源,也是寿命短板。
5. 散热方案选型:别一发热就加散热片
5.1 先判断需要自然散热还是强制风冷
要不要加风扇,先看功率密度。一般的经验是:热量超过10W且机箱狭小,自然散热很难解决,就得考虑风扇。当然这个数字不是绝对,散热面积、开孔位置、海拔高度都影响自然对流效果。
我习惯在方案阶段画一张估算表,把每颗关键器件的功耗、封装热阻、可用散热路径列出来,看整板总功耗在什么量级。如果整板功耗小于3W,一般靠PCB铜箔就能解决;3到10W,大概率需要局部散热片或者大铜皮加过孔;超过10W,就得认真考虑风扇、风道、甚至热管这些主动方案了。
自然散热和强制风冷的本质区别是换热系数。自然对流时散热表面换热系数大约5到10W/m²K,加风扇后可以到25到100W/m²K,提升非常显著。但强制风冷要付出噪音、功耗、可靠性、积灰的代价,所以能用被动方案解决的,不轻易上风扇。
5.2 散热片和导热界面材料:接触热阻最容易翻车
散热片选型看两个参数:形状尺寸和热阻。型材散热片的热阻和体积、翅片面积直接相关,常规经验是自然对流下,散热片体积越大、翅片越密,热阻越低,但翅片太密在自然对流下反而阻碍空气流动,所以自然对流要用大间距翅片,强制风冷可以用密齿。
散热片和器件之间必须填导热界面材料,也就是TIM。常见的有导热硅脂、导热垫、相变材料、焊接几种。硅脂热阻最低,但施工厚度要控制,涂太厚反而成隔热层,我一般用“涂薄薄一层,压上去后能渗到缝隙”的判断标准。导热垫方便但热阻偏高,适合低压力的场合。高功率器件要求低热阻的时候,直接焊接到铜基板或铝基板是最可靠的,但工艺复杂。
还有一个特别容易翻车的点:散热片安装压力。很多散热片是卡扣固定的,如果设计和装配时压力不够,硅脂没挤开,接触面全是空气,热阻奇高。现场排查“芯片烫但散热片凉”的第一个检查项,就是拆下散热片看硅脂痕迹是否均匀。
5.3 风扇选型:不是转速越高越好
风扇选型最容易被误导,只看最大风量或者转速,这是不对的。真正决定散热效果的是风扇在系统里实际能打出多少风量。风扇有个特性曲线,风压随风量增加而下降;机箱和散热片也有个阻力曲线,风量越大阻力越大。两条曲线的交点,才是实际工作点。
理论上同样风量的风扇,一个高风压低风量,一个低风压大风量,放进同一个箱子里效果天差地别。风道设计比风扇本身更关键,进风口、出风口、散热片的放置方向要顺着气流走,不要让风扇对着一个被遮挡的风道猛吹。
风扇控制我也建议做成PWM调速,低温低速、高温高速。这样既省电又能压低噪音,还能延长风扇寿命。但PWM频率不能太低,否则能听到“哒哒”的开关声,一般20kHz以上比较合适。另外要留转速反馈信号给系统做监控,风扇卡死是很多设备的“无形杀手”,不报警的话系统会在过热中慢慢死掉。
5.4 热管和均温板:高功率密度才值得上
热管和均温板的核心价值是“把热量搬到别处散”。当散热位置空间受限、发热源和散热区域离得比较远的时候,热管能起到热量搬运的作用,等效导热系数比铜高几十倍。均温板适合高功率密度的局部热源,比如一个指甲盖大小的芯片产生几十瓦热,普通铜板扩散不开,均温板把热摊平后再接散热片,效果立竿见影。
但这两样东西不是常规板子的首选,成本高、结构复杂、装配难度大。我做设计时只有遇到“散不掉又挪不开”的场景才考虑,大多数板子优化好PCB和散热片,问题已经解决了七七八八。
6. 实测验证与问题排查:数据比感觉可靠
6.1 热电偶、热像仪和结温反推
做好热设计之后必须实测验证,但实测有实测的门道。
热电偶测温便宜、准确,但测的是点温。贴热电偶的位置很重要,想测壳温就贴封装表面中央,想测环境温度就悬空在板子上方,别贴着热源。热电偶本身会导热,细一点的线、贴好后用胶固定,可以减少引线把热量带走带来的测量误差。
热像仪能看到整个板子的温度场分布,能快速找到热点。但发射率的设置很关键,裸露的铝散热片发射率很低,拍出来温度虚低,要贴高温胶带或者涂黑处理。铜箔、陶瓷封装、黑色塑封的发射率也不同,用之前最好用热电偶校准一下。
当封装上表面能测到温度,但想估结温怎么办?可以用“表面温度 + 功耗 × 结到表面的热阻”来反推。很多数据手册会给θjt或者结到顶部的热特性参数,测量顶面温度Tc,那么:
Tj ≈ Tc + P × θjt
这个反推值虽然没有直接测结温准,但足够帮你判断离极限还有多远。也有更精确的做法是把封装外的引脚Vf或Vbe当作温度传感器,在恒流小电流下测PN结压降随温度的变化,先做一个温度标定,再测在线压降反推结温。这个方法要细心标定,但结果非常接近真实结温。
6.2 热故障排查:六个场景一次讲透
我做过的项目里,热相关的故障翻来覆去就那几种,但每种背后原因都不一样。
如果芯片发烫但散热片是凉的,九成是TIM没贴好或者安装压力不够,拆下来重新涂硅脂,八成能解决。如果散热片本身已经很热,芯片还是超温,说明散热片热阻不够或者风道不畅,换更大散热片或者改善风道方向。如果有风扇但效果反而更差,先看风道是不是短路了,风扇离散热片太远或者进气口被堵,气流根本没经过散热面。
还有一种隐蔽的情况是老化测试后性能漂移。芯片刚开机时正常,跑几十分钟后电源效率下降、输出纹波变大,这种通常是内部结温过高触发了芯片的过温降额保护,或者周边的电解电容在高温下容量衰减。这时候热像仪一扫,基本能定位出高温区。还有一种“上电瞬间就死”的情况,多半是热应力造成焊点开裂,特别是在功率管和PCB热膨胀系数不匹配的场合,需要检查焊盘设计和引脚应力释放。
6.3 layout阶段做热设计的三条建议
热设计要落到layout上,有三条建议特别想分享。
第一,发热器件不要扎堆。功率管、电感、DCDC芯片尽量分散布置,让热量在整板均匀分布,别在板上制造一个“火炉”。第二,散热铜箔要和功率走线一样认真对待。散热焊盘直接连大片铜皮,多打热过孔,底层给完整的地平面散热。第三,给关键发热器件留出独立的散热区,不要在它正上方放电解电容,否则电容首当其冲被烤。
这三条做起来都不难,难的是在设计阶段就想起来。
7. 做热设计这几年,我最深的体会
热设计没有玄学,也不需要多高深的理论,就是把功耗算准、把热路捋直、把数值算出来,然后决定怎么散。真正让我在项目里避免被“烫”到的,不是某个高端散热方案,而是从一开始就把散热当成和原理图、layout同等重要的设计维度。
这几年的习惯是每一版原理图评审前,我都会自己做一张功耗表,把每颗芯片损耗、允许结温、所需热阻列出来,评审的时候直接给大家看。很多问题在原理图阶段就被拍回去了,省下来的改版时间,比什么都值钱。希望这篇能把热设计这条线讲清楚,下次你拿到一颗新芯片,先别急着画原理图,把它的功耗算明白再说。