文章分类

当前位置:首页>文章中心>行业新闻>PSpice 21周仿真培训 I 第15周:模拟行为模型器件的介绍

PSpice 21周仿真培训 I 第15周:模拟行为模型器件的介绍

发布时间:2022-02-11 点击数:3609

元器件模型是PSpice仿真的根基,它的准确性直接决定了电路仿真的精确度。PSpice软件内建了很多常用的电子元器件符号及其对应的模型,可以直接调用进行电路仿真和版图绘制。同时还附带强大的元器件建模工具——Model Editor,可以根据元器件数据手册的参数进行模型建立,使得PSpice模型大大扩展。尤其在17.4版本中,增加访问TI模型库入口可以轻松调用5000多个TI模拟集成电路(IC)模型、100多个独特的模型类型,以及4000多个测试电路。


但是在实际电路设计中,还是常常遇到元器件库中恰好没有合适的元器件,或是自带库中的元器件和实际测试结果存在偏差的情况,这时就需要用户自行创建新的元器件模型,或是编辑现有的元器件特性元器件的创建是比较复杂和艰难的过程。一般我们有两种选择:


  • 通过直接使用SPICE语言编写lib文件建立模型

  • 通过分立元件搭建电路生成器件模型文件


前者对于大多数工程师有极大难度,因为都没有系统学习过SPICE语言,后者相对比较容易掌握。通过分立元件搭建电路生成模型,也有两种方式:


  • 采用绘制完整的内部电路的方式建模

  • 采用模拟行为模型(Analog Behavioral Modeling,即 ABM)的方式进行建模


如果对于IC芯片内部电路比较了解可以采用第一种方式,但是很多时候芯片内部电路是非常复杂的,如果不是IC厂商根本无法知道芯片内部电路,而且即使是芯片厂商,也不愿意采用公开内部详细电路的方式建模。所有绝大多数还是选择采用模拟行为模型ABM、布尔逻辑、IF语言和无源元件电阻、电容、电感等搭建电路的方式建模。


因此,在PSpice教程的建模单元的第一期,我们打算先介绍建模核心的模拟行为模型(Analog Behavioral Modeling,即ABM)器件。


本周看点:

  • 认识PSpice提供的各种ABM器件

  • 学习IF语句建立逻辑功能器件模型

  • 实操利用ABM器件创建SPICE模型

模拟行为模型器件(以下简称 ABM器件)是元器件建模中最为重要的器件,它能够通过调用数学函数及查表方式灵活描述电子器件的功能绝大多数模拟集成芯片的模型都是通过ABM器件进行建模的。同时ABM器件也用于电路系统功能原理的仿真分析,为电路设计提供扩展空间。


1

ABM器件


常见的模拟行为模型皆存于ABM.olb库中。下面我们分别来对该库中的器件进行依次的介绍。


01

基本器件


表15.1是ABM基本器件列表,实现常数设置和基本运算功能,通常情况下不必设置其属性值。


表15.1 ABM基本器件列表


基本器件的使用也很简单,图15.1所示为ABM基本器件构建一个音频信号与载频信号混频后放大10倍的信号。图15.2是仿真输出波形图。


图15.1 基本器件的仿真电路


图15.2 运行后的波形


02

表达式器件


表达式器件能够通过编写函数实现多种功能。可以在表达式语句中使用所有的标准PSpice运算符,也可以通过使用表达式属性参量描述网络节点或常量。表15.2给出了PSpice库中包含表达式的器件。


表15.2 表达式器件列表


这些元器件的设置都是相同的,主要是对符号下方的表达式进行编辑,方法也很简单,只要双击该表达式就可以。图15.3所示是建立一个如下表达式的信号:



图15.3 表达式器件的仿真电路


图15.3使用了两个ABM表达式器件,其中第二个中使用了标准PSpice运算符:PWR(x,y)、SDT(x)和Exp(x),马上数学函数器件中会介绍。图15.4是瞬态分析得到的仿真波形。


图15.4 表达式器件的仿真结果


03

数学函数器件


ABM数学函数器件见表15.3,每个器件可以实现输入和输出间的数学函数运算,都是包含一个输入一个输出。


表15.3 ABM数学函数器件列表


数学函数元器件应用比较简单,因为都是只有一个输入一个输出,除了PWR和PWRS需要设置多少次方,还有积分和微分需要设置倍数外,其他的元器件都不需要设置参数,只要选择对元器件就可以了。图15.5是实现图15.3中第二个表达式器件的运算:

图15.5 数学函数器件的仿真电路


图15.6 数学函数器件的仿真波形


04

切比雪夫滤波器


切比雪夫滤波器通过设置特性频率值、通带最大纹波和最小衰减值对信号进行滤波,滤波器器件适用于设计低通、高通、带通、带阻滤波器。表15.4表示ABM中包含的滤波器。


表15.4 切比雪夫滤波器列表


图15.7为高通滤波器和带通滤波器的测试电路。图15.8是滤波器的频率特性曲线。


图15.7 滤波器的测试电路


图15.8 滤波器电路的频率特性


05

等效器件


从理论上讲,所有的有源器件皆可化成含受控源的等效电路进行分析,受控源分四类:压控电压(E),流控电流(F),压控电流(G)和流控电压(H)。


而ABM中所有的PSpice等效器件能都够被划分为E 型或者G型器件。E型器件是输出电压信号,G型器件是输出电流信号。在基本器件中介绍ESUM,GSUM,EMULT,GMULT,表15.5介绍剩余的E和G的器件。


表15.5 ABM等效器件列表


ETABLE\GTABLE和EFREQ\GFREQ中均包含两个重要的参数:


  • EXPR:表示输入信号的函数,默认是:输入V(%IN+, %IN-)


  • TABLE: 表格由成对数值组成,每对数值中前者为输入,后者为相应的输出,当输入为两个数值之间的值时,采用线性内插法计算对应输出值。比如图15.9中ETABLE器件:


    • 输入(-5,-1):表示输入电压低于-5V时,输出电压为-1V;

    • 输入(5,1):表示输入电压高于5V时,输出电压为1V;

    • 当输入电压在-5和5V之间时,输出电压为-1V到1V之间的线性插值。如果图中ETABLE器件改为GTABLE,则将输出电压变为输出电流。


图15.9 ETABLE器件的使用


图15.10中的EFREQ器件:


  • 输入(1k,10,-90),代表(输入频率,幅度,相位),表示输入信号的频率小于1kHz时,输出信号的幅度为10dB,相位为-90度;

  • 输入(1Meg,-10,90),表示输入信号的频率大于1MHz时,输出信号的幅度为-10dB,相位为90度;

  • 输入信号的频率在1kHz到1MHz之间时,输出信号的幅度在10dB到-10dB之间线性插值,相位在-90度到90度之间线性插值。


图15.10 EFREQ器件的使用


2

IF 语句


IF语句是PSpice模型中最常出现的语句。它的格式是:IF(t,x,y),表示如果条件 t 满足,则输出 x,否则输出y。比如在某一模型文件中有这么一段代码:E1 4  0 Value={IF(V(1)>1,1m,10)}


这段代码表示:如果节点1的电压大于1V,那么输出端节点4和地之间的电压为1mV;否则节点4和地之间的电压为10V。


01

IF语句中的逻辑判别式


SPICE语言中用到的逻辑判别式跟C语言是一样的。具体见表15.6:


表15.6 逻辑判别式


02

IF 语言中的布尔函数


在IF的条件判断中还常常需要表示多个判定条件,这时就需要用到布尔函数。具体见表15.7:


表15.7 布尔函数


图15.11(a)蓝色框中是一个双输入与门的模型。图(b)是其测试结果。


图15.11双输入与门的仿真电路与测试结果


03

Time时间变量


电路进行瞬态分析时,利用ABM可以对Time进行提取,然后进行逻辑判断或其他功能。比如可以利用IF语句选择不同时间段的输出波形。如图15.12,当瞬态分析时时间范围设置为0到500us。IF语句表明时间大于250us时,输出正弦波,小于等于250us,输出方波。


图15.12 利用IF语句进行波形选择输出


IF语言还可以嵌套,比如:IF(Time<2m,V(1),IF(Time>4m),V(2),V(3))),表示0到2ms输出V(1)的波形;2ms到4ms输出V(2)的波形;4ms之后输出V(3)的波形。灵活使用IF语句可以解决建模中出现的各种复杂逻辑关系。


3

利用ABM器件构建SPICE模型


可用于PSpice仿真的器件均需要包含两个文件:*.lib和*.olb。


自带库的.lib文件存储在安装目录下:

..\ Cadence\SPB_17.4\tools\pspice\library中;


.olb存储在安装目录下:

..\Cadence\SPB_17.4\tools\capture\library中


因此,如果是用户自己创建器件模型,也需要同时包含.lib和.olb。现以构建一个基准值为50欧姆的压控电阻的模型为例,说明如何创建一个可以用于PSpice仿真的模型。


01

绘制电路图


在Capture的绘图区中绘制如图15.13所示的电路图,其中GVALUE为ABM器件,G器件输出是电流信号。由GVALUE的传递函数表达式,可以看出电路1、2节点之间的电阻值为Rref*V(Ctrl),阻值随着控制端电压线性变化。


图15.13 压控电阻的模型电路


02

创建网表


在Capture界面下,选择工程管理窗口,如图15.14所示,点击需要生成网表的那页电路图,如图中的PAGE1,然后选择菜单:Tool→Create Netlist。


图15.14 创建电路网表


打开图15.15的对话框,在PSpice标签页上点击确定,创建Rval.lib。


图15.15 创建lib文件


通过给定的路径,我们可以在文件夹下找到刚刚生成的.lib的文件。


03

输出olb文件


使用PSpice中的模型编辑器Model Editor打开刚刚生成的.lib文件,或者直接在文件夹内双击刚刚生成的.lib文件,执行File→Export to capture part library,如图15.16所示,设置完毕后点击OK。


图15.16 输出olb文件


04

编辑新建模型符号


继续执行File→Model Import Wizard,为该模型选择合适的外形。如图15.17所示,系统会提供默认的外观,也可以通过“Replace Symbol”从元件库中找到可以兼容的外观直接应用。这里选择使用默认外观。


图15.17 编辑新建模型符号


按完成按钮之后,在工程文件夹下就可以看到下面两个文件:


05

模型应用


通过步骤三和步骤四,就生成了仿真模型必备的.lib和.olb文件。接着在需要调用新模型的工程下,执行PSpice→Edit Simulation Profile→Configuration File→Library,按照图15.18的步骤,将新建的库文件添加到工程中。


图15.18 在工程中添加库文件


之后就可以像调用自带库的元件一样,将构建好的压控电阻应用于图15.19所示的RLC电路中了。


图15.19 模型测试电路


为了观察电阻的压控效果,进行瞬态分析,并设置控制电压V2从0.2V变化至1V,间隔设为0.2V。得到图15.20所示的仿真波形。说明建模成功。


图15.20 测试电路的仿真结果


这一期我们介绍了建模中最重要的模拟行为模型器件,以及在描述电路逻辑关系中最常用到的IF语句,并在最后应用ABM器件构建子电路,生成一个新的器件模型。