热学基础:热阻、热容、热传导与对流、结温与壳温的概念

搞功耗调试,为啥要学热学?说白了,热量管不好,芯片就会“生病”。

说实话,我入行的头两年也没太当回事。总觉得散热是结构工程师的事情。直到有一次,一块FPGA板子在温箱里55°C环境温下直接罢工——结温冲到130°C,芯片保护了。

从那以后,热学参数我是必查的。今天我把这块内容拆开揉碎,跟你聊聊。

热传导与对流

热量传递就两种方式:传导和对流。辐射在常规PHY散热里占比很小,我通常忽略不计。

  • 热传导:热量在固体内部,从高温区传到低温区。传得快不快,看材料的热导率。
  • 热对流:流体(空气、液体)流过发热表面,把热量带走。自然对流靠浮力,强制对流靠风扇泵。

我在项目中遇到过,PCB铜箔厚度不够时,热传导效率会明显下降。差个0.5oz铜箔,热点温度能差出8°C。

实战技巧:强制对流的风道设计很关键。风从热源侧面吹过去,效果最好;风从热源上面垂直吹,反而容易形成湍流死区。

热阻:热学里的“电阻”

你想想看,电阻阻碍电流,热阻阻碍热量流动。定义很简单:

Rth = ΔT / P

单位是°C/W。意思是每消耗1W功率,温度会上升几度。

核心概念:热阻是个关键参数

热阻越低,散热能力越强。PHY芯片的结到壳热阻(θjc),通常只有个位数°C/W。而壳到环境热阻(θca),取决于散热器,可以到十几甚至几十。

常见材料的热阻值,我整理了一张表:

材料/结构热阻(°C/W)典型场景
铜(1mm厚,1cm²)0.04PCB铜箔散热
铝散热器(自然对流)2~10低功耗PHY
导热硅脂(优质)0.1~0.5芯片与散热器接触面
空气间隙(0.5mm)20~40接触不良,灾难
避坑指南:我曾经拿到一个散热器的数据手册,只给了自然对流下的热阻值。装上去发现风扇吹的效果远不如预期。后来才知道,热阻值是风速的函数。选型时一定要看测试条件——1m/s和3m/s的热阻能差一倍。

热容:热的“惯性”

热容是物体存储热量的能力。定义:Cth = ΔQ / ΔT,单位J/°C。

热容大的物体,温度变化慢。这对脉冲功耗很有用。

我有个低功耗无线模块的项目,峰值功耗高达8W,但只持续200ms。这时候热容就帮了大忙——芯片温度还没冲上去,峰值已经结束了。但你如果跑稳态功耗,热容就没用了。

热时间常数:τ = Rth × Cth,单位秒。τ越大,温度响应越慢。判断是脉冲功耗还是稳态功耗,就看脉冲宽度是否远小于τ。

结温与壳温:芯片内部 vs 外壳

这两个温度定义很明确:

  • 结温(Tj):芯片内部硅结的温度。芯片性能、寿命直接看它。
  • 壳温(Tc):封装外壳表面的温度。

两者通过热阻网络关联在一起:

Tj = Tc + P × θjc

其中θjc是结到壳的热阻,数据手册会给出。

参数含义典型值(PHY芯片)
Tj(结温)实际工作温度,限制寿命≤125°C
Tc(壳温)可测量,比结温低通常低5~20°C
θjc芯片内部热阻0.2~2°C/W
θca外壳到环境热阻5~30°C/W(带散热器)
测量壳温时注意:热电偶要贴在芯片正上方,硅脂涂均匀,压紧。贴侧面测出来的温度偏低,误差可能到10°C以上。我个人习惯测试前用热成像仪扫一遍,找最热点。
热学基础核心概念关系图 热学基础核心概念 热量从热源向外传递 Tj 结温 → Tc 壳温 热传导(固体内部传递) 热对流(流体带走) 热阻 Rth = ΔT / P 热容 Cth = ΔQ / ΔT 时间常数 τ = Rth × Cth 结温估算 Tj = Ta + P × ∑Rth 说明:热阻与热容共同决定温度响应速度 → 脉冲功耗看热容,稳态功耗看热阻

结温怎么算?

搞清楚了概念,我们来算一笔。

给定一个PHY芯片,功耗P=5W,数据手册给出θjc=0.5°C/W,你装了散热器后θca=4.5°C/W。环境温度25°C。怎么算结温?

  1. 总热阻:θja = θjc + θca = 0.5 + 4.5 = 5.0°C/W
  2. 结温:Tj = Ta + P × θja = 25 + 5 × 5.0 = 50°C

这个50°C远低于芯片限值125°C,安全。

换个场景,如果你不用散热器,θca涨到20°C/W,Tj = 25 + 5 × (0.5 + 20) = 127.5°C。直接超了。这就是为什么我说散热器不是可选项,是必选项。

我习惯在调试阶段写个小脚本快速估算:

def calc_junction_temp(P, theta_jc, theta_ca, Ta):
    """
    P: 芯片功耗 (W)
    theta_jc: 结到壳热阻 (°C/W)
    theta_ca: 壳到环境热阻 (°C/W)
    Ta: 环境温度 (°C)
    """
    Tj = Ta + P * (theta_jc + theta_ca)
    return Tj

# 示例
print(calc_junction_temp(5.0, 0.5, 4.5, 25))  # 输出 50.0
警告:实际中的热阻不是固定值。接触面平整度、导热硅脂厚度、气流速度都会影响θca。我曾经遇到过标称5°C/W的散热器,实际测出来是8°C/W——因为安装时硅脂涂厚了。所以设计余量建议留20%~30%。

嗯,热学基础先聊到这。记住三个核心公式:热阻定义、结温计算、时间常数。搞懂了它们,散热调试就有了方向。