元器件热模型:从电阻到IC,把发热算清楚

做热仿真,最核心的一步是什么?我个人觉得,是把每个元器件的发热行为,用一个数学公式或等效电路“翻译”出来。这个翻译结果,就是热模型。

你想想看,一个电阻通电后为什么发热?因为焦耳定律。一个MOS管为什么烫?因为导通电阻和开关损耗。但仿真软件不认识物理定律,它只认识电压、电流、温度这些节点量。所以,我们需要把热路变成电路——热阻对应电阻,热容对应电容,功耗对应电流源。这就是热模型的基本思路。

这一章,我带你看看三种最常用的元器件热模型:电阻、晶体管、IC。顺便聊聊参数怎么提取。嗯,都是实战中绕不开的东西。

元器件热模型知识体系 元器件热模型知识体系 元器件热模型 电阻热模型 晶体管热模型 IC热模型 焦耳定律 RC热网络 导通损耗 开关损耗 多热源 封装热阻 参数提取方法 数据手册查表 瞬态热测试 有限元拟合 经验公式估算 热模型 = 电热类比 热阻↔电阻,热容↔电容

2.1 电阻热模型:最简单的开始

电阻的热模型,是所有热模型里最直观的。说白了,就是一个热源(功耗)加上一个RC低通网络。功耗怎么算?P = I²R,这个大家都熟。

但实际项目中,电阻的发热没那么简单。我记得有一次做电源模块,用了几个1206封装的采样电阻,按静态电流算功耗才0.1W,结果一上电烫得手都不敢碰。后来一查,是脉冲电流峰值远高于平均值,电阻的瞬态温升被忽略了。

所以,电阻热模型至少需要两个参数:

  • 热阻 Rth:单位是℃/W,表示每消耗1W功率,电阻本体温度上升多少度。
  • 热容 Cth:单位是J/℃,表示电阻储存热量的能力,决定了温度变化的快慢。

在Multisim里,电阻热模型通常用一个电流源(代表功耗)驱动一个并联RC网络来实现。嗯,代码层面其实很简单:

// 电阻热模型等效电路(SPICE网表片段)
Rth_R  node_Tj node_Tamb 100  ; 热阻100℃/W
Cth_R  node_Tj 0 1e-3        ; 热容1mJ/℃
I_PWR  node_Tj 0 DC 0.1      ; 功耗0.1W(由I²R计算得出)
小技巧: 电阻的热容通常很小(毫焦级别),所以温度变化很快。如果你仿真发现温度瞬间跳变,别慌,那是热容太小导致的数值现象。可以适当增大Cth值(比如10倍)来改善收敛性,只要保证热时间常数Rth·Cth在合理范围就行。

2.2 晶体管热模型:MOS管和BJT的发热差异

晶体管的热模型比电阻复杂一些。为什么?因为晶体管的功耗不是固定的,它随工作状态变化。MOS管和BJT的发热机理完全不同。

MOS管的发热主要来自导通电阻RDS(on)和开关损耗。导通损耗好算:Pcond = I²·RDS(on)。开关损耗就麻烦点,跟栅极驱动、米勒平台、开关频率都有关系。我见过一个工程师,把MOS管的开关损耗按导通损耗的10%估算,结果板子跑60℃时直接炸管——开关频率高了,开关损耗占比能到40%以上。

BJT的发热则主要来自VCE(sat)·IC和基极电流。BJT还有个麻烦事——负温度系数。温度升高,VBE下降,基极电流增大,集电极电流更大,温度更高……这就是热失控。所以BJT的热模型里,必须包含一个正反馈环路。

晶体管热模型的标准做法是:

  1. 把功耗计算出来(用受控源或公式)
  2. 驱动一个Cauer网络或Foster网络(两种热网络结构)
  3. 把结温反馈回电学模型(修正RDS(on)或VBE)

关键点: 晶体管热模型必须包含“电-热耦合”。没有这个耦合,你仿出来的温度就是开环的,不准。我习惯在仿真里加一个电压源,数值等于结温,然后通过查表或公式修正电学参数。

2.3 IC热模型:多热源与封装效应

IC的热模型,是这三类里最头疼的。一个芯片里可能有CPU核心、GPU、内存控制器、I/O接口……每个模块都是独立的热源。而且封装本身也有热阻,从芯片结到外壳、从外壳到环境,路径还不止一条。

IC热模型通常分两级:

  • 芯片级(Die-level):每个功能模块一个热源,通过硅衬底相互耦合。硅的导热性不错,但模块间距小,热串扰严重。
  • 封装级(Package-level):考虑封装材料(环氧树脂、铜框架、焊球)的热阻。封装热阻通常用θJA(结到环境)和θJC(结到外壳)表示。

举个例子,一个FPGA芯片,内部逻辑功耗5W,收发器功耗3W,总功耗8W。如果θJA=10℃/W,那结温就是环境温度+80℃。但实际因为热耦合,逻辑区的温度可能比收发器区高15℃——这就是多热源模型的必要性。

注意: IC数据手册里给的θJA通常是在标准PCB和自然对流条件下测的。你的板子如果风道不好、或者PCB铜层少,实际热阻可能比手册值大30%~50%。我曾经在一个项目里直接用了手册的θJA,结果样机测试结温比仿真高了20℃……从那以后,我拿到新芯片第一件事就是看应用笔记里的“热设计指南”部分。

2.4 热模型参数提取方法

参数从哪来?四个途径:

方法 精度 成本 适用场景
数据手册查表 低~中 免费 初步评估、方案选型
瞬态热测试 高 中(设备+时间) 样机验证、模型校准
有限元仿真拟合 高 高(软件+算力) 复杂封装、多热源IC
经验公式估算 低 免费 快速估算、没有数据时

我个人最推荐的方法是“数据手册+瞬态测试校准”。先用手册值搭一个初始模型,然后做个简单的温升测试(比如用热电偶测外壳温度),反推实际热阻。这样既快又准。

提取热阻的具体步骤:

  1. 给器件施加已知功耗(比如恒流源加热)
  2. 记录稳态温升ΔT
  3. 计算Rth = ΔT / P
  4. 记录温升曲线的时间常数τ
  5. 计算Cth = τ / Rth
避坑指南: 我曾经用热电偶直接贴在MOS管表面测温度,结果读数比实际结温低了20℃——因为热电偶本身会散热。后来改用红外热像仪,或者把热电偶用导热胶粘在封装底部,才得到准确数据。记住:测的是封装表面温度,不是结温。结温需要根据功耗和θJC反推。