林伟 蔡丹凤
摘 要:嵌入式系统的课程教学难,学生学习易受阻,硬件设施繁杂,导致了教学过程中出现很多问题。为此,我们在教学环节引入Proteus软件。Proteus软件不仅可以在课堂教学中进行演示,也可在实验教学和课程设计中对电子电路进行验证、设计,综合不同阶段的学习,提高学生的动手能力,逐步掌握硬件系统设计;通过Proteus软件的动态仿真,学生可以更加快速有效地排查电路中故障错误,提高学习效率。在教学中引入Proteus软件对于教学成果和成本方面,具有较高的推广价值。
关键词:Proteus;嵌入式系统;实验;动态仿真
1概述
現代电子电路设计已经进入电子设计自动化时代,电路仿真是电子设计自动化中的一项重要技术,可以广泛应用于电子产品的分析、设计、检测、改造和技术革新等方面。嵌入式系统是以计算机体系结构、计算机软件以及其他相关电子技术为基础上发展而来的综合技术。嵌入式系统技术已经成为当下主流发展研究技术,对于具备一定嵌入式开发能力的人才在企业非常受欢迎。在当前高校普遍开设的嵌入式系统课程中,普遍采用的微处理器是8位的单片机8051,32位ARM7TDMI 核的飞利浦NXP LPC系列和三星S3C44B0芯片。实验教学中往往以单片机作为学习嵌入式的基础铺垫,待基础掌握后将ARM7内核CPU 作为升级版单片机引入,轻松过渡到ARM平台。
传统的嵌入式系统教学,课堂环节基本是在传统实验箱基础上辅助纯理论教学,由于硬件的限制,学生可自主实验和拓展项目较少,不利于创新学习。针对传统教学模式的不足,为此将Proteus软件引入到课堂教学、实验、毕业设计、创新设计中,能起到更好的学习效果。这种教学方案将传统理论教学可以实时的与实验相结合,不仅可以提高理论教师的实践能力同时对于学生而言,不会产生对理论的抵触心理,更多的实验自主能够更好的激发学生的学习创新兴趣。
2 Proteus软件介绍
Proteus 嵌入式系统仿真与开发平台是目前世界上最先进、最完整的嵌入式设计与仿真平台,由英国Labcenter 公司开发的[1]。Proteus主要由ARES、ISIS两大模块构成,ARES主要用于印刷电路板( PCB) 的设计及其电路仿真,ISIS 主要用于原理图的设计并仿真。在Windows 操作系统平台,可以对各种模拟器件和集成电路进行仿真、分析( SPICE)。
Proteus软件和其它EDA工具软件一样提供仿真功能,但是它还能从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,实现了真正意义上的从概念到产品的完整设计。能够同时提供将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三大功能的软件目前只有Proteus软件;在编译方面,它也支持IAR、Keil 和MatLAB 等多种编译。
3 Proteus软件在实验教学中的优越性
教师在实际教学中通过Proteus和Keil搭建虚拟实验平台,同时引入仿真平台,辅以硬件实验的验证,可以使得学生更好的由理论过渡到实践,对于产品的电子系统能够有更全面的理解和掌握[2]。毕业生在自己的毕业论文设计中可以采用Proteus软件为辅助手段;学生可以采用Proteus软件为辅助手段,进行大学生科技创新活动,或参加市级以及全国各类电子设计竞赛活动。下面是利用Proteus软件进行仿真和硬件验证的流程图:(图1)
针对Proteus软件以上多种优点,建立一个Proteus实验室,它的出现为电类专业的实验教学带来了前有未有的新思维和解决之道。Proteus实验室可以为教学创造一个更加优质的平台,在现有资源的基础上,实验室具有如下的优点:
3.1 功能多样化 Proteus软件除了提供仿真电路分析实验、模拟电子线路实验、数字电路实验外,同时还可以对嵌入式系统实验仿真,提供嵌入式系统(单片机应用系统、ARM应用系统)仿真实验功能是它区别其它软件的最大特点,因此,Proteus软件是一个多功能的实验平台。它的多样化功能解决了教师教学过程中可能出现硬件设备不齐全问题。
3.2 资源开放 由于其硬件是基于网络平台的,如一个单位内的局域网、或企业网、或校园网(或单机板,基于一台PC)或Internet用户。因此解决了学生受传统实验室的时间、空间、及实验内容的限制问题,可以发挥自身的学习热情来学习,更好的解放由传统硬件带来的思维限制,提高创新能力,同时也可以最大发挥设备的利用率。
3.3 内置资源先进 Proteus实验室主要由其Proteus仿真软件实现,软件内部包括万种以上元器件及多达30多个元件库,多种现实存在的虚拟仪器仪表,丰富的测试信号源,先进的混合仿真系统(SPICE电路仿真器+数字仿真器+MCU仿真器)。基于上述强大的内置配备,可以保证实验室的先进性。另外,软件提供用户自己制作器件模型,英国Labcenter公司也能够为用户制作,此外,软件跟硬件相比升级更为方便,几乎无成本,可以保持软件库中的器件的实时先进性,保证了实验室的先进性。
3.4 实验创新化 Proteus仿真软件内置的丰富资源是进行创新型实验研究的基础。软件库中提供了仪器仪表、信号源、元器件、器件模型,教师利用软件设计相应的教学内容或者进行创新实验的研究,学生除了完成实验内容外可以自己研究感兴趣的内容,由于丰富的软件库中器件,不受到传统硬件的束缚,可以更好的放开思维,展开实验仿真学习,对于提高学生的自主学习,培养创新能力有重大的意义。
3.5 易管理、易维护 由于其核心为Proteus仿真软件,在实验过程中不会产生损耗问题,软件的管理、维护也仅仅是帐户的管理、软件的安装及更新,设备的管理工作量得到了降低,可以将更多的时间精力投入到实验创新研究中。
3.6 低投入、高回报
将Proteus实验室与传统实验室对比,投入低,回报高。教师只需建立相应的计算机网络平台(也可使用已有的计算机网络平台),外加购买一套Proteus网络板软件,部分实验验证板即可。几乎不会产生维护费用,此外,建立这样的实验室还可以被嵌入式系统(单片机应用系统、ARM应用系统)、微机原理与接口技术课程学习用到,做到资源利用的最大化。
4 Proteus软件的应用实例
由于液晶显示器的低功耗、体积小、显示内容丰富、超薄轻巧等诸多优点,已经被广泛应用在袖珍式仪表和低功耗应用系统中[3]。在LCD显示电路的硬件电路中,我们通常使用LPC2106芯片和LM016L显示模块。LPC2106由一个支持仿真的ARM7TDMI-S CPU、与片内存储器控制器接口的ARM7 局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线组成。LM016L液晶模块通过指令编程来完成读写操作、屏幕和光标控制。LCD显示电路电子电路图如下图所示:
图2 LCD电子电路图
我们可以看到,虽然在这个电路中,电路并不复杂,但是LPC2106这个芯片是双电源芯片,CPU操作电压范围为1.65V~1.95V(1.8V ±8.3%) ,I/O电压范围为3.0V~3.6V(3.3V ±10%) ,这两个小伏电压范围比较难调整,学生在实验过程很容易就会出现电压过大,烧坏芯片的事故。除此之外,学生还很有可能出现电路连接等错误,在实际操作中,这会很大程度地影响教学。所以,我们可以采用用Proteus软件来仿真电路这一方案。
下面是基于ARM7的LCD显示电路仿真,介绍电路的设计和使用Proteus 进行仿真与实现的过程。首先运用Keil编译C语言,连接生成Hex文件,使用PROTEUS 7.8SP2仿真,选用ARM7 LPC2106 芯片和LM016L,将Hex文件导入,然后进行软件仿真调试[4]。其电路原理图如下图所示:
图3 系统电路图
设计的最终效果是使得字符串从左往右逐個依次出现在屏幕上,同时逐渐右移,直至全部消失。然后再从右向左逐个依次出现,待移到最左端后消失。如此循环往复。其设计效果如以下图所示:
图4 设计效果显示框图
在这个实验中,学生可以通过Proteus模拟ARM7芯片设计,将理论与实际相结合,应用现有的仿真工具和嵌入式软件开发平台,合理规范地设计实现一个小型LCD显示电路功能。同时,提供KeilC51 uVision2软件的调试功能。
如果电路出现结果与实验目的有所偏差,可以利用软件调试系统全速、单步、设置断点等,对各个变量、寄存器状态进行实时观察。只需利用仿真软件在计算机平台上进行各种仿真调试工作即可,能够不动用电烙铁试验板就能知道结果的方法,大大提高了电路设计的效率和可操作性,将解析法在近似处理中带来的较大误差有效的避免,还可以与实物试制和调试相互补充,通过理论与实践相结合的教学,大大提高教学效率,更好的达到教学目的,也能提高学生自主的学习兴趣,培养学生自己的探究研究问题能力,提高创新意识。
5 结语
采用Proteus仿真软件作为嵌入式系统实验教学平台,不仅帮助工科类学院学生更快地掌握业内主流电子设计工具,综合最新的电子设计技术,提升学生的实践动手能力,还使得学生在校期间,比较灵活地将不同学科的电子设计知识融会贯通,为学生提供更多的实践与应用平台,拉近了学习与就业的距离。实践证明,这种教学方法在教学效率、成本预算、后期维护方面优势明显,具有较高的推广价值。
参考文献:
[1]朱清慧,张风蕊,等.Proteus教程-电子线路设计、制版与仿真[M].北京:清华大学出版社,2008.
[2]陈燕,李娜娜.Proteus和Keil在单片机教学中的应用[J].中国科技信息,2009(20):194-195.
[3]周立功.ARM嵌入式系统基础教程[M].北京航空航天大学出版社,2008年9月第2版.
[4]周润景.PROTEUS在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2006年10月第一版.
作者简介:林伟(1967-),男,上海,硕士,讲师,主要从事电子技术教学科研工作。