用VMLAB进行AVR单片机硬件/软件协仿真

2012-04-22 15:57:18来源: 21ic

前言

   在单片机应用开发过程中,当源文件的编译成功后,就要进行仿真调试工作。仿真调试可分为两大类--芯片级仿真和代码级仿真。芯片级仿真是指使用仿真软件和ICE硬件工具相配合,在实际硬件上进行仿真调试工作;而代码级仿真则完全在计算机上完成,不需要硬件的参与。两种类型的仿真各有特点,使用的场合不同。本文基于VMLAB,讲述了进行AVR单片机硬件/软件协同仿真的方法。

   VMLAB的全称为:VisualMicroLab。它针对于AVR以及ST62系列单片机设计,是一个单片机的虚拟原型(virtualprototype)框架(frame),它可以提供给用户一个真正意义上的虚拟微控制器(MCU)设计实验室。它具有强大的多窗口、多文件的编辑器,微控制器的集成开发环境,拥有一系列的集成开发工具,图形界面调试器,混合模式的模拟-数字电路仿真器,代码质量检查器等等。硬件和应用软件能进行并发仿真,与之相比,在线硬件仿真器(ICE)显得失去了意义。VMLAB可以基于MCU,仿真出包括模拟元器件在内的更多外围设备,并且它具有交互式器件(按键,电位计,液晶显示器)模拟仿真功能。

在VMLAB中进行协同仿真

首先,先介绍两个概念:

1)虚拟原型(virtualprototype)

虚拟原型是一个具体应用的集中体现,是包括软件和硬件在内的一个集合体。虚拟原型的作用是在实现这种应用之前,将其行为实现模拟出来。

2)硬件/软件协仿真(hw/swco-simulation)

硬件/软件协仿真是指对于某一个特定应用而言,包括硬件和软件在内的全部特性都用一个虚拟原型来模拟实现。VMLAB是基于一个叫做CCCP(ConcurrentCo-simulatorofCircuitsandProcessors)的协仿真引擎来实现协仿真的。

采用基于具体应用的虚拟原型的一大好处就是:硬件部分可以通过虚拟原型来模拟仿真,这无疑会提高开发速度不再需要在线仿真器(ICE)工具,成本无疑会大大降低。

在VMLAB中,仿真是通过工程文件*。prj来管理的。工程文件的一些语法关键字如表1所示。

表1:VMLAB工程文件语法关键字

仿真实验需要按如下步骤进行:

1)生成一个工程文件,选择单片机类型,指定源文件。

2)在工程文件中添加或修改单片机外围的硬件连接关系。

3)在菜单栏"view'CodeNotebook"窗口中,新建或者修改源文件代码。

4)用菜单栏"project'build"命令(或者F9键)编译生成硬件/软件数据库,可以通过菜单栏"view'Messages"窗口中的"CodeMaker"项来观察出错或者警告信息。

5)当编译无错误的时候,VMLAB工具栏中的绿灯便会点亮。单击这个绿灯,仿真便会一直运行下去,可以用工具栏来控制仿真流程,也可以用菜单栏"Run'……"来控制仿真流程。

6)当所有应用特性仿真通过之后,将*。hex文件下载到单片机上。

VMLAB中的基本硬件库简介

VMLAB中的基本硬件库分为四个部分,每个部分包含有不同的基本硬件。

1)基本模拟器件

包括电阻,接地电容,接地按键,LED四种。其中按键和LED全部接在控制面板上面,如图1所示。

2)电压产生器

包括脉冲电压源,正弦波电压源,电位计(滑动变阻器)三种。

3)互式非归零码发生器(NRZ-generator)

4)其它宏模型(Macro-models)

包括:运算放大器(OPAMP),比较器(COMP),两输入或非门(ND2),8位DA转换器(D2A8),RS232,LCD模型,I2C监视器,44矩阵键盘

协仿真实例

如图2所示,一个交流小信号经过运放放大,加入到单片机Atmega16的AD输入端。

外围电路的连接可以通过在工程文件中添加如下行信息来实现:

;-------------------------------------------------------------

XopOPAMPampposampnegPA7;添加一个运算放大器

R1GNDampneg100K;添加R1

R2PA7ampneg300K;添加R2

VsinampposVSSSIN(0。40。220);添加一个信号源,

。PLOTV(PA7)V(amppos);在scope窗口中观察PA7和amppos节点的电压

状态

;-------------------------------------------------------------

在VMLAB中,用户可以自己定义仿真节点名称,例如上面的amppos和ampneg就是两个用户自己定义的节点,可以在节点名称中使用字母、下划线和数字,也可以使用VMLAB中预先定义好的各种类型单片机的管脚。

结束语

与其它类似代码级仿真工具相比,VMLAB的优势在于--硬件仿真完全基于计算机完成,无需实际硬件的加入。作为一个仿真平台,VMLAB不但能够仿真出MCU和其它外围设备的大部分特性,而且能够对涉及模拟量的应用进行协同仿真。VMLAB的仿真功能甚至可以同ICE硬件工具相媲美,VMLAB使用又无疑会在开发成本方面会大为降低。

关键字:进行  单片机  硬件  软件

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2012/0422/article_9448.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
进行
单片机
硬件
软件

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved