广告

QSPICE:导入电子元件的外部模型(第7部分)

2024-03-11 17:07:21 Giovanni Di Maria 阅读:
在本文中,我们将了解如何使用QSPICE导入第三方模型。

在本文中,我们将了解如何使用QSPICE导入第三方模型。这一操作非常有用,因为市场上现有的模型不计其数,软件不可能将其全部包括在内。QSPICE允许用户通过极其简单有效的程序导入外部模型。0JZednc

导入模型

第一个操作是以文本格式提供所需的组件模型。通常,它们的声明以后缀“.model”开头,并指定一个标准SPICE模型。在互联网或存档中找到模型后,只需选中文本模型并使用[CTRL][C]组合键将其复制到剪贴板即可。然后,在仿真软件的电路图上方,使用[CTRL][V]组合键粘贴组件。例如,假设您想创建一个包含BC547 NPN晶体管的电路图。在网上搜索找到后,用鼠标选择它的整个定义并将其复制到剪贴板中,如图1所示。QSPICE用于导入外部电子元件的程序可能是所有仿真器中最简单的程序之一。0JZednc

0JZednc

图1:从网上选择一个SPICE模型0JZednc

在本例中,BC547晶体管的模型由以下SPICE指令定义:0JZednc

.model BC547 NPN( Vtf=1.7 Cjc=7.306p Nc=2 Tr=46.91n Ne=1.3070JZednc

Cje=22.01p Isc=0 Xtb=1.5 Rb=10 Rc=10JZednc

Tf=411.1p Xti=3 Ikr=0 Bf=400 Fc=.50JZednc

+ Ise=14.34f Br=6.092 Ikf=.2847 Mje=.377 Mjc=.34160JZednc

Vaf=74.03 Vjc=.75 Vje=.75 Xtf=3 Itf=.60JZednc

+ Is=14.34f Eg=1.11 )0JZednc

选择并复制包含模型的文本后,您需要在QSPICE电路图上定位,并通过按[CTRL][V]键粘贴剪贴板的内容。软件会智能启动组件的自动生成过程,理解文本内容,如图2所示,根据以下两种不同情况要求确认内容类型:0JZednc

  1. 如果用户回答“否”,则文本将作为普通字符串内容显示在电路图上。
  2. 如果用户回答“是”,则该模型将作为具有正确电气符号的晶体管放置在电路图上。

0JZednc

图2:将外部组件自动导入QSPICE0JZednc

该程序虽然简单,但却也以其出人意料的简单性而脱颖而出,最重要的是该软件能够根据模型描述自动识别组件类型。程序会独立使用相应的电气符号,从而大大简化了设计流程,并确保电路原理图表示更加准确。这一创新功能不仅简化了工作流程,而且还促进了新组件的集成,从而提供了一个更高效、更易于使用的设计环境。导入模型只需几秒钟的时间,并能保证极高的程序可靠性。图3显示了使用新导入的BC547晶体管创建的简单共发射极放大器的图。在同一图中,还有两个与放大器的输入和输出信号相关的波形图。0JZednc

0JZednc

图3:包含从外部模型导入的BC547的晶体管放大器0JZednc

所有导入并出现在电路图中的半导体元件都要参考“model”指令,其中指定了定义元件本身特性的参数值。该指令指定了组件的类型(二极管、双极晶体管等)。最重要的模型类型如下:0JZednc

  • D:二极管
  • NPN:BJT npn
  • PNP:BJT pnp
  • NMOS:n-MOSFET
  • PMOS:p-MOSFET
  • NJF:n-jfet
  • PJF:p-jfet

上面看到的过程是指导入使用“.model”指令定义的组件。在这种情况下,本地建模允许程序选择正确的符号用于电气图中,并100%保证成功。0JZednc

如何导入子电路(SUBCKT)

导入标有“.subckt”指令的子电路并不像前面的本地模型那么简单。对于要显示的符号,该程序并不那么自动,但是导入一个封装在单个容器中的非常复杂的电路的优势是毋庸置疑的。假设您导入的是TL081运放,其SPICE模型如下所示。它是一个包含低功耗、低噪声运算放大器的8引脚集成电路。它专为通用应用而设计,例如放大器、高通和低通滤波器、极低频带通滤波器和模拟加法器等,并且可以配置为单位增益缓冲器。0JZednc

* CONNECTIONS:   NON-INVERTING INPUT0JZednc

*                | INVERTING INPUT0JZednc

*                | | POSITIVE POWER SUPPLY0JZednc

*                | | | NEGATIVE POWER SUPPLY0JZednc

*                | | | | OUTPUT0JZednc

*                | | | | |0JZednc

*                | | | | |0JZednc

*.SUBCKT OPAMP   1 2 3 4 50JZednc

* …netlist…0JZednc

*.ENDS OPAMP0JZednc

.SUBCKT TL081_MC    1 2 3 4 50JZednc

*0JZednc

  c1   11 12 2.887E-120JZednc

  c2    6  7 11.50E-120JZednc

  dc    5 53 dx0JZednc

  de   54  5 dx0JZednc

  dlp  90 91 dx0JZednc

  dln  92 90 dx0JZednc

  dp    4  3 dx0JZednc

  egnd 99  0 poly(2) (3,0) (4,0) 0 .5 .50JZednc

  fb    7 99 poly(5) vb vc ve vlp vln 0 11.94E60JZednc

+ -10E6 10E6 10E6 -10E60JZednc

  ga    6  0 11 12 251.3E-60JZednc

  gcm   0  6 10 99 2.513E-90JZednc

  iss   3 10 dc 130.0E-60JZednc

  hlim 90  0 vlim 1K0JZednc

  j1   11  2 10 jx0JZednc

  j2   12  1 10 jx0JZednc

  r2    6  9 100.0E30JZednc

  rd1   4 11 3.979E30JZednc

  rd2   4 12 3.979E30JZednc

  ro1   8  5 350JZednc

  ro2   7 99 350JZednc

  rp    3  4 21.43E30JZednc

  rss  10 99 1.538E60JZednc

  vb    9  0 dc 00JZednc

  vc    3 53 dc 1.60JZednc

  ve   54  4 dc 1.60JZednc

  vlim  7  8 dc 00JZednc

  vlp  91  0 dc 200JZednc

  vln   0 92 dc 200JZednc

.model dx D(Is=800.0E-18)0JZednc

.model jx PJF(Is=15.00E-12 Beta=485.9E-60JZednc

Vto=-1)0JZednc

.ends0JZednc

与本地模型一样,只需选择整个列表并将其粘贴到电路图上即可。QSPICE无法知道组件的性质,因此它将用一个简单的矩形显示,如图4所示。值得注意的是,软件会自动在组件的属性中插入“X”符号,证明它是一个子电路。因此,要了解组件端子的含义和功能,有必要查阅模型的第一部分。0JZednc

* CONNECTIONS:   NON-INVERTING INPUT0JZednc

*                | INVERTING INPUT0JZednc

*                | | POSITIVE POWER SUPPLY0JZednc

*                | | | NEGATIVE POWER SUPPLY0JZednc

*                | | | | OUTPUT0JZednc

*                | | | | |0JZednc

*                | | | | |0JZednc

*.SUBCKT OPAMP   1 2 3 4 50JZednc

该文件的开头很简单地解释了运算放大器五个端子的作用,如下:0JZednc

  • 1:同相输入
  • 2:反相输入
  • 3:电源正极
  • 4:电源负极
  • 5:输出

您可以通过使用鼠标将端子的红点移动到相应的一侧,从而略微改善组件的外观。但绝对不能更改端子的名称,否则该模型将无法正常工作。该图显示了一个小型电压放大器的电路图,其增益约为五倍,由电阻器R3和R1之间的比率决定。0JZednc

0JZednc

图4:导入运放TL081及相关反相放大电路0JZednc

OPAMP电气符号修正

前面的电路工作得很好,但运算放大器用矩形来表示还是不能接受。现在让我们看看如何用三角形(适合表示运算放大器的几何形状)来替换矩形符号。首先要执行的操作是使用鼠标或键盘访问"文件"(File)、“新建符号”(New Symbol)菜单。此时将打开一个图形编辑器,您只需在其中复制并粘贴电路图中的OPAMP组件(X1)。图5清楚地显示了要遵循的不同步骤。因此,使用“Delete”键删除黄色矩形,并使用鼠标右键创建一个三角形。新三角形的尺寸必须能够正确定位OPAMP端子。所以接着,移动设计中的各种元素,直到创建出一个正确而优雅的形状。此时,用[CTRL][C]键复制已完成的工作,然后按[CTRL][V]键将其粘贴到主图上。还需要删除旧的运算放大器符号。最后,必须恢复电路连接。仿真可以顺利进行,得到相同的结果,但使用的是正确的电气符号。该步骤可用于任何其他外部电子元件。0JZednc

0JZednc

图5:修正导入元件图形符号的步骤0JZednc

结论

与市场上其他仿真器相比,QSPICE导入程序是最好、最简单的导入程序之一。其易用性和基于型号描述的自动元件识别效率,使其成为电子设计爱好者的首选。不过,谨慎行事是明智之举,因为互联网上的SPICE模型偶尔会存在缺陷,这可能会影响仿真的准确性甚至成功与否。因此,建议仔细检查模型,并在必要时进行修正,以确保仿真的一致性和有效性。优化设计体验的另一个宝贵建议是创建自己的文本库。该自定义库应编译并填充常用模板和元件,以确保快速访问和更高效地管理电路元件。创建和维护一个条理清晰的库可以大大简化设计过程,让用户更专注于工作的准确性。0JZednc

(原文刊登于EDN姊妹网站Power Electronics News,参考链接:QSPICE: Importing External Models of Electronic Components (Part 7),由Ricardo Xie编译。)0JZednc

相关阅读:

QSPICE电子电路仿真系列教程0JZednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了