赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 spice仿真

首页 > 专业技术 > spice仿真 > PROTEUS的元器件及模型制作
PROTEUS的元器件及模型制作
Proteus是英国Labcenter Electronics公司开发的电子设计EDA软件,可进行原理图和PCB版图设计,还可进行电路仿真,其中MCU与外围模数混合电路的协同仿真最具特色。为了实现上述功能,Proteus软件附带了大量的元器件,许多常用元件都能找到。但即使如此,在实际的设计中仍会遇到很多库中没有的元器件,这时就要用户自己去制作和添加。
一、元器件及模型的分类:
电路是由元器件用导线连接而成的,元器件是组成电路的基本单元。在Proteus中,元器件分为原理图元件、PCB封装和原理图仿真模型三大类。
1. 原理图元件:
Proteus软件分为ISIS原理图编辑和ARES印刷电路板(PCB)绘制两部分。为了电路逻辑清晰和分析方便,电子产品一般都会先画原理图,从功能上确认后再实际制作产品。而Proteus的ISIS部分就是提供了电气原理图的编辑和分析界面,在这里要使用的是原理图元件。
Proteus原理图元件有30多个库共8000多个元器件,包括常用的电阻、电容、电感、二极管、三极管、可控硅、光电显示器件、开关继电器、温度压力传感器、马达、电子管和集成电路等,集成电路(IC)可分为模拟集成电路(如放大器、比较器、滤波器、模拟开关、稳压电源等)和数字集成电路两大类,数字集成电路有74系列、4000系列、ECL10000系列和处理器及外围器件,74系列又可细分为S、LS、AS、ALS、F、HC、HCT等系列。处理器主要是51系列、AVR系列、PIC系列、MSP430系列、MC68HC11和ARM7(LPC21XX系列),处理器外围器件包括SRAM、DRAM、EPROM、EEPROM、ADC、DAC、显示驱动、实时时钟、电压监测、数字电位器、RS232/485收发器、遥控编解码、接口扩展及其他MCU外围接口器件。原理图元件大多使用国际上标准的电路图形符号,任何国家的用户都能很方便地辨识和使用。
2. PCB封装:
现在,印刷电路板(PCB)是最常用的实际电路组装方式。为了实现这种组装。每个原理图中的元器件都要有一个对应的封装(Package ),其大小对应着实际元器件的外形尺寸,关键是包含了PCB组装用的焊盘大小和位置,制造时能使实际元件固定并使电路接触良好。
Proteus附带的封装包括连接器、分立元件、集成电路及其他一些特殊元件等,包括了插孔式(Though Hole)和表面贴装(Surface Mount)两大类的常用封装,各种集成电路的封装形式最多也较复杂。
3. 仿真模型:
作为一种电路EDA软件,Proteus很重要的一点是具有在原理图上进行仿真分析的能力,为了实现这种功能,原理图元件就不能只有一个外形和管脚,还要有相应的仿真模型。不具有仿真功能的元器件被称为绘图模型(Graphical Model),具有仿真功能的元器件称为电气模型(Electrical Model)。Proteus的电气模型分为4类,原理图模型、SPICE模型、动态模型和VSM模型。在Pick Devices对话框的Preview窗口中就能大致分辨。

(Primitive为仿真原型,是构建其他仿真模型的基本“砖块”,分模拟和数字两类)
1)原理图模型(Schematic Models):
由仿真原型(Simulator Primitives)构建,与实际元器件有相同等效电路性能的模型。它的并不是按实际器件的内电路搭建,而只是外特性与实际器件等效。主要包括Modelling Primitives、Simulator Primitives库中的模型或使用其中的模型构建的模型。

2)SPICE模型(SPICE Model):
使用符合SPICE3F5规范的SPICE文件或库设计的仿真元器件,主要为二极管、三极管等分立半导体元件。SPICE是一种业界普遍使用的电路级模拟程序,它通过半导体器件的内部结构和参数建立起相关的分析模型和方法,一些半导体元件制造商会提供相关器件的模型。

3)动态模型(Active Components):
具有动画效果的模型,如继电器、灯、LED数码显示等。通过动画模仿器件的动作过程,很直观很形象。但Pick Devices对话框的Preview窗口中往往显示的也是Schematic Models。

4)VSM模型(VSM Models):
是基于动态链接库(DLL)的仿真模型。DLL是利用Labcenter提供的VSM SDK(软件开发包)用C++编写的,用以描述器件的电气行为,这是Proteus独特的部分。VSM模型主要包括处理器、液晶模块、传感器等复杂的元器件,开发有较高的技术难度,用户往往只是使用。

二、原理图元件制作:
这里的原理图元件是指绘图模型(Graphical Model),只有外形符号及引脚,不包括仿真功能。在Pick Devices对话框的Preview窗口中显示的是No Simulator Model。
1. 绘制元件:
ISIS编辑界面左侧的2D工具箱图片是制作元器件的主要工具。其中的proteus常用于绘制元器件的矩形外框,而引脚则用上面的proteus工具。引脚有普通引脚(DEFAULT)、低电平有效引脚(INVERT)、上升沿有效的时钟输入引脚(POSCLK)、下降沿有效的时钟输入引脚(NEGCLK)、短引脚(SHORT)、总线(BUS)等6种形式,外形如下图右侧显示。

鼠标一般为“笔头”形状,但在滑过外框边缘时会变成“小手”,并在外侧出现一圈红色虚框,这时点击外框就会进入编辑状态,鼠标放在黑方块处可以通过拖拉变换外框的大小。

同样,当鼠标放在引脚上时也会改变为“小手”形状,可以用鼠标左键点选引脚进行移动,更常用的是点击鼠标右键打开菜单,对引脚进行拖动、改属性、旋转、删除等操作。

打开“属性编辑”对话框,可按需要设置及修改引脚属性。引脚属性中有名称、序号、显示选项、电气特性等,其中电气特性有被动(默认)、输入、输出、双向、三态、上拉、下拉、电源等8种选项。名称中前加$符可显示上横线,表示低地平有效。
工具箱中点击,右侧栏中出现10种可加入的符号,如中心点、标记符、引脚名、序号等:

2. 元件入库:
用鼠标左键拖拉选择整个绘制好的元件,用菜单【Library】→【Make Device】,就可以打开对话框:

这里面需要填入元件名、类型前缀,如果是仿真用元件,还要根据需要填入对应的模块或动画模型。如果只是原理图元件,后面的项可空缺。
点击Next按钮,出现Make Device的封装对话框,点击其中的Add/Edit按钮,出现Package Device对话框,点击Add按钮,出现Pick Packages(选择封装)对话框,在其中包括的封装库中选择对应的类型,左下区域就显示封装对应的缩略图,便于直观观察选择:

点选后,按OK按钮,返回Package Device对话框,右侧为带引脚标号的PCB封装图,左侧则是原理图元件的引脚序号列表,其中A列需要填入对应的PCB封装引脚标号,使原理图元件与PCB封装引脚对应上。每填入一个标号,右侧相应的PCB封装就会高亮指示。

完成后,按Assign Packsge按钮,就会返回Make Device的封装对话框,左侧显示元件的封装列表,右侧显示封装的外形及尺寸。

按Next按钮,出现Make Device的器件属性定义对话框,左侧列表出现PACKAGE,右侧为封装的相应属性等参数。

如果只是需要画PCB的原理图元件,有了PACKAGE就可以了,如果是仿真用元件,还需要其他属性。点击New按钮,就会出现一个列表,还包括ITFMOD、MODDLL、MODEL、MODFILE、PINSWAP、PRIMITIVE、SPICEFILE、SPICELIB、SPICEMODEL、SPICEPINS、STATE、TRACE、VALUE等其他选项,对应也有一个属性设置界面。完成设置后,点Next按钮,会出现Datasheet设置对话框。在这里可以输入元件相应的Datasheet或Help文件,一般可空缺。

按Next按钮,出现选择元件放置位置的对话框。

为与软件附带的元件库相分别,可以新建一个MYLIB库,用New按钮即可。下面还有子类的设置,可空缺,右侧列表中会自动加一个USERDVC标志。
点击OK按钮,一个原理图(带封装)的元件就制作好了。
3. 管理个人制作的元件:
菜单【Library】→【Library Manager】,打开库管理器,可以管理个人制作的元件。

三、原理图元件的修改:
个人制作元件比较繁琐,特别是制作具有仿真功能的元件更是如此,如果是在库中原有元件的基础上修改,会比较简单一些。示例,把74HC373改为总线方式。
1. 元件外形修改:
把74HC373放入编辑界面中,点选,使用工具栏中图片(或鼠标右键菜单中Decompose),把元件分解而进入可编辑状态。把Q0~Q7及D0~D7引脚删除,添加总线引脚(见上节)并加标号。移动其他引脚及外形大小。

2. 元件入库:
用鼠标拖选整个元件(包括下面的三行Decompose后产生的字串),菜单【Library】→【Make Device】,打开基本属性设置对话框:

只需要把名称后面加.BUS后缀即可,因为原有器件的各种属性都保留着。按Next按钮,显示的是封装对话框,不用修改。

按Next按钮,出现器件属性定义对话框。

可以看到,左侧列表包括了MODFILE、PACKAGE、INIT和ITFMOD等4个属性,分别有对应的设置页面,如果是新建元件就要花很大精力去设置,这里因为只是修改,都可以沿用原来的,感兴趣的可以去看看每个界面的设置情况。继续Next,出现的是Datasheet界面。

也可以保持原状,继续Next,出现元件库选择界面,可以选MYLIB。

按OK按钮,就完成了一个保持了仿真性能的元器件的修改,需要设置的内容很少。这个修改后的元件已能在元件库中找到并使用。

放置到ISIS编辑界面后,可开其属性对话框,与原来的74HC373是一样的。

四、模块元器件的制作:
PROTEUS ISIS原理图设计中,往往会遇到比较复杂的电路,为简化设计,可以引入模块元器件,形成一种层次结构。模块元器件可以像其他元器件一样放置和使用,如果内电路用可仿真的元器件组成还可以进行整体仿真,这种方式制作的模块元器件也是一种原理图模型。
1. 模块元器件的绘制:
像制作原理图元器件一样,先点击2D工具箱中的proteus,在编辑窗口拖动,先画出模块的外框,然后用工具箱的proteus加入引脚。

然后为每个引脚添加名称及序号并设置引脚属性,还可以用工具箱中的proteus,为模块添加字符。注意器件有4个隐藏引脚。

2. 模块入库:
同制作原理图元器件一样,用鼠标拖选整个元件,菜单【Library】→【Make Device】(或鼠标右键菜单中的Make Device),打开基本属性设置对话框,填入模块的名称及类型前缀。然后点击Next按钮,出现的是封装对话框,点击Add/Edit按钮,在出现的界面中再点Add按钮,出现Pick Package界面,在其中选择适合的封装,这里为器件选择了8PIN的SMD封装(也可以选择其他适合的8PIN的Package)。这个封装与原理图中定义的序号对应。

点Next按钮,在定义元器件属性的对话框中,就有了PACKAGE类,因为要使用仿真功能,点击NEW,在列表中MODFILE,就出现一个MODFILE类及对话框,可以保持默认值。

再点Next按钮,略过出现的Datasheet说明文件对话框,点击Next按钮,出现的是库选择对话框,一般把自己制作的元件都放入单独的库中。

点击Device Category右侧的New按钮创建新库,或从列表中选择一个自建的元件库,如MYLIB,点击OK按钮完成。
3. 建立层次结构:
以上过程与创建新的原理图元器件的步骤基本一样,但此模块元器件的内容是空的,只是一个外观符号,是一个绘图模型(Graphical Model),并没有任何仿真功能。
菜单【Library】→【Pick Device/Symbol】,打开元器件拾取对话框,在MILIB库中找到上面创建的模块元器件,也可以直接在Keywords输入名称MUX21查找。点选模块元器件,按钮OK,就可添加到设计文档的元器件列表中,然后在编辑区点击鼠标,放入编辑界面中。

双击,打开器件属性对话框,点选下面的Attach hierarchy module(附加层次模块)选项,点击OK确认。点选器件,鼠标右键菜单Goto Child Sheet,转入子页面。

在子页面中如图绘制内电路原理图,注意信号输入/输出引脚要与模块元件的引脚名称一致,因模块元件有隐藏的电源引脚,所以也要加入。完成后,菜单【Design】→【Provious Sheet】返回。可以对电路施加激励信号验证其性能。
4. 生成模板文件:
返回子电路,菜单【Tools】→【Model Compiler】,生成一个mux21.MDF文件,保存到MODELS文件夹中(或另外指定文件夹),这个文件夹中存放着用于仿真的很多模型文件。返回上一层,鼠标右键菜单Make Device,两次点击Next按钮,到元器件属性对话框,在MODFILE界面中填入刚才生成的模型文件的名称和路径。因为存放在默认的MODELS中,只需要填入生成的MDF名字mux21.MDF。

再两次按Next按钮,然后点击OK,软件会出现一个提示框,询问是否替换已存在的mux21器件(这是用新加入的有模型的器件替换原有的符号),点击OK。这样,一个完整的具有仿真性能的模块器件就制作完成了。如果熟练掌握就可以自己制作一些模块器件用于仿真。(有时使用的子电路中会有一些变量,在使用模块器件时需要在属性框中进行相应设置。)
五、原理图模型(Schematic Models)制作:
上述的模块元器件也可以认为是原理图模型的一种,可以具有仿真功能。但一般地,原理图模型更多地是使用Modelling Primitives、Simulator Primitives库中的仿真原型来制作,这些原型模块是一种理想化的模型,更具有一般性,通用性更好。实现的关键是,把一种实际器件怎样去用这样的基本模型来搭建,使外特性上一致。下面以2个实例来说明。
1. 8位D/A转换器DAC0832:
DAC0832的原理图元件符号及内部结构如图:

画好原理图元件的符号后,用Make Device生成一个不含模型的器件,用Pick Device/Symbol在库中找到此器件并放入ISIS编辑界面中,然后在其属性中勾选Attach hierarchy module(附加层次模块)选项,接着用Goto Child Sheet转入子页面进入内层电路设计。

内电路主要包括两级锁存器和T型网络,锁存器使用了Modeling Primitives中的仿真原型LATCH_8,T型网络则又设计成模块电路,内部使用了DSWITCH(数控开关)。

设计完成后,可以用如图的电路进行测试,输出应为锯齿波:

验证完成后,进入DAC0832内层电路,菜单【Tools】→【Model Compiler】,生成一个MDF文件(模块描述文件),存入MODELS目录中(或其他指定路径),然后对DAC0832原理图符号元件用Make Device,在MODFILE界面的Default Value栏目填入生成的MDF文件名称(如果未放入默认路径,需要有路径)。完成Make Device流程,就完成了DAC0832原理图模型的设计。
2. 压控振荡器VCO:

绘制如图的VCO原理图模块,并用Make Device先生成一个不含模型的器件。用Pick Device/Symbol在库中找到此器件并放入ISIS编辑界面中,然后打开其属性,勾选Attach hierarchy module(附加层次模块)选项,接着用Goto Child Sheet转入子页面进入内层电路设计。绘制如图的内部电路:

完成后,在VCO内层电路界面,菜单【Tools】→【Model Compiler】,生成一个vco.MDF文件,存入MODELS目录中,然后对VCO原理图符号元件再用Make Device,在MODFILE界面的Default Value栏目填入生成的vco.MDF,完成后续流程,VCO原理图模型完成。
需要注意,此模型内层电路有预置的参数变量FMIN和GAIN,在使用时要在属性中写入:

在使用此原理图模型时,就会使用属性中的参数进行仿真。
六、SPICE模型制作:
SPICE文件是一种描述器件性能指标的文本文件,多用于二极管、三极管等半导体器件,一些欧美半导体器件制造商的网站会提供相关文件的下载。用下面的方法,只要拿到SPICE模型文件,就可以制作出相关仿真模型,并在Proteus上进行仿真。
1. 分立元件的SPICE模型:
SPICE模型中,最常见的是二三极管这类半导体分立元件,这类元件在Modelling Primitives库中都有通用模型,在这种通用模型上修改相应的SPICE参数就可以得到相应器件的SPICE模型。示例:有一种高频NPN三极管BF199,spice参数模型为:

菜单Pick Device/Symbol,在Modelling Primitives库中找到NPN,放入编辑界面中,鼠标右键菜单Make Device。

器件属性对话框中填入QBF199,前缀Q,然后Next按钮;在元件属性和定义对话框中列有NPN三极管模型的相应属性,很多项,Default Value大多为none,在这里,可以按spice模型文件中的值修改相应项的值,这是要仔细和有耐心的事情,存入可按Next按钮,然后Back回到这个界面继续修改,直到完全改好。最后放入库中,以后就可以从库中调出使用。
上述模型,也可以在其属性对话框中直接设置相关参数或指明SPICE文件路径:

但修改的参数及调用的SPICE文件是一次使用,再次使用时还要重复这个过程。
2. KA431的SPICE模型:
对于集成电路,或比较复杂的器件模型,并没有对应的通用模型来修改参数,在SPICE中是用子电路方式来描述,即SUBCKT格式文件,很多半导体厂家也提供这种SPICE文件。
例如,常用的电压基准芯片KA431的子电路SPICE文件如下:

制作步骤:
1)设计器件的原理图符号:根据引脚名称及序号,绘制符号并Make Device入库。

2)加入SPICE文件:用Pick Device/Symbol在库中找到此器件并放入ISIS编辑界面中,然后打开其属性对话框,勾选Edit all properties as text(编辑文本格式属性)选项,填入相应属性设置。注意,里面包含KA431.CKT文件的路径,要把SPICE文件存放这里。

3)仿真测试:这时就可以搭建简单的电路图来测试模块的仿真功能,DC电压表显示2.49V。
4)再次入库:手动填入的属性,每次使用器件时都要填入,很麻烦。需要再次Make Device,属性设置界面这时已自动增加了几个项目,对应手动输入的那几条属性。

完成流程,再次用Pick Device/Symbol调出此器件,打开属性对话框,界面就增加了几个只读项目。
七、动态模型制作:
动态仿真模型作为一种与用户交互的工具,很直观和形象,比如开关的两种状态、LED的亮与灭,是PROTEUS软件仿真很有吸引力的一部分。动态模型的制作比较繁琐,也有很多技巧,需要对仿真软件有较深的了解才能制作。
1. 单刀单掷开关的制作:
1)绘制2D图形符号:
使用2D工具制作如下分别表示开关两个状态的符号。

注意都要加上表示原点的ORIGIN。为了绘制方便,可以用菜单【View】→【Snap 10th】以便绘制更精细。
2)图形符号入库:
对其中一个符号拖选,鼠标右键菜单Make Symbol,出现对话框,符号名为SW_0。

同样,另一个名为SW_1,都要选择放入USERSYM符号库中,便于与系统自带符号区分。
3)调出符号:
点选左侧工具图片,菜单【Library】→【Pick Device/Symbol】,在符号库中找到入库的符号SW_0,选择后,就会出现在左栏的符号列表中,然后再次调出SW_1。

4)制作元件:
选择符号SW_0,放入编辑窗口中,再把SW_1叠放(原点对齐)。左侧工具栏,选择TOGGLE,加入其中。然后用左侧工具为元件加上引脚,并填入名称及引脚序号。

5)元件入库:
鼠标拖选整个元件,然后鼠标右键菜单Make Device,出现器件属性对话框,填入名称及前缀。注意,下面有对应动态模型的两个重要栏目,符号名及状态数量,这与SW_0、SW_1的符号命名相对应,如果不按规则命名对应的每个状态的符号,使用时就会产生问题。

Next按钮,出现封装对话框,略过,再按Next按钮,出现器件属性定义对话框。在这里要为器件定义五个属性。用New按钮,上拉列表中选Blank Item,在右边的对话框中填入如图的内容,这里的R(0)为定义开关断开时的绝缘电阻,然后还要再定义R(1),为闭合时的导通电阻,然后定义开关动作时间TSWITCH。

接着两项为STATE和PRIMITIVE,这两项在New按钮的上拉列表中都有,是器件的通用属性,而前面的3个属性是开关器件的特有属性,其实是Modelling Primitive中的RTSWITCH模型的属性,是直接使用,所以不需要再建立子电路或其他仿真模型。

设置完一项之后,可以按Next按钮,进入下一界面,然后按Back按钮返回,设置另一项。5项完成后,Next按钮,存入MYLIB库中,便于与系统附带的库相区分。
6)验证与使用:
菜单【Library】→【Pick Device/Symbol】,在MYLIB中找到制作入库的开关动态模型,放入编辑界面中,按图搭建测试电路。

仿真启动后,鼠标点击开关的TOGGLE符号,开关就在两个状态间切换,对应的LED也就会随之熄灭或点亮,可见动态仿真模型制作成功。
2. 电压指示动态模型:
1)绘制2D符号并入库:
先用工具图片画出指示灯的外形,并复制4个。打开属性设置,点选FG.colour右侧的选择框,使填充颜色进入编辑状态,从黑到红,设置5阶颜色过渡状态。

每个符号加入ORIGIN,得到的5个符号如图:

按顺序对每个符号依次拖选,鼠标右键菜单Make Symbol,分别命名为DISP_0、DISP_1、DISP_2、DISP_3、DISP_4。
2)合成元件并入库:
点选工具图片,找到入库的5个符号,在编辑界面叠在一起,用工具图片为元件加上引脚,并填入名称及序号。鼠标拖选整个元件,右键菜单Make Device,在属性对话框中设置动态符号名为DISP,数量为5。可以略过其他设置,最后入库MYLIB。

3)加入子电路:
上面入库的元件只有符号,需要加子电路才能动态显示。从库中调出元件,放入编辑界面,打开属性,勾选Attach hierarchy module(附加层次模块),点OK按钮返回。鼠标右键菜单Goto Child Sheet,然后可以打开一个原理图编辑界面,在这里输入子电路原理图。子电路中使用了Modelling Primitive库中的任意电压控制电压源AVCVS和实时电压探针RTVPROBE,并把RTVPROBE属性Maximum Scale设为5。

在子电路界面用菜单【Tools】→【Model Compiler】,产生DISPV.MDF文件,存入MODELS文件夹中。回到原模块,在属性中输入如图的属性文本,后面一项指明了编译的子电路模块的名称,前面一项设置了负载电阻值,因为子电路的负载电阻值为变量。
4)完成并测试:
再次使用鼠标右键菜单Make Device,前面不变,在器件属性对话框中已出现与输入的文本相对应的两个属性项。

最后存入库中,覆盖前面没有子电路的模型。调出模型,搭建如图的测试电路:

为了肉眼看出亮度的变化,测试信号变化要比较慢。
3. 七段显示模型的修改:
为了直观显示电路仿真效果,特别是单片机程序的运行效果,经常会使用7SEG模块,Proteus已附带了多种7SEG模块,但使用中往往希望能有些变化,比如颜色的变化,在原有模块上进行修改会减小很多工作量。
1)从原模块得到不同颜色的符号:
从Optoelectronics库中调出7SEG-MPX1-CA,这是带小数点的7段数码管显示模型,但只有红色的,现在要把它变为绿色的模型。先对模型Decompose,然后点击图片,看到分解出的符号Symbol,共有17个。如果一一画出还是比较费时间的,而修改就快得多。

2)符号分解并改色入库:
这17个符号也是经过封装的。在列表中点击其中一个Symbol,放入编辑界面中,鼠标掠过出现红色虚框,鼠标右键菜单Decompose,分解成一个颜色段和一个ORIGIN符号。

点选颜色段,鼠标右键菜单Edit Properties(编辑属性),打开对话框,其中有两个颜色设置,一个是外框线颜色,一个是填充颜色。点击其中一个,则打开颜色选择对话框。

因为要对应灭和亮两种状态,所以要选择亮度不同的两种颜色。这里要改为绿色,在颜色区点击绿色,右侧出现一个绿色从亮到暗变化的色条,点击对应灭的一种较暗的色彩,添加到自定义颜色,然后再选一种对应亮的颜色,也添加到自定义颜色,这样每次修改的颜色就会一致了,使用也方便。7SEG_0_0对应灭的状态,都要改为较暗的一种颜色。

然后用鼠标拖选颜色段及ORIGIN符号,鼠标右键菜单Make Symbol,在对话框中命名为7SEGG_0_0,库列表中选USERSYM。OK按钮,就把符号放入库中,方便以后使用。

然后也对其他16个符号进行如上操作,注意7SEGG_X_0对应灭的状态,颜色用较深的一种,而7SEGG_X_1对应亮的状态,颜色用较浅的一种。而7SEGG_C为外框,颜色要选一种更深的颜色,与较深的绿色略有区别即可。
3)叠合并添加引脚:
把入库的17种符号叠合在一起,恢复成一种七段数码管的形状,颜色已变为绿色的了。

然后添加引脚,或者直接把原红色数码管的引脚拿来使用,注意每个引脚的名称,这里是A、B、C、D、E、F、G、H、1,将来要用的,不能搞乱。叠合时要注意7SEGG_X_1先放,然后对应的7SEGG_X_0放上面,这样平常显示一种灭的状态,不然就会是亮的状态。
4)封装入库:

用鼠标拖选整个元件,鼠标右键菜单Make Device,出现属性对话框,输入名称7SEG-G1-CA,前缀DS。下面的动态属性也要设置,符号名称输入7SEGG之后,状态数量项就会变成可填状态,填入8,而Bitwise Status也可勾选了。但最后的一项Link to DLL不要勾选,后面要用子电路方式实现,而不是用DLL方式。然后一直用Next,入库MYLIB。
5)建立子电路:
上面入库的动态模型并未完成,需要建立子电路。从库中调出7SEG-G1-CA模型,在属性对话框中勾选Attach hierarchy module(附加层次模块)。然后就可以用鼠标右键菜单的Goto Child Sheet进入子电路编辑页面。子电路如图绘制:

子电路中使用了Modelling Primitive库中的DIODE二极管原型和RTIPROBE实时电流探针,并对其中的两个参数进行了设置。菜单【Tools】→【Model Compiler】,产生7SEG-G1- CA.MDF文件,存入MODELS文件夹中。
6)填入属性并再次入库:
打开元件属性对话框,填入如图内容,然后返回。鼠标拖选,鼠标右键菜单Make Device,前面不变,Next按钮,在器件属性定义对话框中出现了MODFILE项,对应手动输入的内容。

完成流程,入库的带有子电路的动态模型替代了原来的只有符号的模型。
7)仿真验证:

经过了那么复杂的修改过程,需要验证动态模型是否可以使用,如图搭建测试电路。仿真时,用鼠标改变每个开关的状态,就有对应的段亮或灭,达到了预期效果,加上电流探针还可以看到每个段对应的电流情况。
从上面的例子可以看出,制作动态模型是很费时和费精力的事情,也是有一定难度的,只有在对软件的仿真细节有更多了解情况下才能制作,一般情况下往往只是修改。
八、VSM模型制作:
VSM模型,是Proteus最具特色也最为复杂的仿真模型,要使用Labcenter公司提供的VSM SDK开发工具用C++开发。步骤如下:
1)绘制器件的原理图符号,包括外形及引脚,与制作一般原理图器件一致。
2)创建器件并设置动态器件(Active Component)的属性,生成的文件为DLL。
3)在C++编程环境下引用VSM.HPP等头文件,参考器件的datasheet设计DLL,实现性能。
4)将制作完成的DLL文件加入器件的属性中,进行仿真测试。
因为对C++不熟,手头也没有相应的开发工具,无法演示其制作过程,略过。
VSM模型制作难度很高,普通用户一般难以做到,一般是使用他人制作好的库和模型。网上会找到一些他人制作好的元件库和模型(往往是厂商为了推销自己的产品而制作),一般会有三种类型,模型文件(.dll文件)、库文件和例子。使用时,把.dll文件拷贝入Proteus安装目录下的MODELS文件夹内,附带有.lib库文件就拷贝到Proteus安装目录下的LIBRARY文件夹内,这时就能在库管理器中看到这些库文件了。如果没有库文件,而只有.DSN文件实例,在把.dll文件拷入后,菜单【Library】→【Compile to library】,会出现一个元件放置入库的对话框,按OK按钮。然后用库管理器把导入元件中不需要的删除即可。
九、元件PCB封装的创建:
Proteus ARES是进行PCB绘制的的软件界面,其提供了通用IC、二极管、三极管等大量的典型封装库,便于用户使用。但实际应用中还是会遇到库中没有的封装,这就需要用户自己创建。
1. 绘制封装:
ARES界面左边的工具箱图片中包括各种焊盘,前面三个是Through-hole焊盘,后面还有SMT焊盘。注意:ARES用的单位是th,为thou的简写,为毫英寸,即一英寸的千分之一,过去一般称为mil(密尔)。1th=0.0254mm,常用的间距2.54mm=100th,1.27mm=50th,0.8mm=31.5th。0.63mm=25th,0.5mm=19.7th。而孔径及焊盘大小也常用th表示:50th=0.76mm,31.5th=0.8mm,35.4th=0.9mm,39.4th=1.0mm,43.3th=1.1mm,47.2th =1.2mm,59th=1.5mm,70.9th=1.8mm,78.7th=2.0mm,86.6th=2.2mm,98.4th=2.5mm。

hrough-hole焊盘有方形、圆形及DIL形,名称中就往往包括了内外尺寸数据;SMT焊盘也有3种,没有内孔,只有外形数据。类列表上面有C和E两个按钮,分别为创制焊盘和修改焊盘,点击会出现相应的对话框:

选择相应参数,就能新建一种焊盘或改动现有焊盘的尺寸数据,单位也为th。
封装中的焊盘往往有多个相同大小的,这时先单击工具栏的,再用鼠标拖选焊盘(或焊盘组)使其选中,用菜单【Edit】→【Replicate】,在弹出的对话框中设置步进方向、间距及数量,按OK按钮,就可以自动复制多个间距一致的焊盘,这对创建IC封装很有用。

点选焊盘,用鼠标右键菜单“Edit Propertise”就可打开对话框,可在最下一栏填入焊盘编号。完成焊盘放置,然后为元件添加边框,这要用到工具栏中的图片。注意,先要将左下角的当前层设为丝印层图片,然后在编辑区按外形尺寸画封装的边框。鼠标移动时,编辑区下面有相应的坐标值显示,单位也是th。
点击工具栏的图片,在列表中点选“ORIGIN”,放在第一个引脚(或中心点)处,确定封装的原点,还可加入REFERENCE和VALUE,对应封装使用时的位号及元件值。
2. 封装入库:
绘制完成一个封装后,用鼠标右键拖选,菜单【Library】→【Make Package】,出现对话框,其中包括新封装名称、类别、类型、子类别、描述等项目,填好及选择后,按OK按钮就可以保存到指定的库中。

菜单【Library】→【Pick Package/Symbol】,就可以打开对话框,在其中找到制作入库的封装。

(以上内容为dwenzhao根据资料在PROTEUS软件上使用并整理出来,QQ1608288659)
Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659