位置:51电子网 » 技术资料 » 单 片 机

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

发布时间:2008/5/27 0:00:00 访问次数:397

前言

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

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


在vmlab中进行协同仿真

首先,先介绍两个概念:

1)虚拟原型(virtual prototype)

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

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

硬件/软件协仿真是指对于某一个特定应用而言,包括硬件和软件在内的全部特性都用一个虚拟原型来模拟实现。vmlab是基于一个叫做cccp(concurrent c o-simulator of circuits and processors)的协仿真引擎来实现协仿真的。

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

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

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

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

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

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

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

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监视器,4 4矩阵键盘。


协仿真实例

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

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

;-------------------------------------------------------------
xop opamp amppos ampneg pa7 ;添加一个运算放大器

r1 gnd ampneg 100k ;添加r1

r2 pa7 ampneg 300k ;添加r2

vsin amppos vss sin(0.4 0.2 20) ;添加一个信号源,
.plot v(pa7) v(amppos) ;在scope窗口中观察pa7和amppos节点的电压
状态

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

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

结束语

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


前言

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

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


在vmlab中进行协同仿真

首先,先介绍两个概念:

1)虚拟原型(virtual prototype)

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

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

硬件/软件协仿真是指对于某一个特定应用而言,包括硬件和软件在内的全部特性都用一个虚拟原型来模拟实现。vmlab是基于一个叫做cccp(concurrent c o-simulator of circuits and processors)的协仿真引擎来实现协仿真的。

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

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

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

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

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

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

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

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监视器,4 4矩阵键盘。


协仿真实例

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

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

;-------------------------------------------------------------
xop opamp amppos ampneg pa7 ;添加一个运算放大器

r1 gnd ampneg 100k ;添加r1

r2 pa7 ampneg 300k ;添加r2

vsin amppos vss sin(0.4 0.2 20) ;添加一个信号源,
.plot v(pa7) v(amppos) ;在scope窗口中观察pa7和amppos节点的电压
状态

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

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

结束语

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


相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!