4. 无源元件建模:电阻R、电容C、电感L的SPICE语法、初始条件设置、寄生参数
无源元件是电路仿真的基石。电阻、电容、电感,这三个元件看似简单,但在SPICE里,它们的模型远不止一个理想符号。我见过太多新手在仿真时,明明电路图看着没问题,结果却跟实测差了好几条街——十有八九,问题就出在元件模型上。
这一章,咱们就把R、C、L的SPICE语法、初始条件怎么设、寄生参数怎么加,一次性讲透。
4.1 电阻R:从理想到寄生
电阻的SPICE语法最简单,但坑也不少。
4.1.1 基本语法
R<name> <+节点> <-节点> <阻值>
举个例子:
R1 1 0 10k
这就表示一个10kΩ的电阻,接在节点1和地之间。
SPICE里单位不区分大小写,但要注意:
- M = 1e-3(毫)—— 这是个经典陷阱
- MEG = 1e6(兆)—— 这才是兆欧
4.1.2 半导体电阻模型
实际芯片里的电阻不是线性的。SPICE提供了半导体电阻模型:
R1 1 2 RMOD W=10u L=100u
.MODEL RMOD R RSH=50 TC1=0.002 TC2=0.0001
这里RSH是方块电阻,TC1和TC2是温度系数。我在做带隙基准时,就靠这个模型来补偿电阻的温度漂移。
4.1.3 寄生参数
高频下,电阻不再是纯电阻。它两端有寄生电容,引线有寄生电感。SPICE里可以这样加:
R1 1 2 10k
Cpar1 1 2 0.5p ; 寄生电容
Lpar1 1 2 1n ; 寄生电感
4.2 电容C:初始条件与模型选择
电容在SPICE里比电阻复杂一些,尤其是初始电压的设置。
4.2.1 基本语法
C<name> <+节点> <-节点> <容值> [IC=<初始电压>]
例子:
C1 1 0 10p IC=1.5V
这表示一个10pF的电容,初始电压设为1.5V。
4.2.2 初始条件设置
为什么要设初始条件?你想想看,仿真一个RC充放电电路,如果电容初始电压是0,那仿真结果就是从0开始充电。但实际电路中,电容可能已经充到某个电压了。
SPICE里设置初始条件有两种方式:
- 元件级设置: 直接在电容语句后面加IC参数
- 全局设置: 在仿真语句中使用UIC(Use Initial Conditions)选项
.TRAN 1n 100n UIC
用了UIC,SPICE就会跳过直流工作点计算,直接使用你设定的初始值。
4.2.3 电容模型
实际电容有电压系数和温度系数。SPICE提供了电容模型:
C1 1 2 CMOD W=10u L=10u
.MODEL CMOD C CJ=0.5m VJ=0.6 M=0.5
这里CJ是零偏结电容,VJ是内建电势,M是梯度因子。这个模型在做MOS管栅电容仿真时特别有用。
4.2.4 寄生参数
电容的寄生主要是等效串联电阻(ESR)和等效串联电感(ESL)。
| 电容类型 | 典型ESR | 典型ESL | 适用频率 |
|---|---|---|---|
| 陶瓷电容 | 1~10mΩ | 0.5~2nH | ~GHz |
| 电解电容 | 0.1~1Ω | 5~20nH | ~MHz |
| 钽电容 | 0.1~0.5Ω | 2~10nH | ~100MHz |
在SPICE里,可以用子电路来建模带寄生的电容:
.SUBCKT CAP_WITH_PARASITICS 1 2
Cideal 1 3 10p
Rser 3 4 0.1
Lser 4 2 1n
.ENDS
4.3 电感L:互感与磁芯模型
电感在SPICE里是最容易出问题的无源元件。为什么?因为理想电感在直流下就是短路,仿真时容易引起数值问题。
4.3.1 基本语法
L<name> <+节点> <-节点> <感值> [IC=<初始电流>]
例子:
L1 1 0 100u IC=10mA
4.3.2 互感设置
变压器、耦合电感在SPICE里用K语句来定义互感:
L1 1 2 100u
L2 3 4 200u
K1 L1 L2 0.95
K是耦合系数,范围0~1。0.95表示95%的磁耦合。
我做电源设计时,一般按这个经验来:
- 紧密耦合变压器:K=0.99~0.999
- 普通耦合电感:K=0.8~0.95
- 松耦合(如无线充电):K=0.1~0.5
4.3.3 磁芯模型
实际电感有磁芯饱和、磁滞效应。SPICE提供了非线性磁芯模型:
L1 1 2 LMOD N=100
.MODEL LMOD CORE A=1e-4 LM=1m LMA=0.1
这里A是磁芯截面积,LM是磁路长度,LMA是饱和磁导率。这个模型能模拟磁芯饱和时的电感下降。
我曾经做过一个反激电源,仿真时电感一直不饱和,结果实际测试时变压器叫得跟杀猪一样。后来加了磁芯模型,才发现磁芯在峰值电流时已经饱和了。
4.3.4 寄生参数
电感的寄生主要是直流电阻(DCR)和并联电容(CP)。
L1 1 2 100u
Rdc 1 3 0.5
Cpar 2 3 5p
DCR决定了电感的直流损耗,CP决定了电感的自谐振频率。频率超过自谐振频率后,电感就变成电容了。
4.4 知识结构总览
下面这张图总结了无源元件建模的核心要点:
4.5 综合示例:一个带寄生的RLC电路
最后,咱们看一个完整的例子。这是一个带寄生参数的RLC滤波电路:
* 带寄生参数的RLC低通滤波器
Vin 1 0 AC 1V
R1 1 2 50
L1 2 3 100u
Rdc 2 4 0.2 ; 电感DCR
Cpar 3 4 2p ; 电感寄生电容
C1 3 0 10p IC=0V
Resr 3 5 0.05 ; 电容ESR
Lesl 5 6 0.5n ; 电容ESL
Rload 6 0 1k
.AC DEC 100 1k 100MEG
.TRAN 1n 1u UIC
.PROBE
.END
这个例子把这一章讲的内容都用上了。你想想看,如果只用理想元件,这个滤波器的截止频率和实际会有多大差别?