摘 要:高校大多数采用购买实验台、实验箱的形式来完成对实验室的建设,这样的实验室存在着资金投入大、设备维护困难、实验内容狭窄等局限。本文提出一种基于Proteus和Skyeye的嵌入式系统虚拟实验室建设方案,所有的实验项目由软件仿真系统完成,很好地解决了资金成本和设备维护问题,增加了学生使用实验室的便利性。
关键词:嵌入式系统;Proteus软件; Skyeye软件;虚拟实验室
1、引言
今天,几乎所有的电子设备都有嵌入式系统的影子,研究和开发嵌入式系统及其产品已经成为当前的热点之一。嵌入式技术是多学科交叉的产物,在许多高校都开设了嵌入式系统的相关课程,它涵盖了计算机组成、微机原理接口、操作系统、网络通信技术、人机接口、软件技术等多门学科的内容,因此,嵌入式系统的实验实践教学显得尤为重要。目前各个高校相继开设了嵌入式系统课程,并逐步开始建立嵌入式系统实验室。这些实验室基本都是采用相应的硬件仿真设备来构建的,但由于嵌入式系统硬件的种类繁多再加上资金的限制,不可能在一个实验室包括所有种类的嵌入式仿真设备。虚拟实验作为传统实验的重要。下面将介绍一种基于Proteus软件和Skyeye的开放式、综合性、高水平的嵌入式系统虚拟实验平台的构建方案。
2、仿真软件简介
Proteus仿真软件是一种功能强大的电子设计自动化软件,提供智能原理图设计、SPICE模拟电路、数字电路及MCU器件混合仿真系统和PCB设计功能,不仅可以仿真传统的电路原理实验,模拟电子线路实验、数字电路实验等,而且可以仿真嵌入式系统的实验,其最大的特色在于可以提供嵌入式系统(单片机应用系统、ARM 应用系统)的仿真实验,这也是其他任何仿真软件无力所及的。
SkyEye是一个开源软件(OpenSource Software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和 Windows平台实现一个纯软件模拟集成开发环境,模拟常见的嵌入式计算机系统。SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,在32位嵌入式CPU领域中,ARM系列CPU所占比重相当大,因此SkyEye首先选择了ARM CPU核作为模拟目标CPU核。目前在SkyEye上可运行并进行源码级调试Linux、uClinux、uC/OS-II操作系统和LwIP(一个著名的嵌入式TCP/IP实现)等系统软件。并可对它们进行源码级的分析和测试,同时了解ARM嵌入式CPU编程。
3、嵌入式系统虚拟实验室架构
在上图中,Proteus实验室物理上位于其校园网内部的某一个局域网上,该局域网上的服务器上安装Proteus和Skyeye服务器端软件,操作系统为Windows 2000server或Windows 2003 server,客户端PC上安装Proteus和Skyeye客户端软件,操作系统为Windows 2000 professional或Windows 2003 professional。另外,需配置少量的设计验证系统硬件,以增加学生的感官认知。
丰富的设计资源
4.1 Proteus资源
嵌入式系统的设计主要Proteus VSM(Virtual System Mode)来完成。VSM是一个完整的嵌入式系统软、硬件设计仿真平台,它包括智能原理布图系统ISIS、带扩展的ProSpice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。
4.2 Skyeye资源
4.2.1CPU和开发板系列
目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI,ARM720T,ARM9TDMI,ARM9xx,ARM10xx,StrongARM,XScale等。目前SkyEye模拟的开发板包括基于Atmel 91X40/AT91RM92 CPU的开发板,基于Crirus Logic ep7312的开发板、基于StrongARM CPU的ADSBITSY开发板,基于XScale PXA250 CPU的LUBBOCK开发板、基于SAMSUNG S3C4510B/S3C44B0 CPU的开发板、基于SHARP LH7A400 CPU的开发板、基于Philip LPC22xx CPU的开发板等。主要模拟了对应各个开发板的串口、时钟、RAM、ROM、LCD、网络芯片等硬件外设。
4.2.2网络芯片
目前SkyEye模拟了网络芯片8019AS,其特点是:NE2000兼容,内建 16KRAM缓冲区,10MB传输速率。虽然目前模拟的开发板上不一定有网络芯片8019AS,但我们可以在我们模拟的开发板上加上网络芯片8019AS的模拟。这样再加上在不同操作系统上的8019AS驱动程序,就可以方便地完成各种网络应用的开发和设计。
4.3多层次的实验内容
基于Proteus和Skyeye的嵌入式系统实验室可以开设如图2所示的三个层次的实验内容:基础型实验内容、综合型实验内容和创新型实验内容。基础型实验内容包含嵌入式系统课程中规定的基本的验证性仿真实验,如串口通信、外部中断、实时时钟等微处理器应用系统的设计仿真和bootloader移植仿真。进一步,可以围绕某一类型的MCU进行综合性的课程设计或实验,学生完成电路图设计、软硬件调试、系统调试以及PCB制作等整个过程。再有,借此实验平台,教师可以进行课题的创新或研究,学生则可以进行自主电子设计和毕业设计等。
4 试验实例
图3给出了一个Atmel AVR Tinyl6处理器、矩阵键盘和字符型液晶的组合运用的仿真系统实例。主要由Proteus提供的Tinyl6处理器、字符型液晶显示屏(LCD)矩阵键盘组成。图中模拟的情况是,液晶的第一行显示预置的字符串信息“BUPT_Information”,第二行第一列显示当前的按键值,此时鼠标按下了数字健“6”。当鼠标按下其他的健时,液晶的显示会同步更新,如果采用实验箱来完成该实验则需要用到多个硬件模块,而采用仿真方式可以很方便地动态模拟整个系统的构造和运行状况。
图4给出了建立交叉工具链并在skyeye上仿真uclinux
3、结论
不难看出,采用Proteus和Skyeye构建嵌入式系统虚拟实验室的方案具有比较明显的优势。虚拟实验室元器件模型丰富,电路设计可靠,系统软硬件调试方便,图形化的仿真结果非常直观。另外,基于Proteus和Skyeye的嵌入式系统虚拟实验室不存在元件损耗问题,资金投入少,系统维护简单,它所能提供的实验内容非常全面,便于有针对性的自行实验,可有效地提高学生综合分析、排除故障、开发创新、解决实际工程问题的能力。
本文作者创新点:嵌入式系统主要包括单片机原理和以ARM为主的嵌入式
系统开发,它们知识架构是有浅入深的,proteus主要应用于单片机仿真设计而skyeye主要应用于ARM开发仿真。将它们完整的结合起来,完善了嵌入式系统实验室的体系结构。
参考文献:
殷苏民 邓英杰 赵荣春 刘素霞.基于Proteus的ARM虚拟开发.微计算机信息, 2008,5-2:127-129
万相奎:丁建平:秦树人.嵌入式系统及其典型开发模式.重庆大学学报,2004,26(2):16—19.
李霞:徐建新:郁建强.实验室管理信息系统的应用.实验室研究与探索,2005(3):47-48.
马刚:李向仓.用Proteus与Keil整合构建单片机虚拟仿真平台.现代电子技术,2oo6(24):129一l31.
张文贵,陈增川,杨平,等.建立个性化实验室加强大学生创新精神和工程实践能力的培养.实验技术与管理,2008,25(5):1-4.
张淑玲.开放性电子信息工程实验室建设规划.湖北经济学院学报:人文社会科学版,2007(11):77 78.
张艳,樊莉,方秦.基于虚拟现实技术的虚拟实验室建设.科技创新导报,2008(20):36 -37.