嵌入式实验室(共10篇)
嵌入式实验室 篇1
0 引言
嵌入式系统涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域的应用。国内许多高校已在研究生和本科生中,较早开设了嵌入式系统的相关课程,并筹建了嵌入式系统教学实验平台,高职类院校进行嵌入式系统教学的院校相对较少。由于嵌入式系统产品千变万化,小到MP3播放器,大到飞机导弹,差异非常大,个性多于共性,而且嵌入式技术本身学习难度比较大,由此导致嵌入式系统的人才培养比较困难。嵌入式技术教学目前还没有完整和现成的体系可供参考,而高职由于学生特点和师资的原因不能直接应用本科类院校的课程体系和开课模式,高职类院校因为地域和条件的差异也很难直接参考,我校根据自身的特点在嵌入式系统教学和实验室建设方面进行了有益的尝试与探索。在实践教学基地建设时,首先对嵌入式系统课程体系、实验内容、师资队伍等诸多方面进行详细设计和规划,以保证嵌入式系统实践基地能够满足学生学习掌握嵌入式技术的基本要求及部分较好学生和老师的需要。
1 高职嵌入式人才培养的目标定位
通过对嵌入式系统人才需求报告的研究,我们发现嵌入式系统行业和一般的制造业并不相同,即高技能人才的需求并不在嵌入式产品的制造过程,而是在研发及技术支持环节,这两个环节一个在产品生产之前,一个在产品生产之后。这也是由嵌入式产品自身的特点决定的。由于嵌入式产品普遍采用32位RISC技术,芯片采用超大规模集成电路制造,也决定了产品的生产过程全部采用SMT设备完成。很多从事嵌入式产品设计制造的公司可能都没有自己的制造厂,而是直接委托行业的制造厂家来生产。针对嵌入式技术的特点及高职学生和我校师资的实际情况,我们把培养的嵌入式系统人才定位在嵌入式助理工程师(主要岗位:研发助理工程师,硬件测试工程师,软件测试工程师,系统功能测试工程师,硬件维修工程师和嵌入式产品销售工程师,技术支持工程师等岗位。)
通过对这些岗位的分析,我们能得出所需的嵌入式知识体系:(1)掌握基本的电路知识;(2)掌握主流嵌入式微处理器的结构与原理;(3)掌握一个嵌入式操作系统;(4)熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。
2 嵌入式系统理论教学体系
嵌入式技术是一门理论性和工程实践性都很强的技术,是公认的有一定难度的技术,对高职学生来说,一定要遵循学生认知的客观规律,由简单到复杂,循序渐进,合理选取理论和实践内容,与工程实践紧密结合,才有助于对嵌入式技术相关内容的理解与掌握。我们的专业课程体系分为三个层次,第一层次:包含通用的基础知识与基本技能课程,适度的可持续发展基础课程;第二层次:包括嵌入式系统与工程应用的专业知识与技能(嵌入式系统基础及应用、实时操作系统、嵌入式软件开发与工具等)。第三层次:涉及相关应用方向的领域知识。主要基础课程包括:电子技术(数电)、微机原理与接口、EDA技术、操作系统、C/C++、网络技术。主要专业课程包括:单片机原理与应用、嵌入式基础及应用(ARM+uC/OS-II)、嵌入式操作系统、嵌入式系统工程技术(涉及嵌入式应用方向的领域知识,主要以项目教学为主)。为真正体现对学生相关能力的培养和学生容易入门,不致产生畏难情绪,为以后进一步的学习打下基础,嵌入式微处理器以ARM7进行嵌入式硬件结构与原理的讲解,以uC/OS-II来进行嵌入式操作系统原理的讲解。在高年级和毕业设计阶段,可以要求学生进行ARM9和Linux的学习与项目的开发。
3 嵌入式系统实践教学体系
嵌入式系统实验项目涉及计算机体系结构、操作系统、微机原理、接口技术、计算机编程等诸多知识内容,多学科交叉,综合性强,因而学习难度大。学生只有亲自动手编程、搭设硬件电路才有助于对嵌入式知识的理解和掌握。嵌入式系统实验项目内容的设计应符合认知过程由简单到复杂、由分散到综合的一般特点,同时也要考虑到学生的个性化特点,允许学生在一个弹性时间内安排自己的实验学习和实践操作,有利于学生创新能力的培养,因此,按照这样的思路,在嵌入式系统实践教学的组织过程中,实验分层进行。
3.1 基础知识实验(及单项功能训练实验):
由教师指导,让学生了解嵌入式系统的开发平台和软硬件开发环境与流程,熟悉嵌入式系统开发工具,掌握仪器、设备及工具的正确使用方法,安全操作规程和基本的嵌入式编程方法,并学会熟练使用嵌入式系统汇编语言,其目的是让学生掌握嵌入式系统开发的基本知识,熟悉ARM7硬件结构和uC/OS-II操作系统,ARM接口实验内容有:ARM串行口实验,键盘及LED驱动实验,D/A和A/D接口实验,电机控制实验,LCD驱动控制实验,触摸屏驱动实验,CAN总线通讯实验。操作系统实验有:定时器中断和驱动程序实验,BootLoader实验,uC/OS-II在ARM微处理器上的移植及编译,uC/OS-II应用实验。
3.2 基本技能训练。
这个层次实验,将采取精讲精练的方式进行。课前向学生提出明确的实验要求,并请学生提前预习,课堂对所涉及内容进行介绍,并要求学生能参照实验指导书修改部分代码,实验后要求检查实验结果,并记入成绩。这部分实验项目有:交通管制信号灯模拟实验,触摸屏应用,ARM的图形界面设计实验,基于ARM的多通道仪表信号采集等实验内容,这级实验教学的目的是让学生掌握基本的嵌入式系统程序的开发方法,学生可以按照具有参考性质的实验指导书内容进行实验的调试与修改,在亲自动手调试的过程中,潜移默化地培养规范的开发习惯和分析解决问题的能力。
3.3 综合应用项目,目的在于综合运用学生在基础技能部分所学,创造性地进行综合应用。
教师统一指定题目,在第二阶段即给出题目与具体要求,要求学生在整个实验阶段进行构思与准备,最后组装代码,实现功能。教师在项目实现过程中给予辅导与指导。这部分项目有:电子菜单,基于ARM7 MP3播放器设计与实现。
3.4 开放实验项目。
学生自主在实验室开放期间选择感兴趣的题目进行设计实现,或进行毕业设计,课外科技活动等。这部分项目内容可涉及ARM 9和Linux,甚至DSP,FPGA的相关内容。这部分内容要在开放实验室管理制度保证下以确保实施。
4 嵌入式实验室建设
根据我系的人才培养目标和课程内容计划,嵌入式实训室设备以ARM平台为主,包括ARM7实验平台和配套开发环境及相关软件,ARM9实验开发板及多个应用模块,少量的ARM9和ARM10双核心平台,DSP和FPGA实验平台及智能家居平台。
4.1 ARM7实验平台主要用于ARM7体系结构与原理和UC/OS-II操作系统的学习和实践,ARM7实验平台上主要有ARM7核心模块和各种接口资源,它支持操作系统μCLinux和μC/OS-Ⅱ。
4.2 ARM9开发板主要用于高年级学习Linux下的开发应用和比较优秀的学生做毕业设计,学生参加嵌入式系统大赛以及进行嵌入式助理工程师认证的需要而选购的,支持操作系统Linux,WinCE,uC/OS-II。配套模块有:摄像头模块,接触式IC卡,CF卡,SD卡,通用GPS模块,通用GPRS模块,射频模块+非触点式IC卡,蓝牙适配器,CAN结点模块,USB无线网卡,通用FPGA模块,指纹识别模块,USB2.0转换模块,高精度AD采集卡,传感器模块,智能语音识别套件,ZigBee无线网络应用套件等二十多个模块。这些模块可以为学生毕业设计及进行具体应用项目的学习实践提供了方便。
4.3智能家居平台计算机控制技术的发展与电子信息通信技术的成长,也促成了智能家居的诞生与发展。据预测,智能家居市场在中国前景广阔,所以我校还选购了智能家居平台,主要包括传感监测单元,门禁子系统,窗户子系统,模拟家电扩展单元等。可以进行常见的智能控制、远程控制、家居安防等主要实训功能,同时可以扩展无线传感器网络、家庭智能网关等功能。通过智能家居实训系统,可以进一步加强学生单片机应用能力和进行嵌入式技术的学习与综合应用能力。
4.4其它平台实验室还有数量较少的ARM9和ARM10双核心平台,DSP和FPGA实验平台,老师可以进行相关方面应用的科研与教研,有兴趣和能力的学生也可利用此设备开展课外科技活动或进行嵌入式大赛的训练准备。
嵌入式实验室从嵌入式技术应用的广泛性和我校实际出发,综合考虑,设备类型多,既能够满足教学的需要,又能够满足老师进行科研的需要,也容易根据学生的个人能力与兴趣进行单独培养,。为学生应用理论知识解决实际问题和实践创新设计思想提供了一个很好的环境。
5 师资建设
教学效果的保证要靠老师。进行嵌入式技术的教学,对老师的要求也比较高,老师既要有扎实的理论知识,也要有工程实践经验。针对我校师资较弱的实际情况,我们进行了一些有益的尝试。主要做法有:
5.1我系在实验室建设初期和公司进行合作,对我系老师进行专门的培训,部分老师还以访问学者的身份在公司进行为期半年甚至一年的学习,并参与公司一些项目的研发工作。
5.2针对嵌入式教学理论和实践紧密结合的特点,我系没有设立专门的实验老师。而是成立了项目开发小组,让有专长的老师专门进行教学项目的开发以及项目资料的准备与完善。并让他们和理论老师一起辅导实验和实训,这样可以及时的更新实验内容和项目,同时在老师之间加强了沟通与教学工作的配合。
5.3老师定期进行教研科研交流,主要以主题讨论或以讲座的形式进行。对嵌入式教学过程中碰到的教学问题,技术问题等在大家集思广益下得到较好解决。
6 结论
嵌入式设备平台多,型号多,就如何根据自身情况进行设备定位和选择,不至导致设备过时或超本校教学实力的情况发生,使资源得到有效和充分利用,本文结合我校实际情况,在实验室建设前期针对人才培养目标,课程体系,实验内容,课程设计,毕业设计及课外科技实践活动等统筹考虑配置实验设备,在教学中感觉是一种合理的配置。在师资建设方面的方法和措施保证了师资队伍的建设,促进了嵌入式系统的教学。
摘要:嵌入式系统涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域的应用。随着高职教育的发展和嵌入式技术越来越广泛的应用,嵌入式技术教学在高职院校开始由点到面的推广开来,依据我校嵌入式系统人才培养目标的定位,阐述了嵌入式系统课程体系、实践教学体系及多平台多层次的实验室配置,并就师资培养提出了一些卓有成效的方法。在实践教学基地建设时,首先对嵌入式系统课程体系、实验内容、师资队伍等诸多方面进行详细设计和规划,以保证嵌入式系统实践基地能够满足学生学习掌握嵌入式技术的基本要求及部分较好学生和老师的需要。
关键词:嵌入式系统,教学体系,实验室配置,师资建设
参考文献
[1]姜仲秋,蔡长安.嵌入式技术的发展与高职院校应用教学实验室的建设[J].河北能源职业技术学院学报,2006,12(4).
[2]曲学楼,王富昕.嵌入式系统实验教学基地的建设与探索,实验室研究与探索,2006,12(25).
[3]李珍香《.嵌入式系统》课程实验教学探讨[J].福建电脑,2009,1.
[4]赖晓晨,刘文杰.高校嵌入式实验室建设探索[J].实验室研究与探索,2007,26(6).
嵌入式实验室 篇2
摘 要:高校大多数采用购买实验台、实验箱的形式来完成对实验室的建设,这样的实验室存在着资金投入大、设备维护困难、实验内容狭窄等局限。本文提出一种基于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 server或Windows server,客户端PC上安装Proteus和Skyeye客户端软件,操作系统为Windows 2000 professional或Windows 2003 professional。另外,需配置少量的设计验证系统硬件,以增加学生的感官认知。
4.丰富的设计资源
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.4 试验实例
图3给出了一个Atmel AVR Tinyl6处理器、矩阵键盘和字符型液晶的组合运用的仿真系统实例。主要由Proteus提供的Tinyl6处理器、字符型液晶显示屏(LCD)矩阵键盘组成。图中模拟的情况是,液晶的第一行显示预置的字符串信息“BUPT_Information”,第二行第一列显示当前的按键值,此时鼠标按下了数字健“6”。当鼠标按下其他的健时,液晶的显示会同步更新,如果采用实验箱来完成该实验则需要用到多个硬件模块,而采用仿真方式可以很方便地动态模拟整个系统的构造和运行状况。
图4给出了建立交叉工具链并在skyeye上仿真uclinux
5、结论
不难看出,采用Proteus和Skyeye构建嵌入式系统虚拟实验室的方案具有比较明显的优势。虚拟实验室元器件模型丰富,电路设计可靠,系统软硬件调试方便,图形化的仿真结果非常直观。另外,基于Proteus和Skyeye的嵌入式系统虚拟实验室不存在元件损耗问题,资金投入少,系统维护简单,它所能提供的实验内容非常全面,便于有针对性的自行实验,可有效地提高学生综合分析、排除故障、开发创新、解决实际工程问题的能力。
本文作者创新点:嵌入式系统主要包括单片机原理和以ARM为主的嵌入式
系统开发,它们知识架构是有浅入深的,proteus主要应用于单片机仿真设计而skyeye主要应用于ARM开发仿真。将它们完整的结合起来,完善了嵌入式系统实验室的体系结构。
参考文献:
殷苏民 邓英杰 赵荣春 刘素霞.基于Proteus的ARM虚拟开发.微计算机信息, ,5-2:127-129
万相奎:丁建平:秦树人.嵌入式系统及其典型开发模式.重庆大学学报,,26(2):16—19.
李霞:徐建新:郁建强.实验室管理信息系统的应用.实验室研究与探索,(3):47-48.
马刚:李向仓.用Proteus与Keil整合构建单片机虚拟仿真平台.现代电子技术,2oo6(24):129一l31.
张文贵,陈增川,杨平,等.建立个性化实验室加强大学生创新精神和工程实践能力的培养.实验技术与管理,2008,25(5):1-4.
张淑玲.开放性电子信息工程实验室建设规划.湖北经济学院学报:人文社会科学版,(11):77 78.
嵌入式实验室 篇3
关键词:信息与通信工程; 软硬件协同设计; 实践教学
【中图分类号】TP311.52
1 引言
目前,很多高校进入卓越工程师培养计划,其目的是培养学生综合掌握应用技术类课程的软硬件知识,具备自主学习、研究创新、以及解决通信及信号处理中相关工程问题的实践能力。其中《嵌入式系统及应用》是培养学生工程实践能力的重要课程。
嵌入式系统及应用技术涉及到数字电子、模拟电子、计算机和通信等多学科的知识,实践性很强,该课程对于学生掌握专业技术知识,获得实用职业技能,增强就业竞争力具有十分重要的意义[1]。因此不断地改进和完善嵌入式教学内容和方法,是培养学生实践和创新能力的重要途径。
由于嵌入式课程的知识综合性较强,因此应该根据学生所在的专业综合考虑,选择相应的嵌入式教学内容及教学方法。但目前的教学往往忽视了学生的专业基础,导致学生很难系统地掌握嵌入式系统软硬件开发的实际技术。并且许多学校在嵌入式教学上用一些传统的教学方法进行讲授,学生接受起来比较困难,没有达到理想的教学效果。对于通信工程专业的《嵌入式系统及应用》课程教学,如何合理选择嵌入式系统的课程教学内容,采取更为有效的教学方式与方法,培养真正掌握嵌入式系统设计与开发技能、符合社会需求的嵌入式人才成为当前非常重要的研究课题。
“软件与硬件相结合,课程与实验互补充”的嵌入式课程教学改革与实践,一方面研究将C语言和汇编语言程序设计与以ARM为主的嵌入式硬件架构相结合,将软硬件协同设计思路引入嵌入式系统设计[2]。另一方面,研究课堂教学如何与实践教学更为紧密的互相支撑,“将课堂带进实验室”,也 “将实验室引入课堂”,从而探索多样化的嵌入式教学方法,以培养学生的动手能力和创新能力。
2 推行软硬件相结合的嵌入式课程教学方法
随着软件无线电等技术的发展,软硬件开发的一体化趋势日益显现,软硬件协同设计成为发展趋势[3],《嵌入式系统及应用》课程也需要学生们具有能够综合运用软件设计和硬件设计的能力。《C语言程序设计》和《单片机应用技术》课程一般为该门课程的先修课程,因此采用基于“软件与硬件相结合”的课程建设是有可能的,也是有必要的。通过课程的学习可以培养学生的动手能力,创新思维,提高软硬件协同设计能力。另一方面,从目前的人才市场需求情况来看,许多企业和公司对于具备软件与硬件开发能力的复合型人才需求日益迫切,因此,开设软硬件协同设计课程可以为学生今后从事信息与通信工程相关工作打下良好的基础。开展该研究对于信息与通信工程相关学科专业建设也具有重要意义。
在我校课程建设中首先系统梳理了《嵌入式系统及应用》课程知识点,以及各知识点在各门先修课程之间的相互关系。如图1所示:
然后,从软硬件环境两个方面,设计教学大纲,具体如下:
硬件环境包括:讨论各种流行嵌入式微处理器的体系结构;嵌入式系统中的存储技术;典型外围设备、总线介绍;电源系统与功耗管理。
软件环境包括:系统的启动与初始化;嵌入式操作系统;嵌入式系统设计中的汇编语言与C语言的结合;驱动程序设计方法;嵌入式系统中的图形化设计。
如上所述教学内容中的软硬件结合知识点很多,如嵌入式系统其底层开发环境为基于ARM等嵌入式处理器的开发板及相应的硬件驱动,中间层为操作系统,上层为API接口及应用程序开发。只有兼具软件及硬件相关专业知识才能进行完整的嵌入式开发。因此,在我校《嵌入式系统及应用》课程建设中拟采用基于软件与硬件相结合的教学方法,引导学生理解嵌入式中的软硬件基础知识,掌握软硬件协同设计方法,成为兼具软件与硬件开发能力的复合型人才。
3 构建循序渐进的嵌入式实践教学体系
该课程是一门实践性相当强的课程,传统实验教学缺乏嵌入式应用系统的完整开发流程和开发要领,无法使学生边学习理论知识的同时进行实践,实验课中仅仅能够按照实验指导书内容机械地完成课堂内设计好的实验,使得学生缺乏解决实际问题的能力。学生在学完该课程后,仅仅是记住了几个概念,没有掌握如何进行实际嵌入式开发的能力。
因此,在课程的教学改革中需要进一步构建循序渐进的嵌入式实践教学体系[4],打破传统的课堂授课与实验单独上的方式,将两者更紧密的结合,实行讲授与实验一体化的教学。既能够“将课堂带进实验室”,也能够“将实验室引入课堂”,从而探索多样化的嵌入式实践教学方法。
具体实施如下:
(1) 将教学课堂搬到实验室,充分利用实验室资源。根据嵌入式系统课程的知识体系,开发出与各项内容相适应的实验内容,由任课教师事先调试通过后,整理成实验项目的形式,以实验内容为教学内容编成讲义,以讲义为主,教材为辅。在实验室中,指导学生根据实验需要回想软硬件知识点,利用实验箱等教学手段提高学生兴趣。例如,可让学生将自己喜欢的照片作为实验箱的开机欢迎界面,让学生自己动手做该实验,即学即用,使学生在自主实验中逐渐加深理解,进一步体会该实验中所学到的知识,以取得事半功倍的教学效果。
(2) 将实验室搬到教学课堂
课堂上可充分利用多媒体及网络资源,通过远程访问实验室设备或者将仿真器、实验箱等仪器搬至课堂上进行演示教学,让学生在学习基础知识的同时看到实验的过程及其结果,变抽象为具体,变枯燥为有趣,激起学生的学习兴趣。然后再围绕本次实验内容,讲解该实验中涉及的硬件、编程方法、程序及达到的目的。 (3) 鼓励学生积极参加各种竞赛 在参与各类嵌入式竞赛的过程中学生会积极思考,努力探索,有针对性地去学习、讨论,这对培养学生的应用能力和积极参与竞争的意识有很重要的意义。最近几年我们学校参加了大学生电子设计大赛、博创杯嵌入式大赛等多项嵌入式竞赛,参赛结束后同学们都有较大的收获。
通过将课堂授课与教学实践相结合,有助于学生不仅可以通过课堂教学与实践扎实地掌握嵌入式系统的基本原理,又能够提高其动手实践、综合解决实际工程问题的能力。
4 结论
本文通过将嵌入式课程中的知识点进行系统梳理,引入软件与硬件相结合的设计思想;将课程理论教学与实验结合起来互为补充,使得实验室和课堂教学有机整合,从而实现了讲授与实验一体化的教学。利用经验学习循环圈理论指导嵌入式课程教学,让学生了解一个完整嵌入式系統的设计流程与工作机理,通过实际动手操作来学习硬件的体系结构和系统软件的原理。培养学生具有扎实的专业理论基础的同时,积累较丰富的软硬件协同设计及实践经验,并具有一定的创新能力和综合运用所学知识解决实际工程问题的能力,成为能够在通信领域中从事研究、设计、制造、运营以及在国民经济各部门和国防工业中从事开发、应用通信技术与设备的卓越工程技术人才。
参考文献
[1] 姚莉. “嵌入式”课程教学改革研究[J]. 湖北理工学院学报,2014,30(6): 68-70.
[2] 周航慈. 基于嵌入式实时操作系统的程序设计技术[M].北京:北京航天航天大学出版社,2011.
[3] 倪蕴涛. 基于嵌入式系统实验课程教学方法改革和教学思路探索的研究[J].牡丹江教学学院学报,2007,(4): 130-131.
[4] 聂晓文,肖堃,陆庆. 嵌入式课程实验体系教学改革探讨[J]. 实验科学与技术,2010,(2): 78-80.
嵌入式实验室 篇4
今天, 几乎所有的电子设备都有嵌入式系统的影子, 研究和开发嵌入式系统及其产品已经成为当前的热点之一。嵌入式技术是多学科交叉的产物, 在许多高校都开设了嵌入式系统的相关课程, 它涵盖了计算机组成、微机原理接口、操作系统、网络通信技术、人机接口、软件技术等多门学科的内容, 因此, 嵌入式系统的实验实践教学显得尤为重要。目前各个高校相继开设了嵌入式系统课程, 并逐步开始建立嵌入式系统实验室。这些实验室基本都是采用相应的硬件仿真设备来构建的, 但由于嵌入式系统硬件的种类繁多再加上资金的限制, 不可能在一个实验室包括所有种类的嵌入式仿真设备。虚拟实验作为传统实验的重要。下面将介绍一种基于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. 丰富的设计资源
4.1 Proteus资源
嵌入式系统的设计主要Proteus VSM (Virtual System Mode) 来完成。VSM是一个完整的嵌入式系统软、硬件设计仿真平台, 它包括智能原理布图系统ISIS、带扩展的ProSpice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。
4.2 Skyeye资源
4.2.1 CPU和开发板系列
目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU, 包括ARM7TDMI, ARM720T, ARM9TDMI, ARM9xx, ARM10xx, StrongARM, XScale等。目前SkyEye模拟的开发板包括基于Atmel91X40/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制作等整个过程。再有, 借此实验平台, 教师可以进行课题的创新或研究, 学生则可以进行自主电子设计和毕业设计等。
5. 试验实例
图3给出了一个Atmel AVR Tinyl6处理器、矩阵键盘和字符型液晶的组合运用的仿真系统实例。主要由Proteus提供的Tinyl6处理器、字符型液晶显示屏 (LCD) 矩阵键盘组成。图中模拟的情况是, 液晶的第一行显示预置的字符串信息“BUPT_Information”, 第二行第一列显示当前的按键值, 此时鼠标按下了数字健“6”。当鼠标按下其他的健时, 液晶的显示会同步更新, 如果采用实验箱来完成该实验则需要用到多个硬件模块, 而采用仿真方式可以很方便地动态模拟整个系统的构造和运行状况。
6. 结论
不难看出, 采用Proteus和Skyeye构建嵌入式系统虚拟实验室的方案具有比较明显的优势。虚拟实验室元器件模型丰富, 电路设计可靠, 系统软硬件调试方便, 图形化的仿真结果非常直观。另外, 基于Proteus和Skyeye的嵌入式系统虚拟实验室不存在元件损耗问题, 资金投入少, 系统维护简单, 它所能提供的实验内容非常全面, 便于有针对性的自行实验, 可有效地提高学生综合分析、排除故障、开发创新、解决实际工程问题的能力。
本文作者创新点:嵌入式系统主要包括单片机原理和以ARM为主的嵌入式系统开发, 它们知识架构是有浅入深的, proteus主要应用于单片机仿真设计而skyeye主要应用于ARM开发仿真。将它们完整的结合起来, 完善了嵌入式系统实验室的体系结构。
参考文献
[1]殷苏民邓英杰赵荣春刘素霞.基于Proteus的ARM虚拟开发[J].微计算机信息, 2008, 5-2:127-129
[2]万相奎:丁建平:秦树人.嵌入式系统及其典型开发模式[J].重庆大学学报, 2004, 26 (2) :16—19.
[3]李霞:徐建新:郁建强.实验室管理信息系统的应用[J].实验室研究与探索, 2005 (3) :47-48.
[4]马刚:李向仓.用Proteus与Keil整合构建单片机虚拟仿真平台[J].现代电子技术, 2oo6 (24) :129一l31.
[5]张文贵, 陈增川, 杨平, 等.建立个性化实验室加强大学生创新精神和工程实践能力的培养[J].实验技术与管理, 2008, 25 (5) :1-4.
[6]张淑玲.开放性电子信息工程实验室建设规划[J].湖北经济学院学报:人文社会科学版, 2007 (11) :7778.
嵌入式系统实验 篇5
实验(实习)名称
电机转动控制及中断实验 实验(实习)日期
2016.5 得分
指导教师 谢胜东
学院 计算机与软件 专业 计算机科学与技术 年级
2013 班次 3 姓名
叶正舟 学号
20131308072 实验名称
电机转动控制及中断实验 实验目的
(1)熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置
(2)编程实现 ARM系统的PWM 输出和I/O 输出,前者用于控制直流电机,后者用于控制步进电机。
(3)了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。
(4)掌握带有PWM 和I/O 的CPU 编程实现其相应功能的主要方法。实验环境
(1)ADS1.2开发环境(2)PC(3)串口线 实验内容及要求
学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM 的生成方法,同时也要掌握I/O 的控制方法。
(1)编程实现ARM芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速
(2)编程实现ARM的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。
(3)通过超级终端来控制直流电机与步进电机的切换。实验设计与实验步骤
(1)新建工程,将“电机转动控制实验”中的文件添加到工程(2)编写直流电机初始化数(MotorCtrl.c)(3)控制直流电机与步进电机 实验过程与分析
(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换
(2)A/D转换可以把电信号转换成数字信号来控制电机的转速。for(;;)
{ loop:
//if((rUTRSTAT0 & 0x1))//有输入,则返回
if(rPDATG&ZLG7289_KEY)//17键小键盘控制电机
{
*Revdata=RdURXH0();
goto begin;
}
Delay(10);ADData=GetADresult(0);
if(abs(lastADData-ADData)<20)
goto loop;Delay(10);count=-(ADData-lastADData)*3;
//(ADData-lastADData)*270/1024为ad旋钮转过的角度,360/512为步距角,//由于接了1/8减速器,两者之商再乘以8为步进电机相应转过的角度
if(count>=0)
{//转角大于零
for(j=0;j { for(i=0;i<=7;i++) { SETEXIOBITMASK(stepdata[i], 0xf0); Delay(200); } } } lastADData=ADData; } } 实验结果总结 利用A/D转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了A/D转换器对两个电机控制的切换。心得体会 Game Boy Advance游戏以其独特的魅力吸引了大量的游戏爱好者。相对Game Boy游戏的早期版本,如Game Boy、Game Boy Color游戏,Game Boy Advance游戏需要耗费庞大的系统资源,随着嵌入式处理器处理能力的迅猛发展,GBA游戏模拟器在嵌入式处理器的移植、运行成为了可能。模拟器的移植工作是本论文中最大的内容之一,移植工作显得非常重要,它决定着这个论文是否能顺利进行下去。但是移植过程中会出现许多不确定因素,因素是多样的,有被移植代码的因素,也有来自SDL本身接口函数处理的因素,因此被移植代码是否最终能够在系统中正常运行将遇到许多障碍。由于windows下的开发工具非常方便,因此我们的思路是先抛开SDL的移植,在去掉windows的API接口后先能够确保代码在windows上编译通过, 然后再将代码进行SDL移植,虽然看似多走了一段路,但这样将移植风险降到了最低。 Game Boy Advance模拟器能够正常在嵌入式系统下运行, 其移植过程是一个充满挑战的旅程,我们选择VC++6.0,通过VC++6.0 windows开发工具的调试修改,使得GBA游戏能够在windows下运行,最终能够移植到嵌入式系统下运行。 2 Game Boy Advance在SDL上的移植 由于Game Boy Advance模拟器是开源代码,所以在网上可以找到Game Boy Advance模拟器的部分代码,但这些代码都只能在系统上编译以及对GBA文件进行解码,但是调用windows的AIP函数会出错,所以没有游戏运行窗口、按键响应、音频播放等基本功能,也就是说,一般用网上的开源源代码编译出来的可执行程序不能直接运行GBA游戏。 SDL是一个用C语言编写的免费跨平台多媒体开发库,使用LGPL许可证,可用于游戏、游戏开发工具、模拟器、样本演示、多媒体应用等。[1]为了添加人机交互界面,我们直接将工程中的windows的API函数抛弃,与跨平台的SDL相结合起来, 调用SDL中的一些库函数,从而实现对Game Boy Advance模拟器的移植。 2.1 SDL库函数的添加 先将开源源代码工程中的main.cpp文件更名new Main.cpp,把Game Boy Advance整个工程文件和new Main.cpp文件添加到VC++6.0的工程中,当执行编译时会产生许多错误,部分错误如下: 可以看出,编译出错主要是因为源工程是直接调用win-dows下API函数,但我们在移植初将这些API函数的头文件删除了,部分删除内容如下: 所以,如果要进行SDL移植,就要加上SDL库和模拟器源代码的头文件,添加内容如下: 至此,Game Boy Advance模拟器开源源代码成功用SDL移植成无人机交互界面的模拟器。 3为Game Boy Advance模拟器增加人机交互界面 当Game Boy Advance在Windows上利用SDL实现了无人机交互界面移植成功后,模拟器还只是“又聋又哑”,还需要添加人机交互界面才是一个完整的模拟器。这个过程包括了3大部分的内容:游戏画面、键盘响应、声音播放。 3.1窗体设计 通过SDL建立窗口界面,在new Main.cpp的main函数里添加创建窗口语句,就可以建立在windows下的窗口,部分程序如下: 3.2加入键盘响应 为了能响应到按键事件,我们在new Main.cpp文件中利用SDL对按键事件响应的判断,自行编写按键事件响应函数,从而可以达到对按键进行响应,程序如下: 3.3加入声音播放引擎 到目前为止,我们还剩最后的声音处理了,怎样处理声音这一块呢?借助SDL库,将解码声音播放出来,我们最终解决了这个问题。在原本new Main.cpp中被注销掉的代码位置中填入SDL声音引擎。 首先在ZSC_system Sound Init填入内容下,其中是SDL库对声音驱动的初始化代码如下: 在结构中,定义了声音播放的回调函数ZSC_sound Callback,该函数将游戏中解码的音频数据sdl⁃Buffer不断拷贝到播放数据流中。部分程序如下: 经过分析,所播放的音频数据是通过Write Sample函数来实现解码程序和播放程序相互连接的,由Write Sample函数代码和Write Sample在sound.c中被调用可以看出来Write Sample函数是声音处理的关键函数,部分程序如下: Write Sample中,当音频数据采集到AUDIOBUFFER的长度后,音频数据通过play_sample播放出去。我们将play_sample填入代码,将采集到的音频数据存储在final_wave中,由回调函数waveout播放出去。部分程序如下所示:void play_sample(signed char*data L,signed char*data R) 因为原代码中的close_audio用来关闭声音设备,而SDL的SDL_Close Audio()函数可以用来实现对声音设备的关闭,因此在close_audio中填入代码: 至此模拟器能够显示游戏画面、播放游戏音乐、响应用户指令,已经能够运行在凌动平台下了,有了上述基础下一步只需要做一些小小改动即可运行在嵌入式系统,如linux系统、 Win CE等等。移植Game Boy Advance模拟器运行游戏如图1所示: 4结束语 论文成功的将Game Boy Advance游戏模拟器成功移植到凌动平台上。通过测试,支持大部分网络下载的GBA文件格式的游戏。游戏画面清晰流畅,声音,按键操作可靠。论文虽然达到了预期目的,但仍有许多可以改善的地方,如在游戏运行中存在声音有轻微不流畅,画面有轻微卡、顿的现象,将在后续的研究过程中进行改进。 摘要:论文将GameBoyAdvance游戏模拟器移植到嵌入式系统中。借助开放源代码的跨平台多媒体开发库SDL,实现对现有基于PC的GameBoyAdvance模拟器源代码进行移植,包括对窗口的设计、按键事件的判断和音频播放等人机交互界面设计,最终实现了GameBoyAdvance游戏在凌动平台上的运行。 关键词:GameBoyAdvance游戏,SDL库,嵌入式系统 参考文献 [1]王园园,高明煜,曾毓.基于SDL库的嵌入式平台中文显示技术研究[J].计算机系统应用,2009(4). [2]顾叶锋,付宇卓,鲁欣.基于ARM Linux的Game Boy模拟器移植和优化研究[J].计算机仿真,2005(9). [3]赵成.嵌入式系统应用基础:基于S3C2410A的SKYEYE的仿真与实践[M].北京:国防工业出版社,2012. 经研究表明,雾霾主要由二氧化硫、氮氧化物和可吸入颗粒物组成,前两者为气态污染物,最后一项颗粒物是加重雾霾天气污染的罪魁祸首。它们与雾气相结合,使天空瞬间变得灰蒙蒙。北京监测的是颗粒物PM2.5,也就是直径小于2.5微米的污染物颗粒。这种颗粒物本身既是一种污染物,又是重金属、多环芳烃等有毒物质的载体。 从20世纪60年代开始,西方发达国家和地区的研究人员就对如何设计出针对性强、代表性好、目的性强的空气质量监测网络进行了大量研究[2,3,4,5]。监测范围从国家级到城市区域各种范围尺度的网络,研究对象包括了常规监测、交通监测、工业区监测等一系列不同目的的监测网络。 美国进行监测网络设计方面的研究已有很长时间,规则和技术相对完备和成熟,我国的空气质量监测起步较晚。进口其他国家的空气质量监测设备,价格非常昂贵,达上百万元,研制和开发适合我国自己的空气质量监测设备刻不容缓。将空气质量监测与嵌入式实验紧密结合,培养大学生研制市场急需的设备,不仅提高学生的实践能力,还为培养卓越工程师[6]探索新的教育模式。 无线传感网络(Wireless Sensor Network)是感应、通信和计算三大技术相结合的网络,是一种全新的信息获取和处理技术。近年来IC集成度的提高、传感器的微型化和集成化、通信技术的进步以及电池技术的改进,使微小的传感装置可同时具有感应、无线通信和处理信息的能力。此类装置不仅能够感应及侦测到空气质量的变化,还可处理收集数据,并将处理后的数据以无线传输的方式发送到网络中的汇聚节点。 借助于内置多种多样的传感器,无线传感网络节点可以测量其周围环境中的温度,湿度,光强,噪声,声压,烟雾,粉尘,CO2,VCO(有机物挥发气体),CO,SO2,地震波,土壤成分及移动物体的大小和运动速度等诸多我们感兴趣的化学量和物理量。在通信方式上,虽然可以采用有线、射频和红外线等多种形式,但一般认为短距离的无线低功率通信技术最适合传感网络使用,这样的网络一般称作无线传感网络。 1 基于空气质量监测的嵌入式实验系统架构 本实验系统架构如图1所示采用两级节点,由上位机或协调器和终端节点构成,协调器即教师机具有3G通信的功能,安装在嵌入式实验室教师机上,能接收终端节点发来的信号,并能向终端节点发送命令。学生实验设计和调试的设备就是终端节点,若实验成功可以将学生所在位置的环境信息发送到教师机主设备上。 本实验所实现的无线传感网络终端节点系统由单片机控制,因而具有一定的信息处理能力,可以根据指定的配置参数进行工作。它向外发送的信息也比较丰富,包含节点学生名称和各传感器的输出数值等。 本实验的意义在于,它通过使用无线的方式进行通信和组网,实现了空气环境信息的实时监测和通信,实现了嵌入式系统理论和实际应用的紧密结合。 2 基于空气质量监测的嵌入式实验的特点 2.1 低功耗 基于空气质量监测嵌入式实验的终端节点一般由电池供电。而此类无线节点在其使用过程中,不能经常给电池充电或更换电池,一旦电量用完,节点也就失去了作用。因此采用系统级低功耗的设计方法降低软件、硬件每个模块不同状态的功耗,从而降低终端节点的总功耗。本项目终端节点可以采用电池或太阳能供电方式,长久且方便地解决终端节点的供电问题。 2.2 与物理世界紧密交互 基于空气质量监测的嵌入式实验终端设备与物理世界紧密耦合,在无人值守的情况下,终端设备应该具有主动感知外界环境,对环境的变化做出实时或定时反应,并根据物理环境的改变决定自身系统状态的能力。 2.3 网络自组织、自维护 基于空气质量监测的嵌入式实验决定了其必须采用自组织的工作方式选择就近的上位教师机。终端传感器节点常常采用随机部署的方式,节点的位置和相互邻居关系不能预先确定,而且节点可能由于电源耗尽或其他原因而失效。 因此基于空气监测的嵌入式实验必须能够通过终端节点之间的协调,自动进行网络的组织和维护,以适应不断变化的自身条件和外部环境。 2.4 节点数量众多、分布密集 为了对一个嵌入式实验室执行监测任务,往往会有大量的传感器节点。通过节点的较密集的分布,可以使在同一实验室内存在大量的冗余节点,节点的冗余性可以使系统具有很强的容错性能,由此降低对单一传感器节点的可靠性要求。 2.5 基于空气监测嵌入式实验使用的灵活性 由于不同时期实验室的环境不同,空气中构成成分差别较大,例如在冬天或夏天,传感器根据需要可以灵活地裁剪使用。另外,可以模拟不同的应用场所,有的需要大范围测试,需要通信的距离长;有的需要很短的距离即可,因此,根据需要可以选择不同的通信模块如433 MHz,2.4 GHz等进行通信。监测的有关项目内容包括了CO,PM2.5,温度,湿度,NO2,SO2,O3,VCO等多种不同指标。 3 基于空气质量监测嵌入式实验的终端节点系统架构 基于空气质量监测的嵌入式实验终端节点系统架构如图2所示。主要由传感器、电源、控制器和通信模块构成。传感器由PM2.5,CO,NO2,SO2,O3,VOC,烟雾传感器和温湿度传感器等构成,传感器类型可以根据需要进行可裁剪使用,留有相应的传感器接口,根据不同的测量环境空气质量按需采用。射频模块由433 MHz,2.4 GHz等模块构成,根据特定的应用需求可以进行灵活使用。 为保证空气质量监测终端节点系统的低功耗,采用系统级低功耗和数据压缩的方法,从软硬件两方面,认真设计、研究和选择每个模块的功耗,进而研究系统的低功耗。并通过数据压缩等方法降低系统功耗。延长终端节点的电池工作时间。 4 结束语 空气质量监测的前端设备大多是嵌入式设备,因此这些设备的研制和开发嵌入式实验具有现实意义和社会意义。基于空气质量监测的嵌入式实验系统,既能满足嵌入式课程的需求,又能将理论与当前急需的空气质量监测紧密联系,使理论与实践紧密结合。提高大学生的实践能力,为培养卓越工程师探索新的教育模式。 摘要:空气质量监测是当前环境保护的一项重要内容。建立基于空气质量监测的嵌入式实验系统架构,采用空气质量污染的主要成分如CO,PM2.5,温度,湿度,NO2,SO2,O3,VCO和烟雾等传感器,并进行系统级低功耗设计、信号调理、统一接口和协议配置,建立方便可裁剪的智能传感器模块,将嵌入式系统与当前空气质量监测紧密结合,探讨新的教育模式。 为此, 在教学设计时, 必须依据行业的技术状况及职业岗位要求, 按照职业资格标准, 按照人才订单要求设计教学环节, 根据学生的能力设计选择教学环节。建立嵌入式实验室和实训基地, 可以通过实验, 使学生对嵌入式系统的设计与开发过程有更深地体会。 1 嵌入式实验实训环境需求分析 高等职业教育主要培养高素质技术技能人才, 在人才的培养过程中, 能力的培养具有重要的地位。技术、技能培养需要环境, 需要系列实践教学环节来保障。在高职教育中, 实践教学环境的设计与实施、实验实训基地的设计与建设, 是高职教育教学改革的一项重要任务。 实训基地的主要功能是实现课堂无法完成的技能操作, 有目的、有计划、有组织地进行系统、规范, 模拟实际岗位群的基本技能操作训练。在建设工程中要坚持下面各主要原则: 1) 创造真实的实训环节, 提高学生实习效果。 2) 实训设备要体现专业高技术含量的特点, 与地区经济和科技发展水平相适应。 3) 注重实训基地的开放性, 扩大与地方其它单位的合作, 扩大基地使用范围。 4) 扩大实训基地的通用性, 保证教学和实践的切实需要。 2 嵌入式实验实训室规划与建设 高职院校嵌入式实验实训室规划与建设如表1所示。 3 实验实训室使用与管理 实验实训室是学生技能训练的场所, 进行现场教学和实验教学的课堂, 开展社会培训服务的基地, 是办好学校的基本条件之一[4]。所以实验实训室的使用与管理显得尤为重要。在实验实训室使用上应采取开放形式, 按学生对实验实训室的利用情况对开放实验实训室可以分为以下几种形式: 1) 全天开放实验实训室:是实验实训时间、内容、教学形式等对学生24小时开放, 学生可以自选实验实训设备和实验实训题目, 自己安排时间, 独立或在老师指导下完成实验。 2) 定时开放实验实训室:实验实训室每天在一定得时间内开放, 学生在实验实训课时不太明白或没做完的实验等都可以在开放实验实训室中继续做。 3) 综合开放实验实训室:在该实验实训室既可做虚拟实验实训, 又可完成实际操作性实验。 4) 第二课堂开放实验实训室:学生可在该实验实训室完成自己设计的小实验、小制作、小发明等。 实验实训室的管理上首先要制定规章制度, 完善实验实训考核办法。规章制度有《实验实训室安全管理规定》, 《实验实训室仪器设备管理及使用方法》, 《开放实验实训室的考核办法》, 《事故责任与损坏、丢失赔偿制度》, 《实验实训室学生负责制管理办法》等。开放实验实训室的管理可分以下几种方式。 1) 全部由实验实训员管理:实验实训所用的仪器, 实验实训室的安全、卫生等都有实验员负责。 2) 实验实训员和学生共同管理:可以分为两种情况。一种是以学生为主体, 实验实训员辅助管理。另一种是以实验实训员为主体, 学生辅助管理。 3) 完全由学生管理:做实验实训所需的仪器等都是学生负责管理。要求学生必须负责心非常强, 踏实认真, 一丝不苟。 参考文献 [1]姜大源.职业教育学研究新论[M].北京:教育科学出版社, 2007. [2]向丽.工作过程理念下职教实践教学模式的解构与重构[J].职教论坛, 2008 (8) . [3]于明.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社, 2007. 1 实验项目设计 设计的平台提供串口、USB接口、带电气隔离的CAN-bus接口、I2S音频接口、以太网接口等, 满足各种应用要求, 让学生全面深入学习μC/OS-II、WinCE和Linux操作系统, 同时根据装置所提供的大量源代码及详细的教学文档, 能加快学习进度。具体的实验项目包括μC/OS-II、WinCE和Linux嵌入式实时操作系统的移植, Linux开发环境建立及内核编译运行实验, Linux文件系统实验, Linux内核驱动程序开发实验, uC/OS-II任务管理和任务间通讯实验, Nand Flash读写实验, 行列扫描方式的矩阵键盘实验, L C D控制器实验, D M A读写实验, ADC实验;I2C串行EEPROM读写实验, I2S相关实验, LED跑马灯实验, 定时器中断实验, IDE硬盘读写实验, UART异步串行口通讯实验, W A T C H D O G实验, C A N总线通讯实验, 录音和放音实验, 以太网 ( (UDP、TCP/IP和WebServer) ) 相关实验, USB DEVICE通讯实验, LCD显示实验, USB图像采集传输实验等。 2 装置硬件设计 系统的硬件平台主要是由嵌入式处理器、USB摄像头模块、存储器、以太网接口、LCD接口、串行接口电路等组成。系统硬件结构框图如图1所示。 (1) CPU:Samsung的S3C2440A-40处理器, 其是一款由Samsung半导体公司为手持设备和各种多用途应用设计的, 低功耗、高集成度的微处理器, 采用289脚FBGA封装, 包含ARM920T内核, 工作频率达406MHz。 (2) 存储器设计。Nand Flash存储器:采用1片Nandflash同时作为启动ROM和系统程序保存R O M。S D R A M:用于设置程序堆栈和存放各种数据变量等。 (3) 以太网接口设计。10Mbps低功耗嵌入式专用以太网网络芯片CS8900A-CQ3, 接口为标准RJ45插座, 集成网络变压器, 安全可靠 (4) U S B接口。采用C y p r e s s公司的SL811HS芯片作为USB接口芯片, 它是一种USB主机控制器, 它能与全速或低速USB外围设备通信, SL811HS采用3.3V供电, 其端口驱动能力但是可以兼容5V的电平逻辑。 (5) 串口R S 2 3 2是应用最为广泛的UART接口, RS232接口采用的是最简单的三线连接 (TXD, RXD, GND) , 通讯波特率为9600b/s。 (6) 音频接口:采用IIS接口芯片UDA1341。 (7) 摄像头:采用OmniVision公司的O V 5 1 1。 (8) LCD接口:本文选用LTS350Q1-PD1LCD显示屏, 为3.5寸的TFT, 分辨率为320×240, 16位色彩。 3 装置软件设计 本实验装置的嵌入式操作系统有μC/OS-II、WinCE和Linux操作系统, 综合考虑后, 本文选用嵌入式Linux系统, 本文主要介绍嵌入式Linux操作系统的移植, 摄像头模块软件和LCD显示模块软件。 3.1 嵌入式Linux操作系统的移植 3.1.1 嵌入式Linux交叉环境建立 交叉编译环境是一个由编译器、链接器和解释器组成的综合开发环境, 交叉编译工具主要由binutils、gcc和glibe几个部分组成。建立针对ARM的交叉编译环境主要过程如下: (1) 下载源文件、补丁和建立编译的目录; (2) 建立内核头文件; (3) 建立二进制工具; (4) 建立初始编译器; (5) 建立链接库; (6) 建立全套编译器。 3.1.2 嵌入式Linux内核移植 在Linux系统内核代码中有arch目录, 其中包括了不同平台的代码, 与体系结构相 关的代码都存放在arch下面相应的目录下面。本系统采用arm开发平台, 所以依赖ARM硬件平台的代码都在arch/arm下面。根目录下面只需要修改Makefile文件, 该文件主要任务是产生vmlinux文件和内核模块。 配置命令可以选用make config, make oldconfig, make menuconfig或make xconfig 其中一个。 编译内核需要创建内核依赖关系、创建内核镜像文件和创建内核模块。首先执行make dep命令, 读取配置过程生成的配置文件, 来创建对应于配置的依赖关系树;接着执行make clean命令删除前面步骤留下的文件, 以避免出现一些错误;然后便可以生成所需要的内核文件了, 用m a k e zlmage来实现得到可移植的内核, 内核文件传至开发板便可以通过BootLoader加载运行。 3.2 摄像头模块软件 3.2.1 OV511摄像头驱动程序加载 采用Linux系统采用模块化的设计, 在进行OV511摄像头的驱动研究时, 必须要在嵌入式Linux内核中加载Video4Linux模块和OV511设备的支持。本系统采用动态加载方式, 加载过程如下: (1) 在嵌入式Linux的内核源码目录中, 执行命令make menuconfig; (2) 选择Multimedia device-->下的video for linux, 加载video4linux模块。 (4) 保存刚才的配置, 退出; (5) 执行“make dep”, “make zImage”, “make modules”, 然后就在/driver/usb目录下生成ov511.o, 同时生成的zImage自动放在/tftpboot目录下; (6) 执行“insmod ov511.o”, 把USB摄像头的驱动加载进系统。 3.2.2 视频采集软件 在Linux内核中, 提供了视频类部分的标准是V4L, 这个标准可用于USB摄像头编程。 (1) 初始化视频设备。 在Linux系统中, 摄像头被当作一种特殊的文件, 即设备文件来处理, 在本文中是/dev/v4l/video0, 让摄像头工作首先要做的是调用系统函数open打开设备;打开设备以后, 还要获得视频图片的属性, 这里调用I/O通道控制函数ioctl () 来实现; (2) 设定norm信息。 norm参数的定义在videodev.h头文件中有定义, 分别是:VIDEO_MODE_PAL、VIDEO_MODE_NTSC、VIDEO_MODE_SECAM、VIDEO_MODE_AUTO。 (3) 设定mmap信息。 视频采集有两种方式:内存映射和直接从设备文件读取。这里采用mmap方式。首先, 调用系统函数ioctl () 获得内存映射的buffer信息;然后用vd->map指针指向这部分内存; (4) 采集视频帧。 主要通过三个函数来实现获取视频帧信息, 分别是: device_next_frame () ;//等待直到获取下一幅 device_grab_sync () ;//得到一幅图片 image=device_get_address () ;//获得图片的指针 (5) 输出视频数据。 当利用device_get_address () 函数获得frame的存放位置以后, 就可以输出视频数据了。视频数据可以直接输出到framebuffer, 或者可以利用LCD显示, 本文是把数据写进文件。 3.3 LCD驱动程序开发 3.3.1 编写初始化函数 初始化的功能主要有初始化LCD控制器, 写相关寄存器设置显示模式和颜色数, 为LCD分配显示缓冲区, 用kmalloc () 函数分配一段连续的空间, 缓冲区分配在SDRAM中。 3.3.2 编写各成员函数 对显示设备/dev/fb主要有读/写操作、映射 (map) 操作和I/O控制操作。 (1) 读/写 (read/write) /dev/fb操作:相当于读/写屏幕缓冲区。 (2) 映射操作:在Linux中工作与保护模式, 每个应用程序都有自己的虚拟地址空间, 应用程序不能直接访问物理地址, 而是由file_operations结构中提供了mmap函数, 将文件的内容映射到用户空间。 (3) I/O控制:对于帧缓冲设备, 通过对文件ioctl的操作读取和设置显示设备的分辨率、显示颜色数和屏幕大小等屏幕参数。Ioctl的操作也是有底层的驱动程序来完成。 4 结语 本装置采用全部免跳线设计, 免去烦琐而且容易出错的硬件跳接, 简单易用, 不会出现硬件调试设定的故障, 降低了学生的使用难度, 非常方便学生实验使用, 同时, 提供丰富的外围模块和上机实验指导, 可以满足大部高分职嵌入式A R M教学实验的要求。 参考文献 [1]宋宝华.Linux设备驱动开发详解[M].人民邮电出版社, 2008, 2. [2]周立功.ARM嵌入式系统基础教程[M].北京航空航天大学出版社, 2008, 9. 在移动互联网时代和物联网概念盛行的今天,移动互联网和物联网应用在我们身边无处不在,而主导移动互联网和物联网应用发展的核心就是嵌入式系统技术,嵌入式系统技术中的信息安全、网络通讯、RFID(电子标签)、管理、统计、分析、采集等等一系列核心技术,都淋漓极致的体现在移动互联网和物联网的应用中,例如,ARM微处理器是一种低功率高性能的32位RISC微处理器,目前ARM微处理器已经深入到无线通信、网络应用、工业控制、消费类电子产品、智能家居和汽车数码等各个邻域。因此,学习和掌握好嵌入式系统的开发技术越来越重要了。 2 嵌入式系统教学现状 但大多数嵌入式系统的开发,由于目标机和宿主机使用的是不同体系结构的处理器,因此无法在宿主机运行和测试目标程序,通常需要建立一个交叉编译环境,将交叉编译后的可执行的二进制文件下载到目标平台上运行。因此使得只能在目标操作系统移植系统设计完成之后,才能进行嵌入式系统软件的开发和调试。鉴于嵌入式系统软件开发的特点,所以嵌入式系统教学方面就有可能存在下面的一些问题:(1)实验室需要购置大量有关嵌入式开发的硬件设备,甚至还需要配置逻辑分析仪、在线调试器等,这些组合实验设备需要花费数万元,甚至可能达到几十万元。(2)由于嵌入式开发技术的迅速发展,往往实验室硬件的更新的速度跟不上社会上的需求发展速度,从而造成嵌入式系统教学内容的陈旧落后,和社会需求的人才的知识结构脱节。如果实验室更新硬件设备的配置,又要花费大量的经费,教学的成本会较高。(3)部分学生因为没有购买嵌入式开发的硬件设备,就会造成课余时间因没有具备相应的硬件开发环境而不能深入嵌入式系统开发技术的内容,也使得嵌入式系统的实验教学只能局限于在实验室和在实验课堂上学习,从而使得教学的效果大打折扣。许多和硬件有关的实验课程都遇到以上相似的问题。 3 虚拟仿真技术 综上原因分析,我们希望使用一种介于嵌入式操作系统和硬件之间的嵌入式仿真系统即仿真软件,来模拟各种硬件设备,使得开发者和学习者在此平台上可模拟各种硬件设备,从而获得一种高效且廉价( 甚至是免费) 的学习和开发环境。 虚拟仿真技术是继数学推理与科学试验之后认识世界自然规律的第三类基础方法。虚拟仿真教学是指利用实物和计算机软件共同模拟出真实的情境,让学生在模拟的情境下进行探究和学习。这种教学方法生动形象,很接近现实工作场景,有利于提高学生兴趣,使学生在短时间内进入相应情境,真实的体验在现实生活中进行操作的感觉,以达到更快掌握操作技能的目的,而且这种教学方法可以利用计算机软件的优势创造出灵活多样的工作场景,使学生掌握更多的操作技能。目前有很多软件,比如ARM DS5、QEMU、Skyeye等都为嵌入式系统的教学提供了仿真的条件。 本研究借助ARM DS5 软件来构建嵌入式仿真实验平台,将原来需要相应的硬件设备才能进行的实验教学迁移虚拟仿真实验平台上进行模拟的仿真教学,并围绕该实验平台开展嵌入式系统的教学方式、方法的改革尝试。 4 ARM DS-5与嵌入式系统 ARM DS-5 提供具有跟踪、系统范围性能分析器、实时系统模拟器和编译器的应用程序和内核空间调试器。这些功能包括在定制、功能强大且用户友好的基于Eclipse的IDE中。借助于该工具套件,可以很轻松地为ARM支持的系统开发和优化基于Linux的系统,缩短开发和测试周期,并且可帮助工程师创建资源利用效率高的软件。ARM DS-5 支持开发所有基于ARM内核的芯片,如图1所示。 ARM DS-5 支持裸机程序、u-boot、Linux和Android Ker⁃nel、驱动、应用程序开发,以及Freescale MQX、Micrium u C/OS、Keil RTX、ENEA OSE、Free RTOS、Express Logic Thread X等实时操作系统。 RTSM是ARM DS5硬件平台的一个模拟模型,其中包括运行复杂的操作系统和应用程序所需的处理器、内存控制器和外设。借助于RTSM,不需要任何硬件目标就可以开发ARM Linux应用程序。如其中的Cortex-A8 RTSM模拟模型,可以:(1)在典型的桌面PC上,模拟速度超过250MHz;(2)将使用主机PC上的资源模拟外设接口,包括LCD控制器、键盘、鼠标、触摸屏、UART和以太网控制器。RTSM运行效果图如图2。 5 基于嵌入式仿真实验平台的案例教学 下面是选取嵌入式系统实验教学中比较经典的“重新编译内核”实验,在ARM DS5 的嵌入式仿真实验平台(RTSM)上进行虚拟仿真的实验教学,部分实验步骤如下: 6 结束语 通过上面的实验教学案例可知,我们可以不需要相应的嵌入式开发的硬件设备,而借助基于ARM DS5 的嵌入式仿真实验平台也可以实现相同的嵌入式系统的实验教学的效果。我们可以利用基于ARM DS5 的嵌入式仿真实验平台作为嵌入式系统教学的主要辅助手段,可以节约学院对实验教学硬件设备的投入和更新成本,教师可以围绕该实验平台开展嵌入式系统教学方式、方法的改革,使得嵌入式系统的实验教学更容易开展和实施,也拓展了学生学习嵌入式系统的实验教学的时间和实验教学的空间,从而更大程度上激发了学生学习嵌入式系统技术的兴趣,提高了嵌入式系统课程的教学质量。 摘要:针对当前嵌入式系统在教学的过程中存在一系列问题,该文研究借助ARM DS5的嵌入式仿真实验平台,对嵌入式系统课程的实验进行虚拟仿真教学尝试。嵌入式仿真实验平台为学生提供了高效且廉价的学习和开发环境,为教师进行嵌入式系统的教学方式、方法的改革尝试提供了更多的条件。 关键词:嵌入式系统教学,仿真实验平台,ARM DS5 参考文献 [1]鲍颖力.基于虚拟机QEMU的嵌入式全系统仿真测试环境的研究与实现[D].上海:上海交通大学,2007. [2]陈宇星,张力,谢发荣.基于QEMU的嵌入式系统仿真环境的构建[J].微处理机,2012. [3]张雪燕.嵌入式仿真系统在嵌入式开发中的应用[J].宁波广播电视大学学报,2006(1). [4]宋靖,吴庆波.嵌入式系统仿真运行环境Sky Eye应用研究[J].微处理机,2007(2). [5]姚俪.嵌入式仿真系统的研究与应用[J].电脑知识与技术,2008(26). 【嵌入式实验室】推荐阅读: 嵌入式实验一实验报告11-18 嵌入式系统实验报告三07-06 嵌入式系统开发实验一07-28 江苏科技大学嵌入式实验报告10-28 嵌入实验09-29 嵌入式07-15 嵌入式服务07-21 嵌入式模块06-07 嵌入式人才06-13 远程嵌入式07-08嵌入式实验室 篇6
嵌入式实验室 篇7
嵌入式实验室 篇8
嵌入式实验室 篇9
嵌入式实验室 篇10