浅谈Proteus软件与实践教学


  摘要:首先阐述了在实践教学中采用Proteus软件仿真的优势,然后对Proteus软件进行介绍,最后举例说明。
  关键词:软件仿真的优势;Proteus软件;实例
  中图分类号:TP319文献标识码:A文章编号:1009-3044(2007)17-31477-02
  The Application of Proteus in Embedded System Teaching
  REN Qin, CHEN Zhen-wei
  (Modern Technology Centre of Shangqiu Professional Techniques College, Shangqiu 476000, China)
  Abstract: The article introduces firstly the advantages of embedded system teaching by the Proteus software simulation. Second, introduction of proteus software. Finally,an example is given to illustrate.
  Key words: the advantage on software simulation; proteus software; example
  
  1 引言
  
  目前,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。由于社会对掌握嵌入式技术人才的大量需求,使得嵌入式软硬件工程师成为未来几年内最为热门的职业之一,相当一部分高校已开设嵌入式系统的相关课程。
  嵌入式系统是理论与实践结合密切的课程。但对于嵌入式系统开发的爱好者而言,往往没有足够的资金购买昂贵的开发板来进行开发,这时可以选择通过软件仿真来学习嵌入式系统开发。Proteus是目前最好的能够虚拟嵌入式系统开发中常用的处理器和外围器件的EDA工具。
  
  2 proteus软件仿真的优势
  
  采用Proteus仿真软件进行虚拟实验,具有比较明显的优势,如涉及到的实验内容全面、硬件投入少、可自行实验、实验过程中损耗小、与工程实践最为接近等[1]。
  2.1 内容全面
  其能实验的内容包括软件部分的汇编、C等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,可以扩展学生的思路和提高学生的学习兴趣。
  2.2 硬件投入少,经济优势明显
  Protues所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。
  2.3 可自行实验,锻炼解决实际工程问题的能力
  采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。
  2.4 实验过程中损耗小,基本没有元器件的损耗问题
  采用Protues 仿真软件进行的实验教学,则不存在因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗的问题,其在实验的过程中是比较安全的。
  2.5 与工程实践最为接近,可以了解实际问题的解决过程
  在Protues中做的工程项目,可以最后移植到一个具体的硬件电路中进行测试。将仿真软件和具体的工程实践如何结合起来,利于对工程实践过程的了解和学习。
  2.6 大量的范例,可供参考处理
  在系统的设计时,该仿真系统所提供的较多的比较完善的系统设计方法和设计范例,可供参考和借鉴。存在对已有资源的借鉴和引用处理,而同时也可以在原设计上进行修改处理。
  
  3 proteus软件简介
  
  在传统的嵌入式系统学习中,嵌入式开发平台是必不可少的。其中资源少的开发平台便宜但功能较少,资源多的开发平台又价格不菲,因此,英国Labcenter公司推出了适合嵌入式设计仿真与开发平台的Proteus软件。在该软件中,用户可以根据需要搭建开发平台,将编译好的目标代码加载到芯片中。目前支持的编译器有IAR ARM编译器、GNU ARM编译器和Keil ARM编译器等。这些编译器都可以与Proteus软件整合,实现源代码级调试,即通过这些编译器在Proteus软件中调试程序。在Proteus软件中还可以查看多种调试信息,如源代码执行情况、CPU寄存器信息、变量值以及Flash与RAM中的信息等。大量的元件库支持大型设计,而且在仿真中还可以观察各元件的状态。使用Proteus软件可以完全脱离硬件平台来学习嵌入式系统,可以说是嵌入式系统学习的一次革命。
  Proteus VSM的核心是ProSPICE,这是一个组合了SPICE3f5模拟仿真器核和基于快速事件驱动的数字仿真器的混合的仿真系统,SPICE内核的使用使您能采用数目众多的供应厂商提供的SPICE模型,目前该软件包包含有约6000个模型。Proteus VSM包含大量的虚拟仪器如示波器、逻辑分析仪、函数发生器、数字信号波型发生器、时钟计数器、虚拟终端以及简单的电压计、电流计。此外仿真器能通过色点来显示每个管脚的状况,这点在单步调试IO码时绝对非常有用。
  Proteus VSM最令人激动、最重要的特点是它能把微处理器软件作用在处理器上并和连接该微处理器的任何模拟和数字器件协同仿真。微处理器模型和其它器件的模型一道驻流在原理设计中,它仿真执行目标码,就像在真正的单片机系统上。如果程序代码向一个外设口写,电路中逻辑电平会相应变化,如果电路改变改微处理器管脚的状态,这些也可以在您的程序代码中看到,就象真实系统一样。
  PROTEUS VSM FOR ARM/LPC2000包含做PHILIPS公司LPC2000系列设计仿真所需的一切。支持ARM和THUMB指令集。支持片上外设:GPIO, timers, RTC, UARTs, SPI, I2C, MAM, PLL, ADC and watchdog timer等。支持VIC中断子系统。在3G的PC环境下可以做10MIPS的仿真。可以装载ELF/DWARF2格式文件进行源码调试。可以利用IAR Embedded Workbench 和 Keil UV3与PROTEUS进行联调。这个软件包包括:ISIS原理图输入系统。PROSPICE交互式仿真引擎。LPC2000系列处理器模型。ARM7TDMI 和ARM7TDMI-S内核模型。可以用高级图形仿真工具来做基于图表的仿真。由PROTEUS VSM仿真通过的设计可以直接导入到ARES中进行PCB设计。
  
  4 简单实例
  
  4.1 原理图的绘制
  Proteus软件绘制原理图先从软件包的器件库里取出所需的元件符号并在绘图区布局好,同时编辑好元件的参数,接着进行连线,添加必要的网络标号等步骤[3]。
  4.2 程序
  ORG 30H
  START: MOV SP,#60H
   MOV SCON,#01010000B
   MOV TMOD,#20H
   ORL PCON,#10000000B
   MOV TH1,#0F3H
   MOV TL1,#0F3H
   SETB TR1
  AGAIN: JNB RI,$
   CLR RI
   MOV A,SBUF
   MOV SBUF,A
   JNB TI,$
   CLR TI
   SJMP AGAIN
   END
  4.3 调试与仿真
  (1)打开Keil Vision3,新建项目,选择AT89C51,然后编写程序,编译源程序。产生HEX文件,并选中Use Proteus VSM Simulator。
  (2)打开Proteus绘制电路图,在AT89C51中导入HEX文件,选中Use Remote Debug Monitor。
  (3)在Keil中选择调试,顺序运行程序,调出Proteus ISIS界面,在Debug菜单下选择Virtual Terminal,打开虚拟终端,在键盘上按键,在虚拟终端窗口中就会显示相应的字符。
  4.4 功能
  AT89C51的串行口经MAX232转换后,与PC串口相连,使用虚拟终端,向串口发送数据。在这里使用查询法接收和发送数据,上位机发送指定字符,下位机接收到字符后返回原字符[3]。
  
  5 结束语
  
  Proteus 虚拟系统模型组合了混合模式的SPICE电路仿真、动态器件和微控制器模型实现了完整的基于微控制器设计的协同仿真。但是由于软件有一定的精度限制,如果有条件还需要进一步在物理原型上进行测试和完善。
  
  参考文献:
  [1]许文斌. proteus软件在单片机系统仿真实验教学中的应用[J]. 商业经济,2006(3).
  [2]代启化. proteus在单片机电路系统设计中的应用[J]. 自动化与仪器仪表,2006(6).
  [3]周润景, 袁伟亭, 景晓松. Proteus在MCS-51&arm7系统中的应用百例[M]. 北京:电子工业出版社,2006.10.