“PSpice仿真——从入门到精通”系列课程共4大主题,21篇图文教程,结合实际电路讲解最新的SPB 17.4版本PSpice的各种仿真功能以及高级分析方法、介绍仿真模型的建立与使用,并展示PSpice与其他热门主流工具MATLAB/Simulink的协同工作。
元器件模型是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等效器件列表
ETABLEGTABLE和EFREQGFREQ中均包含两个重要的参数:
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文件存储在安装目录下:
.. CadenceSPB_17.4 oolspspicelibrary中;
.olb存储在安装目录下:
..CadenceSPB_17.4 oolscapturelibrary中
因此,如果是用户自己创建器件模型,也需要同时包含.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器件构建子电路,生成一个新的器件模型。接下来会分别介绍常用的几类元器件的模型特点、建模方式,以及典型应用。我们下期见。
Comtech科通
科通专注IC分销领域20多年,与全球100多家顶级厂商合作,是中国本土值得信赖的电子元器件分销商及增值服务供应商。科通芯城集团旗下品牌包括:Comtech,Cogobuy,IngDan。
原文标题:【PSpice 21周仿真培训(实例下载)】第15周:模拟行为模型器件的介绍
文章出处:【微信公众号:Comtech科通】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !