基于Proteus的ARM虚拟实验室建设

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:dxc717
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文提出了一种用Proteus电路仿真软件和常见的ARM应用程序集成开发工具构建ARM虚拟实验室的方法,并通过实例进行了验证。采用虚拟实验的方式,可以脱离硬件平台来学习ARM嵌入式系统,在普通的微机上就能开展ARM实验的设计和验证。虚拟实验可以摆脱传统ARM实验在时间和地点上的限制,降低学习成本,提高学习效率。
  关键词:Proteus Arm 虚拟实验室 ADS
  中图分类号:TP391.9 文献标识码:B 文章编号:1673-8454(2009)03-0028-03
  
  一、前言
  
  现在,人们生活中的每个角落都有嵌入式设备的存在,比如数码照相机、移动电话、TV机顶盒及掌上电脑等。这些嵌入式设备多采用32位RISC(精简指令集计算机)嵌入式处理器作为核心部件,其中基于ARM(Advanced RISC Machines)核的嵌入式处理器独占鳌头。[1]
  目前,基于ARM的嵌入式系统设计已成为很多高校计算机科学与技术、信息工程等专业的必修科目之一。现在高校的ARM实验室基本都是采用相应的硬件仿真设备来构建的,当前这些硬件仿真设备价格相对较高,而且ARM的种类繁多,不可能在一个实验室内包括所有种类的ARM硬件仿真设备,并且硬件设备的维护工作量大,能够开设的实验项目有限,实验课时有限,限制了学习效率。虚拟实验作为传统实验的重要补充,是通过软件对硬件平台进行虚拟仿真,使我们可以脱离硬件平台来学习ARM嵌入式系统,在普通的微机上就能开展ARM实验的设计和验证,达到和硬件调试几乎相同的效果。虚拟实验可以摆脱传统实验时间和地点的限制,降低学习成本,提高学习效率。
  
  二、虚拟实验室的构建
  
  1.所用软件介绍
  (1)电路分析与实物仿真软件——Proteus
  Proteus是由英国Labcenter electronics公司开发的电路分析与实物仿真软件,是一种EDA(电子设计自动化)工具软件,也是非常适合ARM嵌入式设计仿真与开发的软件。其主要特点如下:
  1)可以仿真、分析各种模拟器件、数字器件和集成电路,支持主流单片机系统的仿真。目前支持的单片机类型有:ARM(LPC系列)、68000系列、8051系列、AVR系列、PIC系列、Z80系列、HC11系列等,以及各种外围芯片。Proteus的仿真是基于SPICE3F5(Simulation Program with Integrated Circuit Emphasis)的,因此它也能像其它的EDA软件那样进行电路分析,如模拟分析、数字分析、混合信号分析、频率分析等等;
  2)提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、Virtual Terminal等虚拟仪器仪表供选择;
  3)能进行SCH(原理图)和PCB(印刷板)电路的设计;
  4)其自身只带汇编编译器,不支持C语言。但可以将它与ADS、RealView、Keil等集成开发环境连接,将用汇编和C语言编写的程序编译好之后,可以立即进行软、硬件结合的系统仿真,达到很好的仿真效果。[2]
  Proteus能完整地仿真I/O口、中断、定时器、通用外设接口,以及其他与微处理器有关的外设,甚至能仿真多个微处理器。其革命性的功能是将电路仿真和微处理器仿真进行协调,即它能把编译好的目标代码加载到微处理器芯片中,并与该处理器的任何模拟和数字器件协同仿真。直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过虚拟动态器件(如电机、发光二级管、液晶显示器、开关等),配合系统配置的虚拟仪器(如示波器、逻辑分析仪等),可实时看到运行后的输入输出效果,仿真执行目标代码就像在真正的嵌入式系统上运行一样。
  (2)常见的ARM应用程序集成开发工具
  ARM核嵌入式处理器通常采用C语言编程,目前ARM公司的开发工具ADS、RealView、Keil与ARM核处理器结合较好,得到了广大嵌入式学习者的一致认可。还有其他公司针对ARM的一些开发工具得到广泛应用,例如瑞典IAR System公司推出的IAR EWARM就是一款非常有用的针对ARM处理器的集成开发工具。
  ADS(ARM Developer Suite)可能是目前较常用的ARM集成开发工具,它是ARM公司的产品。其中的CodeWarrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC的优势,使产品开发人员能够很好地应用尖端的片上系统技术。该工具是专为基于ARM RISC的处理器而设计的。它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需通过一个集成软件开发环境就能研制出ARM产品。在整个开发周期中,开发人员无需离开CodeWarrior开发环境,节省了在操作工具上花的时间,从而有更多的精力投入到代码编写上来。CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单、多样化的图形用户界面。用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C 或ARM汇编语言编写的程序代码,还可以生成程序代码的十六进制文件。[3]
  2.虚拟实验室的构成和虚拟实验的步骤
  Proteus仿真软件和常用的ARM应用程序集成开发工具分别都可以配合构成ARM虚拟实验室。
  不同的ARM应用程序集成开发工具的功能和用法都很类似,一般在PC机上即可完成对ARM应用程序的编辑、编译、汇编、链接等工作。传统的调试工作一般需要配合其他的模块或产品比如硬件仿真器及其外围电路方可完成,而用本文介绍的Proteus软件对ARM微处理器及其外围电路虚拟仿真后,在PC机上即可完成整个调试过程,就像在真正的硬件设备上调试一样。
  虚拟实验主要分为三大步骤:第一步,用Proteus仿真软件设计完成实验所需的硬件原理虚拟仿真电路;第二步,用ARM应用程序集成开发工具完成对实验所需ARM应用程序的编辑、编译、汇编、链接等工作,从而得到Hex目标文件;第三步,把Hex目标文件加载到Proteus中虚拟仿真电路的ARM微处理器上,进行软、硬件联合仿真调试。
  3.虚拟实验内容
  用Proteus仿真软件和ARM应用程序集成开发工具构成的虚拟实验室,可以完成所有的ARM软件实验和绝大多数的ARM7硬件仿真实验。例如中断、流水灯、串口通信、SPI通信、脉宽调制器、看门狗、A/D转换器、定时等实验。
  
  三、虚拟实验的实例
  
  本文选用Proteus和ADS为例说明进行虚拟实验的方法。选用Proteus和其它ARM应用程序集成开发工具进行虚拟实验的方法类似。
  本例以ARM7处理器LPC2106设计一个计数器,外接两位七段数码管显示当前计数值,一个按键KEY1为加1键,另一个按键KEY2为减1键。本例虽然简单,但其开发过程和调试方法却具有代表性。
  1.计数器原理电路图
  运行Proteus VSM的ISIS(链接状态路由协议)后出现主窗口界面,点击File→New Design新建一个设计项目。接下来添加其中所需的元器件,点击元器件添加按钮P会弹出Pick Devices对话框,在其中选择需要添加的元器件,添加到器件列表区中。然后再依次点击列表区里的元器件,把它们放到绘图区并编辑其属性,接着进行合理的布局后,就可以进行连线了。与PROTEL类似,Proteus也具有自动捕捉节点和自动布线功能,连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针就会出现一个“×”提示符号,点击鼠标左键即可画线,在终点再点击确认一下就完成一段导线,所有导线画完后,点击电源按钮,添加必要的电源和接地符号,并编辑其属性后,计数器的原理图就绘制完成了。[4] 如图1所示。
  
  在Proteus软件中还可以查看各种调试信息,如源代码执行情况、CPU寄存器信息、变量值以及Flash与RAM中的信息等。
  
  四、结束语
  
  实践证明,基于Proteus和ARM应用程序集成开发工具共同构建ARM虚拟实验室的方案是切实可行的。采用虚拟实验的方式,可以脱离硬件平台来学习嵌入式系统,不仅能够解决传统ARM实验室设备资金短缺和维护困难的问题,而且使学生能够充分利用课余时间进行ARM系统的软硬件设计,充分锻炼学生的动手能力。对于ARM开发设计人员,可以使用该方法进行虚拟开发成功之后再进行实际制作,可以提高开发效率,降低开发风险。虚拟实验作为传统实验的重要补充,值得推广。
  
  参考文献:
  [1]周润景,袁伟亭.基于PROTEUS的ARM虚拟开发技术[M].北京:北京航空航天大学出版社,2007.
  [2]殷苏民.基于Proteus的ARM虚拟开发[J].微计算机信息,2008,24(5-2):127-129.
  [3]赵星寒等.ARM开发工具ADS原理与应用[M].北京:北京航空航天大学出版社,2006.
  [4]周润景.PROTEUS入门实用教程[M].北京:机械工业出版社,2007.
  [5]周润景,袁伟亭,景晓松.Proteus在MCS-51
其他文献
结合本班绘本主题活动“风中的树叶”的开展,我在美工区设计了一个活动:树叶拼贴画。我和孩子一起在草地上捡了很多刚刚掉落的树叶,又投放了白纸和白乳胶,让孩子们可以自由用树叶拼贴出自己喜欢的图画。一开始,孩子们很感兴趣,由于树叶品种、形状及数量都比较充足,许多孩子在区域活动时间内,都能完成一幅较为完整的树叶拼贴画,我表扬了认真完成作品的孩子们。为了更好地保存作品,也为了鼓励更多的孩子来美工区活动,我还用
面对话题中幼儿集中在一起洒水造成水流聚集的情况,我对活动的设计、组织等方面有以下疑问:是否有可能因为教师选择的场地不够大?是否有可能因为教师在活动开始前未讲清楚规则?是否有可能因为教师提供的洒水工具出水量较大?基于以上三点,我建议教师从场地选择、规则讲述、工具提供等三个方面重新考量活動过程中出现的“小插曲”。
正如话题中所描述的场景,幼儿园老师在一日生活中经常会扮演着“法官”的角色。主要原因在于幼儿思维具有以自我为中心的特点,语言表达能力和交往能力较弱,解决问题的经验不够、能力不足,造成了在生活中因为一些小事就会产生矛盾和冲突。面对这种情况,通过“法官断案”可能会快速平息事件,但是从儿童发展的角度看就意义不大了。因此,老师要珍视幼儿之间的小“官司”,首先明确自己的定位,不做评判对错的法官,而是将问题看作
幼儿对社会规则的遵从有一个从他律向自律发展的过程,而“告状”行为恰恰体现了幼儿对规则的认知、认同和敬畏。相信,只要我们转换视角,并采取恰当的方法,就能让忙碌的“法官”闲下来。  关注年龄特点,识别“告状”动机  《3-6岁儿童学习与发展指南》的社会适应目标2中“遵守基本行为规范”一项指出,不同年龄段的发展目标是有差异的。小班幼儿在提醒下,能遵守游戏和公共场所的规则;中班幼兒能感受规则的意义,并能基
幼儿园附近新开了一家首航超市。新超市开业以来,在班里总会听到孩子们讨论:“昨天我妈妈带我去首航超市买了好多水果。”“我妈妈还给我买了我爱喝的酸奶。”“那里面还有超级飞侠的玩具呢。”“我妈妈说那里的蔬菜很新鲜。”新超市成了孩子们谈论的热点话题。于是,我带孩子们参观了首航超市。在参观超市前,我给孩子们提出了两个问题:“超市里面有什么?”“超市里的工作人员都在做什么?”请孩子们带着问题去参观。  参观活
“教育诊断”栏目的专家:  您好!  近期,我们大班在开展有关毕业的班本课程。我们先查阅上一届大班孩子的毕业课程,然后根据本班孩子的经验和兴趣点,开展了本班的毕业课程。主要包括两大部分,第一,“我理解的毕业”,先进行一下调查和摸底;第二,“我经历的毕业”,又分为四部分——“告别幼儿园”“参观小学”“走进小学”“毕业典礼”等。在这过程中,我们还生成了课程中的小课程,如“课间10分钟”。所有的活动基本
设计意图  《花婆婆》这本书老师们已是耳熟能详,氤氲在整本书中的关于美好传承、执着追求的“爱”的气息:爱家人,爱生活,爱自己,爱所有的遇见,更享受“爱”的传播、“美”的创造,打动着每一个人。花婆婆传播爱、创造美的人生经历本身即是传承(源自年幼),过程也非一切顺坦(年青阶段),但她始终保持着执着的、坚定的信念去实现当初美好的心愿(年老时候)。因此,笔者以时间为序将《花婆婆》一书进行了“年幼”“年青”
摘要:低年级学生的好奇心大,求知欲强,但他们的理解能力较差,注意力持久性也差,上课时容易走神。怎样让小学语文课堂充满生机、趣味盎然呢?创设一种有趣的课堂,营造一种自由、平等、和谐的氛围,让学生在趣味中快乐轻松地学习。  关键词:低年级语文课堂 多种多样 趣味横生 自主创新  如何让小学语文课堂生动有趣,这似乎是个老生常谈的话题了,大部分语文课堂仍然是老师滔滔不绝地讲,学生昏昏欲睡的听。多份调查结果
摘 要:开发B/S架构下基于J2EE平台的教学管理系统,可以改善高等职业院校的教学环境和条件,提高教学管理水平和工作效率。本文首先借助UML对系统进行分析和建模,然后给出了基于J2EE平台和B/S架构的系统实现。  关键词:B/S架构 J2EE平台 教学管理系统  中图分类号:TP315 文献标识码:B 文章编号:1673-8454(2008)09-0051-03    随着Internet的迅速
摘 要:本文分析了教育资源库集成的必要性和集成所面临的问题,在深入研究Web Service技术特点的基础上,提出了基于Web Service技术的校际教育资源库集成方案,并讨论了系统的体系结构和实现的关键技术。  关键词:Web Service 异构资源库 XML 系统集成  中图分类号:G203 文献标识码:A 文章编号:1673-8454(2008)15-0041-03    一、引言