OrCADPSpice简明教程.docx
《OrCADPSpice简明教程.docx》由会员分享,可在线阅读,更多相关《OrCADPSpice简明教程.docx(39页珍藏版)》请在冰豆网上搜索。
OrCADPSpice简明教程
PSPICE简明教程
宾西法尼亚大学电气与系统工程系
UniversityofPennsylvania
DepartmentofElectricalandSystemsEngineering
编译:
陈拓
2009年8月4日
原文作者:
JanVanderSpiegel,©2006jan_at_seas.upenn.eduUpdatedMarch19,2006
目录
1.介绍
2.带OrCADCapture的Pspice用法2.1第一步:
在Capture中创建电路2.2第二步:
指定分析和仿真类型
偏置或直流分析(BIASorDCanalysis)直流扫描仿真(DCSweepsimulation)
2.3第三步:
显示仿真结果
2.4其他分析类型:
瞬态分析(TransientAnalysis)
交流扫描分析(ACSweepAnalysis)3.附加的使用Pspice电路的例子
3.1变压器电路
3.2使用理想运算放大器的滤波器交流扫描(滤波器电路)
3.3使用实际运算放大器的滤波器交流扫描(滤波器电路)
3.4整流电路(峰值检波器)和参量扫描的使用
峰值检波器仿真(PeakDetectorsimulation)
参量扫描(ParametricSweep)3.5AM调制信号
3.6中心抽头变压器
4.添加和创建库:
模型和元件符号文件
4.1使用和添加厂商库
4.2从一个已经存在的Pspice模型文件创建Pspice符号
4.3创建你自己的Pspice模型文件和符号元件参考书目
1.介绍
SPICE是一种强大的通用模拟混合模式电路仿真器,可以用于验证电路设计并且预知电路的行为,这对于集成电路特别重要,1975年SPICE最初在加州大学伯克利分校被开发时也是基于这个原因,正如同它的名字所暗示的那样:
SimulationProgramforIntegratedCircuitsEmphasis.
PSpice是一个PC版的SPICE(Personal-SPICE),可以从属于Cadence设计系统公司的OrCAD公司获得。
学生版(功能受限)随教科书奉送。
OrCAD的学生版称为PSpiceADLite。
有关PSpiceADLite的信息可以从OrCAD的网站获得:
Pspice的学生版有下面的限制:
电路最多有64个节点,10个晶体管和2个运算放大器。
SPICE可以进行各种类型的电路分析。
最重要的有:
•非线性直流分析:
计算直流传递曲线。
•非线性瞬态和傅里叶分析:
在大信号时计算作为时间函数的电压和电流;傅里叶分析给出频谱。
•线性交流分析:
计算作为频率函数的输出,并产生波特图。
•噪声分析
•参量分析
•蒙特卡洛分析
另外,Pspice有标准元件的模拟和数字电路库(例如:
NAND,NOR,触发器,多选器,
FPGA,PLDs和许多数字元件)。
这使得它成为一种广泛用于模拟和数字应用的有用工具。
所有分析都可以在不同温度下进行。
默认的温度是300K。
电路可以包含下面的元件:
•Independentanddependentvoltageandcurrentsources独立和非独立的电压、电流源
•Resistors电阻
•Capacitors电容
•Inductors电感
•Mutualinductors互感器
•Transmissionlines传输线
•Operationalamplifiers运算放大器
•Switches开关
•Diodes二极管
•Bipolartransistors双极型晶体管
•MOStransistors金属氧化物场效应晶体管
•JFET结型场效应晶体管
•MESFET金属半导体场效应晶体管
•Digitalgates数字门
•其他元件(见用户手册)。
2.带OrCADCapture的PSpice(9.2学生发行版)
在开始仿真电路之前,你需要指定电路配置,这可以用多种方法进行。
方法之一是按照元件、连接、元件的模型和分析的以文本文件输入电路描述。
该文件被称为SPICE输入文
件或源文件(可参考:
http:
//www.seas.upenn.edu/%7Ejan/spice/spice.overview.html)。
另一种方法是使用原理图输入程序,例如OrCADCAPTURE。
OrCADCapture与PSpice
LiteAD在随教科书提供的同一张光盘上。
OrCADCaptureCIS版集成了具有器件信息系统(ComponentInformationSystem,简称CIS)的OrCADCapture原理图设计应用功能。
该软件的设计着重考虑了降低花在查询现有重复采用的器件上面的时间,以及减少手工登记元器件的信息内容和元器件数据库的维护。
对元器件的查询是基于它们所拥有的电性能参数,通过采用OrCADCaptureCIS软件可以自动地检索相关联的器件情况。
Capture是一个用法友好的程序,它允许你获取电路的原理图并且指定仿真的类型。
Capture不但可以产生输入文件而且可以用于PCB布局设计程序。
下面的图概要说明了有关用Capture和PSpice仿真一个电路的不同步骤。
我们将通过几
个例子简要地描述这些步骤的每一步。
第一步:
用Capture创建电路
•创建一个新的模拟,混合AD项目
•放置电路元件
•连接元件
•指定值和名字
第二步:
指定仿真类型
•创建一个仿真模板
•选择分析类型:
⏹偏置,DC扫描,晶体管,
AC扫描
•运行PSpice
第三步:
观察结果
•添加曲线到探测窗口
•用光标分析波形描
•运行Pspice
•保存或打印结果
图1:
用Pspice仿真电路的步骤
元件的值可以用下面的度量因子指定(大小写均可):
TorTera(=1E12)UorMicro(=E-6)
GorGiga(=E9)
N
or
Nano(=E-9)
MEGorMega(=E6)
P
or
Pico(=E-12)
KorKilo(=E3)
F
of
Femto(=E-15)
MorMilli(=E-3)
在Pspice和Hspice中都允许大写和小写字母。
例如,可以下面的方法指定一个225pF
的电容:
225P,225p,225pF;225pFarad;225E-12;0.225N。
注意:
兆被写为MEG,例如一个15兆欧姆的电阻可以被指定为15MEG,15MEGohm,15meg或15E6。
小心M与Mega!
如果你写15Mohm或15M,Spice将会把它们读为15milliOhm!
作为例子,我们将对下面的电路进行不同类型的仿真。
图2:
要被仿真的电路(OrCADCapture的屏幕快照)
2.1第一步:
在Capture中创建电路
2.1.1创建新项目
1.打开OrCADCaptureCISLiteEdition。
2.创建一个新项目:
File>New>Project。
3.输入项目的名字,例如BiasandDCSweep。
项目文件的扩展名为.opj,双击项目文件可以打开项目。
4.选择AnalogorMixed-AD模拟或混合-AD。
5.在Location框中输入项目路径。
点击OK。
6.在CreatePSpiceProject对话框打开时,选择“CreateBlankProject”。
一个新的页将在ProjectDesignManager中打开,如下所示。
图3:
OrCADCapture界面
2.1.2.放置元件并连接它们
1.在Capture中点击原理图窗口。
2.用Place>Part命令放置元件或点击PlacePart图标,打开如图4的对话框。
图4:
放置元件窗口PlacePart
3.选择包含所需元件的库。
在Part文本框中输入元件名字的开始部分,如图中的R,元件列表将卷动到其名字包含输入字母的元件处。
第一次使用Capture时如果没有库可用,你必须点击AddLibrary添加库按钮,打开AddLibrary窗口将,选择需要的库。
Spice库在路径Capture\Library\Pspice下。
常用的Library有下面几个:
Analog:
包含无源元件(R、L、C),互感器,传输线,以及电压和电流非独立的源(电压控制的调用源E、电流控制的电流源F、电压控制的电流源G和电流控制的电压源H)。
Source:
给出不同类型的独立电压和电流源,例如:
Vdc(直流电压),Idc(直流电流),Vac(交流电压),Iac(交流电流),Vsin(正弦电压),Vexp(指数电压),脉冲,分段线性,等。
先浏览一下库,看那些元件可用。
Eval:
提供二极管(D…),双极型晶体管(Q…),MOS晶体管,结型场效应晶体管(J…),真实运算放大器;如u741,开关(SW_tClose,SW_tOpen),各种数字门和元件。
Abm:
包含一个可以应用于信号的数学运算符选择,例如:
乘法(MULT),求和
(SUM),平方根(SWRT),拉普拉斯(LAPLACE),反正切(ARCTAN),等。
Special:
包含多种其他元件,像参数、节点组,等。
4.从库中选择电阻、电容和直流电压以及电流源。
你可以用鼠标左键放置元件,用鼠标右键点击旋转元件。
如果要放置相同元件的另一个实例,可以再次点击鼠标左键。
对某个元件完成特定的操作后按ESC键,或右击并选择EndMode。
可以给电容器添加初始化条件;双击该元件将打开看起来像电子表格的Property属性窗口,在IC列的下面输入初始化条件的值,例如,2V。
对于我们的例子我们假定IC是0V(这
是默认值)。
移动元件时Snaptogrid工具
控制元件是否吸附到网格上。
5.在放置好所有的元件后,你需要点击GND图标放置Ground地端子(在右边的工具栏中,见图3)。
当放置地窗口打开时,选择GND/CAPSYM并且给它命名为0。
不要忘记改变其名字为0,否则PSpice将给出一个错误或“FloatingNode”。
原因是SPICE需要一个地端子作为参考节点,其名字或节点号必须是0。
图5:
放置低端子对话框;地端子的名字应该是0
6.现在用从菜单用Place>Wire命令或点击PlaceWire图标连接元件。
7.你可以用PLACE>NETALIAS菜单命令为网络或节点指定别名。
我们将输出和输入节点命名为Out和In,见图2。
快捷键:
I:
放大O:
缩小
C:
以光标所指为新的窗口显示中心
W:
画线On/OffP:
快速放置元件R:
元件旋转90°N:
放置网络标号
J:
放置节点On/OffF:
放置电源
H:
元件标号左右翻转V:
元件标号上下翻转G:
放置地
B:
放置总线On/OffE:
放置总线端口
Y:
画多边形
T:
放置TEXT
PageUp:
上移一个窗口Ctrl+PageUp:
左移一个窗口PageDn:
下移一个窗口Ctrl+PageDn:
右移一个窗口Ctrl+F:
查找元件Ctrl+E:
编辑元件属性
Ctrl+C:
复制Ctrl+V:
粘贴
Ctrl+Z:
撤消操作
2.1.3.为元件指定值和名字
1.双击电阻旁边的数字改变电阻值。
你也可以改变电阻的名字。
对于电容、电压和电流源的操作是一样的。
2.为节点指定名字(例如:
Out和In节点)。
3.保存项目。
2.1.4.生成网表
网表用简单的格式给出所有元件的列表:
R_name
node1
node2
value
C_name
nodex
nodey
value,etc.
1.用PSpice>CreateNetlist菜单命令产生网表。
2.在项目ProjectManager管理窗口(在文件窗口的左边)中双击Outputs/文件可以查看网表,如下表。
关于元件中电流方向的注释:
在元件中,例如在电阻中,正电流方向是从节点1到节点2的。
对于水平方向的元件节
点1是左边的引脚,对于垂直方向的元件节点1是上面的引脚。
将元件旋转180度可以交换引脚号。
为了验证节点号你可以查看网表,例如:
R_R2node1node210kR_R20OUT10k
因为我们兴趣在从OUT输出节点到地的电流方向,我们需要旋转电阻R2两次以使节
点名相互交换,重新生成网表,查看变化:
R_R2OUT010k
2.2第二步:
指定分析和仿真的类型
如在介绍中所提及的那样,Spice允许你做直流偏置,直流扫描,傅里叶瞬态分析,交流分析,蒙特卡洛/最差情况扫描,参量扫描和温度扫描。
我们将首先解释怎样在图2的电路上做直流偏置和直流扫描。
2.2.1偏置或直流分析
1.打开原理图,在PSpice菜单上选择NewSimulationProfile。
2.在文本框Name中输入一个描述性的名字,例如Bias。
3.从InheritFrom列表中选择none并点击Create。
4.当SimulationSetting仿真设置窗口打开时,对于AnalyisType分析类型,选择BiasPoint偏置点并点击OK。
5.现在你已经准备好运行仿真了:
PSpice>Run。
6.一个状态窗口将打开,让你知道是否仿真成功,如果有错,可查看仿真输出文件,或SessionLog窗口(该窗口不能关闭)。
7.为了看到直流偏置点的仿真结果,你可以打开仿真输出文件或返回原理图并点击V图标(偏置电压显示)和I图标(偏置电流显示)显示电压和电流,见图6。
为了检查电流方向,你必须查看网表:
电流的正方向是从节点1流到节点2(见上面有
关电流方向的注释)。
图6:
显示在原理图上的偏置分析结果
2.2.2直流扫描仿真
使用相同的电路进行0和20V之间的电压源扫描的误差估计。
保持电流源恒定在1mA。
1.从Pspice菜单创建一个新的NewSimulationProfile仿真配置文件;我们将称它为
DCSweep,InheritFrom还是none。
2.为了分析DCSweep;输入将被扫描的电压源的名字:
V1,分别指定开始值、结束值和步距:
0,20和0.1V,(见图7)。
图7:
设置DCSweep仿真
3.运行仿真Pspice>Run。
PSpice将产生一个包含电路中所有电压和电流值的输出文件。
2.3第三步:
显示仿真结果
Pspice有一个用户友好的界面于显示仿真结果,一旦仿真结束,如图8所示的Probe探针窗口将打开。
你可以用下面两种方法添加踪迹以显示仿真结果。
图8:
探针窗口
1.从TRACE菜单选择ADDTRACE并且选择你想要显示的电压和电流。
在我们的例子中,我们将添加V(out)和V(in),点击OK。
图9:
AddTraces添加踪迹窗口
2.你也可以在原理图中用VoltageMarkers电压标记添加踪迹。
从PSpice菜单选择Markers>VoltageLevel。
在Out和In节点上放置标记。
做完后,右击并选择EndMode。
图10:
用VoltageMarkers电压标记V(out)和V(in)显示仿真结果
3.返回探针窗口,波形出现了。
4.你可以添加第二个Y轴并用它显示电阻R2上的电流,就像下面图11显示的那样。
从探针窗口菜单选择Plot>AddYAxis,下一步,为I(R2)添加踪迹。
5.你也可以在曲线图上用光标取Vout和Vin踪迹上某些点的实际值。
从探针窗口菜单选择Trace>Cursor>Display。
6.光标将与第一个踪迹相关联,作为指示,在窗口底部V(OUT)的图例被很小的虚线矩形所围。
左击第一条踪迹,X和Y轴的值被显示在ProbeCursor探针光标窗口中。
在ProbeCursor窗口中,左击踪迹时A1的值变化,右击踪迹可以改变A2的值,dif给出A1和A2的差。
点击左、右键时拖动光标可以观察A1或A2值的连续变化。
图越大光标定位的精度越高。
在图例上先点右击再选左键切换所关注的踪迹。
7.为了将光标与第二个踪迹(用于V(IN))相关联,右击窗口底部V(IN)的图例。
你将看到围绕在V(IN)周围的轮廓,当你右击第二个踪迹时光标会吸到它上面。
第一个和第二个光标的值以及它们之间的差值将显示在Probe探针窗口。
8.双击X和Y轴可以改变它们的刻度等属性。
9.在添加踪迹时你可以在踪迹上进行数学计算,如图9,在AddTrace窗口的右边所示。
图11:
直流扫描的结果,显示Vout,Vin和通过电阻R2的电流。
光标被用于V(out)和V(in)
右击一条踪迹的图例,可以改变其颜色等属性。
选择一条踪迹的图例,按Delete键,可以删除该踪迹。
2.4其他的分析类型
2.4.1瞬态分析(时域分析)
我们将使用同样的电路做瞬态分析,但在电路中添加了一个开关来控制施加在C1上的电压和电流源,如图12所示。
图12:
用于瞬态分析的电路
1.如上图所示从EVAL库插入Sw_tCLOSE开关。
双击开关TCLOSE的值,输入Value
为5m,使得TCLOSE=5ms。
2.设置瞬态分析:
从菜单选择PSpice>NewSimulationProfile命令。
命名为Transient。
3.当仿真设置窗口打开时,选择TimeDomain(Transient)时域瞬态分析。
输入运行时
间,我们设它为200ms。
对于MaximumStep最大步长的大小,你可以让它空着或输入10us,如果空着波形不光滑,越小波形越光滑。
4.运行Pspice。
一个探针窗口将打开。
5.你现在可以添加踪迹以显示结果。
我们在探针窗口中用Plot>AddPlottoWindew命令添加一个图表,在窗口的上面的图表中绘制通过电容C1的电流,其方向可以通过旋转电容并重新创建网表来改变;在窗口的下面的图表中绘制电容上的电压。
用光标找指数曲线的时间常数(找0.632x14.994V(out)max=9.48V。
光标给出相对应时间约为30ms,该处的时间常数30-5=25ms(计算式R1||R2·C1),因为开关在5ms处被关闭,所以要减去5ms)。
图13:
图12的瞬态仿真结果
6.我们可以用一个改变结束时间的电压源代替开关。
如图14,我们使用SOURCE库中的VPULSE和IPULSE源。
输入电平(V1和V2),延时(TD),上升(TR)和下降(TF)时间,脉冲宽度(PW)和周期(PER),这些值都在下面的图中。
关于这些参数的详情和其他Spice元件的描述可以从用户指南或Spice教程中找到http:
//www.seas.upenn.edu/~jan/spice/。
图14:
使用脉冲电流和电压源的电路
7.在做过瞬态仿真之后,其结果可以像前面我们做过的那样被显示出来。
8.瞬态分析最后的例子是用一个正弦信号VSIN。
电路示于图15。
我们设正弦的幅度为10V,频率为10Hz。
图15:
具有正弦输入的电路
9.为瞬态分析创建一个仿真配置文件SimulationProfiler,并且运行Pspice。
10.对于Vout和Vin仿真的结果见图16。
图16:
正弦输入的瞬态仿真
2.4.2交流扫描分析(频域分析)
交流分析将使用一个正弦电压,其频率在一个指定的范围内扫描。
仿真计算频率所对应
的电压和电流的幅度以及相位。
当输入幅度被设置为1V时,输出电压基本上是传递函数。
对比正弦瞬态分析,交流分析不是时域仿真而是电路的正弦稳态仿真。
当电路包含像二极管和晶体管这样的非线性元件时,这些元件将用它们的小信号模型代替,小信号模型的参数值根据相应的偏置点计算。
在第一个例子中,我们我们将展示一个简单的RC滤波器,相应的电路图见图17。
图17:
用于交流扫描仿真的电路
1.创建一个新的项目并构造电路。
2.从Sources库选择VAC作为电压源。
3.设置输入源的振幅为1V。
4.创建仿真配置文件,命名为ACSweep。
在SimulationSettings仿真设置窗口中,选择ACSweep/Noise。
5.输入开始和结束频率和十进制刻度的点数。
对于我们的例子,它们分别设置为
0.1Hz,10kHz和11。
6.运行仿真。
7.在探针窗口中为输入电压添加踪迹。
除了显示输出电压的大小,我们添加第二个窗口以显示相位。
在AddTrace添加踪迹窗口中,电压可以用指定Vdb(out)的方法用dB显示(在TraceExpression框中直接输入VDB(OUT)。
对于相位输入VP(OUT))。
8.另一个以dB为单位显示电压和相位的可选方法是在原理图上使用标记:
用PSpice>Markers>Advanced>dBMagnitudeofVoltage和PhaseofVoltage菜单命令,在感兴趣的节点上放置标记。
9.我们在图18中使用光标找3dB的点。
与时间常数25ms(R1||R2·C1)处相应的频率是6.37Hz(f3db=1/(2πRC)),幅度约为-9dB。
在0.1Hz处的Vout衰减约为-6dB或因数2(20logX=6dB,X=2),A1和A2之差约为3dB。
相应的输出电压振幅值已在图16的瞬态分析期间获得。
图1