
这个系列写到现在前面几篇陆续聊过器件选型阶段的散热评估也聊过PCB布局里的热通道处理。今天这篇继续往深里走一层把从功耗计算到结温控制的整条链路完整串一遍。说句实话很多硬件工程师对热设计的理解停留在“芯片烫了就加散热片”的层面但真到项目评审时被问到“这颗芯片在60度环境温度下的结温是多少”能立刻答上来的人并不多。功耗计算是一切热设计的地基结温控制则是最终目的。这两个环节只要有其中一个估算错误后面所有仿真、散热器选型、风道设计全是白忙活。这篇内容适合刚入门做硬件设计的新人也适合做了几年但一直靠“经验加感觉”做热设计的工程师——对照着梳理一遍自己的设计方法看看有没有漏掉关键环节。1. 热设计的第一步功耗计算这一关过不了后面全是空中楼阁1.1 三类典型功耗来源的工程估算方法热设计本质上回答一个问题器件到底产生了多少热。发热量算不准后面所有热阻、温升、散热器计算都建立在沙子上。从工程角度看板上的功耗来源主要有三类每一类的估算逻辑都不一样。第一类是线性器件典型代表就是LDO低压差线性稳压器。这类器件的功耗估算最简单直接输入输出压差乘以负载电流。比如一颗LDO从5V降到3.3V负载电流是0.5A那它的功耗就是(5 - 3.3) × 0.5 0.85W。所有没转化成输出的能量都会以热量形式耗散在器件内部。这类芯片的发热和负载电流是线性关系工况清晰时几乎不会算错。第二类是开关器件包括DC-DC转换器、功率MOSFET、IGBT等。这类器件的功耗不是一个简单公式能全覆盖的需要拆成导通损耗和开关损耗两部分。导通损耗是电流流过导通电阻产生的损耗用I² × R_ds(on)来估算MOSFET和电感走线都会有这一块。开关损耗则来自开关动作瞬间电压电流交叠产生的热量开关频率越高损耗越大。第三类是数字芯片包括MCU、CPU、FPGA、DDR等。数字芯片的功耗又分成动态功耗和静态功耗。动态功耗和翻转率、负载电容、电压平方、时钟频率相关公式是P α × C × V² × f其中α是信号翻转率C是负载电容。静态功耗则是漏电流造成的在先进制程下越来越不能忽略。在实际项目中数字芯片的功耗估算通常不是自己去算公式而是看数据手册里的功耗参数或者参考厂商提供的功耗评估工具。1.2 数据手册里的功耗参数怎么看做功耗计算时最要命的问题往往不是公式不会而是数据手册里的参数看不透。芯片数据手册里常见的功耗相关参数有I_q静态电流、R_ds(on)、效率曲线等。看的时候要格外注意测试条件。以DC-DC的效率曲线为例很多芯片标称效率高达95%但那是特定的输入输出条件测出来的比如输入12V输出5V负载电流2A的时候测得的峰值效率。你的实际工作点如果偏离这个条件效率可能掉到88%甚至更低。用峰值效率去做全工况的功耗估算必然导致散热设计余量不足。还有一个经常被忽略的参数是“环境温度对效率的影响”。随着温度升高MOSFET的导通电阻会变大同步整流的管子损耗会增加DC-DC的整体效率可能进一步下降。很多硬件工程师只按25度时的参数去算功耗到了夏天设备在密闭机箱里跑到70度实际功耗比设计值高了不少。我给个经验做功耗估算时去数据手册的效率曲线图上找到你所有正常工作点下的效率取最小值或者至少取加权平均值而不是顺手拿个峰值效率就开始算。保守一点后面吃不了亏。1.3 一个完整的功耗预估实例拿一个典型的DC-DC降压电路来演示。项目需求是12V输入转5V输出最大负载电流3A用在工业控制板上环境温度最高能到60度。首先确定输出功率P_out 5V × 3A 15W。查手册效率曲线找到12V转5V、负载3A时效率大约91%。那损耗就是P_loss P_out × (1 - 效率) / 效率 15 × 0.09 / 0.91 ≈ 1.48W。做一个保守的估计温度升高后效率可能掉到89%那损耗就变成15 × 0.11 / 0.89 ≈ 1.85W。这就是一个很重要的工程习惯先算一个基准值再算一个劣化值后面的散热设计按劣化值来验证。如果按基准值设计散热到了夏天设备老化之后器件很可能热到保护。这个案例后面还会接着用来计算结温。先把1.85W这个保守功耗记在这里。2. 结温控制的核心逻辑把热阻路径拆明白Tj就再也难不住你2.1 热路和电路类比理解结温的一把钥匙如果说功耗计算是回答“产生了多少热”那结温控制要回答的就是“这些热跑到哪里去最终让芯片内部温度升高了多少”。初学热设计的工程师建议先建立“热路即电路”的类比思维。热传递的驱动力是温差对应电路里的电压差热流的路径上有热阻对应电路里的电阻。欧姆定律说电流等于电压差除以电阻热路里就是热流等于温差除以热阻。用公式表达就是T_junction - T_ambient P × R_thermal也就是结温等于环境温度加上功耗乘以热阻。这可能是整个热设计学科里最重要的一条公式。一旦建立了这套类比思维所有热设计问题都可以像分析电路一样去处理哪条路径热阻小热流就主要往哪边走想降低某个节点的温度要么减小热阻要么降低功耗。2.2 从芯片到空气的完整热阻链芯片内部产生的热量从结到最终散到空气里要经过一串串联的热阻。常规情况下拆成三段来看。第一段是结到壳的热阻用符号θ_jc表示单位是度每瓦。它表示芯片内部的发热核心到芯片封装外表面的热阻主要由封装材料和芯片烧结工艺决定。这个参数是固定的由芯片封装形式决定工程师改不了只能在选型时比较。第二段是壳到散热器或者壳到PCB的热阻用θ_cs表示。芯片封装表面如果直接贴上散热器中间还有一层热界面材料这层材料本身也有热阻。第三段是散热器到环境的热阻θ_sa或者PCB表面到空气的热阻θ_ba。对于中小功率芯片热量主要是通过PCB铜箔散出去的所以PCB板的面积、层数、铜厚都直接影响这一段的散热能力。完整的热阻等式长这样Tj Ta P × (θ_jc θ_cs θ_sa)。从这条公式出发结温控制的思路就非常清晰了想办法把任何一个热阻环节降下来或者把功耗P降下来都能直接降低结温。2.3 结温计算实例用数据说话回到刚才那颗12V转5V的DC-DC芯片。假设选了一颗QFN封装的芯片手册给出θ_jc 8度每瓦芯片底部有大焊盘焊接到PCB之后从焊盘到环境的热阻实测大约θ_ca 15度每瓦包含了PCB铜箔面积的作用和部分对流传热。最恶劣环境温度取60度功耗取保守值1.85W。结温就是Tj 60 1.85 × (8 15) 60 42.55 ≈ 102.6度。这颗芯片的额定最大结温是125度看起来还有二十多度余量但要注意这个计算用的是芯片焊接到PCB后在标准铜箔面积下的热阻。如果你的PCB布局里给这颗芯片的散热焊盘周围走路很挤铺铜面积不够θ_ca实际可能是25度每瓦甚至更高。这时候Tj就变成60 1.85 × 33 121度贴近限值了长期可靠性就很危险。所以计算结温的时候用数据手册里θ_jc这种参数相对可靠但θ_ca这类和PCB强相关的参数一定要结合自己的实际布局来修正不能照搬数据手册的典型值。数据手册上的热阻值大多是在标准测试板上测出来的那个测试板通常是比较大的四层板有过孔阵列辅助散热和你的实际产品很可能差别很大。2.4 结温降额芯片标125不代表就能跑到125结温计算的最终目的是判断设计是否安全。这里要引入一个工程上极其重要的概念降额设计。芯片数据手册上标的最大结温比如125度或150度是指芯片在这个温度下“不会立即损坏”但并不意味着长时间工作在这个温度下是安全的。长期高温运行会加速电迁移、栅氧化层退化、封装材料老化芯片寿命呈指数级下降。根据阿伦尼乌斯方程结温每升高10度器件的失效率大致翻倍。所以温度对可靠性的影响是极其敏感的。实际项目里我习惯把最大结温的80%以内作为设计目标。比如芯片最大结温125度那设计目标就是100度以下保守一点做到90到95度更好。工业级产品寿命要求长环境温度又高这个降额比例我会执行得更严格。另外一个需要特别注意的细节是瞬态功耗。很多芯片在启动瞬间或者负载突变瞬间功耗可能比稳态大好几倍。如果按稳态功耗来计算散热瞬态功耗带来的温升可能直接把结温顶破。这时候可以用热阻模型里的瞬态热阻抗曲线来估算温升。数据手册里的瞬态热阻抗曲线Zth,是可以查到的它描述了不同脉宽功率脉冲下的等效热阻。这种瞬态评估在电机驱动、功放电路里尤其重要因为负载是脉冲式的。3. 从芯片到系统的散热落地方案每个环节都抠出那几度3.1 PCB级散热是基本功铜箔、过孔和铺铜连接中小功率芯片的热管理大头在PCB上。很多工程师把散热等同于“加散热器”其实对于几十瓦以内的功率级别一块设计得当的PCB往往比一个后加的小散热片更有效。先说PCB铜箔。导热系数方面铜约385W/(m·K)常用铝约205W/(m·K)而FR4玻璃纤维板只有0.3W/(m·K)左右差着三个数量级。芯片底部如果有散热焊盘一定要把它和PCB铜皮充分焊接。内层如果有完整的地平面通过过孔把热量导到内层和底层的大面积铜皮上散热面积能够成倍扩展。这里就要聊到热过孔的设计参数。常用的做法是在芯片散热焊盘下方打阵列过孔孔径0.3mm左右孔间距1.0到1.2mm。过孔内壁有电镀铜一般约25微米厚虽然导热能力不如实心铜但数量多了以后总导热量很可观。需要注意一点过孔不是打了就有用关键在过孔是否连接到了相邻层的完整铜皮。如果过孔下面连的是断开的碎铜热量传导就断了等于白打。设计时我会让过孔至少贯穿到第二层并把第二层做成大面积地平面再过孔连接到更底层。还有一个细节容易被忽略芯片下方的焊盘打过孔后如果过孔直接打通到背面焊锡会顺着过孔流走造成虚焊。解决方案是用“塞孔”工艺过孔用树脂塞住再电镀盖帽或者用“盘中孔”处理。这在量产设计里不处理好焊接良率会很惨。3.2 封装选择影响热设计的自由度经常有工程师问既然散热这么难为什么不在选型阶段就选热阻更低的封装这确实是硬件工程师最应该建立的意识散热是从选型开始的不是layout时才开始。同样的功率耗散不同封装的θ_jc和θ_ja差异非常大。举个例子同样耗散1W功率SOT-23封装的热阻大约在150到250度每瓦D-PAK大约在50到80度每瓦带有底部散热焊盘的QFN大约在20到40度每瓦取决于PCB设计。如果芯片功耗有1WSOT-23封装在不做特殊处理的情况下环境温度60度时结温已经到210度以上完全失控。这时候换一个散热焊盘更大的封装同样的PCB面积结温就能控制住了。选型阶段做热评估的核心动作就是把预估功耗和封装热阻代入结温公式快速筛选出可用方案。这个过程不要拖到layout完成之后才做否则只能被动地用散热器、风扇去补救。3.3 热界面材料散热器和芯片之间的隐形瓶颈功率大到必须加独立散热器时热界面材料TIM的作用就凸显出来了。芯片封装表面和散热器底面之间即使肉眼看着很平微观下也是凹凸不平的。直接接触时实际接触面积可能只有一小部分中间绝大部分是空气缝隙而空气的导热系数只有0.026W/(m·K)是极差的导热体。这里用热界面材料填缝把空气赶出去。常见的热界面材料有三类导热硅脂、导热垫、相变材料。导热硅脂导热系数高但施工一致性难控制涂多了涂少了都会影响效果泵出效应在温度循环下也会导致性能衰减。导热垫片使用方便可以预成型适合自动化装配但接触热阻偏大。相变材料常温下像固态垫片工作温度到了之后软化流动填充缝隙效果介于两者之间。选择热界面材料时不只是看导热系数还要考虑硬度、压缩应力曲线、长期可靠性。我遇到过项目里用了号称11W/(m·K)的导热垫但实际厚度填不平整螺钉锁紧力不够导致局部接触不良芯片一侧温度明显偏高。这时候光垫导热垫还不够需要设计合理的螺钉布局和压接结构保证压力均匀。3.4 风道与结构别让热死循环到了整机或系统层面散热就不仅是芯片热阻的问题了。风道设计关系到热量能不能真正被带出机身这是一个系统性设计。在自然对流散热设计中PCB的摆放方向对散热效果影响很大。竖直放置的PCB比水平放置散热好因为竖直方向能形成有效的烟囱效应空气从底部进入加热后自然上升。同理芯片和散热器周围要留出足够的空气流道不能塞得满满当当。强迫风冷设计中最常见的错误是“风道短路”。风扇和散热器之间空隙太大或者进风口位置设计不合理导致气流大部分从旁边绕过去了没有吹到散热器上。另一个问题是气流走向和散热片方向不一致。散热片的鳍片是顺着气流方向排列的如果风扇水平吹散热片鳍片竖直排列气流撞在鳍片侧面风阻巨大实际通过散热器的风量大幅下降。热设计仿真时常用流场图来看风道走线用云图来看速度和温度分布就是用来提前发现这类问题的。4. 仿真与实测走出“自我感觉良好”的舒适区4.1 热仿真怎么用才靠谱现代硬件设计中热仿真已经是标配流程。Flotherm、Icepak、ANSYS都是业内常用工具对于电子级的热仿真一般不需要做复杂的CFD分析可以用电子散热仿真专用软件快速迭代方案。仿真设置的几个关键点踩过坑之后才知道多重要。第一个是功耗边界条件。我见过不少人仿真时把所有芯片都按满载功耗设置结果温度云图一片通红吓自己一跳。更合理的做法是区分典型工况和极限工况分别进行仿真。前者用于评估常规运行状态后者用于验证设计余量。第二个是网格划分。热源附近、散热器鳍片之间这些地方温度梯度大网格需要加密否则计算结果会平滑掉热点。判断网格是否收敛可以查看热源点的温度随网格加密是否变化很小了。第三个是环境对流换热系数。自然对流条件下机箱外壁和内部器件表面的换热系数不同不能一律设为默认值。仿真虽然方便但要时刻记住它存在误差。比如芯片内部的温度分布通常简化为一个均匀热源或点热源实际芯片内核只有一个角落很热比如封装材料的热导率不同工艺批次可能不同。所以仿真结论建议留出至少10%到15%的降额空间。4.2 实测结温的三种方法热电偶、红外热像仪、内置温度传感器仿真做得再好也需要实测来最终验证。实测结温不是直接拿温度计插进芯片里而是有几个间接方法。第一种是热电偶测壳温再推算结温。热电偶贴在芯片封装表面最好是在芯片正上方最接近结的位置读出壳温Tc然后利用Tj Tc P × θ_jc来反推结温。这里要特别注意热电偶的固定方式。用双面胶或者高温胶带贴胶层本身有热阻测出来的壳温可能偏低。正确做法是用导热胶或者高温环氧把热电偶固定住保证热电偶和封装表面之间传热良好。第二种是红外热像仪扫描全场温度。热像仪的优势是能看到整板的热分布快速定位热点。但红外测试要注意发射率设置的问题不同材料表面发射率不同直接测裸铜和测黑色漆面读数会差不少。测芯片封装表面时会在封装表面涂一层高发射率黑漆或者贴上专用的高发射率胶带。热像仪最适合做对比分析和热点定位用于精确结温评估时读数需要和热电偶结果互相印证。第三种是使用芯片内部集成的温度传感器。很多电源芯片和数字芯片内部有结温监测寄存器通过I2C或PMBus读取故障前的温度。这个方法最接近真实结温但它反映的是芯片内某个具体位置附近的温度和结构仿真里的峰值结温可能不完全对应。优先级上有内部传感器就读内部传感器没有的话就用热电偶加推算热像仪用来做辅助定位。4.3 实测与计算的差异处理实测结果出来之后不可避免会和理论计算的预期值有差异。面对差异时不要直接接受或简单否定某一边需要冷静分析偏差来源。如果实测结温比计算值高很多优先检查热阻环节的假设是否成立。比如数据手册的θ_cs值通常基于理想表面而实际加工时螺钉扭矩不够、热界面材料没涂均匀都会让这一步热阻翻倍。再比如θ_ca的实际值严重依赖PCB的铺铜面积和过孔数量你的板子如果为了安规距离开了很多槽铜皮被切成碎片热传导路径被人为切断实际热阻会比预期大很多。如果实测值比计算值低可能因为实际负载没有达到额定值或者环境温度低于设定的最恶劣条件。这反过来说明实测验证时要主动创造最恶劣工况才有效果。5. 常见问题与排查技巧实录把那些年踩过的坑都说出来5.1 常见问题速查表症状与对策实际操作中热设计问题的表现形式五花八门但归纳起来高度重合。下面这个速查表是我这些年积累下来的排查思路直接抄作业就行。故障表现可能原因排查方法芯片结温过高但散热器表面温度不算高热界面层有问题硅脂没涂匀、垫片偏厚、压力不够拆开检查TIM覆盖率重新压装测量散热器基板与封装之间的温差板子某个区域明显比其他区域老化铜箔发黄局部功耗密度过高或者散热通道在设计上被断开了红外热像仪扫描整板查看是否存在异常热点检查该区域的过孔和铺铜连续性整机内风扇转数很高但是进风口几乎没风风道堵塞或风道短路气流被局部障碍物挡住查看整机的流场仿真实际用风速仪检查进风口和出风口风速散热器加得越大效果越不明显散热器基板方向和PCB之间形成了空气滞留区或者接触热阻成为瓶颈测量散热器基板和芯片壳温温差温差大于5到8度说明恶化点在热界面层批量生产时个别样品高温关机热界面材料施工工艺不稳定或贴片工艺导致芯片和散热器之间间隙变化统计返修品的热阻趋势锁定工序节点给装配环节加压力管控要求5.2 热设计的几个“反直觉”坑做的时间长了会发现热设计里有一些反直觉的现象新手几乎必踩。第一个坑是散热器不是越大越好。散热器增大到一定程度后散热效果提升非常有限反而因为质量和风阻增大把整个系统的气流挡住了。散热器面积增加一倍热阻能降低多少取决于当前处于自然对流还是强迫风冷、以及风阻曲线的具体位置。在做选型时要看“散热器热阻随风速变化”的特性曲线。第二个坑是打了过孔却没有效果。过孔只连到内层一个小铜皮上管道细不说中间还不通等于打了白打。过孔的导热路径应该是“芯片焊盘 → 过孔壁 → 完整铜皮平面”这串链路每一环都打通才算有效。一块合格的散热地过孔周围应该有完整的铜皮连接而且铜皮最好不要被细缝切断。第三个坑是热设计只关注最大功耗忽略了功耗密度分布。有时候整板总功耗不高但几颗小芯片挤在一起局部热流密度极大形成热岛。芯片本身结温可能还没超但相邻元件被烤坏或者人去触摸外壳时觉得局部烫手。这时候需要在布局阶段就把大功耗器件拉开距离必要时在局部加导热铜皮或者热管把热量导到远端均摊掉。5.3 热循环寿命比高温更隐蔽的失效杀手硬件产品可靠性有个不容易一开始就被注意到的维度就是热循环寿命。设备频繁开关机、环境温度周期性变化器件和PCB之间、封装内部不同材料之间由于热膨胀系数不匹配会反复产生热应力最终导致焊点疲劳开裂、封装分层、键合线断裂。这类失效模式在常温下可能运行多年才出现但热循环应力大的话几个月就可能爆发。应对方法分几个层面首先是选型阶段尽量选择热膨胀系数匹配度好的封装材料其次是PCB布局上让大芯片和大接插件尽量远离板边和应力集中区最后是产品验证阶段必须做温度循环测试而不是只做高温老化。从功耗计算到结温控制再到系统散热方案、仿真验证和失效分析热设计是一条环环相扣的链路。每一个环节做的决定都会影响下一个环节的设计条件。我个人在实际项目里有一个习惯从项目初期开始就维护一张热设计参数表记录每颗关键芯片的功耗估算值、数据手册热阻、实际PCB热阻修正值、计算结温、实测结温以及散热方案的调整记录。这张表在评审、改版、故障追溯时都是最有力的依据。新项目启动时翻一翻上一版项目的表格很多坑就能直接绕开。热设计没有高深到学不会但它确实需要你养成“算一步、测一步、记录一步”的扎实习惯。