电子电路仿真
这学期我的课程中有两门叫作《模拟电子线路》和《数字逻辑电路》。其中介绍的各种电子电路,有的相当复杂,手工分析难而易错。进行电子电路实验可以获得准确的结果,但是对实验条件有很多要求,例如需要准备直流稳压电源、信号产生器、万用表和示波器等电子仪器,以及各种电路元件。借助计算机辅助分析,也就是电路仿真,可以快速获得准确的结果,因此用处很大。
Berkeley的SPICE程序是大多数电路仿真软件的核心。在Windows平台上,有很多基于SPICE的商业软件,它们往往是附带了一套图形化电路原理图编辑器和其他的功能。比较出名的有OrCAD (PSpice), Multisim, LTSpice等。
Multisim是National Instruments的产品。它比较特别,可以进行实时的仿真。你可以在电路中放置开关,然后在仿真过程中切换开关的状态。如果电路中有七段数码管,那么你也可以观察到数字的实时变化。此外,Multisim具有大量的虚拟仪器,如示波器、瓦特计、BJT分析仪等。它们的操作界面模拟真实的电子仪器。
Multisim没有免费版本,学生版不提供给中国用户。贸泽电子提供了一个免费版本的Multisim,但是没有分析(analysis)功能。
LTSpice是Linear Technology提供的免费的电路仿真软件。它的原理图界面比较丑,但是其他功能都还不错。瞬态分析、交流小信号分析、直流扫描分析等各种功能都齐全,只是没有Multisim的实时仿真功能,如果要了解电路运行情况随时间的变化,只能依靠瞬态分析来实现。
手机上也有电路仿真软件。在此我推荐使用EveryCircuit。它的界面非常友好,也具有实时仿真的功能,并且在我看来,比Multisim更加好用。主要特点是:
- 用户界面很美观,自动布线的功能也很好用。
- 可以在仿真过程中动态调节元件参数(电阻、电容大小,电压源电压等)。
- 可以在原理图中直接读出电路状态,包括每个节点的电位(如果电位在变化,则以波形表示)、每个支路的电流(以动画的方式体现出电流的方向和相对大小,如果是恒定电流则还会标出具体数值)、电容的带电量、电灯泡的功率(以亮度表示)、MOSFET的沟道状态等。
- 示波器非常好用,无需像Multisim那样将示波器连入电路中,而只需指定要观察的量即可,而且仿真速度相对较慢,容易观察电路的变化。
- 在仿真过程中可以通过摇晃手机来加入噪声信号。某些非稳态电路可能需要噪声才能启动。
- 最新的版本中,增加了参数图形、频域分析的功能,还增加了几个集成元件(计数器、7段数码管、555定时器)。
**更新:**EveryCircuit的作者Paul Falstad还写了一个JavaScript版本的电路模拟器。界面比EveryCircuit稍微粗糙一点,但是功能更加全面。(对浏览器的性能是个考验。)
瞬态分析
瞬态分析分析的是电路状态随时间的变化。在各种仿真中应该是最常用的。以555定时器构成的方波产生电路为例,首先绘制原理图,如下图所示。接着开始仿真,LTSpice会弹出结果观察窗口,然后,在原理图界面中点击要观察的量。
当鼠标放置在导线上时,光标是红色表笔,单击左键即可观察该导线的电位随时间的变化。
- 如果要观察两个导线之间的电位差,那么先把鼠标移到第一根导线上,按住左键(光标变成灰色表笔),拖动鼠标,移动到第二根导线的位置(光标变成黑色表笔),松开左键即可。
- 如果要观察导线上流过的电流,按住Alt键再单击左键(光标会显示成钳式电流表的样子)即可。
当鼠标放置在二端元件(电阻、电容等)上(或者多端元件的一端上)时,光标显示为钳式电流表,单击左键即可观察该元件上流过的电流(或该端流进的电流)。
将鼠标放置在元件上,按住Alt键,光标变成温度计,单击左键可以观察该元件上耗散的功率。
分析该多谐振荡电路,其上下门限电压\(V_{T+}={2\over3}V_{CC}=3.33V,\,V_{T-}={1\over3}V_{CC}=1.67V\),也就是输出信号V(output)
发生翻转的时候,触发电平V(trig)
的大小。从图中观察,的确如此。如果要准确观察,可以在观察窗口中单击V(output)
标签,这样会产生一个标尺,拖动标尺的位置可以观察不同时刻的准确数值。
交流小信号分析(频率响应)
交流小信号分析的电路对不同频率的交流小信号的不同响应。以CE放大电路为例,绘制原理图,如下图所示。开始仿真,然后观察电压增益的频率响应。
在进行小信号分析时,非线性器件是使用小信号的线性模型替代的,不会出现非线性失真,所以输入信号的大小是无所谓的。方便起见,设置交流小信号\(\dot V_i = 1\,\angle 0^\circ\),这样观察到的输出信号\(\dot V_o\)就是电压增益\(A_V\,\big({=\dot V_o/\dot V_i}\big)\)。
打开标尺,即可观察到中频增益约为45.3dB,通频带约为10Hz~10MHz。
将鼠标移动到基极b和集电极c处,光标变成钳式电流表,此时状态栏显示静态工作点的信息:
DC operating point: Ib(Q1) = 37.861937μA
DC operating point: Ic(Q1) = 2.5700531mA
由此可知2N2369的参数β≈68。
使用手工估算方法求电压增益:
\[ \def\ohm{\rm\Omega} \def\kohm{\rm k\Omega} \def\mV{\rm mV} \def\uA{\rm\mu A} \def\dB{\rm dB} \eqalign{ r_{be} &= r_{bb’} + {V_T \over I_B} \cr &= 200\ohm + {26\mV \over 37.8\uA} \cr &= 888\ohm \cr A_V &= -{\beta (R_c \parallel R_L) \over r_{be}} \cr &= -{68 \times (4\kohm \parallel 4\kohm) \over 888\ohm} \cr &= -153\quad(43.7\dB\,\angle {-180^\circ}) }\]
和仿真结果还是有一些出入的。
直流扫描分析
直流扫描分析是指以一个或多个直流量为参数,求出其他量的稳态值。当参数变化时,其他量也会相应的变化。
以BJT的输出特性曲线为例。设置直流扫描分析,如下图所示。
由此可观察2N2222的输出特性曲线。横坐标对应参数\(v_{CE}\),而不同颜色的曲线对应参数\(i_B\)。可以看出,当BJT进入放大区后,\(i_C\)和\(v_{CE}\)几乎无关,而和\(i_B\)成正比。然而,受到基区宽度调制效应的影响,特性曲线略向上倾斜。
注意:电路模型中不含击穿状态,所以无论将\(v_{CE}\)或者\(i_B\)调得多大,输出特性曲线都无法体现BJT击穿时的情况。