1PSPICE简明教程宾西法尼亚大学电气与系统工程系UniversityofPennsylvaniaDepartmentofElectricalandSystemsEngineering编译:陈拓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其他分析类型:2.4.1瞬态分析(TransientAnalysis)2.4.2交流扫描分析(ACSweepAnalysis)3.附加的使用Pspice电路的例子3.1变压器电路3.2使用理想运算放大器的滤波器交流扫描(滤波器电路)3.3使用实际运算放大器的滤波器交流扫描(滤波器电路)3.4整流电路(峰值检波器)和参量扫描的使用3.4.1峰值检波器仿真(PeakDetectorsimulation)3.4.2参量扫描(ParametricSweep)3.5AM调制信号3.6中心抽头变压器4.添加和创建库:模型和元件符号文件4.1使用和添加厂商库4.2从一个已经存在的Pspice模型文件创建Pspice符号4.3创建你自己的Pspice模型文件和符号元件参考书目21.介绍SPICE是一种强大的通用模拟混合模式电路仿真器,可以用于验证电路设计并且预知电路的行为,这对于集成电路特别重要,1975年SPICE昀初在加州大学伯克利分校被开发时也是基于这个原因,正如同它的名字所暗示的那样:SimulationProgramforIntegratedCircuitsEmphasis.PSpice是一个PC版的SPICE(Personal-SPICE),可以从属于Cadence设计系统公司的OrCAD公司获得。学生版(功能受限)随教科书奉送。OrCAD的学生版称为PSpiceADLite。有关PSpiceADLite的信息可以从OrCAD的网站获得:的学生版有下面的限制:电路昀多有64个节点,10个晶体管和2个运算放大器。SPICE可以进行各种类型的电路分析。昀重要的有:z非线性直流分析:计算直流传递曲线。z非线性瞬态和傅里叶分析:在大信号时计算作为时间函数的电压和电流;傅里叶分析给出频谱。z线性交流分析:计算作为频率函数的输出,并产生波特图。z噪声分析z参量分析z蒙特卡洛分析另外,Pspice有标准元件的模拟和数字电路库(例如:NAND,NOR,触发器,多选器,FPGA,PLDs和许多数字元件)。这使得它成为一种广泛用于模拟和数字应用的有用工具。所有分析都可以在不同温度下进行。默认的温度是300K。电路可以包含下面的元件:zIndependentanddependentvoltageandcurrentsources独立和非独立的电压、电流源zResistors电阻zCapacitors电容zInductors电感zMutualinductors互感器zTransmissionlines传输线zOperationalamplifiers运算放大器zSwitches开关zDiodes二极管zBipolartransistors双极型晶体管zMOStransistors金属氧化物场效应晶体管zJFET结型场效应晶体管zMESFET金属半导体场效应晶体管zDigitalgates数字门z其他元件(见用户手册)。2.带OrCADCapture的PSpice(9.2学生发行版)在开始仿真电路之前,你需要指定电路配置,这可以用多种方法进行。方法之一是按照元件、连接、元件的模型和分析的以文本文件输入电路描述。该文件被称为SPICE输入文3件或源文件(可参考:)。另一种方法是使用原理图输入程序,例如OrCADCAPTURE。OrCADCapture与PSpiceLiteAD在随教科书提供的同一张光盘上。OrCADCaptureCIS版集成了具有器件信息系统(ComponentInformationSystem,简称CIS)的OrCADCapture原理图设计应用功能。该软件的设计着重考虑了降低花在查询现有重复采用的器件上面的时间,以及减少手工登记元器件的信息内容和元器件数据库的维护。对元器件的查询是基于它们所拥有的电性能参数,通过采用OrCADCaptureCIS软件可以自动地检索相关联的器件情况。Capture是一个用法友好的程序,它允许你获取电路的原理图并且指定仿真的类型。Capture不但可以产生输入文件而且可以用于PCB布局设计程序。下面的图概要说明了有关用Capture和PSpice仿真一个电路的不同步骤。我们将通过几个例子简要地描述这些步骤的每一步。图1:用Pspice仿真电路的步骤元件的值可以用下面的度量因子指定(大小写均可):TorTera(=1E12)UorMicro(=E-6)GorGiga(=E9)NorNano(=E-9)MEGorMega(=E6)PorPico(=E-12)KorKilo(=E3)FofFemto(=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!作为例子,我们将对下面的电路进行不同类型的仿真。第一步:用Capture创建电路z创建一个新的模拟,混合AD项目z放置电路元件z连接元件z指定值和名字第二步:指定仿真类型z创建一个仿真模板z选择分析类型:偏置,DC扫描,晶体管,AC扫描z运行PSpice第三步:观察结果z添加曲线到探测窗口z用光标分析波形描z运行Pspicez保存或打印结果4图2:要被仿真的电路(OrCADCapture的屏幕快照)2.1第一步:在Capture中创建电路2.1.1创建新项目1.打开OrCADCaptureCISLiteEdition。2.创建一个新项目:FileNewProject。3.输入项目的名字,例如BiasandDCSweep。项目文件的扩展名为.opj,双击项目文件可以打开项目。4.选择AnalogorMixed-AD模拟或混合-AD。5.在Location框中输入项目路径。点击OK。6.在CreatePSpiceProject对话框打开时,选择“CreateBlankProject”。一个新的页将在ProjectDesignManager中打开,如下所示。图3:OrCADCapture界面2.1.2.放置元件并连接它们1.在Capture中点击原理图窗口。52.用PlacePart命令放置元件或点击PlacePart图标,打开如图4的对话框。图4:放置元件窗口PlacePart3.选择包含所需元件的库。在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工具控制元件是否吸附到网格上。65.在放置好所有的元件后,你需要点击GND图标放置Ground地端子(在右边的工具栏中,见图3)。当放置地窗口打开时,选择GND/CAPSYM并且给它命名为0。不要忘记改变其名字为0,否则PSpice将给出一个错误或“FloatingNode”。原因是SPICE需要一个地端子作为参考节点,其名字或节点号必须是0。图5:放置低端子对话框;地端子的名字应该是06.现在用从菜单用PlaceWire命令或点击PlaceWire图标连接元件。7.你可以用PLACENETALIAS菜单命令为网络或节点指定别名。我们将输出和输入节点命名为Out和In,见图2。快捷键:I:放大O:缩小C:以光标所指为新的窗口显示中心W:画线On/OffP:快速放置元件R:元件旋转90°N:放置网络标号J:放置节点On/OffF:放置电源H:元件标号左右翻转V:元件标号上下翻转G:放置地B:放置总线On/OffE:放置总线端口Y:画多边形T:放置TEXTPageUp:上移一个窗口Ctrl+PageUp:左移一个窗口PageDn:下移一个窗口Ctrl+PageDn:右移一个窗口Ctrl+F:查找元件Ctrl+E:编辑元件属性Ctrl+C:复制Ctrl+V:粘贴Ctrl+Z:撤消操作72.1.3.为元件指定值和名字1.双击电阻旁边的数字改变电阻值。你也可以改变电阻的名字。对于电容、电压和电流源的操作是一样的。2.为节点指定名字(例如:Out和In节点)。3.保存项目。2.1.4.生成网表网表用简单的格式给出所有元件的列表:R_namenode1node2valueC_namenodexnodeyvalue,etc.1.用PSpiceCreateNetlist菜单命令产生网表。2.在项目ProjectManager管理窗口(在文件窗口的左边)中双击Outputs/name.net文件可以查看网表,如下表。关于元件中电流方向的注释:在元件中,例如在电阻中,正电流方向是从节点1到节点2的。对于水平方向的元件节点1是左边的引脚,对于垂直方向的元件节点1是上面的引脚。将元件旋转180度可以交换引脚号。为了验证节点号你可以查看网表,例如:R_R2node1node210kR_R20OUT10k因为我们兴趣在从OUT输出节点到地的电流方向,我们需要旋转电阻R2两次以使节点名相互交换,重新生成网表,查看变化:R_R2OUT010k2.2第二步:指定分析和仿真的类型如在介绍中所提及的那样,Spice允许你做直流偏置,直流扫描,傅里叶瞬态分析,交流分析,蒙特卡洛/昀差情况扫描,参量扫描和温度扫