广告

用于电路分析和设计的Spice仿真指南–第6部分:更深入的直流扫描分析

2023-09-25 17:22:20 Giovanni Di Maria 阅读:
这一仿真功能可找到一个或多个所需电压/电流值的趋势···

在关于直流扫描分析的文章的这一部分中,我们将深入研究一些基本概念,这些概念可以提高分析的可能性,并实现自动测量,因为如果手动完成操作,将需要进行大量额外的工作。rGuednc

简单介绍

回想一下SPICE中的直流扫描分析功能,它可以仿真电子电路中发生器的电压或电流值变化,此过程可以在单个图表中获得一个或多个所需的变化趋势。在这种情况下,x轴代表的不是时间而是变化的电压值,而y轴则代表设计者所需的任何其他电气量。它是使用“.DC”指令实现的。在实践中,这就好比在运行多个仿真时改变单个参数的值。例如,如果要以1V的增量运行从0V到5V的输入电压分析,可以在电路描述文件中使用以下指令:rGuednc

.DC VIN 0V 5V 1VrGuednc

事实证明,这肯定比以下仿真更快:rGuednc

.DC VIN 0V 5V 50uVrGuednc

后者需要将待分析电压的步长变为50uV,并且软件生成的分析文件将占用更多的大容量存储器空间。因此,在进行此类分析时,设计人员必须谨慎设置步长。最好提供一个较大的初始步长,然后在仿真过程中减小步长,以获得更精确、更优化的结果。rGuednc

多电压源的嵌套分析

“.DC”指令的更专业的用途是改变多个发生器的电压(或电流)。图1中显示了一个晶体管偏置的示例。它由以下组件组成:rGuednc

  • V1:是为晶体管集电极提供负载的电压发生器
  • V2:是使晶体管基极极化的电压发生器
  • Q1:是NPN 2N2222三极管
  • R1:是基极电阻220kΩ
  • R2:是2.2kΩ的集电极电阻(负载)。

尽管两个发生器V1和V2在图中显示的电压是固定的,但实际上,仿真过程中电压的变化越来越大。rGuednc

rGuednc

图1:通过使用.DC指令,可以同时改变仿真中多个发生器的值rGuednc

从电路图中可以看出,有一个指令允许在电压域中进行电子仿真,其中更改和处理了两个发生器的值。使用的指令如下:rGuednc

.DC V1 0 12 100m V2 0 6 2rGuednc

下面我们来分析一下指令所提供的参数:rGuednc

  • V1 0 12 100m:表示对参数V1进行电压扫描。扫描从0V开始,到12V结束,电压增量为100mV。处理和扫描的值有121个(0V、0.1V、0.2V、…、11.8V、11.9V、12V)。
  • V2 0 6 2:表示对参数V2进行电压扫描。扫描将从0V开始,在6V结束,电压增量为2V。处理4个值(0V、2V、4V和6V)。

为V1和V2指定的所有值执行扫描分析,计算扫描中每个电压值对应的电流、电压和电路中的其他量。在这种情况下,软件会构建一个方块矩阵,根据两个电压值的组合计算出最终值。运行仿真时,集电极处的电压(v(out),会随着两个电压的变化而变化,如图2所示。根据指令中设定的间隔,可以读取集电极电压v(out)随电压V1和V2变化而变化的四种不同图形。rGuednc

rGuednc

图2:多参数.DC仿真可实现多种测量曲线rGuednc

各种类型的扫描

上一节中研究的示例使用了一种线性扫描,其中电压或电流的增加是根据一次线性方程进行的,如下所示:rGuednc

y=ax+brGuednc

其中指定了初始值、最终值和增量步长。例如,这个指令:rGuednc

.DC V1 5 8 0.5rGuednc

生成7个测量点,其中电压V1从5V到8V线性变化,增量为0.5V(5V、5.5V、6V、6.5V、7V、7.5V、8V)。步长越小,分析的分辨率越高,仿真所需的时间也越长。LTspice提供的分析类型如下:rGuednc

  • Linear,线性扫描
  • Octave,8倍扫描
  • Decade,10倍扫描
  • List,列表扫描。

最后一个选项非常有趣,因为它允许在不遵循特定顺序的情况下指定任意值。rGuednc

例如,以下指令:rGuednc

.DC V1 list 1 1.5 3 3.5 8rGuednc

通过指定输入电压值列表而不是连续范围,对电路执行电压扫描分析。在本例中,指定值为1V、1.5V、3V、3.5V和8V,并在输出端提供五种不同的关键电压,如图3中的图表所示。在分析过程中,将根据列表中指定的每个电压值计算电路的电流、电压和其他量。当用户想要分析电路在特定点的行为或对特定电压值执行有针对性的测试时,这种使用离散值的扫描分析非常有用。rGuednc

rGuednc

图3:使用五个预定义电压进行的仿真rGuednc

刚刚研究过的电路的NETLIST如下所示。请注意通过“.MODEL”指令配置的晶体管模型的存在。rGuednc

* DC Simulation by Giovanni Di Maria for LTspicerGuednc

R1 N002 N003 220krGuednc

Q1 out N003 0 0 2N2222ArGuednc

R2 N001 out 2.2krGuednc

V2 N002 0 10VrGuednc

.dc V1 list 1 1.5 3 3.5 8rGuednc

.model 2N2222A NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=100E-9 TF=400E-12 ITF=1 VTF=2 XTF=3 RB=10 RC=.3 RE=.2 Vceo=30 Icrating=800m mfg=NXP)rGuednc

.backannorGuednc

.endrGuednc

.DC指令和工作温度

通过使用.DC指令,结合工作温度,可以在扫描分析过程中评估温度对电路参数的影响。事实上,可以扫描特定范围内的温度,从而研究电路对温度变化的响应,并确定所有临界点或异常点。在电路承受变化的工作条件或极端温度的应用中,工作温度分析的重要性变得尤为重要。为此,我们研究一下图4中的简单电路图,该电路图代表共发射极晶体管放大器。对于该解决方案类型,由于电阻器R1值为844489Ω,使晶体管正好极化,并将其工作点置于电源电压的一半,温度为 22 °C,因此v(out)点已完美配置为VCC/2电压,即6V。rGuednc

rGuednc

图4:844489Ω的电阻器R1将集电极电压置于线性区,正好是电源电压的一半rGuednc

现在,我们将了解温度是如何影响晶体管的静态行为的。作为要改变的变量,.DC指令提供了温度和电压或是电流。如果要研究电路在-10°C至+80°C温度范围内的行为,我们可以在LTspice软件中向电路图中添加以下指令:rGuednc

.DC temp -10 80 100mrGuednc

它用于对电路进行温度扫描分析。让我们详细看看指令中指定的参数代表什么:rGuednc

  • temp:表示扫描中要改变的温度参数
  • -10:是扫描中温度的初始值,单位为摄氏度
  • 80:是扫描中温度的最终值,单位为摄氏度
  • 100m:是扫描中每一步的温度增量,单位为摄氏度。在本例中,增量为0.1°C。

在分析过程中,将根据扫描中指定的每个温度值计算电流、电压和其他电路量。因此,这类分析有助于评估温度对电路行为的影响,并识别临界点或热异常。有趣的是,在图5的图表中,由于流过半导体的电流同时增加,集电极电压随着晶体管工作温度的升高而降低。用LTspice和ngspice得到的图如图所示,后一个软件的NETLIST如下:rGuednc

* Temperature Sweep with ngspicerGuednc

V1 N001 0 12VrGuednc

R1 N001 N002 844489rGuednc

Q1 out N002 0 0 2N2222ArGuednc

R2 N001 out 2.2krGuednc

.model 2N2222A NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=100E-9 TF=400E-12 ITF=1 VTF=2 XTF=3 RB=10 RC=.3 RE=.2)rGuednc

.controlrGuednc

   dc temp -10 80 100mrGuednc

   plot v(out)rGuednc

.endcrGuednc

.endrGuednc

rGuednc

图5:集电极电压随着晶体管工作温度的升高而降低rGuednc

此时,观察晶体管功耗随温度变化的图表也是非常有趣的。图6中的图表显示了晶体管在-10°C至+80°C温度范围内的功耗曲线。在这种情况下,晶体管的最大功耗为16.372866mW,出现在温度约为22 °C时。该图显示了LTspice分析(上图)和ngspice分析(下图)。这两个图实际上是相同的。ngspice的NETLIST与LTspice的略有不同,建议参考如下:rGuednc

* Temperature Sweep for ngspicerGuednc

V1 N001 0 12VrGuednc

R1 N001 N002 844489rGuednc

Q1 out N002 0 0 2N2222ArGuednc

R2 N001 out 2.2krGuednc

.model 2N2222A NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=100E-9 TF=400E-12 ITF=1 VTF=2 XTF=3 RB=10 RC=.3 RE=.2)rGuednc

.probe allirGuednc

.controlrGuednc

   dc temp -10 80 100mrGuednc

   plot V(out)*I(R2)+V(N002)*I(R1)rGuednc

.endcrGuednc

.endrGuednc

具体来说,LTspice中的电流测量是通过以下指令进行的:rGuednc

V(out)*Ic(Q1)+V(N002)*Ib(Q1)rGuednc

Ngspice则是这样:rGuednc

plot V(out)*I(R2)+V(N002)*I(R1)rGuednc

另请注意“.probe alli”这个ngspice指令,该指令可以测量和处理所有电流,但默认情况下不具备这一功能。rGuednc

rGuednc

图6:晶体管功耗随温度变化的图表rGuednc

结论

本文是对使用SPICE进行直流扫描分析的最后一部分。下一期将介绍使用SPICE电子仿真器的其他有用和有趣的主题。rGuednc

(原文刊登于EDN姊妹网站Power Electronics News,参考链接:Guide to Spice Simulation for Circuit Analysis and Design – Part 6: In-depth DC Sweep Analysis,由Ricardo Xie编译。)rGuednc

相关阅读:

用于电路分析和设计的SPICE仿真指南-第1部分:简介和网表rGuednc

用于电路分析和设计的SPICE仿真指南-第2部分:时间常数rGuednc

用于电路分析和设计的Spice仿真指南-第3部分:时间常数的进一步研究rGuednc

用于电路分析和设计的Spice仿真指南–第4部分:用于多重仿真的.STEP指令rGuednc

用于电路分析和设计的Spice仿真指南–第5部分:直流扫描分析rGuednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了