可变R-L-C 元件的SPICE模拟行为建模

时间:2007-04-29

可变R-L-C 元件的SPICE模拟行为建模

作者:安森美半导体 Christophe Basso

一些仿真器没有包含LRC元件的ABM方程,采用本文所述的简单子电路,可以根据复杂的分析表达式(包括逻辑表达式)创建无源元件,比如建立非线性电容、时变电阻等。

采用SPICE仿真电路时,通常需使用可变无源元件,如电阻、电容或电感。如果电源可以从外部控制上述器件的值,自然就可以从中推导出电容和电感的模拟行为建模表达式:非线性行为、随电流变化而变化的电感等。然而,很少有基于SPICE的仿真器可适用于无源元件的内嵌方程。为了解决这个问题,本文将介绍可以通过外部电压源进行器件值调节的若干无源元件。

简单的情况:电阻

欧姆定律(Ohm Law)指出:电流I通过电阻R时产生电压V。电阻R保持不变时,电流源I的值为(方程1),其中1和2为电阻终端,如图1所示。

根据这个简单的方程,在INTUSOFT的IsSpice和CADENCE的PSpice下均可形成一个可变电阻子电路,方程1中的R将通过CTRL节点由控制电流源直接施加:

IsSpice

.subckt VARIRES 1 2 CTRL
R1 1 2 1E10
B1 1 2 I=V(1,2)/(V(CTRL)+1μ)
.ENDS

Pspice

.subckt VARIRES 1 2 CTRL
R1 1 2 1E10
G1 1 2 Value = { V(1,2)/(V(CTRL)+1μ) }
.ENDS

在电流源表达式中,如果控制电压值V(CTRL)接近于零,1μ值不为零,即(V(CTRL)+1μ)不为零,从而避免被除数被零除。如果V(CTRL)为100kV,则等效电阻为100kΩ。图2表示,在子电路上施加一个简单电阻分压器,相当于产生一个1Ω电阻。现在,可以为V3建立一个复杂电压源,并轻松形成非线性关系。

电容是一个电压源

与前面介绍的电阻相类似,电容可以用符合下列定律的电压源表示:(方程2)。也就是说,如果我们对流入等效子电路电容的电流进行积分,并且将它乘以控制电压V的倒数,即可得到电容的值C = V! 然而,由于变数t不断变化,所以在SPICE中不存在积分原函数。因此,应该采用方程2,并且使子电路电流流入 1F电容。通过观察1F电容上得到的电压,可以对 Ic(t) 进行积分。图3显示了建立子电路的方法。

空电压源V将电流引入1F电容,在“int”节点上产生积分电压,然后,乘以CTRL 节点电压的倒数,就可以模拟可变电容。图5显示了用实际电容和可变电容得到的电压和电流。两个图表之间没有区别。

下面是IsSpice 和PSpice中的模型:

IsSpice

.SUBCKT VARICAP 1 2 CTRL
R1 1 3 1u
VC 3 4
BC 4 2 V=(1/v(ctrl))*v(int)
BINT 0 INT I=I(VC)
CINT INT 0 1
.ENDS

PSpice

.SUBCKT VARICAP 1 2 CTRL
R1131u
VC34
EC42Value={(1/v(ctrl))*v(int)}
GINT 0 INT Value = { I(VC) }
CINT INT 0 1
RINT INT 0 1G
.ENDS

对测试也进行了交流分析,证实模型在频域内可以正常工作。

电感是一个电流源

如果对电感施加电压,它将保持安培匝数恒定,相当于一个真正的电流源,这就是对可变电感建模的方法。根据楞次定律(Lenz Law),可以得出:

IsSpice

.SUBCKT VARICOIL 1 2 CTRL
BC 1 2 I=V(INT)/V(CTRL)
BINT 0 INT I=V(1,2)
CINT INT 0 1
.ENDS

PSpice

.SUBCKT VARICOIL 1 2 CTRL
GC12Value={V(INT)/V(CTRL)}
BGINT 0 INT Value={ V(1,2) }
CINT INT 0 1
RINT INT 0 1G
.ENDS

可以轻易地通过调整LC滤波器进行复杂的交流分析。如果我们仿真图7,将会得到图8的波形,与图5中的波形类似。






  
上一篇:基于AM186ed微处理器的嵌入式系统以太网接口设计与实现
下一篇:基于TMS320C5402的多功能IP电话机的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料