SOA SPICE Wrapper — 在仿真中捕获 hot-cell 热不稳定
本质与导读
本质 L3 SPICE 模型只输出 die 平均 ,但 power MOSFET 在 linear mode 下因 cell 间 误差触发 Spirito 正反馈,少数 hot cell 电流集中先烧——平均温度仍没超 时器件已损坏。Ejury 的 wrapper subcircuit 把数据手册 SOA 参数编进 B-source、外挂任何 L3 模型输出 hottest cell 温度 ,让"穿越 "类应用的 SOA 限制在仿真里真正可见。
核心要点
- L3 模型只算 平均,不识别 Spirito 不稳定区域
- Spirito 物理本质:cell 工艺误差 + linear mode 正反馈 → hot cell runaway
- wrapper 是 6-terminal:D / DrainFET / S / Tjhot / Tj / Tc
- 5 个 SOA 参数提取自数据手册: / / / /
- thermal limit 斜率
- hottest cell 温度:
- Test1 vs Test2:稳态超 SOA → ;电流降到 0 穿越 → (Spirito)
主线坐标:第 1 站 · 电池 / 电芯 · ↑ 全景主线
1. 为什么需要 wrapper — L3 模型的盲区
L3 MOSFET 模型已经是 SPICE 仿真器中最完整的功率器件模型 —— 它能算 、、,还能输出 。但它有一个根本假设:die 上的温度是均匀的。
1.1 Spirito 物理本质
现代 power MOSFET die 有 级 cell 数(BSC010NE2LS 有 cells)。每个 cell 是一个小 MOSFET,工艺涨落使不同 cell 的 偏差 ±5-10%。
在switch mode( 或 ):
- conduction 时 极小,,cell 间几乎不发热
- 阻断时 ,无电流 → 无热
- ⇒ L3 平均 模型 OK
在linear mode( 和 同时大, 显著):
- 低的 cell → 流过的电流多 → 大 → 升温快
- 升温后该 cell 进一步下降 → 抢更多电流 → 进一步升温
- 正反馈 → 局部 hot cell runaway → die 部分烧穿
这就是 Spirito thermal instability,SOA 图上"thermal stability limit"那条比 更陡的限制线就是它的工程表达。详见 topic-mosfet-soa 第 §3 节。
1.2 L3 模型的具体缺陷
L3 模型把整个 die 当作一个热源,接在标准 Cauer ladder 上算 :
- ✓ 算电气性能(、、switching 时序)
- ✓ 算平均 (用 datasheet Cauer 网络)
- ✗ 不算 hottest cell 温度(假设 die 均匀)
- ✗ 不识别 Spirito 不稳定区域( 但 SOA 外)
工程后果:仿真说 ,实际 hot cell 已经 烧毁。所有 linear mode 跨越 的设计必须有 wrapper 兜底。
2. SOA 几何参数提取
Wrapper 不修改 L3 模型本身,而是用 behavioral source 把 SOA 数据手册的几何信息编进 SPICE 等式。需要 5 个参数,全部能从数据手册 SOA 图读出。
2.1 5 个关键参数
以 Infineon BSC010NE2LS 为例(本 paper 实测器件):
由这些参数可算出:
- = 0.8 V(thermal limit 拐点电压)
- thermal limit 斜率
斜率 决定 thermal stability limit line 在 log-log SOA 图上的陡度。
2.2 hottest cell 温度公式
任意工作点 喂入下面 hot-cell 温度公式(公式 8)的功率集中项 :
其中 是用斜率 从当前 沿 thermal limit line 反推到 的电压。注意 只是驱动 的项,它的正负号本身不直接判"在不在 SOA 内"——安全判据见 §2.3(比 与 )。
最热 cell 温度公式(paper 公式 8):
其中 是当前电气功率。
2.3 物理直觉
判断安全与否的正确判据是把工作点电流 与该 下热稳定极限线允许的电流 比较(即 §7.5/§7.6 worked 的做法),而不是看 的符号——三种工况:
- (工作点在 thermal limit 线以下):SOA 内安全,但 hot cell 仍可能比 高 1.5-3 倍
- (工作点恰在 thermal limit 线上): 接近
- (工作点越过 thermal limit 线):hot cell 失稳 → 不可控,die 损毁
thermal limit ≠ Pt…
thermal limit ≠ 工作点 不等于安全!只要 该 下的 (等价 thermal limit 功率 @ 该 ),就会 hot cell runaway。这是 Spirito 效应的核心 —— L3 模型完全看不到,必须用 wrapper。
3. Wrapper Subcircuit 架构
Wrapper 是一个独立的 SPICE 子电路,把标准 L3 MOSFET 包裹起来,提供 6 端口接口。
3.1 端口定义
子电路声明指定 6 个外部 pin,以及 5 个 SOA 参数作为 .param 输入,工程师可按器件自由替换。
.SUBCKT SOA_JE_Wrapper Drain DrainFET Source Tjhot Tj Tc
+ Params: Icrit=120 Ptot=96 IcritDCBR=0.12 VBRDSS=25 Tjmax=150
6 端口:
- Drain:接 application circuit drain(原 L3 的 Drain 现在接 DrainFET)
- DrainFET:接 L3 模型的 Drain pin
- Source:与 L3 模型 Source 共享
- Tjhot:输出 hottest cell 温度(.probe 读)
- Tj:从 L3 模型 Tj pin 读入
- Tc:从 L3 模型 Tc pin 读入
3.2 关键 SPICE element
wrapper 内部由 7 个 behavioral source 组成,每个负责 SOA 计算链中的一步。
.param Vcrit={Ptot/Icrit}
.param m={LOG10(IcritDCBR/Icrit)/LOG10(VBRDSS/Vcrit)}
.FUNC y(x) {x*x*(3-2*x)} ; smooth Heaviside
E1 aux 0 ... ; disable in avalanche
Epel pel 0 VALUE={abs(I(VDC2)*(V(drainFET)-V(source)))}
Edtjhot dTjhot 0 VALUE={...} ; ΔT 计算核心
E7 pmin 0 VALUE={IcritDCBR*VBRDSS*(Tjmax-V(Tc))/(Tjmax-25)}
E5 aux5 0 VALUE={y(limit(V(pel)/V(pmin),0,1))}
ETjhot Tjhot 0 VALUE={V(Tc)+(V(Tj)-V(Tc))*(1+V(aux5)*V(dTjhot)/(1u+V(pel)))}
.ends
设计要点:
- Epel 算实时电气功率(用 100 nΩ 检流电阻 R1 测电流)
- Edtjhot 是 计算的核心(实现公式 5-7)
- smooth Heaviside 用于平滑 SOA 边界,避免仿真不收敛
- E7 pmin 当 升高时,允许的最小功率(线性化)
- ETjhot 最终输出公式(paper 公式 8)
3.3 接线规则
application 不直接接 MOSFET 的 Drain,而是接到 wrapper 的 Drain;wrapper 内部把它转发到 MOSFET 的 DrainFET。
* application
V_drain in 0 PULSE(0 12 ...)
* wrapper + MOSFET
X_wrap in DrainFET Source Tjhot Tj Tc SOA_JE_Wrapper
X_mos DrainFET Gate Source Tc Tj BSC010NE2LS
注意 application 的 drain 接到 wrapper 的 Drain,而不是直接接 MOSFET。wrapper 内部把 DrainFET 端口转回到 L3 模型的 Drain。
3.4 cell time constant
为了让 时间响应正确,wrapper 内部还要算单个 cell 的时间常数:
(BSC010NE2LS 例)。这是 die 上单个 cell 内部热扩散时间,远短于 die 整体 。
用 R4 (datasheet 取的 ) + 实现:
加在 wrapper 内部,作为 filter 消除数值噪声。
4. 仿真验证 — Test1 vs Test2
Paper 给出两个对比仿真,展示 wrapper 真正的价值。
4.1 Test 1:持续 140 A,1 ms
工况: A( A)持续 1 ms, V。
结果:
- 工作点超 SOA(超 thermal limit)
- 但电流均匀分布(所有 cell 都过载)
- 全程
意义:稳态超 SOA → L3 模型已经能识别,wrapper 与 L3 结果一致。
4.2 Test 2:140 A → 1 A,1 ms 线性下降(关键)
工况: 从 140 A 线性降到 1 A,历经 1 ms, 同时由 0 V 升到 1.2 V(linear mode 穿越)。
结果:
- 平均 随平均功率下降而下降
- 反而上升,最后超过 !
- 穿越 时,hot cell 抓住所有电流, 同时升高,功率集中在少数 cell
意义:这是 Spirito 失效模式 的 SPICE 复现。L3 模型告诉你" 还低,安全",但 wrapper 揭示 hot cell 已经在烧。只有 wrapper 能捕获这种失效。
4.3 工程意义
linear mode 应用(eFuse / Oring / SMPS 启动 / load switch)在电流上升/下降时必然穿越 SOA 边界。L3 仿真过得了的设计,实际产线测试可能失效 —— 这就是为什么很多"看起来设计正确"的电路在量产时烧 MOSFET。
设计规则:所有 linear mode 跨 切换的电路,必须用 wrapper 仿真,直接 .probe V(Tjhot) 验证不超 。
5. 工程边界与限制
paper §V 明确给出 wrapper 模型的边界条件,工程中必须遵守。
| 限制 | 说明 |
|---|---|
| 行为模型,非器件物理 | 不是 TCAD level,简化了 die 内部细节 |
| 假设 cell 热阻均匀分布 | 实际 die 边缘 cell 热阻 < 中心 |
| Spirito 区域过保守 | 实际 hot cell 周围 cells 帮忙散热,模型不算 |
| avalanche 区不准 | E1 element 在 时切到平滑过渡,但不是物理 avalanche |
| 短脉冲过保守 | 模型按稳态 thermal limit 推 hottest T,短脉冲实际 hot cell 来不及升温 |
过保守 vs 漏检 wrapper…
过保守 vs 漏检 wrapper 倾向过保守(报警太多),这在安全设计中可接受 —— 总比 L3 模型漏检 hot cell 失效好。如果设计在 wrapper 仿真中显示 SOA 违例,但工程师不能放弃这个设计,需要做 double pulse test 实测验证模型与实际偏差。详见 topic-mosfet-double-pulse-test。
6. 工程 cheat-sheet
下表组织 wrapper 使用的关键决策。
| 阶段 | 决策 | 推荐做法 |
|---|---|---|
| 选型 | 是否需要 wrapper? | linear mode 跨 必须 |
| 选型 | 应用类型 | eFuse / Oring / load switch / SMPS soft-start 必须 |
| 参数 | 提取 5 参数 | 数据手册 SOA 图 + table 5 项 |
| 参数 | 斜率 | |
| 仿真 | 接线 | application drain → wrapper Drain → MOSFET DrainFET |
| 仿真 | .probe | V(Tjhot),看是否超 |
| 测试 | 必跑 Test2 | 电流跨 的瞬态(linear mode 触发) |
| 边界 | 短脉冲 | wrapper 过保守,实测会更宽松 |
| 边界 | avalanche | 切到 L3 + Zth,wrapper 不在那里准 |
7. 端到端 Worked Design — BSC010NE2LS 12V/60A 汽车 eFuse 关断 SOA 验证
Wrapper 的价值要在真实应用场景里才能体现:L3 模型说安全而产线却烧件。下面以 BSC010NE2LS(25V/120A 低压 power MOSFET)为例,走完汽车 12V/60A 负载开关从参数提取到关断验证的完整流程。
7.1 应用场景与危险时刻
12V 汽车 ECU 配电盒里的 eFuse:正常负载 60A,下游 ECU 直接挂电容性负载。快速关断(软件限流从 60A 撤除,VGS 快速拉低)会让 MOSFET 短暂工作在 linear mode:电流从 60A 向 0 下降的同时,VDS 从 0.15V 升至 12V,两者积 在中途形成数百瓦峰值——正是 Spirito 正反馈最危险的窗口。
7.2 Step 1 — 从数据手册 SOA 图提取 5 参数
BSC010NE2LS datasheet SOA 图中直接可读:
| 参数 | 值 | 读数位置 |
|---|---|---|
| 120 A | DC SOA 限制线拐点(log-log 图垂直段与斜率段交点) | |
| 96 W | 最大功耗表(Ta=25°C,package 散热极限) | |
| 25 V | 击穿电压(SOA 图右边界) | |
| 0.11 A | SOA 图在 处的 DC 限制电流 | |
| 150 °C | 绝对最大结温表 |
7.3 Step 2 — 计算派生参数
热稳定限制线的两个关键量:
斜率(log-log SOA 图上 thermal stability limit 的倾斜度):
die 上单个 cell 的热时间常数:
7.4 Step 3 — 实例化 Wrapper 子电路
在仿真网表中,wrapper 包裹 L3 模型:
X_wrap Drain DrainFET Source Tjhot Tj Tc SOA_JE_Wrapper
+ Params: Icrit=120 Ptot=96 IcritDCBR=0.11 VBRDSS=25 Tjmax=150
X_mos DrainFET Gate Source Tc Tj BSC010NE2LS ; Infineon L3 SPICE model
关键 SPICE 参数自动从输入计算:
.param Vcrit = {Ptot/Icrit} ; = 0.800 V
.param m = {LOG10(IcritDCBR/Icrit)/LOG10(VBRDSS/Vcrit)} ; = −2.03
7.5 Step 4 — 关断仿真:L3 vs Wrapper 对比
关断条件: 从 60A 线性降至 0,历时 ;感性负载 使 同步从 0.15V 升至约 12V。
关键时刻 (关断中点):,,。
在 处,热稳定限制线上允许的电流:
,深入 Spirito 不稳定区。
| 仿真模型 | 峰值温度 | 判断 | 原因 |
|---|---|---|---|
| L3 模型(无 wrapper) | ✓ 看起来安全 | 平均 Tj 远低 Tjmax | |
| Wrapper | ✗ FAIL | hot-cell 集中功率,超 Tjmax=150°C |
根因: 内 die 整体热容大、平均 涨幅不足 50°C;但单个 cell 时间常数 ,热来不及扩散,VTH 最低的 cell 在 穿越 的一段窗口里承担几乎全部电流 → 局部 烧毁。
7.6 Step 5 — 设计修正:延长关断斜率
修正方案:在 gate driver 侧加 RC 斜率限制器,将关断时间延长至 (10×)。
同一关断中点处:,,。
在 处,热稳定限制线允许电流:
→ 处于热稳定区。Wrapper 仿真给出 ,22°C 余量,设计通过。工程结论:linear mode 斜率直接决定 Spirito 危险程度;延长关断既是限流策略也是热保护手段。
8. Gotcha G1-G7
工程实践中反复出现的 wrapper 陷阱,根源都是对"L3 模型已经够用"的过度信任。
G1 — L3 已经够:最普遍的误用。工程师用 L3 跑通,看到 ,就认为器件安全。但 L3 算的是 die 面积平均温度,完全不感知 cell 间电流分配。凡是电流会穿越 的 linear mode(eFuse、Oring、load switch 软启动),必须装 wrapper 再看 。
G2 — 就 SOA 内:错把封装热极限 当作唯一 SOA 约束。SOA 图上 thermal stability limit 线是比 更严的限制:它由 die 上 cell 级 Spirito 不稳定性决定,在高 区允许电流比 低 10-100×。工作点 而位于 thermal stability limit 以上,一样烧 die。
G3 — Wrapper 仿真过了就实际安全:wrapper 在三类工况下偏保守或不准——短脉冲(<100 μs)时 hot cell 来不及建立;avalanche 区()wrapper 切换到 smooth Heaviside 过渡而非物理 avalanche;热边界假设均匀分布 cell 热阻而忽略 die 边缘散热优势。因此 wrapper 过了只是"初步筛",通过的设计仍须做 DPT 实测验证,见 topic-mosfet-double-pulse-test。
G4 — Switch mode 也用 wrapper:switch mode 下 MOSFET 要么 (on),要么 (off),两者积 ,wrapper 输出 ,毫无附加信息。给 switch mode 电路强加 wrapper 只会增加收敛难度和仿真时间,没有任何安全价值。
G5 — 5 个参数随便取: 必须取 datasheet SOA 图 (典型条件)对应的读数。如果误用 曲线,thermal limit 线整体下移(高温时 SOA 更严),会系统性低估 — wrapper 反而给出虚假的"更安全"结论。 取绝对最大值(150°C),不能用降额目标值。
G6 — Wrapper 改变 MOSFET 电学行为:wrapper 的 6 个 B-source 全是只读-只写关系,不注入任何电流或电压到 MOSFET 的电气端口。它只读取 L3 模型输出的 ,输出 到一个额外端口。电路拓扑、、开关波形与装 wrapper 之前完全一致,不影响仿真收敛。
G7 — Wrapper 替代 DPT 测试:仿真是预筛工具,不是产品资质凭证。Wrapper 的行为模型假设与实际 die 三维热扩散、cell 排布、封装散热路径都有偏差。对于 linear mode 跨 的关键应用,必须制作物理样机,用真实感性负载和示波器探 波形,结合热成像确认无局部热点,才能关闭设计风险。
9. Corner C1-C3
三类典型边界工况会让 wrapper 的预测精度发生系统性偏移,需要额外措施。
C1 — 短脉冲(<100 μs)过保守:Wrapper 用 die 整体 和 计算 ,隐含假设热场已在 die 上充分建立。但当功率脉冲时间远短于 die 热扩散时间常数(),hot cell 周围的 cell 来不及被烧热,实际上提供额外散热路径,Spirito 正反馈不会完全建立。此时 wrapper 给出的 比实际峰值高 2-5×,对短脉冲 ESD/clamping 应用会给出错误的"FAIL"结论。正确做法是配合时域 脉冲热阻曲线(见 topic-zth-transient-thermal)做独立估算,或做硬件实验验证。
C2 — 高基板温度()需重跑:Wrapper 中 的 项按 线性缩放:。 从 25°C 升至 105°C,分子从 125 缩至 45, 降低 64%——热裕量大幅收窄。同样的关断波形在 时 (余量 22°C),在 时 可能超过 。设计在全温度范围内的 worst-case 必须以最高结壳温度重跑仿真(汽车通常 )。
C3 — 并联器件只能单独 wrapper:多个 BSC010NE2LS 并联时,各器件的 因批次工艺偏差不同。Wrapper 无法建模不同器件之间的电流分配:它假设每块 die 内部均匀,但并联时 最低的那块 die 会整体多承担电流,其内部的 hot cell 问题比单管更严重。工程纪律:并联几块 MOSFET,就要为每一块单独实例化 wrapper,并在 参数上叠加各自的工艺偏差();否则整个并联结构仿真给出一个"平均化"的 ,实际产线最坏 die 会在该温度之上更热。
Cross-references
- ← 索引
- topic-mosfet-soa — SOA 物理 / Spirito 数学(本页 SPICE 实现的理论基础)
- topic-mosfet-soa-engineering — SOA 工程估算(图解 + α_lim + RTH 退化)
- topic-electro-thermal-simulation — 单通道 Foster/Cauer + SPICE 基础
- topic-mosfet-double-pulse-test — 实测验证 wrapper 仿真结果
- topic-zth-transient-thermal — 数据手册解读
- topic-mosfet-loss-decomposition — 损耗五分量(wrapper 的输入)
- topic-spice-mosfet-models — L0/L1/L2/L3 模型层级
- topic-mosfet-datasheet-reading — 5 个 SOA 参数所在位置