开放型嵌入式系统虚拟实验平台的设计

2018-01-30 16:50王娟
电子技术与软件工程 2017年15期
关键词:嵌入式系统开放型

王娟

摘要:针对当前嵌入式系统教学中实验难以开展、缺乏创新等问题,提出了在Proteus和Keil开发工具下,选用ARM7内核的LPC2138微控制器设计了一套嵌入式系统虚拟实验平台。该平台包含了最小系统、汇编语言、GPIO、外部中 断、Timer、SPI、12C、UART、ADC、WDT、PWM、RTC、LCD、UC/OS-II操作系统等1 4个实验模块,并以ADC实验模块为例演示了平台的仿真实现效果,最后总结了实验平台建设的实际意义。实践表明,该虚拟实验平台应用于教学后,突破了时空的局限,提高了学生的动手能力,教学效果显著。

【关键词】嵌入式系统 开放型 虚拟实验平台

嵌入式课程是电子信息类专业的一门核心课程,具有理论学习难度大、实践操作性强等特点。随着现代计算机仿真技术的飞速发展,在嵌入式课程的实验教学中采用仿真软件进行虚拟实验己变得非常普遍。国内外已经有不少大学对这方而进行了研究,主要是利用计算机仿真技术实现实验内容、完成实验操作。虚拟实验在嵌入式课程体系教学中的应用,也取得了一些成果。如何结合自己的教学实际,设计一套性能稳定良好的嵌入式系统虚拟实验平台,使学生真正对课程感兴趣、更全而的提高学生的动手实践技能,就成了一个亟待解决的问题。

1 嵌入式实验教学存在的问题

1.1 实验教学难以开展

对于嵌入式系统的远程教学、网络教学等开放教学模式来说,受空问和时问等因素的影响,很难开展实验教学,学生没有办法动手操作直接参与实验。而对于传统的而授教学来说,虽大部分院校配备有相关的配套实验箱,但ARM实验箱价格较为昂贵,所以课程的实体实验资源非常有限,实验需要分批、分时进行,当然,还有部分院校因实验条件和资金的限制,根本不具备实验的条件,只能单纯进行理论教学。缺乏了实验教学的辅助作用,大大增加了ARM嵌入式教学的难度。

1.2 实验教学缺乏创新

目前,课程的实验教学一般采用验证性实验模式,实验内容较为单一。学生一般在老师的指导下,按照实验手册进行简单接线,然后直接将编写好的程序下载到芯片中,观察实验现象,机械被动地进行实验操作。学生做完了实验,只能做到实验结果的表象认知,缺乏“从概念到产品”的系统训练,对于嵌入式系统产品的设计并没有深入的学习体会。

2 虚拟实验平台设计

为了有效加强课程实验内容的深度,提高学生综合运用知识的能力,适应市场的变化,在借鉴前人成果的基础上,结合笔者的实际教学经验,采用仿真软件Proteus和编程工具Keil,设计完成了一套适用于开放型教学的虚拟实驗平台。本虚拟实验平台采用基于ARM7内核的LPC2138微控制器作为核心控制芯片,共包括14个实验模块,除“汇编语言实验模块”外,其他模块均采用C语言实现软件程序的编写,并且,在完成基本实验要求的基础上,学生可自行设计程序并修改。设计完成的适用于开放型教学的虚拟实验平台如图l所示。

2.1 最小系统实验模块

最小系统实验模块包括LPC2138微控制器,3.3V供电电路,复位电路和时钟电路,其中时钟电路采用振荡模式产生时钟信号。通过学习可帮助学生理解最小系统的概念和组成部分。

2.2 汇编语言实验模块

通过一个简单的ARM汇编程序实现两个寄存器的循环相加。可让学生了解有关ARM汇编指令格式、程序结构和基本风格。

2.3 输入输出(GPIO)实验模块

采用引脚分别连接1个按键输入和1个蜂鸣器及1个LED输出,完成最基本的GPIO输入输出控制。当按键按下的情况下,蜂鸣器响,LED发光二极管灭;当按键松开的情况下,蜂鸣器不响,LED发光二极管亮。为了和定时器实验模块中的定时功能进行对比学习,本实验模块中的延时功能采用for循环语句实现。

2.4 外部中断实验模块

输出元件采用1个蜂鸣器、2个发光二极管,输入元件采用1个按键模拟外部中断信号。正常状态下,2个发光二极管依次循环点亮,按下按键,检测到中断信号,进而执行中断处理函数,执行完毕后,再返回主函数继续执行发光二极管的点亮任务,模拟中断流程。

2.5 定时器(Timer)实验模块

主要使用定时器1实现比较匹配输出控制LED闪烁,并采用四通道虚拟示波器的A端口检测输出信号的波形。为了让学生熟悉示波器的使用以及各种信号的比较学习,虚拟示波器的B、C、D端口分别输入脉冲信号、时钟信号和正弦信号三种信号源。

2.6 SPI实验模块

采用串入并出显示驱动芯片74HC595控制1个LED数码管循环显示O-F字符。通过学习可掌握全双工同步串行接口SPI的工作原理、SPI的接口电路连接和LED数码管显示的编程控制方法。

2.7 I2C实验模块

主要是通过操作带I2C接口的存储芯片FM24C02完成,FM24C02是2048位的串行电可擦除只读存储器,内部有256个字节。该实验模块主要是实现向该存储芯片中写入10字节数据,然后读回数据,并判断是否正确。让学生学习和掌握设置I2C引脚连接、I2c时钟频率、主机发送起始信号、发送从机地址和判断总线状态等方法。

2.8 UART实验模块

通过串行接口UARTO输出字符串,输出字符串可通过编程控制,采用虚拟终端接收并显示,同时采用虚拟串行接口器件COMPIM,向上位机PC发送该字符串,并且使PC终端显示收到字符串,实现微控制器芯片与上位机PC的通信。

2.9 ADC实验模块

主要通过可调电阻改变输入引脚的电压提供模拟量输入,实验平台通过ADC对模拟量外部输入电压进行AD采样转换,并把结果转换成电压值,然后发送到串行接口UARTO,结合UART实验模块中的虚拟终端进行显示。endprint

2.10 WDT实验模块

看门狗定时器实验模块开始主要先控制4个LED发光二极管循环闪烁8次,期问不断进行喂狗处理,然后只点亮其中1个LED发光二极管,并进入死循环,等待WDT复位。通过学习让学生了解看门狗的原理以及如何设置相关寄存器完成看门狗的使能、启动、喂狗等操作。

2.11 PWM实验模块

主要采用PWM2输出PWM信号,并由按键控制PWM的占空比,每按一次按键将会改变一次PWM的占空比,从而控制LED发光二极管的闪烁亮度。利用虚拟交流电压表检测输出端口的电压大小,并利用示波器显示输出端口的波形,便于观察LED发光二极管的闪烁亮度和理解PWM的作用。

2.12 RTC实验模块

主要采用微控制器内部RTC的实时时钟控制LED发光二极管的闪烁,即通过设置RTC秒值的增量产生中断,每产生一次中断,取反LED发光二极管控制口,并利用示波器检测输出端口的波形。

2.13 LCD实验模块

实现通过输出端口控制液晶显示屏LM032L显示字符,显示字符可通过程序改变。

2.4 UC/OS-II操作系统实验模块

基于UC/os-n实时操作系统,通过芯片引脚分别控制1个按键输入和1个蜂鸣器及1个LED发光二极管输出,实现基于实时操作系统的GPIO输入输出功能。通过学习帮助学生简单理解芯片在操作系统下进行控制的方法以及和在没有操作系统的情况下进行控制的区别。

该实验平台己通过打包工具生成了安装包,学生只需将安装包通过现有网络版实验管理系统下载到PC机中或通过U盘等存储工具复制到PC机中,按照安装步骤完成简单安装后,就可以利用虚拟仿真技術在PC机上进行实验操作。

3 仿真效果举例

本节主要选取虚拟实验平台中的一个模块ADC实验模块演示仿真效果,ADC实验模块主要通过可调电阻改变输入引脚的电压提供模拟量输入,进行AD采样转换,并把结果转换成电压值,发送到串行接口UARTO进行显示。图2为ADC实验模块的主函数;图3为ADC实验模块的仿真演示效果。

4 实验平台建设意义

4.1 节省资金投入

本文设计完成的虚拟实验平台可方便快捷的安装到计算机中,这样既可以缓解实验设备紧张、建设资金有限的问题,也可以解决实验设备更新速度慢等问题,保证每个学生都能做到真正参与实验。

4.2 培养实践能力

通过虚拟实验平台,可让学生形象深刻的了解嵌入式系统的工作原理,掌握知识本身,如在实验条件允许的情况下,在虚拟实验的基础上,再加上传统的实验箱教学,形成“虚实”结合的实验模式,将大大有利于学生学习课程的兴趣和学生动手实践技能的提高。

4.3 突破时空的局限

该平台的实现为学生提供了开放的学习环境,学生可选择合适的时问和地点进行学习,从而很好的解决了学生学习时在时空上的局限性。

4.4 提供借鉴意义

随着仿真软件的功能越来越强大和应用越来越成熟,在实验教学中采用仿真软件进行虚拟仿真实验己变得非常普遍。本文对嵌入式虚拟实验平台的研究对其它各类专业虚拟实验室的建设具有一定的借鉴意义。

5 结论

本文在Proteus和Keil软件平台下,选用ARM7内核的LPC2138微控制器设计了一套嵌入式系统虚拟实验平台。该平台包含了最小系统、汇编语言、GPIO、外部中断、Timer、SPI. 12C、UART、ADC. WDT. PWM.RTC、LCD、UC/OS-II操作系统等14个实验模块,知识点全而,安装简单方便,教学使用效果较好。

参考文献

[1]徐俊艳,刘瑞清,王志忠.VRML与MatLab在自动控制虚拟实验室开发中的应用[J].实践与经验,2009 (03):100-108.

[2]丁美荣,虚拟实验与真实实验整合的计算机网络研究性实验教学探究[J].实验技术与管理,2011,28 (05):163-166.

[3]程立英,张志美,魏春娟等,虚拟实验在分级实验教学中的应用探究[J].沈阳师范大学学报(自然科学版), 2011, 29 (02): 326-329.

[4]杨继森,张静,朱革,郑芳燕.基于ARM Cortex平台的嵌入式系统课程虚拟实验平台设计[J].实验技术与管理,2014,31(07):96-101.

[5]梁宜勇,王晓萍,赵文义等.“嵌入式系统”课程教学与实践探讨[J].中国大学教学,2009 (05): 36-37.

[6]李飞.单片机课程一体化教学模式的改革与实践[J].中国成人教育,2013 (15):171-172.

[7]杨继森,杨奕,张静,虚拟实验平台在嵌入式系统教学改革中的应用[J].实验室研究与探索,2011,30 (02): 51-52.

[8]张旭涛.Proteus软件在单片机仿真实验中的用法浅析[J].软件,2011, 32 (02):102-103.

[9]张杰.基于Proteus软件的单片机数字时钟系统开发[J].中国新技术新产品,2010 (13):40.

[10]唐前辉,丁明亮.Proteus ISIS和Keil在单片机教学中的应用[J].重庆电力高等专科学校学报,2006,11(04): 46-49.

[11]侯继红.联合仿真在单片机教学中的应用[J].职业教育研究,2009 (01):151-152.

[12]周润景.ARM7嵌入式系统设计与仿真基于Proteus、Keil与IAR [M].北京:清华大学出版社,2012.

[13]丁桂芝,严海颖,赵宇枫.ARM嵌入式系统应用开发基础[M].大连:东软出版社.2013.

[14]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.

[15]代芬,王卫星,邓小玲,姜晟,孙道宗,陆健强,单片机综合实验开发板设计[J].实验室研究与探索,2010,29(08):213-215.endprint

猜你喜欢
嵌入式系统开放型
打好“侨”牌,稳中有为——打造江苏开放型经济的“重要窗口”
江苏巩固拓展高质量发展开放型经济的新态势
进博会为推动构建开放型世界经济注入“中国动力”
办公自动化系统的设计
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
内陆开放型经济区人力资源管理的重难点及其对策:以宁夏内陆开放型实验区为例
粒子在二维开放型四分之一圆形微腔中的逃逸研究