开发Spice宏模型的简单方法
扫描二维码
随时随地手机看文章
序论
许多比较老的线性器件,尤其是运算放大器,简称“运放”,都没有SPICE宏模型。即使有,通常使用的也是博伊尔(Boyle)宏模型,该模型以今天的标准来看准确度并不高,即使提供给用户也不能很好地代表实际器件。
这种基于晶体管的方法使用相对简单的方程式 —— 工程师可对这些方程式进行相应的修改,以满足各种放大器设计流程的需要。我们的理念是用来自产品说明书的几个参数来创建SPICE(TINA-TI™)宏模型,不管输入或输出拓扑结构如何。该技术基于这样的假设:大多数运算放大器都有一个远远超出单位增益带宽的次极。
一般而言,工程师需要以下参数:电源电压、开环增益与负载、单位增益带宽、压摆率、输入共模范围、共模抑制比(CMRR)、电源抑制比(PSRR)、Vos、Ios、Ib、开环输出阻抗、相位裕度、宽带噪声与1/f噪声、电源电流以及短路电流。对于轨至轨输出,工程师将需要输出饱和电压(输入输出电压差)以及汇点和源点电流。此外,还需要明确规定负载电阻RL。
以不同颜色突出显示的方程式是工程师需插入到网表中的方程式。蓝色方程式是为了方便工程师自己进行观察;红色方程式则是网表末尾的模型参数中可能需要的。
图1展示了双极性输入和互补金属氧化物半导体(CMOS)输出级的拓扑结构。
图1:非轨至轨双极性输入和CMOS输出运放的三级拓扑结构
输入级
输入级包括:一个差分对(Q1/Q2);电流I1、D1和V1 —— 它们可将共模设置为高电平;Rc1和Rc2;可设置次极的C1;作为发射极负反馈的RE1和RE2;EOS —— 一个非反相输入串联的压控电压源。该电压源有好几个组成部分。第一个代表输入偏移电压;第二个与共模抑制比(CMRR)有关联;第三个与电源抑制比(PSRR)有关联,等等。
Ios是一个电流源,它代表运放的输入偏移电流。
中间级包括:一个压控电流源G1,与R1的一个任意值相对应;D3/V3 —— 可设置较高的电压钳位;适用于较低电压钳位的D4/V4;EVp和Evn —— 它们可分别作为D3/V3和D4/V4的电源。EREF是一个压控电压源,可用来生成宏模型的参考节点。最后,用CF和Rz设定一个极点/零点,旨在帮助获得恰当的相位裕度。
输出级是由两个压控电压源与两个晶体管并联组成的。
下一个步骤是为网表推导出必要的方程式,以便开发宏模型。
首先确定I1 —— 来自输入差分对的尾电流。该值可根据所采用的工艺技术而变化。虽然理想情况下工程师可请求从集成电路(IC)设计人员那里获得它,但工程师并非一直拥有这样的选择权;因此,最好将它设置为100μA和1mA之间的任意数。
请将尔利电压VA设置为130,将IS设置为1E-16。Beta表示为BF1,等于I1/2*Ib,其中Ib是来自产品说明书的输入偏置电流值。
如果使用5V的电源,接下来请采用V1 = Vs-Vcm将共模设置为高电平。电压轨提供了1V的共模上限电压,所以请将V1设置为1V。
集电极电阻器RC1和RC2经设置等于0.2(VRC)乘以2再除以I1。
就发射极负反馈电阻器RE1和RE2而言:
RE1 = RE2 =(BF1*RC1-rπ*Avinput) (1)
其中
rπ = [(BF1*VT*2)/I1],而Avinput = Aol*1000/(Avout*Avmiddle) (2)
请注意:VT = kT/q,其中k是波尔兹曼常数(1.38E-23);T是环境温度,以开尔文(K)为单位;q是一个电子的电荷量(1.6E-19)。在300ºK时,VT = 25.9或26mv。
输入级的最后一个步骤是探究跨输入差分对的电容器C1:
C1 =(1/2*RC1*p1),其中p1=90-ɸm-fz (3)
在该方程式中,ɸm是来自产品说明书的相位裕度;fz是来自Rz的迟滞分摊量(中间级里的零点),且fz = atan(GBP/fz)(以度数来表示)。
请注意:GBP是运放的单位增益带宽,而fz是在中间级里计算出的零点。
让我们来总结一下我们到此为止所拥有的关于双极性输入级的信息:
网表(宏模型)所需的值:
I1 = 100e-6
VA = 130
IS = 1E-16
BF1 = I1/2*Ib
V1 = Vs-Vcm,高电平
RC1 = RC2 = 2*VRC/I1
可选:RE1 = RE2 =(BF1*RC1-rπ*Avinput)
C1 =(1/2*RC1*p1),其中p1 = 90-ɸm-fz
以下是网表的样子:
* 器件引脚配置顺序 +IN -IN V+ V- OUT
* 器件引脚编号 1 3 5 2 4
* 节点分配
* 非反相输入
* | 反相输入
* | | 正电源
* | | | 负电源
* | | | | 输出
* | | | | |
* | | | | |
.SUBCKT MOCK 1 2 99 50 45
*
* 输入级
*
Q1 3 7 5 PIX
Q2 4 2 6 PIX
RE1 5 8 4E3
RE2 6 8 4E3
RC1 3 50 68.5
RC2 4 50 68.5
I1 99 8 100E-6
C1 3 4 8.44E-13
D1 99 9 DX
V1 9 8 0.9
EOS 7 1 POLY(5)(73,98)(22,98)(81,98)(80,98)(83,98)0.5E-3 11111
IOS 1 2 1.1E-9
请注意:在EOS项中的第一个常数是500μV的输入偏移电压最大值。
中间级
在这一部分,将R1任意设置为1MΩ。可按下列方程式计算出压控电流源G1:
G1 = R1*Cf/(I1*RC1) (4)
请注意:Rc1 = Rc2。
现在需要确定Cf,它被表示为:
Cf = 1/2π* fdom*R1*(Avout+1) (5)
其中fdom是主导极点,被表示为GBP/Aol*sqrt(1+(Aol^2/p1^2))。GBP是运放的单位增益带宽。
p1 = GBP/TAN(90-ɸm-2)
fz = gm5+gm6/2π*Cf
gm5 = sqrt(2*kp*W/L5*Id)
gm6 = sqrt(2*kp*W/L6*Id)
Id = 1/2kp*(W/L5)*(Vdc5-Vt5)*2*(1+ʎ*Vs/2) (6)
其中kp是一个被称为跨导的工艺参数,切勿与gm相混淆。
请注意:gm5和gm6是不同的值,因为W/L5和W/L6是相互独立的,且与每个晶体管的电流增益β(β5和β6)有关联。
最后,按下列规定设置钳位二极管:
V3 = 0.7 + Vs/2-V30max
V4 = 0.7 + Vs/2 + V30min
其中Vs是电源电压。
V30max = 2*Isink*Req-(VDC6-Vt6) (7)
其中Req是电流(汇点电流)为1mA时的输入输出电压差。
V30 min = 2*Isource*Req-(VDC5-Vt5) (8)
在这种情况下,方程式(8)中的Req等于VDO —— 此时电流(源点电流)为1mA。
我们将讨论VDC6-Vt6和VDC5-Vt5在输出级的计算。
中间级增益AVmiddle的计算式为G1*R1*2。
以下是网表的样子:
增益级
G1 98 30(4,6)3.73E-03
R1 30 98 1.00E + 06
CF 30 31 8.1E-10
RZ 45 31 3.91E + 02
V3 32 30 2.14E + 00
V4 30 33 2.08E + 00
D3 32 97 DX
D4 51 33 DX
轨至轨CMOS输出级
如图1所示,输出级由P型和N型MOS晶体管对组成。同样,就双极性设计而言,它也将有一个pnp型管和一个npn型管。
还存在两个压控电压源:用于PMOS和NMOS晶体管的EG1和EG2。
让我们从输出增益Avout开始:
gm5*Req+gm6*RLeq
Req = rds5*RL/rds5+RL (9)
其中RL是负载电阻,而rds5 = 1/ʎ*Id。
请注意:因为对两种晶体管来说ʎ和Id是相同的,所以NMOS的Req和PMOS的Req也是相同的(Req = rds5*RL/rds5+RL)。
W/L5=β5/kp
β5=1/2*Isource*Req*2 (10)
其中Req是电流(对PMOS而言指源点电流;对NMOS而言则指汇点电流)为1mA时的输入输出电压差。
对于NMOS,让我们把方程式改写为:
rds5 = 1/ʎ*Id
W/L6 = β6/kp
β6 = 1/2*Isink*Req*2 (11)
就器件和工艺参数而言,您将需要下列信息:
ʎ= 0.01
VTO = 0.328
KP = 1E-5
对于轨至轨输出级,工程师将需要最大汇点电流和最大源点电流(由产品说明书或设计人员规定):
Vdc5-Vt5 = 1/(Ro*β5+sqrt(β5*β6)) (12)
其中Ro是开环输出阻抗。
Vdc6-Vt6 = Vdc5-Vt5*sqrt(β5/β6) (13)
网表中的输出级看起来应该是这样的:
* 输出级
M1 45 46 99 99 POX L = 1E-6 W = 3.20E-03
M2 45 47 50 50 NOX L = 1E-6 W = 2.78E-03
EG1 99 46 POLY(1)(98,30)3.684E-01 1
EG2 47 50 POLY(1)(30,98)3.714E-01 1
*
在该模型的末尾以下面的方式列出了工艺和器件参数:
* 模型
*
.MODEL POX PMOS(LEVEL = 2,KP = 1.00E-05,VTO = -0.328,LAMBDA = 0.01,RD = 0)
.MODEL NOX NMOS(LEVEL = 2,KP = 1.00E-05,VTO = + 0.328,LAMBDA = 0.01,RD = 0)
.MODEL PIX PNP(BF = 625,IS = 1E-16,VAF = 130)
.MODEL DX D(IS = 1E-14,RS = 0.1)
.MODEL DNOISE D(IS = 1E-14,RS = 0时,KF = 1.21E-10)
*
.ENDS MOCK
将CMRR和PSRR添加到您的模型
添加CMRR和PSRR就像具有压控电压源的电阻电容器(RC)网络那么简单(图2)。
图2. 可产生小信号CMRR、PSRR和噪声(包括闪烁噪声)的简单电阻电容器(RC)网络
为模拟这些,我们需要的全部信息有:DC值、极点和零点位置,可在产品说明书的图中找到。
E1 =【10^ -(CMRR/20)*(零点/极点)】/2 (14)
就CMRR而言:
其中CMRR是DC值(以dB为单位),零点和极点所用单位是Hz。
R10 = 1/2*π*极点*C10 (15)
其中C10被任意设置为1μF(1E-6)。
R20 = 1/2*π*零点*C10 (16)
模型PSRR与CMRR的方式相同。PSRR增益项被表示为两项:
1. a = -Vs*EPS1(方程式11),其中Vs是电源电压,而EPS1 =【10^ -(CMRR/20)*(零点/极点)/2(方程式2)。在网表内,该表达式代表PSRR网络中的“b”项。
2. “a”被用来抵消在指定电源电压下由“b”项引起的DC误差,并反馈到输入端的EOS源。
正因如此,PSRR在网表中这样表示:
EPS1 21 98 POLY(1)(99,50)a b
其中a和b均来源于上述的方程式1和方程式2。
根据网表,CMRR和PSRR如下所示:
* CMRR网络
*
E1 72 98 PLOY(2)(1,98)(2.98)0 5E-01 5E-01
R10 72 73 1.59E + 02
R20 73 98 1.59E-03
C10 72 73 1.00E-06
*
* PSRR网络
*
EPS1 21 98 PLOY(1)(99,50)-1.2E-02 1
RPS1 21 22 1.59E + 2
RPS2 22 98 1.59E-3
CPS1 21 22 1.00E-06
宽带噪声与1/f噪声
为了模拟噪音,工程师可以借助电流控制电压源(HN用于宽带噪声,HFN则用于1/f噪声或闪烁噪声)来创建一个单独的网络。首先,计算DNOISE(在网表中)所需的器件参数。KF表示为:
KF = en^2*fc (17)
其中fc是1/f转角频率(来自产品说明书),而en是宽带噪声(来自产品说明书)。
HN被表示为:
Sqrt(en^2-entotal^2-en^2) (18)
所有噪声源均应以nV/sqrtHz为单位。
电流控制电压源具有两个项:a和b。
将“b”项设置成一个任意值1。“a”项等于“b”项除以1,000。这可跨闪烁噪声二极管从EOS源处的反馈(作为DC误差)中消除DC偏置电压。
15nV/rt(Hz)的电压噪声参考
*
VN1 80 98 0
RN1 80 98 16.45E-3
HN 81 98 VN1 15
RN2 81 98 1
*
* 闪烁噪声转角
*
DFN 82 98 DNOISE
VFN 82 98 DC 0.6551
HFN 83 98 POLY(1)VFN 1.00E-03 1.00E + 00
RFN 83 98 1
电源电流
工程师可借助压控电流源模拟电源电流。能用来对该电流进行设置的多项式表示为:
GSY 99 50 POLY(1)(99,50)a b (19)
对“a”项进行设置,使其等于:
Is - Idq - I1 -(“b”*Vs) (20)
其中Is是电源电流;I1是尾电流(输入级);而Vs是电源电压。
Idq = kp*0.5*(W/L5)*Vdc5*2*(1+ʎ*VS/2) (21)
我们的理念是将输入对从内部电源驱至该模型,使它不为该模型汲取外部电流。“b”项仅仅是来自产品说明书的曲线Is与Vs的斜率。
* 内部电压参考
*
EREF 98 0 POLY(2)(99.0)(50,0)0 0.5 0.5
GSY 99 50 POLY(1)(99,50)-11.2E-04 5.00E-07
EVP 97 98(99,50)0.5
EVN 51 98(50,99)0.5
结论
采用这种技术创建的宏模型能提供非常准确的结果,并使用参考部分提供的测试电路集合对该模型进行测试。还可基于产品说明书的参数调整公式,以便迅速改变该模型来满足工程师的需求。