首页 > > > Proteus-与单片机实时动态仿真.pdf.pdf

Proteus-与单片机实时动态仿真.pdf.pdf

Proteus-与单片机实时动态仿真.pdf.pdf

上传者: 用户3310593277 2013-12-08 评分1 评论0 下载0 收藏10 阅读量587 暂无简介 简介 举报

简介:本文档为《Proteus-与单片机实时动态仿真.pdfpdf》,可适用于硬件技术领域,主题内容包含http:wwwpapereducnProteus与单片机实时动态仿真施柏鑫北京邮电大学信息工程学院()Email:boxinshiieeeorg摘符等。

http://www.paper.edu.cn Proteus与单片机实时动态仿真 施柏鑫 北京邮电大学信息工程学院 (100876) E-mail:boxin.shi@ieee.org 摘 要:Proteus是一款功能强大的 EDA仿真软件。它拥有丰富的库元件,尤其是动态外设 的仿真极大地补充了其他仿真软件的不足;虚拟工具箱的引入为仿真测试提供了方便。本文 以 AVR单片机为例具体分析了该软件在仿真微处理器方面的独到之处,展示了其广阔的应 用前景。 关键词:Proteus 仿真 实时动态 AVR单片机 0.引言 Proteus是由英国 Labcenter electronics公司开发的 EDA工具软件。它从 1989年出现到 现在已经有十多年的历史,在全球广泛使用。Proteus安装以后,主要由两个程序组成:Ares 和 Isis。前者主要用于 PCB自动或人工布线及其电路仿真,后者主要采用原理布图的方法绘 制电路并进行相应的仿真。除了上述基本应用之外,Proteus 革命性的功能在于它的电路仿 真是互动的,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件 代码级的调试,还可以直接实时动态地模拟按钮、键盘的输入,LED、液晶显示的输出,同 时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测。 Proteus软件的应用范围十分广泛,涉及 PCB制版、spice电路仿真、单片机仿真,在最 新的 6.9 版本中又加入了对 ARM7/LPC2000 的仿真。本文主要以单片机的仿真为例,使大 家初步了解该软件的强大功能及其在工程实践和实验教学中的重要作用。 1.Proteus仿真功能简介 作为一款 EDA仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要 的特点有两个:一是对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性; 二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。下面着重介绍一下该软件 的这两个突出特点。 1.1.实时动态仿真 与多数仿真软件相似,Proteus有着数量庞大的元件库。Labcenter公司与相关的第三方 软件阵容共同开发了 6000多个模拟和数字电路中常用的 spice模型以及各种动态元件,基本 元件如电阻、电容、各种二极管、三极管、MOS 管、555 定时器等;74 系列 TTL 元件和 4000系列 CMOS 元件;存储芯片包括各种常用的 ROM, RAM,EEPROM, 还有常见 I2C器 件等。在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件 的属性设置完成绘图,然后即可进行仿真和虚拟测量。关于原理图的具体绘制方法不是本文 讨论的重点,请参考软件提供的帮助教程。 与Multisim等仿真软件的一大不同,在于 Proteus支持微处理器的仿真。这些仿真的实 现是基于 Labcenter公司提出的 VSM的概念。 VSM,Virtual System Modelling,直接译作“虚拟系统模型”,官方的定义是:将spice - 1 - http://www.paper.edu.cn 电路模型、动态外设以及微处理器的仿真结合起来,在物理原型调试之前用于仿真整个单片 机系统的一种设计方法[1]。对动态外设的支持是Proteus在区别于其他等仿真软件最直接的地 方。VSM为用户提供了一个实时交互的环境,在仿真的过程中,你可以用鼠标去点击开关 和按钮,微处理器根据输入的信号做出相应的中断响应,同时输出运算的结果到显示终端。 整个过程与真实的硬件调是极其相似的,在动态外设支持下的实时输入和输出为实验者呈现 了一个最接近现实的调试环境。官方资料显示,一个 300 MHz Pentium II CPU可以以 12MHz 的时钟频率仿真一个基本的 8051系统。 1.2虚拟工具箱 Proteus 的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时 的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析, 对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。 软件提供的虚拟工具和仪器如图 1.1所示。 图 1.1 虚拟工具箱 下面我们以示波器为例来说明虚拟工具箱的应用。 - 2 - http://www.paper.edu.cn 图 1.2 虚拟示波器 图中的电路非常简单,单片机 EXAMPLE01中写入的是一 方波的程序。我们把输出管脚连接到示波器的 CH1 通道,运行 器的 Y轴幅度和 X轴扫描频率,整个调节步骤同真实的示波器 以观测到一个占空比可调的 PWM方波,如图所示。 2.Proteus在单片机仿真中的应用 基于 VSM的理论,Proteus可以仿真很多常用的微处理器。 AVR, HC11, ARM7/LPC2000等系列多种型号的微处理器、微控 件属性时指定下载程序的路径即可进行实时动态仿真。 2.1.Proteus对 AVR单片机的仿真 就 Atmel公司的 AVR系列单片机而言,Proteus支持的 型号非常全面,从低端 ATtiny10到高端的 ATmega128均有 可以直接调用的库元件。下面以 ATmega16为例介绍 Proteus 支持的仿真功能。 图 2.1是 Proteus中的 ATmega16库元件,其管脚上的标 识与该芯片的 Datasheet 是基本一致的,唯一的不同是隐去 了 GND 和 VCC 管脚,在绘制原理图的时候可以不用对其 进行连接,系统默认的设置就是将它们分别连到地和 5V电 源上。具体可以仿真的功能有:支持所有的 I/O操作,内部 的定时器、计数器的模拟(包括输入捕获、输出比较、PWM 模式),看门狗定时器,串行 UART接口,主、从模式串行 SPI接口,支持内置数模转换 ADC,支持 Atmel 的 TWI(Two - 3 - 个输出驱动直流电机的 PWM 仿真,用鼠标调节虚拟示波 完全一样。当波形稳定时可 具体来讲,它支持 PIC, 8051, 制器,仿真时只需在设定元 图 2.1 ATmega16 http://www.paper.edu.cn Wire Interface)通信方式,存贮器方面支持外部 SRAM扩展以及内置 EEPROM 的模拟,支 持多个微控制器的协同工作仿真等等。仿真时,首先绘制原理图,然后将任何 AVR源程序 编译器(WinAVR 等)生成的下载文件(*.hex 格式)路径指定给原理图中的芯片,就可以 观察程序的运行。另外值得一提的是,实时仿真运行的过程中,每个管脚的旁边会出现一个 小正方形的指示,红色代表高电平,蓝色带表低电平,从这个小正方形我们可以不用虚拟工 具的测量很直观的看到每个管脚的电平变化,对程序的运行做出最基本的判断,对于简单的 分析可以节省很多的时间。在本文图 1.2和图 2.2的例子中,ATmega16的 19管脚输出的是 方波,所以旁边可以看到一个红蓝交替、以一定频率闪烁的小正方形。 2.2.Proteus与其他单片机仿真软件的比较 AVR系列单片机可以可用很多的软件进行仿真。常用的有 AVR Studio和 Vmlab。AVR Studio、Vmlab和 Proteus都属于代码级的仿真软件,与芯片级仿真不同,代码级仿真完全在 计算机上完成,不需要硬件的参与,主要用于查看代码的执行过程和参数变化。在具体功能 上,这三款软件各有千秋。 AVR Studio是一款完全免费的 AVR单片机集成开发环境,包括 AVR Assembler编译器 和 AVR Studio调试功能,AVR Prog串行、并行下载功能和 Jtag ICE仿真功能。它最主要的 功能是观察代码执行过程中单片机内部各个寄存器值的变化,尤其是一些寄存器关键位的置 位、复位操作与代码的关系。利用单步调试功能可以更细致的检查代码的执行过程。对于内 部的定时中断也可以较好的仿真,使实验者清楚了解中断对于整个程序流程的影响。但是对 于外部中断和输入捕获等需要动态外设配合的功能,AVR Studio就显得无能为力了。同时该 软件使用黑色、白色的方块来表示 1和 0,用以反映寄存器值的变化,当需要观察某些波形 时,这样的仿真结果显得很不直观。Vmlab在这方面要做得好一些。 VMLAB的全称为:Visual Micro Lab。它针对于 AVR以及 ST62系列单片机设计,是 一个单片机的虚拟原型框架。它具有强大的多窗口、多文件的编辑器,微控制器的集成开发 环境,拥有一系列的集成开发工具,图形界面调试器,混合模式的模拟-数字电路仿真器, 代码质量检查器等等。硬件和应用软件能进行并发仿真。与 Proteus最为相似的一点是它可 以以单片机为核心仿真出包括模拟元器件在内的一些动态外设(按键,LED,液晶显示器等), 具有图形显示和波形显示的功能。 如果就单片机及一些简单的动态外设而言,Vmlab和 Proteus有着很大的相似,最多只 是软件本身的操作方法有着很大的不同。但是Proteus不仅仅是一个AVR单片机的仿真软件, 它所支持的大量常用芯片模型为单片机和其他芯片协同仿真复杂的完整系统提供了极大的 方便。请看下面的例子,如图 2.2所示。 - 4 - http://www.paper.edu.cn 图 2.2 步进电机驱动 这是一个完整的步进电机驱动电路,L297和 L298是常用的步进电机驱动芯片,前者用 于产生符合电机各个相位正确时序的方波,后者主要用于电流放大,为电机产生合适的驱动 电流。单片机 EXAMPLE02 在本例中只相当于一个信号源,提供 L297 的时钟信号。这样 完整的系统仿真是其他单片机仿真软件所不能独立完成的。这时,Proteus 为我们提供的不 仅仅是一个单片机的仿真环境,称其为一个虚拟的单片机实验室是完全合适的,只要我们能 充分的利用 Proteus提供的实验器件就可以完成一个比较完整的单片机系统。 3.Proteus仿真实例分析 单片机、矩阵键盘和字符型液晶的组合是单片机实验中最常用的简单系统之一,是很多 最小系统板的核心部分。在开发实际的单片机系统时,“人机对话”部分主要靠这个系统来 实现。在编写这部分程序时要进行频繁的测试从而更改一些参数使系统达到良好的工作状 态,常见的问题有:显示界面的布局、菜单层次的设置、按键灵敏度和防抖的参数等。有了 下面介绍的 Proteus仿真,这些测试和一些经验值的调整就可以不需要进行频繁的硬件测试 了,而只需要改动源程序中的一些函数调用。这个系统可以稍加改动轻松应用于其他各类系 统的输入和输出部分,具有普遍意义。 3.1.1602字符型液晶简介 该显示模块由字符型液晶显示屏(LCD),控制驱动主电路 HD44780及其扩展驱动电路 HD44100,少量阻、容元件,结构件等装配在 PCB 板上而成。液晶显示屏是以若干个 58 或 511点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点 的宽度。 该字符型 LCD具有字符发生器 ROM可显示 192种字符(160个 57点阵字符和 32个 510点阵字符)具有 64个字节的自定义字符 RAM,可自定义 8个 58点阵字符或四个 511 点阵字符。且具有 80个字节的 RAM。可以分两行、每一行显示 16个 ASCII字符,足以应 付简单用户界面(主要由数字和英文字母组成)的开发和系统参数的显示。 3.2.4*4矩阵键盘 4*4矩阵键盘有 4行 4列,键盘上有 4*4=16个按键,而它只需要占用 4+4=8个I/O口,这 样的设计大大节省了单片机宝贵的I/O口资源[2]。单片机提供一定频率的扫描信号并对用户 的按键值进行分析和处理,达到正确判断 16个按键的目的。对于一般的单片机系统,16个 - 5 - http://www.paper.edu.cn 按键足以满足多数应用的需求。因此,它可以作为很多系统的按键输入工具。 3.3.系统综合分析 根据以上的分析,以及各器件的工作原理,绘制系统原理图 3.1。 图 3.1 液晶和键盘综合应用 单片机 EXAMPLE03 是这个系统的核心,下载的程序是液晶和键盘的驱动。其中 PC0-PC2分别连接液晶的三个控制使能端,通过它们的译码组合来实现液晶读写指令和数据 的控制。PB0-PB7连接液晶的八位数据端,负责控制命令和读写字符的数据传输。PA0-PA3 是输出端,连接键盘的 4列,输出列扫描信号;PA4-PA7是输入端,连接键盘的 4行,捕捉 用户的按键作为行信号,通过行列信号的组合可以唯一确定 16个按键之一,从而供单片机 处理。 图中模拟的情况是,液晶的第一行显示预置的字符串信息“BUPT_Information”,第二 行第一列显示当前的按键值,此时鼠标按下了数字健“6”。当鼠标按下其他的健时,液晶的 显示会同步更新,这就是 Proteus实时动态仿真的神奇之所在! 4.结语 本文所介绍的只是 Proteus强大功能中很初步的一部分。Proteus还具有环境模拟、图表 分析、噪声分析等高级应用。Proteus 软件的安装目录中有很多经典的范例,读者通过自学 可以进一步了解该软件在 EDA设计的各个领域的综合应用。同时,Proteus的出现也为单片 机教学工作和单片机虚拟实验室的建设提供了一条方便、快捷、节约成本的新思路。相信随 着越来越多的人对 Proteus的了解和使用,它会对我们的学习、科研和工作带来越来越多的 便利。 (指导教师:郭莉) - 6 - http://www.paper.edu.cn 参考文献 [1] http://www.labcenters.co.uk [2] 黄任,《AVR单片机与 CPLD/FPGA综合应用入门》,.北京:北京航空航天大学出版社 2004 Proteus and the Dynamic Real-time Simulation for AVR MCU SHI Boxin (School of Information Engineering Beijing University of Posts and Telecommunications Beijing 100876) Abstract Proteus is a kind of powerful EDA simulation software. The large device library and the dynamic peripherals are the special advantage of this software. The virtual instrument brings great convenience to the simulation process. This article takes the simulation of AVR MCU as an example, analyzes the unique function of Proteus in the simulating of micro processors and shows its application in various fields. Keywords: Proteus Simulation Real-time Dynamic AVR 作者简介:施柏鑫,男,1984 年 7 月出生。北京邮电大学信息工程学院信息安全专业本科 生,2003年入学,2005年进入北京邮电大学信息工程学院创新实验室学习电子技术,主要 研究AVR系列单片机的应用。2005 年 9 月参加“全国大学生电子设计大赛”获北京市二等 奖。2006年注册了IEEE student member,E-mail:boxin.shi@ieee.org。 - 7 - Abstract

编辑推荐

  • 名称/格式
  • 评分
  • 下载次数
  • 资料大小
  • 上传时间

用户评论

0/200
    暂无评论
上传我的资料

相关资料

资料评价:

/ 0
所需积分:2 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!