创建Proteus动态器件仿真模型的技术

2010-05-13 08:46周灵彬,张靖武
现代电子技术 2009年12期
关键词:单片机建模

摘 要:Proteus动态仿真性能依赖于动态仿真模型。但有些实用的动态元器件,库中没有相应的仿真模型,必须自己创建。通过创建拨码盘动态仿真模型,论述在Proteus中创建单片机交互式动态器件仿真模型的技术。拨码盘仿真运行状态与实际元器件表现一致,验证了所建模型的正确性。展示了Proteus 动态模型在单片机应用系统的实时交互式仿真中的作用。

关键词:Proteus;动态仿真模型;建模;单片机

中图分类号:TP368.1文献标识码:A

文章编号:1004-373X(2009)12-152-04

Technology ofDynamic Simulation Model for Proteus

ZHOU Lingbin,ZHANG Jingwu

(Shaoxing TOP Vocational Institute of Information and Technology,Shaoxing,312000,China)

Abstract:Dynamic simulation performance of Proteus depends on the dynamic simulation model.Creating dynamic simulation model for some practical dynamic components where has no corresponding simulation model in the library,modeling techniques of dynamic and interactive components simulation model in the environment of Proteus by the example of creating code wheel model are discussed.Its simulation states are in conformity with the actual performance,which verified the model is correct.It shows the effect of dynamic model in real-time interactive simulation of single chip computer application system.

Keywords:Proteus;dynamic simulation model;modeling;single chip computer

0 引 言

Proteus是英国Labcenter electronics公司研发的EDA。其不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台;更是目前世界上最先进、最完整的多种型号单片机(微控制器)应用系统的设计与仿真平台。Proteus拥有类型多、数量大的元器件仿真模型;它们是Proteus设计与实现实时、交互、动态仿真的基础[1-6]。一般可将仿真模型分为:原理图模型、动态模型、SPICE模型、VSM模型。

动态模型是具有动画效果的真实器件的仿真模型。如LED发光管、按键开关等。是Proteus的特色。但有些动态模型在库中没有,这就要求自己创建动态模型。

在此以“BCD拨码盘”为例详细叙述动态器件仿真模型的制作技术(这里采用Proteus 7.2SP6正版)。

1 Proteus建模流程

创建不同类型的元器件仿真模型,其流程大致一样。如图1所示。

图1 建模流程

若无需设计元器件封装,则跳过与设计封装有关的步骤;若无需设计模型内电路,则可跳过与内电路设计有关的步骤。

2 创建BCD拨码盘模型

BCD拨码盘[1]是将10进制数转换为BCD码的键控器件,可与单片机直接连接,提供简便的0~9的数据输入功能,是实际应用较广的电子器件。

2.1 绘制拨码盘动态图符

在Proteus ISIS中选择2D绘图工具,绘制10个表示动态效果的图符如图2所示。依次选中,通过菜单Library→Make Symbol 进入图3所示的制作符号对话框,选择符号类型(Type)为图形(Graphic),逐个取名(BOPAN_0,BOPAN_2,…,BOPAN_9)存入用户符号库(USERSYM)中。

图2 拨码盘动态图符

图3 图符入库

2.2 绘制拨码盘原理图符号

在ISIS中选择2D绘图工具,绘制如图4所示的拨码盘原理图符号。其中有两个与鼠标关联的图符MKRINCREMENT,MKRDECREMENT,可从系统仿真模型中取得。放置引脚后,双击引脚弹出如图5所示的引脚编辑框(Edit Pin),按表1设置引脚属性。

图4 拨码盘原理图符号

表1 拨码盘引脚属性

引脚名称引脚序号电气类型

Q01OP

Q12OP

Q23OP

Q34OP

A5IP

图5 拨码盘引脚编辑

2.3 拨码盘Make Device

选中整个拨码盘原理图符号,右击弹出菜单,选择“Make Device”,弹出对话框“Device Properties”,如图6所示,并按该图6所示设置相应属性。拨码盘名称命名为BOPAN;前缀为BP;动态图符名主干为BOPAN,动态图符数目为10。按NEXT键直到出现“定义元器件所在库(Indexing and Library Selection)”,选择元器件分类、子类及存放库,如图7所示设置分类为“Switches & Relays”,子类为“Switches”,存放库为“USERDVC”。按“OK”键完成“Make Device”。此时新的元器件模型原理图符号就存入指定的库。同时在对象列表框中出现“BOPAN”。

图6 “Device Properties”设置

2.4 设计模型内电路

经以上步骤创建的拨码盘模型只是原理图符号,还没有仿真功能。还需建立它的内电路。将对象列表框中的“BOPAN”放入编辑区中。其编号自动为BP1,对BP1右击再左击,在出现的属性框(见图8)中选中捆绑内电路(Attach Hierarchy Module)选项。此时系统自动新建拨码盘的内电路子页。操作菜单Design→ Goto Sheet,出现如图9所示的树型结构图,“Root sheet1”为根页(即元器件原理图符号所在页), “BP1”为原理图符号内电路子页。点击图9中“BP1”,再点击“OK”进入内电路子页(也可直接按计算机键盘上“PgDn”进入)。并在内电路子页中设计如图10所示的内电路。设计操作与根页中设计电路一样。

图7 设置元器件所在的库

内电路中的元器件是VSWITCH,RTDSTATE_4,NOT,TRIBUFFER。其中RTDSTATE_4的属性设置为{STATE=}。

图8 捆绑内电路

图9 进入内电路子页

2.5 模型测试

模型内电路设计好后,要进行模型测试验证。按计算机键盘上“PgUp”键返回根页,在根页中设计如图11所示的两个测试电路。电路元器件列于对象选择器中。

图10 拨码盘内电路

图11 拨码盘分别主国正逻辑状态和负逻辑状态时的测试与仿真片段

图11中左为拨码盘工作在正逻辑状态的电路;图11中右为拨码盘工作在负逻辑状态的电路。设计如图11左下方的控制程序(两单片机采用程序相同)。经编译生成Hex文件,分别加载到两单片机属性中,并设置合适的晶振频率[1,2](例12 MHz)。启动仿真,两电路与控制程序配合,两AT89C51单片机分别读入各自拨码盘的数据,并显示在各自的BCD数码管上。可用鼠标单击(增1)或(减1)改变拨码盘的数字输出。左拨码盘输出数字0~9,经单片机处理后送数码管对应显示0~9。右拨码盘输出数字0~9,经单片机处理后送数码管对应显示出0~9的反码F、E~6。图11为仿真片段(右侧图中E是1的反码),这就是人通过拨码盘与单片机的交互式仿真。由此也验证了所建拨码盘模型是正确的。

2.6 模型存库

点击计算机键盘上“PgDn”进入内电路子页。操作菜单Tools→Model Compiler…,弹出“Compile Model”对话框,选择存储模型文件的路径(本例为默认路径,即Proteus安装路径下MODELS文件夹),在文件名一栏中输入内电路模型文件名(本例取名为“BOPAN.MDF”),点击保存。该模型文件就保存在默认的模型文件夹中。按计算机键盘上“PgUp”键返回根页,选中一拨码盘模型,取消其内电路捆挷选项,再次启动“Make Device”,按图1的步骤进行到第三步“元器件属性及定义(Component Properties & Definitions)”,点击对话框左下角的“NEW”按钮,从弹出菜单中选择MODFILE,按图12进行设置。设置后,第二次点击“NEW”按钮,选择STATE,其属性保持默认状态。以后的步骤按上面第2.3节操作。至此拨码盘的仿真模型创建完成。

图12 Make Device时设置元器件属性

3 创建动态仿真模型的调用

启动Proteus,在ISIS窗口中,点击器件选择按钮“P”,弹出选取元器件对话框,在其左上方的“Keywords”栏中输入模型名“BOPAN”则可选出创建的BCD拨码盘仿真模型,如图13所示。从该图还可看出动态模型所在库为USERDVC。

图13 动态仿真模型的调用

4 结 语

动态元器件仿真模型是Proteus的特色。Proteus在创建动态模型方面给予用户广阔的创作与发挥空间;展现出Proteus在动态仿真方面的无限魅力。它不但使人机交互式仿真得以实现,而且使仿真形象、生动。应用它可创造出极为接近现实的课程教学与产品研发的情境。

参考文献

[1]张靖武,周灵彬.单片机系统的Proteus设计与仿真[M].北京:电子工业出版社,2007.

[2]张靖武,周灵彬.单片机原理、应用与Proteus仿真[M].北京:电子工业出版社,2008.

[3]周灵彬,张靖武.创建Proteus原理图仿真模型的制作技术[J].现代电子技术,2008,31(8):9-11.

[4]周灵彬,张靖武.单片机应用产品的Proteus设计与仿真[J].今日电子,2008(1):64-68.

[5]周灵彬,张靖武.Proteus的单片机教学与应用仿真 [J].单片机与嵌入式系统,2008(1):76-79.

[6]深圳风标科技有限公司.Proteus在电类教学与科研中的应用[A].北京研讨会专刊[C].2006.

[7]宁成军,张江霞.基于Proteus和Keil接口的单片机外围硬件电路仿真[J].现代电子技术,2006,29(18):142-143,146.

猜你喜欢
单片机建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
缜密审题,准确建模,学以致用
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
IDEF3和DSM在拆装过程建模中的应用