3. 电阻热模型:电阻温度系数(TCR)、线性与非线性电阻模型在SPICE中的实现

电阻是集成电路与分立器件中最基础的无源元件,其阻值随温度变化的特性直接影响电路直流工作点、增益稳定性与功耗分布。本章从电阻温度系数(TCR)的物理定义出发,系统讲解线性与非线性电阻模型在SPICE中的参数化实现方法,并通过仿真案例展示热参数校准的完整流程。

3.1 电阻温度系数(TCR)的物理定义与工程意义

电阻温度系数(Temperature Coefficient of Resistance, TCR)描述单位温度变化下电阻值的相对变化率,其数学表达式为:

TCR = (1 / R₀) · (dR / dT)   [单位:ppm/°C 或 %/°C]

其中 R₀ 为参考温度 T₀(通常为 25°C)下的标称阻值。TCR 的正负与材料类型直接相关:

材料类型 TCR 符号 典型值(ppm/°C) 典型应用
金属薄膜(NiCr, TaN) 正(PTC) ±25 ~ ±100 精密模拟电路、基准源
多晶硅(Polysilicon) 正(PTC) +800 ~ +1500 IC 片上电阻、ESD 保护
扩散电阻(Diffused) 正(PTC) +1500 ~ +3000 双极工艺、BJT 偏置
碳膜电阻 负(NTC) -200 ~ -500 低成本通用电路
热敏电阻(NTC) 负(NTC) -30000 ~ -50000 温度传感、浪涌抑制
工程提示:在精密电流镜或电压基准设计中,应优先选用 TCR < ±50 ppm/°C 的金属薄膜电阻。若使用多晶硅电阻,需通过版图匹配与温度补偿技术将等效 TCR 降至可接受范围。

3.2 线性电阻温度模型:一阶 TCR 近似

当温度变化范围较窄(如 -40°C ~ +125°C)且精度要求适中时,可采用一阶线性模型描述电阻随温度的变化:

R(T) = R₀ · [1 + TC1 · (T - T₀)]

其中 TC1 即一阶温度系数(单位:1/°C)。在 SPICE 中,该模型通过 .MODEL 语句中的 TC1 参数实现:

* 线性 TCR 模型示例:金属薄膜电阻
.MODEL R_METAL R (
+   R        = 1K       ; 标称阻值 @ T₀
+   TC1      = 0.0001   ; 100 ppm/°C
+   T_ABS    = 25       ; 参考温度 [°C]
)

* 实例化电阻
R1 net1 net2 R_METAL 1K

仿真时,SPICE 引擎根据全局温度 TEMP 自动计算当前阻值。若全局温度设为 85°C,则 R1 的阻值变为:

R(85°C) = 1K · [1 + 0.0001 · (85 - 25)] = 1K · 1.006 = 1006 Ω
关键参数:TC1 的单位为 1/°C,数值上等于 TCR(ppm/°C)除以 1,000,000。例如 TCR = +100 ppm/°C 对应 TC1 = 0.0001。

3.3 非线性电阻温度模型:二阶与高阶扩展

在宽温度范围(如 -55°C ~ +175°C)或高精度需求下,一阶模型误差显著增大。SPICE 支持二阶多项式模型:

R(T) = R₀ · [1 + TC1 · (T - T₀) + TC2 · (T - T₀)²]

其中 TC2 为二阶温度系数(单位:1/°C²)。对于强非线性材料(如 NTC 热敏电阻),常采用 Steinhart-Hart 方程或指数模型:

* 二阶 TCR 模型示例:多晶硅电阻
.MODEL R_POLY R (
+   R        = 10K
+   TC1      = 0.0012   ; 1200 ppm/°C
+   TC2      = 0.000003 ; 3 ppm/°C²
+   T_ABS    = 25
)

* NTC 热敏电阻行为模型(使用 B 参数方程)
.SUBCKT NTC_10K A B
+ PARAMS: R25=10K B=3950 T0=25
R_NTC A B R='R25 * exp(B * (1/(TEMP+273.15) - 1/(T0+273.15)))'
.ENDS NTC_10K
模型选择警告:二阶模型中的 TC2 通常为正值(补偿高温段正偏差),但若 TC2 设置过大,在极端温度下可能导致阻值异常增大或减小。建议通过实测数据拟合 TC1 与 TC2,避免外推超出校准范围。

3.4 电阻热模型 SPICE 实现架构

下图展示了电阻热模型在 SPICE 仿真中的完整实现架构,包含模型定义、温度映射与实例化三个层级:

电阻热模型 SPICE 实现架构 层级 1:模型定义 .MODEL R_POLY R ( + R=10K TC1=0.0012 + TC2=3e-6 T_ABS=25 ) 层级 2:温度映射 全局温度 TEMP 局部温度 T_ABS ΔT = TEMP - T_ABS 层级 3:实例化 R1 net1 net2 R_POLY 10K R2 net3 net4 R_METAL 1K X_NTC A B NTC_10K 温度映射规则 SPICE 优先使用器件级 T_ABS;若未定义,则继承全局 .TEMP 设置 阻值更新在每个工作点计算步内完成,支持 .DC / .TRAN / .AC 分析 典型仿真流程 ① 定义电阻模型(含 TC1/TC2) → ② 设置全局或局部温度 → ③ 实例化电阻 ④ 运行 .DC TEMP -40 125 1 → ⑤ 提取 R(T) 曲线 → ⑥ 与实测数据对比校准

3.5 热参数校准:从实测数据到 SPICE 模型

热参数校准是将实测 R(T) 数据映射为 SPICE 模型参数的过程。以下为校准步骤与对应代码:

  1. 数据采集:在温箱中测量电阻在 -40°C、0°C、25°C、85°C、125°C 五个温度点的阻值。
  2. 归一化处理:计算 R(T)/R₀,得到归一化阻值曲线。
  3. 多项式拟合:使用最小二乘法拟合 TC1 与 TC2。
  4. 模型验证:将拟合参数写入 SPICE 模型,仿真 R(T) 并与实测数据对比。
* 校准后的多晶硅电阻模型(基于实测数据)
.MODEL R_POLY_CAL R (
+   R        = 5.1K
+   TC1      = 0.00115   ; 拟合值:1150 ppm/°C
+   TC2      = 2.8e-6    ; 拟合值:2.8 ppm/°C²
+   T_ABS    = 25
)

* 温度扫描仿真网表
.TEMP -40 125 1
.DC TEMP -40 125 1
.PRINT DC I(R1) V(R1)
.END
校准精度指标:对于消费级应用,一阶模型误差应 < 2%;对于汽车级应用(-40°C ~ +150°C),二阶模型误差应 < 0.5%。若误差超标,需引入三阶项或分段线性模型。

3.6 线性与非线性模型对比

对比维度 线性模型(一阶) 非线性模型(二阶/指数)
数学形式 R = R₀ · (1 + TC1·ΔT) R = R₀ · (1 + TC1·ΔT + TC2·ΔT²)
适用温度范围 -40°C ~ +85°C -55°C ~ +175°C
典型精度 ±2% ~ ±5% ±0.1% ~ ±1%
SPICE 参数 TC1 TC1 + TC2
校准复杂度 低(2 个温度点) 中高(≥4 个温度点)
典型材料 金属薄膜、碳膜 多晶硅、扩散电阻、NTC

3.7 常见工程陷阱与规避策略

  • 陷阱 1:将 TC1 与 TCR 单位混淆(ppm/°C vs 1/°C)。
    规避:在 SPICE 模型中 TC1 始终使用 1/°C,TCR 值除以 1e6 后填入。
  • 陷阱 2:忽略自热效应(Self-Heating)。
    规避:大电流下使用 R(T) = R₀ · [1 + TC1·(T_AMB + P·Rth - T₀)],其中 Rth 为热阻。
  • 陷阱 3:二阶模型外推至极端温度导致阻值异常。
    规避:在校准温度范围外使用限幅或分段模型。
  • 陷阱 4:不同工艺角下 TCR 漂移未建模。
    规避:在 Monte Carlo 分析中为 TC1/TC2 添加统计分布(如 ±10% 高斯分布)。
自热效应警示:当电阻功耗超过 1mW 时,自热引起的温升不可忽略。建议在 SPICE 子电路中使用 RC 热网络(Rth + Cth)模拟热瞬态,实现电-热耦合仿真。

3.8 本章小结