电路仿真工具(Circuit Simulation)

控制采样L1别名 LTspice · PSIM · SPICE · 仿真

本质 没有一款仿真工具能在所有任务上都最优——仿真工具的选择是收敛性 × 精度 × 速度的三难困境。SPICE 家族(LTspice / PSpice / SIMetrix)精度最高但收敛最慢;SIMPLIS 用分段线性直接求稳态,比 SPICE 快 10~50 倍但精度略低;PSIM 用理想开关让功率变换器仿真极快但看不到波形细节;Simulink 做系统级和控制算法但不碰器件物理。选错工具可能让一个本来 5 分钟的仿真变成 5 小时不收敛。。本页覆盖 SPICE 家族(LTspice / PSpice / SIMetrix)、SIMPLIS 分段线性快稳态、PSIM 理想开关高速功率仿真、Simulink 系统级、MOSFET 模型层级(Level 1/2/3 / SPICE3 / EKV / BSIM)、电热协同仿真。选错工具会让 1 小时的仿真跑 8 小时——选型先于建模。


学习目标

读完本页后,你应该能够:

  • 从仿真任务(瞬态波形 / 稳态 Bode / 控制算法 / 热-电协同)倒推该用哪个工具。
  • 在 LTspice 里熟练使用 .tran.ac.step.meas 完成参数扫描和自动测量。
  • 解释 SIMPLIS 的"分段线性直接求稳态"为什么比 SPICE 快 10~50×。
  • 解释 PSIM 的"理想开关"为什么让功率仿真快 100×,以及代价是什么。
  • 区分 SPICE MOSFET Level 1 / Level 3 / BSIM / 厂商行为模型的适用范围。
  • 诊断 SPICE 仿真常见的不收敛问题(步长、数值方法、初始条件)。
  • 用 PyLTspice 做 Monte Carlo 或参数优化仿真,实现设计自动化。

1. 核心框架:四种仿真任务与对应工具

电路仿真4 种任务对应不同工具——SPICE 详细瞬态(LTspice)、状态空间(SIMPLIS)、混合电气热(PSIM)、有限元(Ansys)。每种工具的速度精度权衡不同,选错工具仿真效率差 10×。

Mermaid diagram
任务首选工具原因
详细开关波形LTspice真实器件波形
电源环路 BodeSIMPLIS直接求稳态;快 10×
系统级功率+控制PSIM理想开关;C Block
控制算法+HILSimulink建模;代码生成
多物理场Modelica多域方程耦合

仿真任务大致分为四类,每类都有最适合的工具。


2. SPICE 家族——精度的代价是速度

SPICE (Simulation Program with Integrated Circuit Emphasis) 是 1973 年 UC Berkeley 开发的模拟电路仿真器。所有现代 SPICE 衍生品(LTspice、PSpice、HSpice、SIMetrix、NGspice)都基于同一套数值方法。


SPICE 的工作原理

基于节点分析 (Modified Nodal Analysis, MNA),在时域内逐步数值积分

Step 1: 建立电路的 KCL/KVL 方程组 (矩阵 A·x = b)
Step 2: 牛顿-拉普森迭代求解非线性器件
Step 3: 时间步进 (梯形法 / Gear 法) 推进到下一时刻
Step 4: 重复 Step 2~3,直到仿真时间结束

每个时间步需要迭代收敛——这是 SPICE 精度的来源,也是慢的原因。


SPICE 的收敛陷阱

SPICE 仿真经常不收敛——尤其是电路里有高 Q 值谐振、快速开关或强非线性时。常见错误信息:

  • "timestep too small":时间步被自动减小到最小限制
  • "iteration limit reached":牛顿迭代在一步里不收敛
  • "singular matrix":KCL 方程组奇异(电路连接错误)

调试方法

1 放宽收敛参数

.options RELTOL=0.01  (默认 0.001)
.options ABSTOL=1u    (默认 1p)
.options VNTOL=0.1m   (默认 1u)

放宽 10× 可以解决大部分收敛问题,代价是精度略降。

2 增加阻尼:在高 Q 回路加小电阻(1 mΩ ~ 1 Ω)模拟实际寄生。

3 改变积分方法

.options METHOD=GEAR (默认 TRAP) Gear 法对高 Q 回路更稳定,但有"数值阻尼"导致精度略降。

4 设置合理的初始条件

.ic V(node)=5 (强制某节点初始电压) 避开启动瞬态的困难时刻。

5 使用"软启动"源

而不是阶跃源(上升时间为 0)。


LTspice——免费的事实标准

LTspice 由 Linear Technology(已被 ADI 收购)开发,完全免费,但功能丰富:

  • 快速求解器(比 PSpice 快 2~3×)
  • 完整的 ADI / Linear 器件库(大量精密运放、LDO、Buck 控制器)
  • 集成波形查看器,支持表达式计算
  • 参数扫描 + 自动测量
  • Python 接口(PyLTspice)支持自动化

对功率工程师来说,LTspice 几乎是默认选择。


LTspice 核心命令

LTspice 几个核心命令覆盖 90% 仿真场景——.tran(瞬态)、.ac(频域)、.dc(直流)、.noise(噪声)、.step(参数扫描)、.meas(测量提取)。这 6 个命令组合可完成绝大多数功率仿真。

命令功能典型应用
.tran瞬态仿真开关波形、启动过程
.acAC 小信号Bode 图、滤波器频响
.dcDC 扫描传输特性、工作点
.op工作点分析静态偏置验证
.noise噪声谱密度低噪声电路
.tf传递函数小信号分析
.step参数扫描一次仿真多组参数
.meas自动测量效率、建立时间等
.mc蒙特卡洛公差分析
.model定义自定义模型简化器件模型

.step + .meas 示例

目标:扫描 Buck 的栅极电阻 ,对比开关损耗和效率。

- 定义参数
.param Rg = 10

- 在电路中使用
R_gate gate_drv gate {Rg}

- 参数扫描
.step param Rg list 5 10 22 47

- 自动测量效率
.meas TRAN Pin AVG -V(vin)*I(Vin) FROM 90u TO 100u
.meas TRAN Pout AVG V(vout)*I(Rload) FROM 90u TO 100u
.meas TRAN Eff param (100*Pout/Pin)

- 自动测量开关损耗
.meas TRAN Esw_on INTEG V(sw_node)*I(M1_drain) FROM 91u TO 91.5u

一次运行得到 4 组结果,可视化对比选择最佳


PyLTspice——自动化仿真

PyLTspice 是 LTspice 的 Python 接口,可以:

  • 批量修改网表并运行仿真
  • 直接读取 .raw 波形文件
  • 做 Monte Carlo 或参数优化

示例(批量测不同 Q 因子的滤波器响应):

from PyLTSpice import SimRunner, SpiceEditor

LTC = SimRunner(output_folder='./temp')
netlist = SpiceEditor("filter.asc")

for Q in [0.5, 0.707, 1.0, 2.0]:
    netlist.set_component_value('R1', str(1000/Q))
    LTC.run(netlist)

LTC.wait_completion()

这种自动化对大规模设计空间探索Monte Carlo 良率分析非常有用。

本质一句话:LTspice 是免费 + 快速 + 库丰富的组合,是功率工程师的"瑞士军刀";.step + .meas + PyLTspice 构成完整自动化仿真体系。


3. SIMPLIS——开关电源的专业工具

SIMPLIS (SIMulation for Piecewise-LInear Systems)SIMetrix 软件里的专用引擎,专为开关电路设计。它不是 SPICE——用的是完全不同的数值方法。


SIMPLIS 的分段线性方法

SIMPLIS 把电路看作分段线性 (Piecewise-Linear) 系统:

  • 每个开关器件被建模为两个线性状态(ON 和 OFF)
  • 电容和电感是真实的动态元件
  • 在每个拓扑状态(一组开关组合)下,电路是线性
  • SIMPLIS 在每个线性段内解析求解,不需要数值积分

关键优势

  • 直接求解周期稳态 (Periodic Operating Point, POP)——不需要等几十个开关周期
  • 比 SPICE 快 10~50×(对开关电源仿真)
  • 自动 AC 分析:注入小信号扰动 + 测量响应 → 自动输出 Bode 图
  • 比 SPICE 更容易收敛(分段线性减少了非线性迭代)

SIMPLIS vs SPICE 的根本差异

SIMPLIS 与 SPICE 核心差异是分段线性 vs 全 SPICE——SIMPLIS 把开关器件简化为分段线性,仿真速度比 SPICE 快 10-100×,但精度损失。适用场景:闭环稳态分析、IC 控制器设计。

特性SPICESIMPLIS
数值方法时域逐步积分(ODE)分段线性 + 解析求解
达到稳态需仿真几十个周期直接计算稳态
Bode 图需要平均模型或特殊技巧自动生成
速度基准快 10~50×
精度真实器件模型(振铃可见)分段线性(振铃不可见)
收敛常见不收敛问题更容易收敛

SIMPLIS 的典型用途

主要用于开关电源设计稳态和环路分析**:

  • 补偿器设计:自动 Bode 图,快速迭代零点极点
  • 稳态分析:输出纹波、效率、应力
  • 环路增益测量:注入扰动,直接输出 T(s)
  • 大信号瞬态:负载阶跃响应、启动过程

不适合

  • 详细器件波形(看不到寄生振铃、dv/dt)
  • EMI 预估(需要高频细节)
  • 非开关电路(SIMPLIS 对普通模拟电路不优势)

一个示例:PCM Buck 的 Bode 图

在 SPICE 中

  • 建平均模型(State-Space Average)—— 需要理论推导
  • 或者直接用开关电路运行 AC 分析(SPICE 的 AC 分析对开关电路基本无效)
  • 结果:几小时 + 大量 debug

在 SIMPLIS 中

Step 1: 用原理图搭真实的 PCM Buck (含 MOSFET、PWM 比较器、电感、电容)
Step 2: 运行 POP (Periodic Operating Point) 分析 → 得到稳态
Step 3: 运行 AC 分析 → 自动注入扰动 → 自动输出 Bode 图
Step 4: 调整补偿器参数,重复 Step 3

5 分钟出第一版 Bode 图。这是 SIMPLIS 对开关电源设计的革命性价值。

本质一句话:SIMPLIS 用分段线性绕过 SPICE 的数值积分,直接求周期稳态,是开关电源环路设计的事实标准——但你必须接受"看不到详细振铃"的代价。


4. PSIM——系统级功率电子仿真

PSIM(Powersim 开发)是另一个专用仿真器,不属于 SPICE 家族。它的设计哲学更激进:用理想开关代替真实器件模型,换取极致的仿真速度。


PSIM 的理想开关

理想开关模型

  • ON 状态: = 0,I 任意(零电阻)
  • OFF 状态:I = 0,V 任意(无穷电阻)
  • 切换瞬间:瞬时完成(无上升下降时间)

这个模型显然不符合物理——但对大多数系统级分析已经足够。你不关心具体的 dv/dt,你关心的是平均占空比、输出电流、效率、控制器行为。

结果PSIM 比 SPICE 快 10~100×,同时收敛性好得多。


PSIM 的核心模块

PSIM 专攻"功率电子 + 电机控制"——理想开关 + 电机模型 + 控制框图。设计周期短但精度损失。适合项目早期拓扑选型,不适合后期 EMC/损耗仿真。

  • Ideal Switch:理想开关
  • C Block直接用 C 语言写控制器,编译后嵌入仿真
  • SimCoupler:与 MATLAB/Simulink 联合仿真
  • Motor Drive Module:PMSM/BLDC 电机模型、Hall/Resolver 传感器
  • Thermal Module:导入厂商 模型,计算实时结温
  • Renewable Energy Module光伏 / 风力模型

C Block——关键杀手级特性

在 PSIM 里用 C 语言直接写控制器代码:

// 简单的 PI 控制器
static double err_integral = 0;

double PI_Control(double v_out, double v_ref) {
    double err = v_ref - v_out;
    err_integral += err * T_s;
    return KP * err + KI * err_integral;
}

这段代码同时

  • 在 PSIM 仿真里运行(验证算法)
  • 直接编译到嵌入式目标(MCU / DSP)

这是 PSIM 最大的价值——仿真代码 = 量产代码,避免"仿真看起来对但实际板子跑不动"的痛苦。


PSIM vs SPICE:一个 LLC 仿真对比

LLC 谐振变换器稳态仿真

  • SPICE:LLC 的 Q 值高,需要几十个开关周期才能达到稳态;收敛慢;可能 30 分钟 才出一次结果
  • PSIM 理想开关:同样精度的稳态,30 秒
  • 差距100×

代价:PSIM 看不到 SiC MOSFET 的真实振铃和 EMI 细节。如果你需要评估 EMI,必须用 LTspice 详细仿真补充。

实务PSIM 做系统设计(拓扑、控制、效率),LTspice 做器件级细节(开关波形、EMI、损耗)。两者互补。

本质一句话:PSIM 用理想开关换速度,用 C Block 换 "仿真 = 代码" 的一致性;是系统级功率电子设计的主流工具。


5. SPICE MOSFET 模型层次——精度和速度的权衡

仿真精度极度依赖器件模型的精度。用错误的模型会让你得到错误但有说服力的结果——比不仿真还危险。


模型家族

SPICE 模型家族多个版本针对不同场景——SPICE Level 1-3 教学、BSIM4 数字 IC、PSP 模拟、HiSIM-HV 高压、EKV 模拟设计。功率器件多用厂商专用 SPICE 模型。

模型参数量精度适用
Level 1 (1968)~10极低教学;粗略验证
Level 2 (1970s)~30中等精度
Level 3 (1980s)~40早期 MOSFET IC
BSIM3v3 (1995)~100亚微米 IC
BSIM4 (2000)~200亚 100 nm IC
BSIM-CMG (2012+)~300FinFET
厂商行为模型功率专用功率电子首选

为什么 BSIM 不适合功率 MOSFET

BSIM 设计目标是数字 IC 的低压 MOSFET——缺失功率器件关键特性(雪崩、SOA、高场迁移率退化)。所以仿真功率开关用 BSIM 失真大,必须用功率专用模型。

特性BSIM 缺失后果
漂移区(JFET 区)电阻不模拟严重低估
非线性 ()简化Miller 平台错误、dv/dt 错
非线性简化硬开关损耗低估
二极管 基本二极管模型反向恢复完全错
温度相关性简化热仿真不可靠

BSIM 家族是为 CMOS IC 设计的——对亚微米沟道小信号工作区优化,但缺少功率 MOSFET 的关键物理特性(见上表)。用 BSIM 仿真功率电路的典型后果

  • 仿真效率 97%,实际 93%
  • 仿真 dv/dt 10 kV/μs,实际 30 kV/μs
  • 仿真开关损耗 5 W,实际 15 W

散热设计按仿真值选型 → 实际运行过热炸管。这种错误极其常见。


厂商行为模型——功率电子的救星

所有主流功率半导体厂商(Infineon、Wolfspeed、Rohm、STMicroelectronics、onsemi)都提供子电路级行为模型(Behavioral Model):

子电路模型的构成

.SUBCKT IPW60R040C7 D G S
  * 核心 MOSFET
  M_core D_int G_int S_int S_int nmos_simple L=1u W=100
  
  * 漂移区 (JFET) 电阻
  R_drift D D_int 0.04  
  
  * 非线性 C_gd (电压依赖电容)
  C_gd D G TABLE(V(D,G)={0 5n}, ..., {600 0.05n})
  
  * 非线性 C_oss (近似)
  C_ds D S TABLE(V(D,S)={0 20n}, ..., {600 0.1n})
  
  * 体二极管 + Q_rr
  D_body S D DIODE_MODEL
  ...
  
  * 温度相关性
  .temp ...
.ENDS

这些模型包含了所有 BSIM 缺失的物理,是从真实器件的 S 参数 / C-V / I-V 测量拟合出来的,精度远超通用模型


实务:如何获取和使用

步骤

  • 在厂商官网找 "SPICE Model" 或 "Simulation Model"
  • 下载 .lib.mod 文件
  • 在 LTspice 中 include:
.inc IPW60R040C7.lib

- 在电路中实例化
XM1 drain gate source IPW60R040C7

关键:子电路模型通常包含 .SUBCKT 名称(如 IPW60R040C7),在原理图里要用 X 前缀(表示子电路)而不是 M 前缀。


简化 vs 完整模型的选择

仿真模型不是越精细越好——简化模型快但失真,完整模型准但慢。实务原则:概念阶段用简化模型,设计冻结前用完整模型验证。

  • 设计验证 / 拓扑选择:用简化理想开关(SPICE 的 S 开关,或 PSIM) —— 快
  • 详细波形 / 损耗评估:用厂商行为模型 —— 精度最高
  • 教学 / 理解原理:用 Level 1 —— 简单直观

反面教材:用 Level 1 仿真 SiC MOSFET 的开关损耗 → 得到的结果和实际差 3~5×。

本质一句话:功率 MOSFET 仿真必须用厂商行为模型——BSIM 和 Level 1~3 都不适用;去厂商官网下载模型是标准流程。


6. MATLAB/Simulink——系统级控制设计

MATLAB/Simulink 不是电路仿真器——它是系统级建模工具。用于:

  • 控制算法设计(PID、LQR、MPC、Kalman 滤波)
  • 系统建模(状态空间、传递函数)
  • 自动代码生成(Simulink Coder → C 代码)
  • HIL 仿真(Hardware-in-the-Loop)

典型流程:EV 电机控制器开发

EV 电机控制器仿真按 4 阶段递进——概念(PSIM 简化)、详细(SPICE)、闭环(SIMPLIS)、整机(MATLAB Simulink)。每段用合适工具,工时分布大致均等。

Step 1: Simulink 建立完整模型
        ├── 功率变换器(用 Simscape 或 PSIM 共仿真)
        ├── PMSM 电机模型
        ├── FOC 控制器(Clarke / Park / PI 电流环 / 速度环)
        └── SVPWM 调制

Step 2: 调试控制算法
        ├── 调 PI 参数
        ├── 验证带宽和稳定性
        └── 验证启动、制动、弱磁等工况

Step 3: 自动代码生成
        Simulink Coder → C 代码 → 嵌入 MCU

Step 4: HIL 测试
        真实 MCU + Simulink 模拟的"虚拟硬件" 在实时仿真器上运行
        → 验证代码在真实硬件上的行为

Step 5: 量产
        同一套代码 + 真实功率硬件

Simulink 的价值算法开发、仿真验证、代码生成都在同一个环境里——从模型到量产代码无缝过渡。

实际使用:EV 主驱 ECU 的控制软件绝大多数用 Simulink 开发(特斯拉、比亚迪、通用等)。


SimCoupler(PSIM 的接口模块)允许:

  • PSIM 做功率变换器(快速收敛、高精度)
  • Simulink 做控制算法(调参方便、可视化好)
  • 两者实时数据交换

优点:利用两个工具各自的优势。缺点:设置稍复杂,需要理解数据交换时序。

本质一句话:Simulink 做系统级控制设计和代码生成,与 PSIM 或 Simscape 配合做完整仿真;它不是电路仿真器,不要和 SPICE 比较器件级精度。


7. Modelica——多物理场仿真

Modelica 是一个多物理域建模语言,不是工具——用 Modelica 建模然后在 Dymola、OpenModelica、JModelica 等工具中仿真。


Modelica 的独特价值

多物理域方程系统

  • 电路(电压、电流)
  • 热学(温度、热流)
  • 机械(位置、力)
  • 液压、气动等

同时耦合求解。对于热-电耦合(MOSFET 结温随损耗动态变化)、电-机耦合(电机温升影响转矩)等问题,Modelica 有独特优势。


使用场景

PLECS 强项是电-热协同 + 自由绑定 MATLAB——既能仿电气也能联仿热,与 SimulationX 一脉相承。典型用在:EV 主驱热设计验证、整机损耗预算。

  • 电-热协同仿真:比 PSIM 热模块更灵活
  • 整车级仿真:电池 + 电机 + 变换器 + 冷却系统
  • 系统级优化:设计参数对整体性能的影响

劣势:学习曲线陡、生态不如 SPICE/Simulink 成熟。除非有特定多物理场需求,优先用 PSIM 或 Simulink。


8. 仿真工具选型决策矩阵

器件/波形级任务

任务最佳工具次选
小信号运放LTspice
开关电源波形LTspiceSIMPLIS
EMI 仿真LTspice
蒙特卡洛公差LTspiceSIMPLIS

电源/系统级任务

任务最佳工具次选
电源 Bode 图SIMPLISPSIM
电源稳态SIMPLISPSIM
系统级功率PSIMSimulink
热-电协同ModelicaPSIM

控制/HIL 任务

任务最佳工具次选
电机控制算法SimulinkPSIM
HIL 仿真SimulinkPSIM

成本:LTspice 免费;Modelica 有开源版;SIMPLIS / PSIM / Simulink 均为商业。


9. 仿真常见陷阱与诊断

仿真5 个常见陷阱——收敛失败、时长过长、模型过精/过糙、初始条件错、数值噪声。多数来自"工具理解不够",不是工具本身缺陷。

问题根因解决
SPICE 不收敛高 Q 谐振;硬开关加阻尼;放宽 RELTOL;Gear 法
启动瞬态失败阶跃源太陡用 PULSE 源做软启动
Bode 图不对SPICE AC 对开关无效改用 SIMPLIS 或平均模型
LLC 仿真慢Q 值高需多周期改用 PSIM 或 SIMPLIS POP
损耗低估 3×Level 1 仿 SiC下载厂商行为模型
仿真偏离实际理想开关过简化补做 SPICE 详细仿真
MCU 代码异常浮点 vs 定点不一致Fixed-point Designer 验证
PyLTspice 不一致初始条件/参数错打印 netlist 人工检查

核心要点

  • 没有全能仿真工具。SPICE 看细节,SIMPLIS 做环路,PSIM 做系统,Simulink 做控制,Modelica 做多物理场。
  • SPICE 精度最高但最慢——收敛困难时放宽 RELTOL 或换 Gear 法,加阻尼。
  • LTspice 是免费 + 快速 + 库丰富的组合,是功率工程师首选;.step + .meas + PyLTspice 构成完整自动化。
  • SIMPLIS 用分段线性直接求稳态,比 SPICE 快 10~50×;是开关电源环路分析的事实标准。
  • PSIM 用理想开关比 SPICE 快 100×;C Block 让仿真代码 = 量产代码,是系统级功率电子首选。
  • MATLAB/Simulink 做系统级控制,不是电路仿真器;自动代码生成 + HIL 是 EV 主驱 ECU 开发的标准流程。
  • SPICE MOSFET 模型层次:BSIM 为 IC 设计,不适合功率器件必须用厂商行为模型——所有主流厂商都提供。
  • 用错模型比不仿真更危险:Level 1 仿 SiC MOSFET 的开关损耗误差 3~5×,按仿真选散热会炸管。
  • 仿真策略:PSIM 做系统设计,LTspice 补做器件级细节,两者互补。

延伸阅读

SPICE / LTspice

  • LTspice Help XVII(官方文档)
  • Essential Circuit Analysis using LTspice
  • CMOS Integrated Circuit Simulation with LTspice
  • PyLTspice 文档(Python 接口)

SPICE 基础

  • The SPICE Book(Vladimirescu)
  • SPICE for Power Electronics and Electric Power(Rashid)
  • Switch-Mode Power Supply Simulation: Designing with SPICE 3

PSIM

  • PSIM User Manual
  • Power Electronics Circuit Analysis with PSIM

SIMetrix / SIMPLIS

  • SIMetrix User Manual
  • SIMPLIS Reference

PSpice / OrCAD

  • PSpice for Circuit Theory and Electronic Devices
  • Analog Design and Simulation Using OrCAD Capture and PSpice

MOSFET 建模

  • Introduction to SPICE Source Files
  • SPICE MOSFET Model Intro 系列
  • ST — UM1575: SPICE Model Tutorial for Power MOSFETs

多物理场

  • Modelica Tutorial
  • VHDL-AMS Tutorial
  • Verilog-A 参考

Cross-references