NI Multisim元件库:在Multisim中创建自定义元器件

转载于: http://www.ni.com/tutorial/3173/zhs/

 

概览

「在Multisim中创建自定义元器件」与「在 NI Ultiboard中创建自定义元器件」为您提供了关于如何直观、快速地学习如何创建您自己的自定义元器件的信息资源。

目录

  1. 引言
  2. 步骤一:输入初始元器件信息
  3. 步骤二:输入封装信息
  4. 步骤三:输入符号信息
  5. 步骤四:设置管脚参数
  6. 步骤五:设置符号与布局封装间的映射信息
  7. 步骤六:选择仿真模型
  8. 步骤七:实现符号管脚至模型节点的映射
  9. 步骤八:将元器件保存到数据库中
  10. 步骤九:测试Multisim中的新元器件

NI Multisim 与 NI Ultiboard为设计、仿真和布局完整的印制电路板(PCB)提供了一个集成的平台。高度灵活的数据库管理程序,使得为自定义原理图符号添加新的SPICE仿真模型变得十分方便,该原理图符号可用于将精确的封装转换为布局。

1. 引言

本指南是关于在NI Multisim 与 NI Ultiboard上创建元器件的系列文章的第一篇。

本指南旨在阐述您如何可以在Multisim中创建您自己的用于仿真和/或印制电路板(PCB)布局的元器件。您将可以创建元器件并验证其操作。元器件向导是用于创建自定义元器件的主要工具,它引导您完成创建一个新元器件所需要的所有步骤。元器件细节包括符号与可选的管脚、模型和管封装信息。某元器件创建过程包括以下步骤:

  • 输入元器件信息
  • 选择封装与元器件配置
  • 选择和/或编辑元器件符号
  • 设置管脚参数
  • 将符号管脚映射至封装管脚
  • 选择仿真模型
  • 将符号管脚映射至模型管脚
  • 将其保存于数据库

该指南逐步引导您完成创建一个与仿真和PCB布局兼容的元器件的过程。为完整起见,您将学习如何创建一个有2个部件的高级元器件。您将创建一个具有两个原理图符号、两个模型但只有一个封装的部件。许多元器件可以更方便地被创建,在大多数情况下这里列出的步骤并不是全部必需的。Multisim也支持用户创建仅用于仿真或仅用于布局的元器件。

元器件创建系列文章的第二部分——名为《在NI Ultiboard中创建自定义元器件》,简述了如何构建一个用于布局的自定义Ultiboard焊盘图形。该焊盘图形由手工创建,以便精确定义表面贴装元件(SMD)的形状、尺寸和大小。该封装可添加至Multisim数据库以定义一个自定义元器件。

单部件元器件与多部件元器件

一个单部件元器件是指每个芯片上仅具有单个元件的元器件。而一个多部件元器件是一个在每个芯片上具有多个门或元件的元器件。多部件元器件的例子包括逻辑门或运算放大器。A到Z递增的字母列举了多部件元器件内的设备。

Texas Instruments® THS7001便是多部件元器件的一个例子。THS7001的可编程增益放大器(PGA)和独立的前置放大器级是封装在单个集成电路(IC)中的,两个元件共享电源和参考电压线路。您将在该指南中学习如何创建这一元器件。

仅用于仿真的元器件

仅用于仿真的元器件,其设计在于帮助验证设计,这些元器件并不会转换为电路板布局。它们不具有封装信息,而其符号在Multisim或Multicap环境中默认设置为黑色以方便识别。仅用于仿真的元器件的一个范例便是一个理想电压源。

仅用于布局的元器件

仅用于布局的元器件无法用于仿真。它们不具有相关的SPICE、VHDL或行为模型。当与电路并行连接时,它们并不影响仿真。当串行连接时,它们将创建一个开环电路。仅用于布局的元器件在Multisim或Multicap环境中设置为绿色。仅用于布局的元器件的一个范例便是一个连接器。

NI Multisim中创建一个TexasInstruments® THS7001元器件

THS7001是一个带有独立前置放大器级的可编程增益放大器(PGA)。可编程增益通过三个TTL兼容的输入进行数字控制。下面的附录A包含有THS7001的数据表供参考。
 

至页首

2. 步骤一:输入初始元器件信息

Multisim主菜单中选择工具»元器件向导,启动元器件向导。

通过这一窗口,输入初始元器件信息(图1)。选择元器件类型和用途(仿真、布局或两者兼具)。

完成时选择下一步>。


 图1-THS7001元器件信息

至页首

3. 步骤二:输入封装信息

a) 选择封装以便为该元器件选择一种封装。

 注意:在创建一个仅用于仿真的元器件时,封装信息栏被置成灰色。


 图2-选择一种管脚(第1步(共2步))

b.) TSSOP20 from the Master Database. Choose Select when done.选择制造商数据表所列出的封装。针对THS7001,从主数据库中选择TSSOP20。完成时点击选择。

 注意:如果知道封装的名称,您也可以在封装类型栏内直接输入该名称。



3-选择一种封装(第2步(共2步))


c.)定义元器件各部件的名称及其管脚数目。此例中,该元器件包括两个部件:A为前置放大器部件,B为可编程增益放大器部件。

注意1:在创建多部件元器件时,管脚的数目必须与将用于该部件符号的管脚数目相匹配,而不是与封装的管脚数目相匹配。

注意2:对于THS7001,需要为这两个部件的符号添加接地管脚和关闭节能选项的管脚。

完成时选择下一步。


4-定义多部件的第1步(共2步)。


5-定义一个多部件的第2步(共2步)

 注意:如需了解如何在NI Ultiboard中创建一个自定义封装,请查阅《在NI Ultiboard中创建自定义元器件》。

4. 步骤三:输入符号信息

在定义部件、选择封装之后,就要为每个部件指定符号信息。您可以通过在符号编辑器(选择编辑)中对符号进行编辑或者从数据库中拷贝现有符号(选择从DB拷贝),完成符号指定。在创建自定义部件时,为缩短开发时间,建议您在可能的情况下从数据库中拷贝现有符号。您也可以将符号文件加载到符号编辑器中。本指南中THS7001涉及的符号是作为文件被包括进来的。

a.)为前置放大器设备加载符号:

选择编辑以打开符号编辑器。

一旦加载符号编辑器之后,选择文件»打开并找到保存指南文件的地方。选择preamp.sym。所加载的符号如下面的图6所示。

注意1:除了常见的关闭管脚和接地管脚,其他管脚的名称均带有前缀“PA”这样便于区分前置放大器部分的管脚名称和可编程增益放大器部分的管脚名称。

 注意2:为确保共享管脚能够在获取环境中正确工作,它们必须在不同部分具有相同的名称。此外,在步骤4中它们必须被分配给COM(公共)部分。



 图6-前置放大器符号


选择符号编辑器。如询问是否保存,选择“是”。

前置放大器符号现在将被显示在预览框中。如果您打算与世界各地的同事共享这一元器件,那么同时为该设备创建ANSI和DIN符号是个不错的选择。仅须简单地选中拷贝至…,然后选择唯一可见的选项Section A (ANSI) or Section A (DIN)。
 

b.)为PGA加载符号。

选择设备B并选择编辑以启动符号编辑器。

 选中文件»打开并找到保存指南文件的地方,选择preamp.sym。所得到的符号如下面的图7所示。



 图7-可编程增益放大器符号

 

 关闭符号编辑器。如询问是否保存,选择“是”。

 

注意:如果此时Multisim窗口未在此出现,按附录B中的故障排除部分所列出的说明操作。
 

PGA符号显示在预览框中。如果您打算与世界各地的同事共享这一元器件,同时为该设备创建ANSI和DIN符号是个不错的选择。仅须简单地选中拷贝至…,然后选择唯一可见的选项Section A (ANSI) or Section A (DIN)。

完成时选择下一步。

 

至页首

5. 步骤四:设置管脚参数

该元器件的所有管脚在步骤4中列出,并如下面的图8所示。Multisim在运行电气规则校验时会使用管脚参数。在为数字元器件选择正确的管脚驱动器时同样需要管脚参数。您也可以在这一步骤中给元器件添加隐藏管脚。所谓隐藏管脚是指那些不出现在符号中、但可以被模型和/或封装使用的管脚。



8-管脚参数


a.)完成如下面表1所示的管脚表格。


1-THS7001管脚参数

完成时选择下一步。

至页首

6. 步骤五:设置符号与布局封装间的映射信息

在步骤5中,实现可视符号管脚和隐藏管脚与PCB封装间的映射。



9-符号与管脚间的映射


a.)利用数据表作为参考完成如下面表2所示的映射信息。

注意:管脚17为SHDN和PA_SHDN共享,管脚1为DGND和PA_GND共享。


2-符号与封装间的映射

完成时选择下一步。

注意1:属于同一个管脚互换组的管脚可以在电路板布局中被自动互换,以最大化布线效率。通常,芯片会具备几个接地管脚。将这些管脚分配给一个管脚互换组,Ultiboard PCB布局工具将给网络表做注解,以改进该电路板的物理布局。

注意2:此外,一些芯片会具有多个同一类型的元件(74HC00包含4个完全相同的数字NAND门)。为改进布线,这些门可以被分配至同一个门互换组。

THS7001的PCB封装中没有两个管脚是重复的。相应地,也没有两个完全相同的门。因此,管脚与门的互换信息保持空白。

至页首

7. 步骤六:选择仿真模型

在创建一个用于仿真的元器件时,您必须提供每个部件的仿真模型。您可以利用如下四种方式获取或创建新的模型:

·         从制造商网站或其他来源下载一个SPICE模型

·         手动创建一个支电路或原始模型

·         使用Multisim Model Maker

·         或者编辑一个现有模型

Multisim提供了Model Maker,可以根据其产品手册数据值为若干种类的元器件创建SPICE模型。Model Maker可用于运算放大器、双极结晶体管、二极管、波导以及许多其他元器件。关于各种Model Maker的更多信息,敬请查阅Multisim帮助文件。

对于THS7001,您将使用制造商提供的SPICE兼容模型,前置放大器和PGA部分有不同的模型可使用。

注意:创建一个仅用于布局的部件时,无须完成步骤6和步骤7。

a.)   .选中A部分页面,选择从文件加载。找到包含指南文件的文件夹,点中sloj028.cir并选择打开。用于前置放大器的SPICE模型将被加载并显示在A部分的页面中(如下图所示)。


10-用于THS7001前置放大器级的SPICE模型

b.)   选择B部分页面,并选中从文件加载以加载用于PGA级的SPICE模型。找到包含指南文件的文件夹,点中sloj029.cir并选择打开。该SPICE模型显示在元器件向导步骤6的B部分页面中。

11-用于THS7001 PHA级的SPICE模型

完成时选择下一步。

至页首

8. 步骤七:实现符号管脚至模型节点的映射

必须将符号管脚映射至SPICE模型节点,以确保Multisim可以正确仿真该元器件。

对于所有的支电路或宏模型,模型节点一般都在SPICE模型的头文件中有说明。其中一行声明该模型为一个支电路模型,后面跟着列出要与外部电路连接的模型节点的模型名称。

对于THS7001,放大前置的模型节点和PGA的模型节点分别在sloj028.cir和sloj029.cir中列出。

现在我们来分析一下前置放大器的头文件和.SUBCKT行:

 

您现在必须将符号管脚名称映射至模型节点。应特别注意模型节点的顺序。

a.)完成前置放大器部分A的管脚映射表,如下面表3所示。

3-用于前置放大器的符号至模型节点的映射

b.)点击B部分的页面,并完成PGA 部分B的管脚映射表,如下面表4所示。

4-用于PGA的符号至模型节点的映射

完成时选择下一步

至页首

9. 步骤八:将元器件保存到数据库中


一旦完成所有前述步骤,将元器件保存至公有数据库或用户数据库。

a.) 选择您希望保存元器件的数据库、组和族。如果所选择的组中当前没有族,通过选择添加族创建一个新的族。


b.)选择完成以完成该元器件的创建。

 注意:您可以通过从Multisim主菜单中选Tools » Database » Database Manager,在数据库管理器中自定义一个新族的图标。


12-将元器件保存至数据库


创建成功!!

至页首

10. 步骤九:测试Multisim中的新元器件

在完成元器件的创建和保存之后,该元器件便可以在Multisim中使用。为测试这一元器件,使用包含在该指南中的THS7001 Tester.ms9文件。利用U2a和U2b分别替换您的新元器件的部分A和部分B。若要替换一个元器件,双击该元器件,然后选择替换。然后找到保存元器件的数据库位置,并选中。选择相应部分。

下面的图13至图16描述了测试电路所期望的响应。



13-测试电路前置放大器的波特响应


14-增益设置为“111”的PGA的波特响应


15-前置放大器的时域响应


16-增益设置为“111”的PGA的时域响应

转载于:https://www.cnblogs.com/tureno/articles/7574645.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串的预处理

C isalpha、isalnum、islower、isupper用法 https://blog.csdn.net/weixin_41162823/article/details/80172379 C/C库函数(tolower/toupper)实现字母的大小写转换 https://blog.csdn.net/laozhuxinlu/article/details/51539737 字符串的逆序 https:…

2017年最新基于Bootstrap 4 的专业、多用途响应式布局的系统模板

本文分享一款2017年最新的2017年最新基于Bootstrap 4 的专业、多用途响应式布局的系统模板,该模板是一款强大并且非常灵活的后台管理系统模板:能适应绝大多数的web应用程序开发,比如:APP的管理后台,电商网站&#xff0…

您的日志就是您的数据:logstash + elasticsearch

今天的帖子的主题与日常的编码和开发无关,但是涵盖了一个非常重要的主题:我们的应用程序日志文件。 我们的应用程序确实会生成大量日志,如果处理正确,则非常有助于解决问题。 如果您启动并运行一个应用程序并没什么大不了&#xf…

关于C++中二维vector使用

https://blog.csdn.net/u014453443/article/details/98057251

面向对象设计与构造第一次总结作业

第一次作业——多项式计算 ---结构分析 第一次作业我只使用了两个类,正像下面的类图所表示的那样,分别是Poly和ComputePoly。Poly类是不可变的,能保存一个多项式,可以进行加、减运算。ComputePoly是程序的主类,能够读取…

python字符串常见操作

字符串常见操作 如有字符串mystr hello world itcast and itcastcpp&#xff0c;以下是常见的操作 <1>find 检测 str 是否包含在 mystr中&#xff0c;如果是返回开始的索引值&#xff0c;否则返回-1 mystr.find(str, start0, endlen(mystr))<2>index 跟find()方法…

调整图像的灰度级数C++实现

图像灰度级数我们见得最多的就是256了&#xff0c;如果想调整它的灰度级数&#xff0c;我们可以使用图像库的imadjust函数来作出调整&#xff0c;比如讲256个灰度级变成2个灰度级&#xff08;也就是二值图了&#xff09;。再举一个例子&#xff0c;原来一幅256个灰度级的图像&a…

[BZOJ2095][Poi2010]Bridges 最大流(混合图欧拉回路)

2095: [Poi2010]Bridges Time Limit: 10 Sec Memory Limit: 259 MBDescription YYD为了减肥&#xff0c;他来到了瘦海&#xff0c;这是一个巨大的海&#xff0c;海中有n个小岛&#xff0c;小岛之间有m座桥连接&#xff0c;两个小岛之间不会有两座桥&#xff0c;并且从一个小岛…

excel和python建模_利用Excel学习Python:准备篇

写在前面这个系列我们要利用Excel的知识&#xff0c;学会用python进行数据分析&#xff0c;如果你精通Excel想要用python提高数据分析效率&#xff0c;那么这个系列你来对了&#xff0c;如果你已经是python大神&#xff0c;想要建模/算法等高级技巧的&#xff0c;这个系列可能不…

方法内联在JVM中有多积极?

IntelliJ IDEA中使用Ctrl Alt M 提取方法 。 Ctrl Alt M。 这就像选择一段代码并按此组合一样简单。 Eclipse也有它 。 我讨厌冗长的方法。 对于我来说&#xff0c;闻起来太久了&#xff1a; public void processOnEndOfDay(Contract c) {if (DateUtils.addDays(c.getCrea…

Python正则表达式基础

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具&#xff0c;拥有自己独特的语法以及一个独立的处理引擎&#xff0c;效率上可能不如str自带的方法&#xff0c;但功能十分强大。得益于这一点&#xff0c;在提供了正则表…

Java并发:隐藏线程死锁

大多数Java程序员熟悉Java线程死锁概念。 它本质上涉及2个线程&#xff0c;它们彼此永远等待。 这种情况通常是平面&#xff08;同步&#xff09;或ReentrantLock&#xff08;读或写&#xff09;锁排序问题的结果。 Found one Java-level deadlock:"pool-1-thread-2"…

vue中使用axios发送请求

我们知道&#xff0c;vue2.0以后&#xff0c;vue就不再对vue-resource进行更新&#xff0c;而是推荐axios&#xff0c;而大型项目都会使用 Vuex 来管理数据&#xff0c;所以这篇博客将结合两者来发送请求 1.安装axios cnpm i axios -S 2.方案一&#xff1a;修改原型链 首先&…

django缓存

由于Django是动态网站&#xff0c;所有每次请求均会去数据进行相应的操作&#xff0c;当程序访问量大时&#xff0c;耗时必然会更加明显&#xff0c;最简单解决方式是使用&#xff1a;缓存&#xff0c;缓存将一个某个views的返回值保存至内存或者memcache中&#xff0c;5分钟内…

linux 输入法成繁体字_寻找Ubuntu中繁体字输入法

当客户来自港台地区时&#xff0c;英文和繁体字就成了交流的主要工具。windows下我们有搜狗输入法可以切换简体与繁体&#xff0c;那么Ubuntu下怎么办&#xff1f;這是我第一次考慮這個問題&#xff0c;在我的印象裏Linux下的中文輸入法還不是那麼完善&#xff0c;所以我進行了…

vue跨域解决方法

vue跨域解决方法 vue项目中&#xff0c;前端与后台进行数据请求或者提交的时候&#xff0c;如果后台没有设置跨域&#xff0c;前端本地调试代码的时候就会报“No Access-Control-Allow-Origin header is present on the requested resource.” 这种跨域错误。 要想本地正常的调…

CSS盒子模型之详解

前言&#xff1a; 盒子模型是css中最核心的基础知识&#xff0c;理解了这个重要的概念才能更好的排版&#xff0c;进行页面布局。一、css盒子模型概念 CSS盒子模型 又称框模型 (Box Model) &#xff0c;包含了元素内容&#xff08;content&#xff09;、内边距&#…

LeetCode的二分查找的练习部分总结

这两天由于工作的原因&#xff0c;一直没有写博客&#xff0c;但是却把LeetCode上面的题目做了不少——二分查找。上面这些题都是这两天写的。现在简单做一个总结。 首先二分查找的思想就是对一个有规律的元素&#xff08;事情&#xff09;进行不断的排除&#xff0c;最后找到符…

在Mac上安装IntelliJ IDEA

在Mac上安装IntelliJ IDEA http://www.jetbrains.com/idea/documentation/ 入门视频 这篇文章旨在介绍如何在Mac系统上安装IntelliJ IDEA&#xff0c;至于IntelliJ IDEA的介绍和使用方法&#xff0c;大家另行查阅&#xff0c;本篇的文章不再详细阐述。 简短解说&#xff0c;I…

行内元素,块级元素,各自特点及其相互转化

作为一名小前端&#xff0c;块级元素、行内元素用了几千几万次&#xff0c;除了“块级独占一行&#xff0c;行内不独占”之外&#xff0c;对细节属性的了解十分匮乏&#xff0c;今天做以部分属性的测试和阐述。 一、 对物理属性的支持 元素类别widthheightpaddingmargin是否独…