isis 网络 level 2 iih_ngspice实例介绍2--直流扫描分析

前2篇文章介绍ngspice的安装,以及在直流工作点分析,这篇文章介绍直流扫描分析(DC sweep analysis),所谓直流扫描,是指某些电路参数(主要是电压源、电流源或者电阻器)的值在某一个范围内发生变化,每一个递进变化可以视为一个稳定的直流状态,就对其电路进行仿真分析提取其电路参数,最后汇总所有的每一次递进的值,可以对结果进行打印或者绘图。

同样,我们以实例来进行讲解。

【例1】如下电路,绘制三极管(双极型晶体管,BJT)2N2222的电流电压特性曲线(voltage current characteristics),其中:Ib的范围从0--100mA,递进值为10mA,而Vce的范围为0--30V,递进值为1V

44935514a0a652a0455ddb65228ea711.png

解:本题主要是解决几个问题,一个是引入一个新的信号源:独立电流源,介绍其描述方法,另外,还介绍一个新的元器件:npn型的BJT,也就是俗称的三极管,如何进行描述。第三个是如何实现直流的扫描分析。

【1-1】,独立电流源的描述,其基本语句如下:

IYYYYYYY N+ N- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>>
+ <DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>>

上面IYYYYYY是电流源的名称,I表示电流源,后面可以是任何字母和数字的组合,n+n-是电流源的正负节点,电流方向总是从 n+ 流向 n-, 后面的参数是指定电流源的类型:

  • <DC> DC/TRAN VALUE: 这组是设置直流电流源的数值,或者瞬态分析时的初始电流值,若是value是常数值,则DC可以被省略。 后面的AC是给交流小信号的频域分析设置值,DISTOF1DISTOF2是表示失真分析,这里先省略,在后面的例子中再进行介绍 。
  • VALUE除了是 常数外,还可以是以时间为变量的函数,可以取下面的类型:
    • 脉冲信号(pulse)
    • 指数函数信号(exponential)
    • 正弦信号(sinusoidal)
    • 分段函数信号(piece-wise linear,PWL)
    • single-frequency FM
    • AM
    • 时域瞬时噪声(transient noise)
    • 随机电压或电流(random voltages or currents)
    • 外部数据

以上的我们在后继的时域分析的例子中再进行介绍,可以看到,除了电流源,电压源也是如此的。

了解了以后,我们就可以给上面电路图的电流源和电压源写出以下的描述语句,注意,我们直接给出一个直流的电压和电流值,作为单独的静态直流工作点的取值,在实际的扫描分析的时候其值并没有什么意义。

Ib  0 b 1mA
Vce c 0 1v

这里尤其要注意电流源的正负极节点的设置,和电压源的正负极节点的设置,前者指定了电流源的电流的方向(从正-->负),后者指定了电压源的正负极。

【1-2】对BJT三极管的使用

本例子使用的器件是双极型晶体管,全称双极性结型晶体管(bipolar junction transistor, BJT),俗称三极管。其使用的描述语句的一般形式如下:

QXXXXXXX nc nb ne <ns> <tj> mname <area=val> <areac=val>
+ <areab=val> <m=value> <off> <ic=vbe,vce> <temp=val>
+ <dtemp=val>

这里,Q是表示BJT的首字母,nc, nb, ne分别是对应三极管的集电极(collector)、基极(base)、发射极(emitter)的三个节点,ns是衬底连接节点(可以省略)。tj是pn结结温(可以不设置,默认为室温),tj主要用于VBIC模型,下面会介绍。 mname是所使用的模型(model)的名称,可以通过模型设置更多的参数。 areaareabareac为分别对应发射极、基极和集电极的面积比例因子(参考下图的示意,如果不设置,会默认为都是1.0):

b71430a01211e3996a06ceec747b2e17.png
基极(B)、集电极(C)、发射极(E)面积都一样的情况

ab9958d28110963956173859fe10e1ae.png
三个电极面积不一样的情况

m是针对多个BJT的级联效应的乘积因子,默认为1

这几个的参数的影响是:

若电流是I,则最后的等效电流是:Ieff = area * m * I,这里的电流I可以是基极和发射极间电流Ibe, (集电极)正向饱和电流Is, B-E间饱和漏电流Ise, Ikf(Corner for reverse beta high current roll-off), 正向拐点电流Ikr, or Irb(基极电阻下降到最小值一半时的基极电流),默认情况下,aream都是1.0

而对于电阻,则影响是:Reff = R / ( area * m ),这里的Reff 包括了 Rb(Zero bias base resistance,零偏置时的基极电阻), Rbm(Minimum base resistance at high currents, 基极在高电流的最小电阻 ), Re( Emitter resistance,发射极电阻 ), or Rc( Collector resistance, 集电极电阻 ),默认情况下,area和m都是1.0 。

off 是指器件在直流分析时的初始条件不使用,不设置的话,可以通过ic=vbe, vce来设置三极管在瞬态分析时的初始时候的发射结间电压(vbe)和集电极和发射极之间的电压(vce),这个在后面的瞬态分析的例子时再细作说明。

temp是设置器件操作时的温度,可以不设置,默认使用全局的温度,设置后会覆盖在.option指令行中指定的温度,dtemp是单独设置每个实例的温度相对temp的温度差值,注意和temp不同,temp是整个电路都是一样的,dtemp则可以不同。

【1.3】BJT模型及其参数的设置:

以上是设置了几个描述的参数,但是,对于实际的BJT来说,还是不够的,一般都要通过模型(model)来设置更详尽的数据来描述 。ngspice提供3种BJT的器件模型,通过.model指令卡来设置,例如,下面分别创建了两个模型,QMOD1选择第一类的npn模型,QMOD3选择了第二类的pnp模型:

.model QMOD1 NPN
.model QMOD3 PNP level=2

ngspice对每一个模型的所有参数都设置了默认值,你可以创建一个模型,设置特定的一些参数值,其他的默认,可以不用设置。下面是3种模型的区别:

  • level=1:这是最初的SPICE BJT模型,也是默认的模型;
  • level=2:修正的模型,对BJT的垂直和侧向的几何进行建模,也包含了B、C、E三极
  • level=4: 高级VBIC模型

模型参数分作几个部分,分别对应不同的模型结构,这部分资料来自:

https://class.ece.uw.edu/cadta/hspice/chapter_14.pdf​class.ece.uw.edu

【1.3.1】BJT的在瞬时分析时采用的等效电路模型:

7725be9f3ba62469ef5aa5ae1ff03b9f.png
瞬时分析时的横向模型( Lateral )

dc0737b04ea541e844754a790fe484cc.png
瞬时分析时的纵向模型(Vertical)

【1.3.2】DC直流分析时主要影响的模型参数:

直流分析时主要的几个模型参数是:

  • is, bf, nf, ise, ikf, ne, 主要影响是正向电流放大倍数(the forward current gain characteristics),
  • is, br, nr, isc, ikr, nc, 影响了反向电流放大倍数(reverse current gain characteristics),
  • vaf, var, 影响正向和反向区域的输出电容( the output conductance for forward and reverse regions)。

在直流分析时,最重要的是计算集电极的电流(collector current, ic),基极电流(base current, ib),其公式如下:

【a】当只指定 IS (传输饱和电流 Transport saturation current.)时:

ngspice由下式来计算集电极电流IC:

  • 其中,
    IS是 传输饱和电流,默认是1.0e-16AAREA是集电极面积系数,m是放大系数,后两者默认都是1
  • , 其中
    ISC是 基极-集电极之间的(也就是集电结)的反向饱和漏电流(B-C leakage saturation current ),默认是0.0,注意,AREA当计算横向器件(lateral)时应该用areac参数,计算垂直器件(vertical devices)时应该用areac
  • 是基极和发射极之间的电位差,
    是基极和集电极之间的电位差,这个由求解得到;
  • NF是正向电流发射系数(Forward current emission coefficient,默认为1.0),NR是反向电流发射系数(Reverse current emission coefficient, 默认为1.0),BF是理想正向电流最大放大倍数(Ideal maximum forward beta),默认是100BR是 理想反向最大放大倍数(Ideal maximum reverse beta,默认是1.0), NC是基极-集电极之间的漏电流的发射系数(B-C leakage emission coefficient,默认是2.0) ;
  • 是热电压(thermal voltage),其值为:
    ,其中
    是玻尔兹曼常数,
    库伦是电子电量,
    是当前的温度(单位是开氏温度),在常温(ngspice以27℃为基本温度)下,
  • 是基极的电荷,由下面来计算:

时,

否则,

, 同时,

上面公式中,

(ngspice的
.model中的参数记为 VAFVA)是正向厄利电压(Forward Early voltage),默认为无穷大(∞),其意义如下图所示(图中 VA为厄利电压):

83c270572cc8c1876ba2fa7341d4f1bc.png

可见,如果VAF为∞,则IC曲线在放大区为水平线,但是一般都不会,所以IC曲线会有一个斜率。

VAR (或 VB)是反向额利电压(Reverse Early voltage),默认也是∞。

ISEeff = ISE * AREA * mISE是 基极和发射极(发射结)之间的饱和漏电流(B-E leakage saturation current),默认为0,同样考虑面积效应和乘积效应;

IKFeff = IKF * AREA * m, IKF是 Corner for forward beta current roll-off,默认是∞;

IKReff = IKR * AREA * mIKR是 Corner for reverse beta high current roll-off,默认是 ∞;

NKF是High current Beta rolloff exponent,默认值是0.5

【b】如果没有给出IS,而是给出了IBEIBC,则IC由下式计算:

  • ·IBEeff = IBE * AREA * mIBE是发射结间的电流强度,计算得到;
  • IBCeff = IBC * AREAx * mIBC是集电结间的电流强度,这里如果是求垂直(vertical)则AREAxAREAB,如果是求横向(lateral)则 AREAxAREAC
  • ISCeff = ISC * AREAx * mISC如上所述在横向和垂直时取不同的AREA
  • ISEeff = ISE * AREA * mISE如上所诉。

以上就是使用BJT在直流分析时的一些重要模型参数的意义和取值,此外,从上面的等效电路可以看到,BJT在使用的时候,还应该考虑其中的等效电容(包括扩散电容diffusion capacitances和耗尽电容 depletion capacitances),这些会在后面的时序瞬态分析的例子时再做说明。

综上所述,我们可以写出型号为2N2222的NPN的BJT的模型描述如下(其模型来源是zetex的Q2N2222A,可以工作在 550Hz ~ 300MHz:

https://www.diyaudio.com/forums/software-tools/30980-2n2222-spice-model.html​www.diyaudio.com

):

* ZETEX 2N2222A Spice model Last revision 9/12/92 *
.MODEL Q2N2222A/ZTX NPN IS =3.0611E-14 NF =1.00124 BF =220 IKF=0.52
+ VAF=104 ISE=7.5E-15 NE =1.41 NR =1.005 BR =4 IKR=0.24
+ VAR=28 ISC=1.06525E-11 NC =1.3728 RB =0.13 RE =0.22
+ RC =0.12 CJC=9.12E-12 MJC=0.3508 VJC=0.4089
+ CJE=27.01E-12 TF =0.325E-9 TR =100E-9

上面定义模型的名称是Q2N2222A/ZTX,类型是 NPN,ngspice中所有的模型都要设置模型类型,其类型如下表所示:

eca81044b02a820c5225d704abf48b3c.png

上面的参数包括2个层面:

【a】涉及直流分析的:

  • IS: Transport saturation current, 默认1.0e-16A, 这里是 3.0611E-14A;
  • IKF: Corner for forward beta current roll-off, 默认是 ∞,这里是: 0.52
  • ISE: B-E leakage saturation current,默认是 0.0,这里是: 7.5E-15 A
  • IKR: Corner for reverse beta high current roll-off,默认是:∞,这里是:0.24
  • ISC: B-C leakage saturation current (area is areab for vertical devices and areac for lateral),默认是 0.0,这里是: 1.06525E-11 A
  • BF: Ideal maximum forward beta ( β ), 默认是100,这里是: 220;
  • BR: Ideal maximum reverse beta,默认是:1,这里是: 4
  • VAF: Forward Early voltage, 默认是 ∞,这里是:104
  • VAR: Reverse Early voltage,默认是:∞,这里是:28
  • NF: Forward current emission coefficient, 默认1.0,这里是:1.00124;
  • NE: B-E leakage emission coefficient,默认是 1.5,这里是: 1.41
  • NR: Reverse current emission coefficient,默认是 1,这里是:1.005 ;
  • NC: B-C leakage emission coefficient, 默认是:2,这里是: 1.3728
  • RB: Zero bias base resistance,默认是:0,这里设置为:0.13 Ω
  • RE: Emitter resistance,默认是:0,这里设置为: 0.22 Ω
  • RC: Collector resistance,默认是:0,这里设置为: 0.12 Ω

【b】涉及到瞬时分析 的参数:

  • CJC=9.12E-12 ,B-C zero-bias depletion capacitance耗尽层电容 (area is areab for vertical devices and areac for lateral),单位法拉,默认是:0;
  • MJC=0.3508 ,B-C junction exponential factor,默认是0.33
  • VJC=0.4089 , B-C built-in potential,单位伏特,默认是:0.75V
  • CJE=27.01E-12 ,B-E zero-bias depletion capacitance 耗尽层电容,单位法拉,默认是:0
  • TF =0.325E-9 ,Ideal forward transit time 理想正向传输时间,单位秒,默认:0
  • TR =100E-9 ,Ideal reverse transit time,单位秒,默认:0

【1-4】直流扫描分析(DC sweep)

直流扫描分析,是可以设置多个直流源(电流或电压)来进行递进分析(设置开始值,结束值和递增值),其一般格式如下:

.dc srcnam vstart vstop vincr [src2 start2 stop2 incr2]

这里.dc是直流扫描分析指令,scrname是第一个源(电流或电压)的名字,vstart是开始值,vstop是结束值,vincr是递增值,scr2是第二个源的名字,可以一直加多个源,另外,除了电流和电压源,也可以指定电阻值,我们在本文的第二个例子可以看到其用法。

直流扫描的例子如下:

.dc VIN 0.25 5.0 0.25   
.dc VDS 0 10 .5 VGS 0 5 1
.dc VCE 0 10 .25 IB 0 10u 1u
.dc RLoad 1k 2k 100
.dc TEMP -15 75 5

【1-5】最终的描述文件及其显示图:

程序:

*** exam2-1 dc sweep ***
Ib  0 b 1mA
Vce c 0 1v
Q1  c b 0 Q2N2222A/ZTX

.MODEL Q2N2222A/ZTX NPN IS =3.0611E-14 NF =1.00124 BF =220 IKF=0.52
+ VAF=104 ISE=7.5E-15 NE =1.41 NR =1.005 BR =4 IKR=0.24
+ VAR=28 ISC=1.06525E-11 NC =1.3728 RB =0.13 RE =0.22
+ RC =0.12 CJC=9.12E-12 MJC=0.3508 VJC=0.4089
+ CJE=27.01E-12 TF =0.325E-9 TR =100E-9

.dc Vce 0V 30V 1V Ib 0 100mA 10mA

.control
run
plot -i(Vce)
.endc

.end

其输出图形如下:

3fc9c855b6d47d82566ea1c145401486.png
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值