嵌入式系统的基本原理范文

时间:2023-11-16 17:29:36

导语:如何才能写好一篇嵌入式系统的基本原理,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

嵌入式系统的基本原理

篇1

关键词 嵌入式系统;单片机;计算机系统

中图分类号:G642.3 文献标识码:B

文章编号:1671-489X(2017)08-0085-02

Content Setting of Embedded System Curriculum//XU Jinglei

Abstract The MCU Course is combined with embedded system courses, taking the 51 as one of the most simple embedded processor

to learn, while learning a more advanced embedded processor STM32.

Key words embedded system; single-chip; computer system

1 嵌入式系统的定位

目前对于嵌入式系统的理解各有不同,这种情况直接导致嵌入式课程在内容设置方面的区别。通过分析不同观点,可以得到合适的指导原则。

一种观点认为,嵌入式系统是非PC系统,有计算机功能,但不能称之为计算机设备或设备。它是一种以软件和硬件为中心的专用计算机系统,可应用于功能、可靠性、成本、体积、功耗等方面有严格要求的场合。简单地说,嵌入式系统的硬件和软件联合使用,仿照BIOS的工作方式,具有自动化程度高、软件代码小、响应速度快的特点,特别是具有实时多任务的功能[1]。嵌入式系统主要由嵌入式处理器、相关支持硬件、嵌入式操作系统和应用软件系统组成。

这种观点看似面面俱到,实则主次不分,没有指出嵌入式系统的本质,其中把嵌入式系统称为专用计算机系统更是错误的,因为事实上,嵌入式系统也可以作为通用计算机系统。

另一种观点认为,嵌入式系统就是ARM体系结构、ARM指令系统、S3C2410嵌入式微控制器及嵌入式系统分析和设计等内容[2-3]。要了解嵌入式操作系统的进程、进程调度、进程间通信机制及嵌入式操作系统的其他功能,掌握嵌入式操作系统LINUX的基本命令,LINUX操作系统下应用程序的开发与调试,LINUX操作系统驱动程序的调试。

这种观点混淆了嵌入式系统和嵌入式操作系统的区别,实质是在讲如何使用LINUX嵌入式操作系统,而这只是嵌入式系统的一小部分。

综合以上观点,可以看到对于嵌入式系统的定位比较混乱,正确的定位该以计算机系统的核心单元处理器为准,以处理器的最小尺寸为依据,把整个计算机系统分为三大类:服务式、桌面式、嵌入式。

1)服务式指的是服务式计算机系统,提供高等的计算性能,采用服务式处理器,如网站服务器、超级计算机;

2)桌面式指的是桌面式计算机系统,提供中等的计算性能,采用桌面式处理器,如台式机、笔记本;

3)嵌入式指的是嵌入式计算机系统,提供低等的计算性能,采用嵌入式处理器,如手机、平板。

这种分类方法只以处理器的最小尺寸为依据,标准客观清晰,尺寸越小性能越低。处理器的最小尺寸指的是同型号前提下的最小封装。事实上,嵌入式的词义本身也意味着尺寸小,以便嵌入到其他设备。

至于每类计算机系统要做成通用还是专用,要根据实际需求而定。如手机这个嵌入式系统,发展初期是专用的,到智能手机时期,已经是通用系统了。

简单说,嵌入式系统是采用嵌入式处理器的计算机系统。嵌入式处理器又称为单片机、微控制器、微处理器。嵌入式处理器包含一切小尺寸的处理器,如51、61、AVR、PIC、ARM、DSP、FPGA等。

2 单片机和嵌入式系统的统一

单片机是一种集成电路芯片,包含大规模集成电路技术的CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能,有的还包含显示驱动电路、脉宽调制电路。单片机是一个小而完善的计算机系统,广泛应用于工业控制领域,从8位单片机发展到目前32位MCU。

单片机,毫无疑问,也是一种小尺寸的嵌入式处理器。采用单片机构成的计算机系统,也是一种嵌入式系统。单片机的词义本身也意味着在单个硅片上集成了尽可能多的部件,以便实现尺寸小的目标,这个特征也是所有嵌入式处理器的特征。因此,单片机和嵌入式可以统一化,或者说,单片机是嵌入式处理器的一个别称。

目前,单片机课程普遍以51为主,这容易造成一种错误认识:单片机就是51。事实上,单片机的内涵要大得多。为了理清关系,可以把单片机课程合并到嵌入式系统课程,把51作为一种最简单的嵌入式处理器进行学习,同时学习一种较高级的嵌入式处理器STM32,相互对照,以便树立正确的嵌入式系统的概念。

3 嵌入式系统的教学方向

嵌入式系统学习的内容很多,需要设定若干教学方向。首先,要明确的是学习嵌入式系统的目的是如何使用,而不是制造。具体说就是不制造嵌入式处理器,不制造嵌入式操作系统,而是利用现有嵌入式处理器设计电路,或利用现有嵌入式操作系统编制程序。其次,要明确有无操作系统,这是设定教学方向的依据。

如果没有操作系统,则需要在程序设计中直接操作各个硬件寄存器,和硬件直接打交道,程序和硬件直接相关,称为嵌入式系统的硬方向。一个嵌入式处理器是否具有操作系统不是随意的,因为操作系统属于额外代码,对嵌入式处理器的性能是有要求的。若嵌入式处理器的性能较低,勉强运行操作系统,也是没有意义的,不如裸机运行快。这方面的嵌入式处理器有51、61、STM32等,学习的重点在于处理器本身。嵌入式系统的硬方向,其课程名仍称为嵌入式系统。

如果有操作系统,则程序设计中无须直接操作各个硬件寄存器,不和硬件直接打交道,直接操作硬件的工作由操作系统(含驱动程序)完成,程序可以做到和硬件无关,只需和操作系统(含驱动程序)软件接口,称为嵌入式系统的软方向。一个嵌入式处理器是否具有操作系统不是随意的,性能较高的嵌入式处理器,如主频400 MHz以上的S3C2410,其内部结构已经复杂到让直接操作硬件变得不现实,必须采用嵌入式操作系统进行开发,如Linux、Android、iOS,学习的重点在于操作系统,而不是处理器本身。嵌入式系统的软方向,其课程名可以称为嵌入式操作系统。

4 嵌入式系统的内容设置

嵌入式系统,作为嵌入式系统的硬方向,课程内容应该是学习不带操作系统的嵌入式处理器,学习的重点在于处理器本身的细节,为进一步学习嵌入式操作系统建立一个扎实的硬件基础。没有这个环节,就难以理解操作系统的一些硬件概念。

嵌入式系统课程主要培养学生了解有关嵌入式系统的基本原理、设计方法以及嵌入式系统的最新发展,初步掌握嵌入式系统开发的过程和常用方法。通过本课程的学习,要求学生掌握嵌入式系统的基础概念、基本原理、开发流程和步骤、嵌入式应用系统工程设计和解决技术问题的基本方法,具备一个合格的高新技术工程研发人员综合运用所学各种知识和技能,从分析嵌入式系统应用项目需求,到确立设计开发方案,到方案实施和解决基本问题的能力。

课程基本内容:了解嵌入式系统的特性、基本原理及其发展趋势;建立嵌入式系统的概念;掌握51体系结构、STM32嵌入式微控制器及嵌入式系统分析和设计等内容。该课程是一门实践与理论结合性很强的课程,以电子技术、微机原理与接口技术、C语言等课程为基础,主要介绍基于51和STM32微处理器的硬件基础和编程。

课程重点与难点:嵌入式系统的概念,嵌入式系统的硬件系统,包括IO、中断、DMA、SPI的工作原理,嵌入式系统的C语言编程方法。

课程章节主要内容总体分为51和STM32两大部分。

第一部分

第2章 AT89s51单片机硬件结构:AT89S51单片机的硬件组成,引脚功能,电源及时钟引脚等。

第3章 C51语言编程基础:Keil C51简介,Keil C51的开发工具,C51语言程序设计基础,C51语言中的数据类型与存储类型等。

第4章 AT89s51片内并行端口的原理及编程:AT89S51

的并行I/0端口的结构及工作原理,并行I/O端口的C51编程举例。

第5章 AT89s51单片机的中断系统:AT89S51中断技术概述,中断允许与中断优先级的控制,响应中断请求的条件,中断函数。

第6章 AT89s51单片机的定时器/计数器:工作方式控制寄存器TMOD,定时器/计数器的4种工作方式,定时器/计数器的编程和应用。

第7章 AT89S51单片机的串行口:串行口的结构,串行口控制寄存器SCON,特殊功能寄存器PCON,串行口的4种工作方式。

第12章 单片机的串行扩展技术。

第二部分

第1章 STM32基本原理:STM32性能和结构,Cortex M3处理器,Cortex M3寄存器,STM32储存地址映射,复位和时钟控制。

第2章 硬件设计:STM32主板设计,MCU及其周围电路设计,USB转串口电路设计,TTL转RS232电路设计,网络端口路。

第3章 STM32软件开发:STM32软件开发环境,MDKKeil开发环境,获得和理解固件库,操作GPIO和管理中断,嵌套向量中断控制器NVIC库函数,串口通信和DMA编程,SPI与I2C编程,TF卡编程,液晶屏及触摸屏编程。

参考文献

[1]王奕翔.《嵌入式系统原理与应用》课程教学改革与实践[J].教育现代化,2016(25):51-52.

篇2

关键词:应用型本科;嵌入式课程体系;教学方法

中图分类号:G434 文献标识码:A 文章编号:1009-3044(2013)36-8340-01

嵌入式是一门从上层应用到底层内核开发的软硬件结合,对综合技术要求较高的技术领域,各高校近年来普遍开设嵌入式方向或专业,我校也已经在计算机科学与技术系设置嵌入式专业。目前我校计算机科学与技术系已经开设的嵌入式课程的前续课程有数字电路,计算机体系结构、计算机组成原理、微机原理与接口技术、程序设计语言I及面向过程程序设计、操作系统、数据结构与算法等。考虑到嵌入式课程建设的连续性、层次性和前沿性的需要,形成了包含嵌入式系统、嵌入式内核编程与驱动开发和嵌入式软件设计在内的嵌入式专业课程体系。下面主要介绍这三门课程的建设。

1 嵌入式课程设置

我系首次开设的嵌入式系统课程是偏硬件系统设计的一门课程,目标是通过对本门课程的学习,使学生了解ARM体系结构,掌握ARM伪操作及伪指令,掌握嵌入式Linux系统的构建能力,包括嵌入式交叉编译环境搭建,bootloader移植,文件系统制作,内核的编译过程;掌握Linux下C与汇编混合编程,同时理解嵌入式系统驱动程序编写思想。

考虑到实际的嵌入式系统设计过程中,对特定的微处理器内部结构的知识要求淡化的同时,对处理器接口知识的要求却在增加。因此,嵌入式系统课程增加了嵌入式系统中常用的接口的基本原理和接口协议部分,学生可以通过本门课程的学习,自己动手搭建定制的嵌入式操作系统,并通过对实际的硬件接口学习及操作,增强学生的嵌入式系统设计的能力。

嵌入式驱动开发要求学生掌握驱动开发方法、开发流程;掌握内核关键数据结构及中断机制等内容,但是由于学时限制,起初开设的嵌入式系统课程,这部分内容仅要求学生掌握驱动设备的类型及驱动开发流程。本次将嵌入式驱动开发部分的内容独立设置为一门课程——嵌入式内核编程与驱动开发,目标是通过学习本门课程,学生能够理解嵌入式驱动开发基本概念、理论和方法;了解嵌入式Linux驱动工作原理,熟悉Linux内核关键数据结构和机制;掌握交叉编译工具的使用和嵌入式驱动开发整体流程。使学生在学完本门课程后,能够自己动手开发驱动程序,并进行内核编程开发。

嵌入式系统经过系统设计和底层开发后,仅是一个具备了硬件、驱动及操作系统的设备,还需要在该系统上开发大量的应用软件,才能称之为有用的受人们欢迎的系统。所以嵌入式系统的软件开发同样重要。起初的嵌入式系统课程仅介绍了Linux下C与汇编混合编程方法,这仅适用于底层开发驱动的要求,但这远远不能满足当今企业对嵌入式软件开发人员的要求。本次将嵌入式软件开发独立设置为一门课程,目标是通过本课程学习掌握Linux常用命令及Linux下C编程及开发流程,掌握Linux操作系统编程关键技术,包括进程控制,多线程编程及网络通信等。使学生在学完本门课程后,能够进行多进程、多线程编程及网络通信编程等功能,实现操作系统应用软件的开发。

嵌入式系统,其前期课程为计算机体系结构,计算机组成原理,微机原理与接口技术;嵌入式内核编程及驱动开发,其前期课程为操作系统,数据结构与算法,嵌入式系统;嵌入式软件设计,其前期课程为程序设计语言I、面向过程程序设计、操作系统,编译原理,嵌入式系统及嵌入式内核编程与驱动开发。

2 教学方法的运用

2.1 嵌入式系统课程

1)嵌入式Linux常用开发工具及GNU工具链生成部分采用案例教学法。通过搭建GNU工具链任务,让学生在完成任务的同时达到熟练掌握常用命令及工具的作用。

2)嵌入式Linux系统的构建部分采用项目驱动法,学生在完成每节的学习后,完成Linux系统构建的一部分功能,最终完成Linux系统构建,通过综合运用以上知识点,自己动手定制一个U盘上的最小系统,实现从U盘启动系统。

3)嵌入式系统基础接口的原理及协议部分,每部分内容都有丰富的案例,由于这部分涉及的内容比较多,采用案例分析法与分组讨论法,通过设置设计型实验项目,让学生先讨论,提出一个可行性方案,并最终在设备上实现各种功能。

2.2 嵌入式内核编程及驱动开发课程

1)Linux设备驱动概述及开发环境构建及硬件基础部分采用案例分析法,理解嵌入式驱动开发的方法; (下转第8354页)

2)Linux内核及内核编程、Linux内核模块、Linux文件系统与设备文件系统部分采用任务驱动法,通过对模块的加载卸载、模块参数和编译模块等任务的操作使学生熟练掌握Linux内核模块的操作;

3)字符设备驱动部分采用案例分析法,了解嵌入式Linux驱动工作原理;

4)并发与竞态、LINUX设备驱动中的阻塞、非阻塞I/O与异步通知、Linux异常处理体系结构部分采用案例分析法进行讲解,熟悉Linux内核关键数据结构和机制。

2.3 嵌入式软件设计课程

每部分都配有相应的任务或项目,各重点知识点都配有案例进行分析,便于学生理解和掌握。具体需要完成的项目包括:Linux下服务器配置项目;简单程序开发项目;多进程及守护进程程序编写任务;管道通信及共享内存任务;生产者消费者项目;NTP协议项目。最终实现一个嵌入式Web应用系统的设计与开发项目。

3 结束语

综上所述,嵌入式课程由原来的一门课程,即嵌入式系统课程,通过教学内容的扩充及调整为三门课程。将课程分为系统设计类课程,即嵌入式系统;底层开发类课程,即嵌入式内核编程及驱动开发;软件开发应用类课程,即嵌入式软件设计。通过综合运用项目驱动教学法、分组讨论法、任务驱动法、案例分析法等教学方法开展教学,引导和激发学生的主动学习和探究意识,引导和激发学生的动手实践意识,达到学以致用。

参考文献:

篇3

关键词:嵌入式系统;教学研究;自动化专业;实践教学

作者简介:张晓东(1980-),男,山东青岛人,河南工业大学电气工程学院,讲师;孙丽君(1968-),女,河南郑州人,河南工业大学电气工程学院,教授。(河南 郑州 450001)

基金项目:本文系河南省高等教育教学改革研究项目(项目编号:2012SJGLX151)、河南省教育科学“十二五”规划实验课题“基于开放实验室的嵌入式系统教学改革与实践”(课题编号:[2011]-JKGHAC-0150)、河南工业大学高等教育研究项目(项目编号:2012一般项目-15)、河南省“自动化”特色专业项目的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)08-0035-02

进入21世纪以来,随着信息技术特别是嵌入式技术的快速发展,嵌入式系统已经广泛渗入到工业测控仪表、军事技术、汽车电子、医疗仪器、无线通信、智能家居以及消费电子产品等众多重要行业,成为“后PC时代”最有前景的研究热点之一。[1]作为一种新兴的技术领域,嵌入式技术融合了传统的计算机软、硬件技术以及通信、半导体和微电子技术,属于多种学科交叉的综合性学科。由于嵌入式产品市场的蓬勃发展以及嵌入式技术的广泛应用,嵌入式系统软、硬件开发工程师等技术人员在就业市场上较为紧缺,社会对嵌入式相关技术人才有迫切需求。[2,3]因此,嵌入式系统正逐渐成为国内相关高校的重点开设课程,高校嵌入式相关人才的培养方案还是一个较为新颖的重要的研究课题。

嵌入式系统设计技术已经成为电子信息类工程技术人员必备的专业知识和技能。不同领域嵌入式产品的应用特点不尽相同,高校不同学科、专业的嵌入式教学内容也应该各有侧重。河南工业大学电气工程学院自2007年开始面向自动化、电气工程及其自动化等多个专业的本科生开设了“嵌入式系统设计”等专业选修课程。运行六年以来,作为省级和地厅级多个教改课题的支持项目,学院在嵌入式系统系列课程的教学研究方面进行了教学实践与深入探索,获得了一些有益经验。

一、课程体系的目标与定位

“嵌入式系统设计”课程是河南工业大学电气工程学院面向自动化等专业开设的结合ARM体系结构、ARM应用系统设计、实时操作系统、驱动程序设计、SOPC技术、嵌入式数据库等嵌入式软、硬件技术的重要任选课程。[4]该课程旨在使学生掌握嵌入式系统软、硬件的基本原理,实践嵌入式系统项目开发的基本流程。重点培养能够解决嵌入式系统领域具体应用问题且具备的分析、设计、调试、运行等实践动手能力的应用型工程技术人才,为深入开展嵌入式系统相关的后续科研开发奠定良好基础。

对于选修“嵌入式系统设计”课程的学生,要求其具备电路基础、模拟电子技术、数字电子技术、计算机组成原理、微机原理及接口技术、C语言程序设计、软件技术基础等课程的先修基础。在课程体系的组织上,重点熟悉嵌入式系统的硬件结构和基于ARM9处理器的硬件开发平台;掌握嵌入式操作系统的内部原理及嵌入式Linux系统的裁剪、编译与移植技术;学习嵌入式开发环境的建立和嵌入式Linux应用程序开发与调试过程;尝试常用设备驱动程序的开发和嵌入式图形用户界面的编程;最终使学生具备独立设计一个较为完整的嵌入式系统的初步能力。[5]

根据美国电气和电子工程师协会IEEE的定义,嵌入式系统即为用于控制、监视或辅助设备、机器或者工厂运行的装置。[6]嵌入式系统的主要特点是软、硬件结合,面向应用;嵌入性、专用性和计算机系统是嵌入式系统的三个基本要素。[7]因此,“嵌入式系统设计”是一门综合性、实践性以及应用性都较强的专业任选课,必须通过课程实验、项目开发、科技竞赛等环节进一步加深对课堂理论内容的理解,才能将理论知识与实践应用有机地融合起来。

二、建立网络教学平台

“嵌入式系统设计”是一门融合了多学科内容的综合性课程,所授课程涉及的知识面广泛,课堂信息量较大。[8]但作为一门专业选修课程,受制于培养计划的限制,课内理论讲授及实验学时数都较少,在有限的学时内教师要尽可能地使学生掌握嵌入式系统更多的内容。此外,近年来选课学生人数还在持续增多,大班额导致教学效果变差的问题也越来越突出。传统的板书或投影仪授课方式已经远远不能满足该课程理论密切联系实践的讲授需要。

笔者所在的教学团队经研讨试讲后,决定充分利用河南工业大学电气工程学院嵌入式系统实验室的硬件资源建立网络教学平台,进行教学模式改革探索。利用实验室电脑以及“电子教室”多媒体教学网络平台,教师使用一台教师机进行集中讲授,学生在实验室近在咫尺的几十台网络终端旁即可实现理论授课及实验讲解的全程可视化。利用“电子教室”的远程传输功能,教师可以在实验课前将相关的课件、指导书等各种电子资源快速分发给学生机;通过“电子教室”的广播演示功能即可将实验步骤及实验过程中发现的一般性问题清晰准确地讲解给学生;讲解或实验过程中学生甚至可以通过“电子举手”等对话功能将所遇到的问题反映给教师,随时向教师提问。将传统讲堂搬进实验室,利用先进的网络平台进行教学虽然增加了教师的课前准备时间和课堂工作量,但是大大提高了有限课堂时间内的授课效率。授课方式变得活泼生动,学生对授课及实验细节的掌握程度也要远远好于传统板书或投影仪授课方式。

三、开放式实验教学改革

嵌入式系统以应用为中心,嵌入式工程技术人才的培养也离不开实践环节的锻炼。“嵌入式系统设计”课程是一门强调理论知识联系实际应用的课程,学生必须在实验中通过项目实践锻炼才能真正了解嵌入式系统设计的相关知识,掌握嵌入式驱动程序和应用软件开发的主要过程。[9]高校传统的实验教学方式一般采用填鸭式教学。在教师讲解实验大纲后,学生根据其中的实验目标和实验步骤进行验证式实验。学生缺乏主观能动性,难以满足嵌入式系统课程开设综合性设计性实验的需要,无法真正激发学生的创新意识、培养其实践动手能力。

为了解决上述问题,实现河南工业大学电气工程学院应用型工程技术人才的培养目标,必须要进行嵌入式系统课程的实验教学改革。为此,实验室筹措经费大力改进实验环境,购置了多套典型的周立功EasyARM2131开发套件、博创UP-NETARM2410-S嵌入式实验平台以及UP-ICE200仿真器、扩展板、网络摄像头、嵌入式操作系统、仿真软件等配套软硬件,为嵌入式系统相关课程的开放实验教学改革提供了良好的条件。另一方面,在实验组织形式上采用了开放式实验教学模式。开放实验室为学生提供了优良的硬件设施和实验场所。实验课前教师根据近期所讲授的理论知识制订部分小型项目课题,学生可从中选题或自带课题。在实验过程中将解决实际应用问题的思想作为实验教学切入点,以项目驱动的方式促使学生分模块、分任务针对实际应用问题进行分析;引导学生根据所学的嵌入式软硬件开发方法实现项目提出的软硬件开发目标或解决开发过程中的实际应用问题。指导教师注意在实验过程中给予学生必要的指导并在实验结束后及时进行总结点评。经过对实验效果的对比验证,开放式实验教学模式强调以学生作为实验中心,充分发挥、调动了学生的主观能动性和创造性,是传统实验教学改革的一次有益尝试。

四、教材和师资队伍建设

1.课程教材建设

教材是课程资源的载体和媒介,在教学活动中发挥着至关重要的核心作用。[10]国内高校嵌入式系统相关课程的开设时间较短,开课较早的清华大学、上海交通大学、华中科技大学等高校嵌入式系统的授课历史也只有十年左右。此外,嵌入式系统一般都是“软硬结合”,授课内容与实验室中嵌入式实验平台所用的微处理器类型密切相关,因此市场上很难找到合适的嵌入式系统课程通用教材。经过历年的嵌入式系统教学实践探索,笔者迫切感觉到该课程教材建设的重要性。

为此,自嵌入式系统开课之初,笔者就结合所选的嵌入式硬件实验平台编写了《嵌入式系统实验指导书》等校内讲义。在历经多次试用、补充、修改完善并总结多年教学经验的基础上,笔者所在的嵌入式系统教学团队积极筹划高水平教材的建设,组织优秀师资力量编写了《嵌入式系统设计》,并已被列入“普通高等教育电气工程与自动化(应用型)‘十二五’规划教材”和“河南工业大学校级规划教材”的编写计划。该教材坚持“基本理论适度、注重工程应用”的基本原则,在介绍嵌入式系统软、硬件设计基本方法的基础上着重实践嵌入式系统项目的开发流程。该配套教材重视知识更新和实用性,具有较强的学科前沿性和针对性;同时文后增加了工程设计实例,注重理论与实践相结合,使学生在学习过程中做到理论知识与实践技能的融会贯通,可有效提高学生对理论知识的掌握程度和实践动手能力。

2.师资队伍建设

开放式实验教学模式改革对师资队伍的建设提出了全新的挑战。与传统实验教学模式相比,教师课前要布置并不断更新贴近实际应用的开放式项目课题;实验过程中需要对现场涌现出来的各种问题及时给予解答、指导;由于嵌入式技术的快速更新,教师在课余也要不断了解嵌入式系统的最新技术信息。“嵌入式系统设计”等系列课程的教学需要有一支基础知识扎实、实践经验丰富的教师队伍。因此,学院抽调精干师资力量组建了嵌入式系统教学团队。一方面督促教师不断提高自己的业务素质,鼓励教师多次参加北京博创科技、北京旋极信息等业内知名公司组织的培训、讲座;另一方面也提倡教师积极参与嵌入式相关的企业横向课题的研发工作,提升教师自身的研发能力。这些措施使得嵌入式系统教学团队的业务素质和授课水平有了较大的提高。

五、结语

河南工业大学电气工程学院“嵌入式系统设计”选修课程自2007年开设以来,选课人数不断增加并获得了学生的好评。随着嵌入式技术的快速发展和社会对嵌入式研发人才要求的不断提高,电气工程学院嵌入式系统教学团队十分重视嵌入式系统课程的教学研究和教学改革,相继荣获河南省教育科学研究优秀成果一等奖、河南省素质教育理论与实践教育教学一等

(下转第38页)

(上接第36页)

奖并培养学生获得多个国家级大学生科技竞赛的奖励。在以往多年教学实践的基础上,教学团队积极改革教学方法,采用多种教学手段,使学生掌握好嵌入式系统理论基础的同时真正做到了理论联系实践和学以致用,为后续相关课程的学习和嵌入式系统课题的研发打下了良好的基础。

参考文献:

[1]陈赜.ARM嵌入式技术原理与应用[M].北京:北京航空航天大学出版社,2011.

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

[3]陈玉明,洪耀球,黄顺发,等.高职高专嵌入式人才培养模式探讨[J].中国成人教育,2011,(20):83-84.

[4]陈佳闻.嵌入式实验教学系统开发与应用[J].山东农业大学学报(自然科学版),2011,42(3):448-450.

[5]解志坚,张红燕,曾炼成.嵌入式系统开发人才培养的路径[J].湖南农业大学学报(自然科学版),2010,36(1):134-136.

[6]马维华.嵌入式系统原理及应用[M].第2版.北京:北京邮电大学出版社,2010.

[7]刘森,慕春棣.自动化专业的嵌入式系统教学探讨[J].实验技术与管理,2007,24(1):115-117.

[8]吴磊.嵌入式教学与实验的研究[J].实验室研究与探索,

2011,30(11):103-104.

篇4

(大连交通大学 软件学院,辽宁 大连116028)

摘 要:分析嵌入式系统教学相关课程和嵌入式系统课程群教学的基本内涵,提出以嵌入式Linux操作系统为核心课程来建设嵌入式系统课程群,整合优化嵌入式系统课程群教学体系。

关键词 :嵌入式;课程群;优化融合;教学体系

基金项目:2013年大连交通大学教学改革研究项目(DJDJG201345);2014年辽宁省普通高等学校本科教育教学改革研究项目(UPRP20140299)。

第一作者简介:郑广海,男,副教授,研究方向为计算机应用、Agent技术,zhmos@163.com。

0 引 言

随着计算机技术、微电子技术、传感器技术及通信技术的不断发展和创新,嵌入式系统技术如今成了焦点的应用技术之一。嵌入式无处不在,随着嵌入式系统广泛应用,国内外机构投入大量资金对嵌入式系统进行研发,引发了对嵌入式系统技术人才需求的增长。嵌入式系统本身需要软硬件技术的紧密结合,开发难度较大,面临着重大的变革,这是嵌入式系统相关教学面临的新机遇、新挑战。

1 嵌入式系统课程群教学体系

嵌入式系统课程群建设目标是共享优质教学资源,以使更广泛的群体受益,坚持创新教育理念,坚持以学生为本,依托软件工程学科特色,改革嵌入式系统课程群教学内容、教学方法和教学手段,促使学生主动构建知识结构。

1.1 嵌入式系统教学的特点

嵌入式系统具有嵌入性、专用性和计算机系统三个基本要素[1]。它涉及微处理器、操作系统、系统设计方法以及高性能计算等基本原理和关键技术,涉及嵌入式系统的高可靠性、低功耗以及安全性、性能优化等基础知识。嵌入式系统实践性强,不仅要求学生有扎实的理论基础,更要求他们有很强的工程实践能力。嵌入式系统教学具有如下特点:①嵌入式系统课程具有多学科交叉性,融合了计算机、通信以及微电子技术等多项技术及应用;②嵌入式系统课程具有综合性,是集软硬件技术为一体的综合体,需要协同设计软硬件课程;③嵌入式系统课程实践性极强,需要通过大量的实验、实习实训、学科竞赛、科研项目等实践教学环节来进一步加深学生对理论知识的理解。

1.2 课程群教学体系构建

课程群建设是一组课程的整体建设,各课程所面对的教育对象是一样的,因此,课程群的课程内容具有相关性,课程群建设考虑课程集合整体的系统性建设,而不是考虑每门课程的个体特征[2]。课程群的课程集合具有强关联性和可整合性,课程内容相辅相成,有课程之间的衔接,也有课程内容的交叉。课程群整体建设是以单独每门课程建设为基础,通过对课程群课程集合的优化,以及课程的整合与重组,优化资源配置,充分发挥课程群每门课程的特有作用,综合考虑课程之间的内在逻辑性,构建知识、能力和素质一体化的人才培养模式。在选择课程群建设的课程时,要充分考虑培养方案中在知识点、技术原理和实现方法等方面存在逻辑联系的课程,通过优化整合,形成课程群的课程体系。

嵌入式系统课程群经历了几年的建设和优化,逐步完成由初期启动阶段到基础建设阶段的过渡,最终迈进创新提高阶段。在课程群的建设过程中,我们始终坚持以稳定为主旋律,在一定时期保持课程群教学内容的相对稳定,从深度和广度上对教学内容进行创新改革,不断将反映学科发展的新趋势、研究成果等新的知识点加入到教学中;采用“理论+实践+应用”的全新教学思路,以课程群理论教学为建设基础,依托课程群创新实践教学,以培养学生创新思维和创新能力为目标,形成嵌入式课程群全新的教学体系[3]。嵌入式系统课程群教学体系结构示意图如图1所示,包括理论教学体系、实践教学体系和教学评价体系3部分。

1.2.1 课程群理论教学

嵌入式系统所涉及的知识面非常广泛,应用领域众多,因此课程群建设在选择课程时,应该从嵌入式系统的底层硬件知识,考虑到顶层应用开发,根据嵌入式系统人才培养目标要求,保证嵌入式专业的主体规格,增强课程群理论课程的优化融合。通过精心选择、重组课程群的相关知识点,充实新知识点到课程群中,完成课程群教学内容整体优化整合。

在课程群体系框架下,我们要设计学生应掌握的知识点和创新能力发展要求,按照最优选择原则,对课程群的课程集完成裁剪、归并、整合优化、内容更新,构建完整的、系列化的课程群理论教学体系结构。

我们以“教育部—Intel”精品课嵌入式Linux操作系统课程为核心,围绕精品课建设,示范引导,建立嵌入式系统课程群教学体系结构。课程群理论课程包括C/C++程序设计、计算机组织与体系结构、微机原理与接口技术、嵌入式Linux操作系统、嵌入式系统设计与开发、ARM体系结构与编程等6门课程。

C/C++程序设计是程序设计的基础课程。C++由C语言发展而来,可用于结构化程序设计,也可用于面向对象的程序设计,是嵌入式系统常用的开发语言,是嵌入式系统开发的最佳选择。计算机组织与体系结构课程深入剖析计算机体系结构和内部工作机制,是掌握计算机内部世界的重要课程。微机原理与接口技术系统地阐述了微处理器的基本原理、体系结构以及指令系统等知识。嵌入式Linux操作系统是课程群的核心课程之一,讲述CPU调度、内存管理以及外设管理等理论知识。嵌入式系统设计与开发也是课程群的核心课程之一,它综合了多门课程的教学内容,讲授嵌入式软硬件环境及开发流程。ARM体系结构与编程课程重点讲解微处理器ARM内部寄存器结构、指令系统、中断管理、常用的外围接口等嵌入式硬件平台设计的有关知识和技术。

课程群建设要有整体全局观念,对课程群进行整体统筹优化,整合课程群理论知识体系,融合不同课程的知识点,要确保课程之间的无缝衔接,形成完整的课程群理论课程教学体系结构。课程群整体优化整合,要充分发挥嵌入式系统课程群的特色和整体优势。

1.2.2 课程群实践教学

嵌入式系统实践教学是课程群教学体系的重要组成部分,是提升学生综合素质的重要教学环节[4-7],经过多年的实践探索,嵌入式系统课程群的实践教学体系由1个中心、3个教学层次和4个教学环节组成[3],体系结构示意图如图2所示。

3个层次的实践教学包括:

(1)基础实践层,是课程群理论课程的课内相关实验,主要以验证性实验为主,通过这层教学环节,学生可以加深领会和掌握所学理论知识。

(2)综合实践层,是课程群的综合性和设计性实验,主要是培养学生的实践操作能力,引导学生综合理解嵌入式系统的实现机理,提高综合运用课程群知识的能力。

(3)创新实践层,以创新为目的,通过项目实训、学科竞赛和科学研究项目等创新实践教学活动,培养学生综合应用知识的能力、工程素养和创新能力。

3个实践教学层需要通过如下4个具体的实践教学环节来完成:

(1)课内实验环节,是与理论教学相配合的必要环节,通过课内实验强化重点内容和知识点,进一步巩固课堂讲授的理论知识,将理论与实践紧密结合,提高学生处理问题的能力。

(2)实习实训环节,是与企业合作,根据企业岗位技能要求,按照企业对员工的知识、技能和综合素质等方面的要求,构建基于企业标准的项目开发流程的实习实训工作环境,在企业项目经理团队指导下,学生在企业化情境中开发项目。

(3)毕业设计环节,是实践教学的重要环节,通过毕业设计将所学知识进行整合运用,具有综合性和总结性,是培养学生工程实践能力和创业精神的重要环节。

(4)学科竞赛及科学研究环节,可以培养学生的工程实践能力、创新能力及团队协作精神,是创新型人才培养的最有效途径。

2 课程群教学内容的融合

2.1 课程群建设

课程群是一类相关课程的集合,以现代教育理念和理论为指导,选取培养方案中相互有影响、课程内容联系密切、课程之间互动有序的相关课程,重新规划并整合成一个整体,构成课程群[8]。课程群建设是对课程集的再设计,对课程集中课程的知识点进行分解与融合,有效结合了课程体系的开发和课程建设的实施过程[9]。

采用结构化系统设计原则,实施嵌入式系统课程群建设,将课程群作为一个整体进行优化融合,课程群的融合充分反映课程教学特色和优势。我们将嵌入式系统相关的这6门课程统一进行优化整合,不再考虑每门课程内容的系统性,超越系统性约束,调整6门课程的内部结构,对这6门课程内容进行优化重组,删除在不同课程中重复出现的内容,紧随嵌入式学科发展,淘汰陈旧过时的知识,适当增加新技术和新知识。同样,课程群的实践教学内容也进行了优化整合,针对实践教学内容交叉重叠,多重视验证性实验,而忽略综合性和设计性实验等问题。在大量教学改革研究与实践的基础上,我们对6门课程实践教学的内容、知识点及培养计划等进行优化整合,增加综合性、设计性和创新性的实践教学内容。培养方案、教学计划及教学大纲等的再设计,实现了课程群知识体系的优化与重构。

2.2 理论课程的融合

课程群建设以群为单位,其教学过程具有整体性要求,教学内容模块化,课程群内课程之间相互渗透,经过优化整合,更能发挥群体课程的优势。

嵌入式课程群以精品课嵌入式Linux操作系统为核心,选择属于同一能力培养范畴的课程,整合了C/C++程序设计、计算机组织与体系结构等6门相关课程构成课程群,这些课程具有一定的相对独立性,而课程内容纵向具有前导和后继关系,横向存在知识结构上的内在联系,各门课程合理分工,构成一个系统化的有机整体。

我们理清课程群课程之间的关系,确定课程群的理论和实践教学内容,构建课程群体系架构。如嵌入式系统设计与开发课程需要软硬件的紧密结合,涉及硬件设计、操作系统、系统开发等相关课程的内容,对课程群的课程内容进行优化融合,课程群以ARM为硬件平台, Linux作为嵌入式操作系统,将Linux内核移植到ARM硬件平台上,在这样的软硬件平台上,使用C/C++开发嵌入式系统。

课程融合突破了课程之间的壁垒,没有了学科、课程的界限,是实现了课程群共融的教学活动。课程群整合,优化配置了教学资源,促进多课程间交叉、渗透、融合与创新,加强课程群内涵建设,改革创新,实现课程群跨越式发展。

2.3 实践课程的融合

嵌入式系统课程实践性强,根据嵌入式专业发展要求以及人才培养的需求,密切联系理论教学,并紧跟嵌入式学科的发展,重构课程群实践教学体系结构。整合嵌入式系统课程群实践教学课程,实现课程群实践课程合理分工,保证课程群实践课程之间的紧密衔接,优化整合实践教学内容,减少验证性实验,增加综合性、设计性实践教学内容,增加具有创新性的实践教学内容,开展多层次递进式的嵌入式课程群实践教学,以培养学生工程实践和创新实践能力为主线,优化整合课程群的实践教学资源和实践教学过程,形成多层次、多环节的实践教学体系结构。

整合课程群实践教学资源,优化了实践教学过程,实现了对传统实践教学的改造与创新。融合构建嵌入式实践教学体系结构,融合就是裁剪重复性实践教学内容,整合相关实践教学内容,增加设计性实践和创新性实践,实现嵌入式实践教学项目的重构与再造。我们按照嵌入式系统培养方案中对实践技能的要求,梳理和整合实践教学需要的实践技术,形成“1个中心,3个层次和4个环节”的实践教学体系;按照教育教学规律,遵循个性特点,促进理论知识与实践能力的转化,逐步将科研新成果以及最新实践技能和应用引入到实践教学中。如“C/C++程序设计”课程的实验内容在其他课程都有体现,我们将程序设计的实验融合到课程群的其他5门课程的实验中,根据电子大赛等学科竞赛设置创新实践教学内容,将教师的科学研究过程引入到课堂。通过这些改革措施,实践教学体系中融合了创新教学内容,学生学到了实践技术,也了解了科研成果的创新实践过程,更激发了学生探索科学事实的激情。

3 课程群教学改革探索

3.1 课程改革紧随学科发展

课程群理论课程主要讲解嵌入式相关知识的基本概念、原理和方法。随着计算机技术及微电子技术的发展,课程群建设密切结合嵌入式系统新技术发展的趋势和方向,以基础共性的新方法与新技术为切入点,将嵌入式新方法与新技术的前瞻性知识引入课程群理论教学中。我们在理论课程中先后引入微控制器、可编程计算、多核和虚拟化等知识;通过案例分析和应用系统设计,将Intel处理器技术融入现有软硬件课程体系中;嵌入式Linux操作系统课程内容增加Android知识等。

要保证专业知识与技术发展及应用同步,就要与时俱进地将学科研究的新成果引入课程群,及时更新课程群的教学内容。我们高度重视课程群实践教学环节,改革实践教学的内容和形式,逐步增加综合性、设计性和创新性实践,创造条件让学生参与科研活动,以提高学生的创新实践能力。

及时修订和调整培养方案,使课程群教学内容始终保持其先进性和适应性,能够反映嵌入式系统领域的最新研究成果和发展趋势,借鉴国内外嵌入式系统教学的先进理念和教学成果,改革创新,提高教学质量。

3.2 强化能力培养,优化教学方法及手段

嵌入式系统课程教学如果继续采用传统教学方式,已不能适应现代教学要求。嵌入式系统课程群改革围绕创新教学理念,课程群教学团队尝试采用多元化教学手段,注重使用先进的教学方法和手段,不断提高教学质量,坚持学科优势,强化特色教学,保持并改进具有特色的教学模式、教学方法及教学手段,结合素质教育和人文教育,探索适合嵌入式课程群的创新教学模式。我们采用启发式教学,充分开发学生智力,启迪学生智慧,激发学生的创新思维;采用任务驱动教学,可以提高学生工程实践能力和应用能力;依托学科竞赛和科学研究,促进课程群教学改革。通过产、学、研合作培养创新型人才,广泛开展学科竞赛活动、学生科研训练和科技活动,积极引导学生参加研究实践活动,促进教学与实践的紧密结合。

3.3 改革评价方式,考核教学效果

课程考核是检查和评价教与学效果的主要手段,是对学生的知识掌握程度、综合能力和创新能力培养等方面进行的综合评定。我们通过课程考核,及时反馈评价结果,跟踪分析教学中存在的问题,通过创新课程群教学模式,改进、调整课程群教学方式,更好地提高教学效果。课程考核的另外一个作用是在一定程度上引导了课程群教学改革。

课程群评价体系设计遵循多元化考核、考核办法全程化、考核方式多样化、考核内容综合化、考核成绩合理化、考核反馈经常化、建立考核反馈机制等原则。

课程群的考核评价体系包括3个方面的评价:

(1)教师教学过程评价(40%):包括以下考核内容:出勤占10%,网上自主学习记录、课堂讨论、课外书面作业、随堂测试和学期小组活动5项,每项占6%。

(2)实践教学考核(30%):实践教学划分为3层次,包括基础实践层、综合实践层和创新实践层,每层次实践教学的评定占10%。

(3)期末试卷测试(30%):期末测试采取定量评价和教师评价的方式,具有较强的操作性和实用性,占30%。

3.4 注重队伍建设,提高育人水平

课程群建设的主体是教师,教师是教学活动的组织者,学校的教学质量主要取决于教师的教学水平和科研水平。师资队伍是课程群建设的基本保证,师资队伍应该具有对课程群内容进行融合的能力,这要求教师要掌握课程群的多门课程内容,这样才能做好课程群内容的融合,参加课程群建设的教师需要通过各种方式提高素质,从而加强师资队伍的整体建设,促进课程群的建设。

教学团队的建设应围绕课程群进行,通过引进、进修培养等手段,构建年龄、职称、学缘等结构合理,具有较高的理论素养和科研能力的课程群教学团队。课程群建设需要不断调整优化教学队伍,逐步形成教学与科研的良性互动局面。

4 结 语

经过多年的改革创新与实践,从单一课程到课程群建设的发展,课程群知识结构从广度到深度上都有创新,课程间的教学内容衔接趋向合理,去除冗余知识,增加新的知识;通过强化课程之间的联系,完成课程内容的融合与分解、整合优化,构建基于精品课嵌入式Linux操作系统的嵌入式课程群教学体系结构。

参考文献:

[1] 何立民. 嵌入式系统的定义与发展历史[J].单片机与嵌入式系统应用, 2004(1): 6-8.

[2] 范守信. 试析高校课程群建设[J].扬州大学学报, 2003(9): 25-27.

[3] 郑广海, 曲英伟.“嵌入式Linux操作系统及实践”课程改革[J]. 计算机教育, 2012(4): 37-40.

[4] 宋跃, 谭爱群.构建三位一体的教学体系, 提高学生的实践创新能力[J]. 实验技术与管理, 2010, 27(3): 15-18.

[5] 肖利, 曹丽华, 刘梅. 创建新型实验室, 培养创新人才[J]. 实验技术与管理, 2007, 20(10): 13-14.

[6] 贾晓辉. 软件工程专业实训基地的建设与实践[J]. 计算机教育, 2009(8): 116-117.

[7] 韩玉民. 高职软件类学生校外毕业实训管理的探索与实践[J]. 计算机教育, 2010(1): 83-85.

[8] 陆为群. 高师院校课程群建设的原则和策略[J]. 黑龙江高教研究, 2007(11) : 110-112.

篇5

本文提出了实践性教学活动的基本思想-加深理解理论原理,与工程实践相结合,提高学生动手能力,培养创新能力,针对嵌入式系统安排了实验课程项目,提出以学生为主体,教师仅起引导作用的实践课程的组织方式,以综合性项目设计为主的开放式考核方法。

关键词:实践性教学活动;综合性项目设计;开放式考核

【中图分类号】G640

1、实践教学活动的设计思想

实践教学内容本着“加深理解理论原理,与工程实践相结合,提高学生动手能力,培养创新能力”设计思想进行编排,提高研究性、探索性、综合性实验的比例,要求学生在教师的指导下通过查阅文献资料,自主设计实验方案,掌握相关知识。实验过程知识结构如图1所示。

图1 实验过程知识结构示意图

2、实验项目

嵌入式系统实验是嵌入式系统课程的重要组成部分,它在培养学生掌握实验技能、强化概念、提高观察、分析和解决问题的能力方面具有独到之处。实验类型分为基础实验、综合性实验和创新实验三类。

表1 实验项目分类表

实验项目 描述 基础实验 选作实验 创新实验

嵌入式开发环境的建立 交叉开发环境的建立(包括宿主平台及目标平台的软硬件配置,软件工具的安装配置,硬件线路的布局与物流连接,逻辑连接等),掌握开发工具的基本使用,熟悉嵌入式软件运行的载体嵌入式目标平台 √

嵌入式微处理器基础实验 包括汇编指令实验、C语言程序实验及C语言调用汇编实验、GPIO输入/输出实验、存储器读写实验、中断实验、定时器实验、脉宽调制PWM实验、 模拟比较器、看门狗实验、ADC数据采集实验 √

嵌入式微处理器通信总线实验 UART异步通信实验、互联IC总线实验、同步串口通信实验、CAN现场总线实验、以太网通信实验 √

嵌入式操作系统应用基础实验 嵌入式操作系统uC/OS操作系统的基本管理功能的验证性实验,包括任务管理、任务的设计、信号量机制、消息队列、优先级反转及解决策略、动态内存管理等,要求学生掌握嵌入式系统操作系统的基本原理、特点与使用方法 √

嵌入式系统硬件驱动开发实验 开发板初始化、系统自举(BOOT LODER)、人机接口驱动(键盘、LED显示、LCD显示)、音频视频接口、PWM电机控制等 √

嵌入式系统软件驱动开发实验 源代码开放操作系统(uC/OS-II)的移植实验、移植操作系统到LM3S8962 √

嵌入式操作系统应用综合实验 电脑自动打铃器设计与实现、基于CAN现场总线的数据采集模块以太网数据采集模块 √

嵌入式系统中间件应用实验 ZLG/GUI(图形用户界面)开发应用实验 √

嵌入式系统综合设计开发实验 基于开源软件的应用软件架构设计与实践、逆变电源制作、IEEE国际电脑鼠跑迷宫竞赛、“飞思卡尔”杯全国大学生智能车竞赛等 √

3、实践时间和方式

上述实践内容由简单到复杂,仅靠课内时间难以完全实现。本着“充分发挥个人的学习潜力,目标动态差异化管理,让优秀的学生脱颖而出”的理念,实践课分为四个阶段,即实验课阶段、课外实验阶段、课程设计阶段和项目综合实训阶段。

4、实践课程组织形式

在整个实践教学过程中,以学生为主体,教师仅起引导作用,教师通过和企业联系与企方工程师共同提出研究的课题和方向,教师提供大量的信息资源(包括网上的和教职工共同采集的),指导学生做出自己的决定并保持足够的目标持续学习。鼓励学生提出问题、思考问题、解决问题。实践课程组织形式如图2所示。

图2 实践课程组织形式示意图

5、教师指导方法

⑴常规的理论验证和设备操作实验,提供1台/1~2人的操作仪器在教师的引导下进行实验。

⑵对实验难度较大的实验,教师进行实验难点讲解,学生以3人小组共同讨论,使用网络资源进行e-learning学习,打破了传统学习模式的时空界限,动手实验,自己做决定;在教师的指导下制定工作计划,以保证学生能够顺利地完成实践项目。

⑶设计性和创新实验,预先将实验题目告诉学生,要求学生查阅资料,根据所学的理论知识,写出实验原理,设计出具体的实验步骤,然后和教师一同讨论、分析,使学生的综合分析能力得到提高。

⑷创新实践的指导方式采用教师讲解和启发式讨论相结合的教学方式,尽量做到理论联系实际,教会他们解决问题的方法,帮助他们在出现分歧时加强沟通,融知识传授、能力培养、素质教育于一体,激发学生的学习热情和主动探索的愿望。

6、考试方法与考核内容

传统实践教学模式的考试方式还是停留在纸张上,可以说是“一纸定成绩,一纸定能力”的不合理方式。助长死记硬背的应试教育模式,不能够准确反映学生的应用知识和解决实际问题的能力。本门课程的实践教学考试方式根据需要进行了全面改革,以综合性项目设计为主的开放式考核方法,考核内容包括“设计、制作、编程、调试与文档写作”等,学生通过考核就相当于参与了一个项目的研发过程。这样的考核方法既锻炼了学生的技术水平与多方面的能力,又起到融会贯通所学知识的作用。

开放式考核是衡量学生能力的好方式,学生不需要死记硬背,注重知识应用与分析、解决问题的能力,因此考试不再是单纯的考试,它也是综合应用的学习过程,促进了学生的能力培养。通过分析考试结果不仅较准确的反映了学生的应用知识和解决实际问题的能力,也反馈教师的教学效果与不足,达到以考促学、以考促教的目的。考试组织形式见图3 。

图3 开放式考试组织形式图

7、实践教学活动的教学效果

篇6

嵌入式系统的研究内容较为宽泛,其中主要包括嵌入式硬件设计和软件设计。嵌入式软、硬件设计的教学内容的选取原则应是适合本科生学习、与课程学时匹配、并具有较好的课堂展示效果。因此嵌入式课程教学内容的合理选取对课程授课效率和学生的学习效果起着至关重要的作用。

(一)嵌入式系统课程硬件设计教学内容的选取

嵌入式系统硬件是嵌入式系统的重要组成部分,是嵌入式系统与实际环境交互的载体,其性能的优劣直接影响嵌入式系统的可靠性和实时性,决定嵌入式系统设计的成败,因此硬件设计在嵌入式系统设计中处于十分重要位置。在嵌入式硬件教学中,嵌入式课程的首先需要向学生介绍嵌入式系统的硬件在系统中的作用,并以日常生活中常见的嵌入式系统设备为例(例如手机、MP3播放器等等)直观的讲解嵌入式系统硬件结构,帮助学生建立嵌入式硬件系统的基本概念。在此基础上,嵌入式系统课程应着重讲授嵌入式系统硬件体系结构,从硬件体系结构的三个层次给学生讲解嵌入式系统硬件设计。

1.嵌入式处理器,它是嵌入式系统的核心部件,负责整个嵌入式系统的运行。嵌入式处理器选型原则是硬件设计的重要教学内容之一,嵌入式系统课程应能引导学生了解处理器选型时应考虑的因素,如处理器性能、价格以及可获得的技术支持等等,培养学生根据种嵌入式处理器的特点和实际工程需要对处理器选型能力[3],为其后续嵌入式硬件设计的学习奠定基础。

2.嵌入式系统的电路,主要包括嵌入式系统存储器、时钟电路、数据端口、复位电路和系统电源电路等等,其中,时钟电路、复位电路和系统电源电路为嵌入式系统最基本单元,具有这三个基本单元和处理器单元的系统即可正常工作,也称其为嵌入式最小系统。嵌入式课程应能帮助学生了解嵌入式系统电路种类、功能及其设计方法,建立嵌入式最小系统的概念。

3.嵌入式系统外部设备,主要是指嵌入式系统与真实环境交互的各种设备,包括外存储设备(如FlashCard)、IO设备(如键盘、鼠标等)、打印设备(如打印机)。在学生了解嵌入式系统硬件的三个层次的基础上,嵌入式课程应选择一款适合课堂教学的处理器,并具体的讲解嵌入式硬件的各个电路的设计内容、设计方法和设计目标。嵌入式课程硬件教学在选择处理器作为授课和研究对象时,应该考虑应用广泛且学习难度较低的嵌入式微控制器。在众多的嵌入式微处理器中,ST公司于2011年推出的基于Cortex-M4内核的STM32F104微处理器具有广阔的市场应用前景,广泛应用于工业控制、多媒体、精密仪器、家电等各个领域,STM32F104微处理器对于初学者来说具有开发简单、直观并且可获取丰富的网络支持的特点,因此本文以基于STM32F104微处理器的嵌入式系统为课程硬件教学内容,介绍STM32F104微处理器的主要特性,如处理的主频、字长等,并以框图形式介绍STM32F104微处理器的内部结构和片上的各个功能模块,如片上内存、片上AD和DA转换器、各种通信接口等。同时,任课教师应指导学生如何阅读芯片的英文数据手册,掌握英文数据手册的章节安排和阅读方法,提高学生英文文献的阅读水平,并能从中快速获取芯片的主要性能指标。在嵌入式系统电路设计教学中,嵌入式课程必须着重强调系统的电源电路设计、复位电路设计以及时钟电路设计。

嵌入式电源电路设计教学主要向学生介绍电源电路的两种类型,即线性电源和开关电源,以及两种电源电路的拓扑结构、工作原理和各自特点以及应用场合,并在此基础上向学生介绍2~3种常用的电源控制芯片,如线性电源常采用LM7805、AMS1117-3.3等线性稳压芯片,开关电源则常采用LM2596、MP2359等开关电源芯片,简单介绍各个电源芯片的主要参数,如输入电压范围、输出电流等参数等。嵌入式系统时钟电路设计的课程教学主要向学生介绍两种类型的时钟电路,即无源晶体和有源晶振电路,讲解这两种类型时钟的特点和应用场合以及时钟电路设计的注意的事项,并用多媒体给出两种类型电路结构,向学生分析电路中各个元件的作用。嵌入式系统复位电路教学需向学生介绍两种类型的嵌入式复位电路,即阻容式复位和专用复位芯片复位,介绍两种电路的特点,同时介绍几款常用的专用复位芯片(如MAX811),让学生掌握嵌入式系统复位电路的设计方法。如果说嵌入式处理器是嵌入式系统的大脑,那么嵌入式系统的IO设备是嵌入式系统的四肢,是和现实世界交互的设备,嵌入式系统IO设备的教学需引导学生建立嵌入式系统中IO设备的概念,并举例说明嵌入式系统常用的一些IO设备,如嵌入式显示屏、键盘、打印机等。在IO设备的教学中,课程应首先介绍IO设备与嵌入式处理器的接口技术,分别介绍并行接口和串行接口,指导学生学习接口类型,并根据实际工程需要选择不同接口类型的IO设备,同时引导学生掌握各种接口的时序,并能够熟悉几种常用的接口类型,如I2C、Intel式并行口、SPI等接口以及各种接口的数据传输速率和物理接线数目等。

(二)嵌入式课程软件设计教学内容的选取

嵌入式软件是嵌入式系统的灵魂,与嵌入式硬件一起作为嵌入式设计的核心内容,因此,嵌入式系统软件设计是嵌入式课程授课的重要内容之一。嵌入式软件教学应注重培养学生的嵌入式软件开发能力,向学生讲解嵌入式系统的软件体系结构,即嵌入式软件可分为应用程序、应用程序接口、嵌入式操作系统、硬件设备驱动程序,加强学生对各个软件层次的把握。嵌入式软件设计授课需要向学生讲授各软件层的功能与特点、嵌入式软件开发所需要具备的先行课程知识,明确嵌入式实时操作系统是嵌入式软件的核心,引导学生根据嵌入式系统的软件体系结构学会软件设计的分工。嵌入式课程应能够向学生介绍几种目前较为流行的嵌入式操作系统,让学生对目前常用的嵌入式操作系统的发展状况及其主要特点有所了解。目前,嵌入式实时操作系统可分为两种类型,即商用型和免费型,商用型操作系统有Vxworks、Wince、PalmOS等,商用型操作系统功能稳定、可靠,有完善的技术支持和售后服务,但是价格昂贵;免费型操作系统在价格方面具有较大的优势,主要以Linux为代表,嵌入式系统课程应要求学生能够熟悉并掌握一种嵌入式操作系统的基本原理和使用方法。

μC/OS-II嵌入式操作系统是一种规模较小和源码开放的嵌入式操作系统,比较适合初学者学习和课堂教学,特别是学生在具备μC/OS-II操作系统基础和学习经验之后,再学习某些大型的操作系统(如嵌入式Linux)则可大大提高学习效率并获得较好的学习效果,因此本文选取μC/OS-II操作系统作为嵌入式操作系统的授课内容和研究对象,并以μC/OS-II操作系统为例讲授基于嵌入式系统的应用程序开发、驱动程序开发以及图形用户接口的使用方法。同时,嵌入式软件教学需向学生介绍嵌入式软件开发工具和开发平台,其中主要介绍交叉开发系统调试结构和使用方法。嵌入式交叉开发系统由宿主机系统、通信系统和目标机系统构成[4],嵌入式课程教学需要帮助学生直观的了解嵌入式软件开发的工作形式、嵌入式软件开发需要具备哪些条件和做哪些准备工作。同时,嵌入式课程需要向学生讲解1~2种嵌入式微处理器的上位机开发软件,目前STM32F104微处理器的软件开发普遍采用KeilμVision开发软件以及JLINK仿真器,则嵌入式课程需要向学生介绍KeilμVision开发环境设置方法、工程项目的建立方法、JLINK仿真器硬件连接方式以及驱动程序安装方法,使得学生能够自主构建基于STM32F104微处理器的嵌入式系统软、硬件开发平台,并能在此开发平台上新建工程项目、下载程序、仿真运行、断点跟踪调试等。

二、嵌入式系统教学方式的优化

在嵌入式系统教学过程中,任课教师必须研究和制定一套有效的教学方式,合理安排课程授课内容顺序,注重知识的承前启后,对嵌入式系统的一些先行课的相关章节知识点需要进行必要的复习,比如在硬件设计中,需复习模拟电路、数字电路、微机原理及接口技术等课程的相关知识点,在嵌入式软件设计教学中,需复习C语言程序设计、操作系统、数据结构等课程,为嵌入式系统课程作必要的准备。

(一)嵌入式课程硬件设计教学方式改革

嵌入式硬件设计教学中,任课教师可在课堂上准备一些实验设备[5],将软、硬件实验直接融合到理论课程的教学中,在课堂上首先向学生展示一块嵌入式系统硬件电路板,如STM32F104应用开发电路板,让学生近距离观察电路结构和板上的各种元器件,并作简要介绍,使得学生能够直观的认识嵌入式系统硬件电路,然后以提问的方式引导学生对电路图如何设计和生成产生兴趣,授课教师此时可介绍嵌入式硬件设计步骤以及电路设计的相关软件,让学生了解嵌入式硬件原理图和印制电路板图(PCB图)设计过程和设计方法。在此基础上,授课教师在课堂上以一个简单的嵌入式电路系统为例,现场安装Protel电路图绘制软件,讲解并演示电路原理图和PCB图的绘制步骤和方法。在电路图设计的演示之后,授课教师应给学生讲解硬件电路的调试过程和调试方法,让学生掌握嵌入式电源电路、时钟电路、接口电路的调试方法,并在课堂上现场演示硬件调试,最后以处理器的一个IO接口控制的LED灯闪烁为例,编写LED灯闪烁的例程,让学生直观的把握嵌入式系统调试方法。

(二)嵌入式课程软件设计教学方式优化

嵌入式软件教学的主要内容是嵌入式操作系统的移植方法、使用方法和应用程序编写。授课教师在讲解嵌入式操作系统的使用方法时,可在课堂上利用多媒体教学手段基于μC/OS-II的操作系统编写应用程序,在操作系统的每个任务的主循环中添加断点,让学生直观的感受操作系统多任务切换机制,并以一个简单的软件例程,要求学生现场进行构思,开展广泛的交流,然后将学生构思的各种方案在多媒体上进行现场编程实现、输出结果,让学生对自己方案的正确性、合理性有直观的认识和理解,并促使其对方案进行修正,以使学生迅速掌握μC/OS-II的操作系统的使用方法和应用程序设计方法。

三、嵌入式系统实验和实践教学的优化

实验教学和实践教学是教学过程中重要环节,可提高学生对理论知识的理解和把握,培养学生工程实践能力、独立思考解决问题的能力。学生可以通过实验来验证理论课程知识,对于课堂上的例程,学生可以通过自己的学习和理解对其进行修改,然后进行实验,验证其修改正确与否,这是一种极其有效的学习方法。嵌入式系统课程设计是嵌入式系统课程的工程实践环节,旨在训练学生的动手实践能力和培养学生的方案论证能力、工程项目设计和开发能力,适应学生就业和社会需求。

(一)嵌入式课程实验教学

嵌入式实验教学需要向学生详细介绍实验系统的拓扑结构、电原理图和系统的软件开发环境,并以一个简单的例程引导学生熟悉和如何使用实验系统的硬件电路和软件开发环境以及实验操作步骤。实验课程的章节内容安排应遵循由简入繁的原则,明确实验方法、实验步骤和实验目的,引导学生从一个简单的IO端口控制LED灯闪烁的例程开始学习,完成从新建工程、编写程序、下载程序调试、观看实验结果的实验过程,再以2~3个难度逐步增加的实验,明确实验目标(即实验成功后应看到的实验现象),激发学生的学习和动手实验的兴趣。学生在实验期间遇到问题,指导教师应积极引导学生检查问题并解决问题,而并非直接告诉学生答案,培养学生独立思考和解决问题的能力。在学生正确完成实验后,指导教师应积极鼓励学生采用多种不同的软件算法完成同一个实验,提高学生的编程能力和拓宽学生的视野。在完成实验的基础上,指导教师应鼓励学生在现有实验系统的基础上开发一些简单的电子设备,如数字电子钟、数字温度计、计算器等,让学生切身的感受到嵌入式技术的广泛用途。

(二)嵌入式课程设计教学

嵌入式系统作为一门应用性很强的课程,进行项目化教学是课程设计教学改革的必由之路[6]。本文采用项目开发为驱动的课程设计形式,引导学生自主学习嵌入式硬件设计、操作系统移植、驱动设计、应用程序设计,以一个完整的项目开发作为课程设计任务,让学生全面掌握嵌入式系统设计的全部过程,巩固所学的理论知识。在课程设计选题方面,指导教师可提供一定数量设计课题,设计课题需具备较高的综合性和可行性,难度适中,要能够达到训练学生嵌入式方案论证能力和软、硬件设计能力的目的。学生也可根据自身的知识特点拟定课题,经指导教师审核修改后进行课程设计,同样,自拟课题也要达到综合训练的目的。课程设计的选题和实施应能培养学生的嵌入式方案论证和制定项目具体实施计划的能力,规范学生的嵌入式项目开发方法和开发步骤。在嵌入式系统课程设计结束后,学校应提倡以学院为单位组织嵌入式系统设计大赛,进一步锻炼学生嵌入式工程实践能力,达到学以致用的目的。

四、结论

篇7

随着技术的快速发展和对嵌入式行业人才的持续需求,各个高等院校纷纷开设了嵌入式相关课程,然而在培养目标、课程设置、教学方法等教学关键因素中均存在若干问题。现将本人在计算机科学与技术专业嵌入式方法教学过程中存在的问题提出自己的一些想法。

1. 市场人才要求和高校毕业生素质之间的差异。目前,智能化计算机领域就业市场对嵌入式从业人员的需求持续高涨,然而从高校毕业的嵌入式专业或方法的大学生中却难以真正达到嵌入式从业人员标准,甚至多数毕业生并不具备从事嵌入式开发工作的能力,即便企业录用的专业毕业生,也通常需要对其进行一段相当长时间的再培训。市场人才要求和高等毕业生素质之间的矛盾日益突出。

2.重理论讲述而轻实践环节训练。据了解,我国大多数院校的嵌入式系统本科教育仍采用以理论为主,实验为辅的教学模式。多数学校的理论课时与实验课时的比例为3∶1或2∶1,能达到1∶1的情况很少;一般以实验室提供的嵌入式系统实验箱配套实验为基础,教师在实验中往往选用的是基础侧重验证性实验,选用的复杂和高级实验较少。

我校是在计算机科学与技术开设嵌入式方向,其作为专业方向课开设在大学三年级,前修课程为《程序设计基础》、《计算机操作系统》、《计算机组成原理》、《数字逻辑》等课程。众所周知,嵌入式方向所涉及的实验都是以系统层面为基础,每个实验均需要投入较多时间来完成,因此实验学时需求较大,而从整体课程体系来看,确实存在理论部分内容占用较多学时的问题,目前,我校在课程设置中理论学时较小,加大了实验学时的比重,然而实验学时如何有效使用以及如何对实践环节进行外延,这是摆在我们面前一个严峻的问题。3.缺乏与企业和公司的合作。除了必要的相关课程实验项目,我们在教学过程中,发现有些实验项目与公司企业的需求有一定差异,其一,实验项目内容和市场整个行业发展之间的不协调,使得嵌入式课程的实践教学跟市场有所脱节;其二,嵌入式方向课程综合性的特征使得实验项目的实施必须得到必要的资金支持。否则在校学生接触市场的机会减少,使得嵌入式课程的实践教学缺乏必要的直观性,制约学生学习的积极性。

地方院校可以发挥其办学特点,和当地相关产业紧密联系,通过校企合作,由教师审核指导,学生动手,开展校企合作项目,这也是培养应用型人才的重要途径之一。

二、嵌入式课程体系教学设置

1.嵌入式课程特点。我校计算机科学与技术专业嵌入式方向的学生侧重从事嵌入式操作系统和应用软件的开发。我们在实际的教学过程中发现嵌入式系统开发和一般的PC机开发具有明显的差异。首先,嵌入式系统的开发往往需要根据用户的需求进行定制,而不是通用操作,开发人员必须具备完善的知识体系;其次,嵌入式系统开发的工程性,嵌入式系统开发往往都是一个体积非常小的部件,CPU通常不采用Intelx86系列,开发工具也是专用的开发板。学生如果不通过实际动手开发一个系统模块,就很难了解嵌入式开发的基本过程,因此,实际动手能力是嵌入式课程最显着的特点。

2.我校嵌入式课程体系设置。嵌入式课程的特点使得学生必须有较完整的知识结构,因此,嵌入式课程体系的设置尤为重要,表1是我校嵌入式课程内容及时间设置情况。

表1显示,我校计算机科学与技术专业嵌入式方向专业课程从第二学年第4学期开始,从系统开发基本概念以及开发平台出发,依次对嵌入式操作系统Linux、嵌入式程序设计基础以及Java程序设计基础进行深入讲解,最后对嵌入式接口技术以及高级编程展开讲解,第四学年两个学期分别对专业实习和毕业实习进行持续性的工程化实践教学。

三、教学改革措施与创新实践

1.注重培养创新能力。嵌入式系统的开发依托产品和市场,而设计的创新性决定了系统的价值,因此,如何通过课程加强学生创新素质培养是我们面临的难题。我们在教学过程中的措施如下:理论学时仅概要讲解基本原理和方法,要求学生充分利用课外时间,查阅各种文献资料进一步学习,学生可以根据个人兴趣有选择地对某些问题进行深入的分析研究,环境搭建以及技术要点则通过实验学时完成;将学生两人一组,要求每组必须选取至少一个实验模块,小组内进行任务分工,对实验模块所涉及的知识点以及代码编写,甚至存在的问题等,在实验学时容许的范围内进行全班范围内讲解,任务在学期初就进行认领,提前布置给学生,使学生有充分时间准备,将被动接受知识的灌输转变为主动探索思考,鼓励学生对实例所采用的技术和方案进行不同角度的评价,深入研究实际系统,任课教师也对分组学生的任务完成给予一定的评价和考核,提高学生的学习能动性;利用实验学时6学时的综合开放实验,任课教师鼓励和引导学生积极提出自己的设计思想,并且注重设计的原创性。2.以生命期为线,规划教学体系。完整的知识结构离不开完善的嵌入式系统开发生命期的教学体系,因此嵌入式教学体系按照从下往上,从硬件到软件,从平台到应用的“三步走”思路,将嵌入式系统开发的生命周期和课程设置进行对应:①嵌入式开发环境的建立,对应课程《嵌入式软件开发导论》、《嵌入式接

口技术》,着重开发平台的了解和认识,交叉编译、仿真开发环境的搭建和使用方法的掌握,这不但是嵌入式系统开发的基础,也是实际工程项目的开始。②基于嵌入式操作系统的软件开发,对应课程《嵌入式操作系统》、《嵌入式程序设计基础》,包括应用开发和核心编写代码,是实际工程项目中的应用程序设计的基础。③嵌入式综合应用的开发,对应课程《嵌入式高级编程》、《Java程序设计》,包括农业移动多媒体、农业生产嵌入式图形应用、智能农业等复杂的复合型应用的开发,直接面向实际工程项目。 这完整的嵌入式课程实验体系,不仅使得教师可以在各个层面对学生的实践能力进行培养,并且可以帮助学生更清晰地理解嵌入式系统的全貌,对嵌入式系统有更加深入的认识。

3.强化实践教学。教学内容以及硬件平台是影响实践教学的重要因素,也是强化实践教学的两个关键方面。我校教学平台是购买市面上现成的通用型实验开发箱,按照厂家提供的内容来授课,实验课程初期,学生的实践环节受限于教学内容和实验设备,大多只能做些验证性实验,直接影响学生面对实际系统时的实际操作创新能力与后续开发实际动手能力,随着课程体系的不断完善,我校和厂家建立了一定的技术合作关系,在通用型的开发平台的基础上,自行改进设计成为适合本校学生使用的开发板,在实践教学中,通用型和改进型开发板结合使用,达到了良好的教学效果。和厂家进行技术合作关系,我们收获颇多。对实验指导书的实验要求进行一定的调整;减少验证性实验数量,增加了创新性实验部分;基于现有的实验教学平台扩展一定的外部功能模块。一系列的改进措施,不但贴近了我们的教学目标,而且更好地与实际[文秘站:]应用接轨。

篇8

【关键词】Cyclone Ⅳ Qsys NiosII EP4CE22F17C8

Cyclone Ⅳ系列的FPGA以最低成本、最低功耗理念的基础上推出的低成本、高容量的FPGAs,以满足带宽成本敏感性的市场需求。该系列有两类芯片:Cyclone Ⅳ E和Cyclone Ⅳ GX,前者提供核电压为1.0V和1.2V。Cyclone Ⅳ系列FPGA拥有6K-150K逻辑单元、最高至6.3Mb的内部存储容量,其18*18乘法器数量最多可达360个;M9K存储模块可提供9kbit的嵌入式SRAM,并可配置为多个数据宽度的存储模块,如真实双端口的×1、×2、×4、×8/9、×16/18;全局时钟高达30个,8个PLLs连接5个输出时钟;该系列芯片支持SDR、DDR、DDR2 SDRAM、和QDRII SRAM,可以利用Memory Controller MegaCore function完成存储器界面的设计。

封装形式为FBGA的EP4CE22F17C8是Cyclone Ⅳ E系列的FPGAs嵌入式处理器,支持Rs OCT或单端口的Rs,可实现可编程的总线保持、上拉电阻、时延、速率转换控制以优化信号完整性;其配置方式包括AS、AP、PS、FPP和JTAG,通过选择EPCS和并行FLASH采取相应的配置数据方式,以实现上电数据自动加载;该芯片支持速率等级8。本文采用CycloneⅣ E系列的EP4CE22F17C8来实现无线输液监控系统硬件设计,可实现多位输液病人的监测与最低液位自动报警,以最大限度地实现输液安全防护。

1 系统总体方案

本系统的总体框图如图1所示,主要包括液位监测、无线收发、编解码电路和处理器及电路。当液位低于某个位置时,输液监测电路驱动编码器启动无线发射器发射液位报警信号,接收端译码后送入处理器判断输液患者编号,启动声光报警。

2 基于EP4CE22F17C8 的IP CORE设计

2.1 基于NiosII/f的EP4CE22F17C8嵌入式处理器

本系统采用的处理器是Altera 公司提供的Cyclone IV E系列的EP4CE22F17C8,处理器模式为NiosII/f。该芯片具有22320个逻辑单元;拥有154个I/O接口和256个管脚,工作温度0°C - 85°C;嵌入132个9 bit单元乘法器,拥有4个PLL和20个全局时钟,其核工作电压为1.2伏;拥有608256 bits存储容量,packed mode的M9K存储模块可设计为最大数据宽度为18bits、单时钟模式的两个4.5K单端口模块,其初始化方式为上电清零后再加载利用RAM MegaWizard Plug-In Manager设计完成的.mif文件以例化存储模块。

2.2 基于EP4CE22F17C8 IP CORE的设计

本系统的硬件电路设计需要添加以下IP Core:on-chip memory(RAM)、epcs serial flash controller、JTAG UART、system id、DDR SDRAM Controller with ALTMEMPHY、PIO等。

本系统所采用存储器为DDR2 SDRAM,利用Qsys添加Avalon-MM slave Agent和Avalon-MM slave Translator构成slave网络接口;利用MegaWizard Plug-in Manager完成DDR2 SDRAM Controller with ALTMEMPHY的接口设计以节省全局时钟,并将存储器DQS与控制接口的DQS相连。该设计采用的每个DQS为8比特DQ,DQ宽度为32比特,读取频率为133MHz,tRRD与tRTP设置为9ns,存储器类型为JEDEC DDR2-533 512Mb x8,其原理图如图2所示。

3 基于EP4CE22F17C8实现输液监测无线报警系统主要电路的设计

3.1 液位监测及无线报警系统的设计

本文采用利用TLV1701、SC5262和TDK5110F完成液位监测和无线系统的设计。以输液编号为第15位说明硬件电路原理图的设计,如图3所示。当液位低于设定值时,红外对管产生报警电压经电压比较器处理后,依据输液病人编号借助SC5262进行编码,通过TDK5100F调频后发出射频信号,实现液位监测报警。

3.2 液位监测无线解码及报警电路设计

液位监测无线解码及报警硬件电路设计基本原理图如4所示,所采用的集成芯片为TDA5210和SC5272,其中TDA5210能与ASK接收器TDA5200兼容。其基本原理为:TDA5210将接受的射频信号解调后送至SC5272,与EP4CE22F17C8处理器定时发送至SC5272地址入口的输液编号对比,一致时,处理器针对该输液编号发出液位报警提示信号。

4 结论

本文利用Cyclone Ⅳ E系列的FPGAs嵌入式处理器EP4CE22F17C8、以quartus13.0开发平台、结合Qsys设计NIOSII及IP核、altium designer summer 9.0实现输液监测无线报警系统的硬件电路设计。该电路将无线编解码及无线射频的设计思想与Cyclone嵌入式处理器完美结合,充分发挥了该处理器芯片的强大处理能力和灵活性,为其在智能领域的应用开阔了设计思路。

参考文献

[1]周润景等编著.基于Quartus II的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社,2013.

[2]黄平等编著.基于Quartus Ⅱ的FPGA/CPLD数字系统设计与应用[M].北京:电子工业出版社,2014.

[3]何宾著.Altium Designer13.0电路设计、仿真与验证权威指南[M].北京:清华大学出版社,2014.

[4]马臣岗,孟立凡.TDK5110与TDA5220的无线温度采集系统[J].单片机与嵌入式系统应用,2010.

篇9

论文摘要:针对电子电信类专业的特点,制定了各个教学阶段第二课堂活动的基本内容和实施方法,方便了指导教师从事第二课堂的指导活动;在各个教学阶段实施第二课堂教学实践活动,培养学生的创新能力。通过第二课堂实践,我校电子电信类专业的学生对专业课的学习兴趣不断增加,学生的创新显著提高。

第二课堂活动是指在完成专业人才培养方案中的课程和实践环节之外,结合所学知识,在教师指导之下利用业余时问进行的科研和实践活动。为提高学生的综合素质和创新能力,促进学生个性发展,山东工商学院(以下简称“我校”)从2002年开始实施第二课堂与创新学分学校文件规定,实行学分制的本科学生在校期间必须取得第二课堂学分5分,否则不能毕业。

第二课堂与学生所学专业关系密切,学校文件只是给出了宏观的要求,不可能具体到每个学科、每个专业的实施细节就电信类专业来说,专业的理论性强,且具有较强的实践性第二课堂的重点是培养学生的实践能力及创新能力。为了做好电信类专业的第二课堂与创新活动,我们按照教学过程的几个不同阶段,规定了第二课堂与创新活动的内容及评价方法。

一、基础课学习阶段的第二课堂活动

按照规定,学生在学习基础学科和人文社会学科课程时可在教师指导下,利用业余时间开展课程内容专题讨论、学术报告,并写出书面总结,经任课教师考核,学生可以取得1到个第二课堂学分。

在基础课学习阶段,任课教师来自于兄弟院系,他们与学生所在院系没有直接隶属关系。学生所在院系无法直接给这些教师下达第二课堂活动的任务。为此,从2004年开始执行导师制度,即每个班级安排一名专业教师,负责指导该班级的第二课堂活动。

电子信息工程、电子信息科学与技术等专业的学生结合基本原理课程,完成了指导教师布置的用基本原理分析当前金融危机的题目。学生都能够运用所学的知识,对这次金融危机爆发的原因进行深入细致的分析和解释不但巩固了所学知识,同时通过图书、网络等手段了解了当前经济活动的热点问题。

二、专业基础课学习阶段的第二课堂活动

在专业基础课学习阶段,学生可开展课外专题讨论、写读书报告、组织课外科技活动小组等多种形式的活动,由教师考核每项活动可得l到2个该类学分。电信类专业的专业基础课包含电路分析、模拟电子技术、数字电子技术及信号与线性系统分析等课程。模拟电子技术及数字电子技术课程均包含1周的课程设计,且授课学时较多。因此,我们结合电路分析、信号与线性系统分析这两门课程,设置了课外讨论题目。如线性系统的时域解法综述(电路实例),通信系统频分复用方式的频域分析,系统的时域解法与变换域解法的比较等。要求写出书面报告,由指导教师评分。

学生在学习信号与系统时,还未开通信原理课。要完成通信系统的频域分析,要用到频域分析的基本原理(信号的调制与解调、信号滤波),以及通信系统的频分复用系统,后者指导教师可以做适当指导。通过这一题目,学生知道了频域分析的用途,并对后续课程有一个大致的了解,激发其学习兴趣。另外,开展专题演讲活动也可作为这一阶段的第二课堂活动。由学生自己选择题目,并在课下准备材料,制作成幻灯片(限定时间为5分钟);由指导教师组织在多媒体教室进行演讲比赛,指导教师按照演讲情况进行评分。这项活动,可以锻炼学生的组织材料能力、多媒体课件制作能力及演讲能力,能够在工作中更好地表达自己的思路及方案。

三、专业课学习阶段的第二课堂活动

在专业课学习阶段,学生参加教师的科研课题,或由教师组织成立课外科技活动小组,完成一定的科研任务,并撰写文献综述、生产现状调查、研究论文、实验设计等,由教师考核,每项活动可得l到2个该类学分。

在这一阶段,学生已具备一定的专业知识和科技工作能力,但还不完善,需要在教师的指导下才能工作。学生参与第二课堂活动,可在教师指导下,完成某个项目的部分或全部工作,经历科研及开发工作的整个过程,积累科研开发工作经验。

电子设计大赛是第二课堂活动的重要内容。我校自电子信息工程专业成立至今,每年都组织学生参加两年一度的全国大学生电子设计竞赛及山东省大学生电子设计竞赛。竞赛的时间在每年的9月,我们在暑假前组织学生自愿报名,学生组队参加,利用假期进行认真的理论与实践方面的准备,学习单片机的编程技术,常用电子仪器的使用方法,电路图的制版及元器件的焊接技术,以及各种传感器电路及其应用。学生拿到竞赛题目后能够在规定时间内完成设计任务。参加过电子设计竞赛的学生感慨地说,参赛过程学到的东西实在是太多了,好多都是教材中没有的新技术。除此之外,提倡学生根据自己的兴趣进行组合参加各种形式的电子竞赛,如“ZLG杯”ARM嵌入式系统电子设计竞赛,富士通微电子杯MB95200系列MCU竞赛等。至今,我校学生已多次获国家及山东省的奖项。

选拔有能力的学生参与教师的科研课题,这是第二课堂活动的另一项内容。学生到课题组后,教师为学生分配一定的任务并提供适当的条件,学生在教师指导下工作。例如,在嵌入式系统开发中,LCD显示驱动子系统的开发,无线数据传输子系统的开发,这样的小题目非常适合学生去完成。学生在课题组工作,不仅学到了知识,而且得到了在科研团队中的工作经验为今后从事科研工作打下了良好的基础。

学生成立技术协会,也是第二课堂活动的内容。爱好电脑的学生参加电脑技术协会,"协会是学生人数较多的协会学生一起交流电脑装机技术,系统维护技术,网页制作技术等他们把所学到的知识,利用业余时间运用到为同学、教师的服务中。符合勤工俭学条件的,可以在相应部门的岗位上帮助教师做电脑维护工作,学校支付一定的报酬。另外,校外的小企业需要开发网页,大的软件公司不愿承担过小的项目,这种网页开发特别适合学生去做。通过这样的开发过程,学生的网页制作技术水平得到提高,并得到与企业打交道的经验,还得到一定的报酬。

鼓励学生学习嵌入式系统开发技术。虽然专业培养计划中已开设单片机原理课程,但对电信类专业来说,只知道单片机是不够的,还要进一步学习嵌入式系统技术。嵌入式开发系统品种繁多,各种单片机开发板,ARM开发系统价格仅几百元,学生可以结合自己的兴趣,自己购买开发学习板,利用业余时间学习。不少学生把嵌入式系统的开发作为毕业设计的题目,并取得了良好的成绩。

四、总结

篇10

关键词: 黑盒测试; 嵌入式系统; 程序流程图; 插桩处理

中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2016)21?0172?03

Design and implementation of embedded system platform based on black?box testing

HE Dandan

(Dalian Maritime University, Dalian 116026, China)

Abstract: Aiming at the design and implementation of the assembly language morphology and syntax analysis of the embedded system, the relationship between Lex and Yacc is put forward, and the two items are compiled with gcc command to form the synthesis analyzer. The synthesis analyzer can analyze the assembly language of 51 series. The static structure analysis method of the tested source program is proposed. The process of the program flow chart was established. The specific theories and service rules of the instrumentation processing and coverage rate analysis of the tested source program are emphasized, which provide a scientific method for black?box testing results.

Keywords: black?box testing; embedded system; program flow chart; instrumentation processing

0 引 言

黑盒测试是从用户观点出发的测试,依据需求功能说明书中的预期用途、定时和性能的要求,推断测试结果。黑盒测试根据测试阶段可分为单元测试、集成测试、确认测试、系统测试四个阶段[1]。嵌入式计算机系统具有与传统软件测试不同的新特性,因此需要采取针对性的测试方法。通用的测试方法可分为静态时间分析和动态时间分析。

1 嵌入式软件测试的环境分析

在线仿真配备了CPU芯片接口,提供和应用程序交流信息桥,不足之处在于对硬件的依赖性较强,测试范围较窄;目标机仿真测试结果真实,但由于实际运行中连接外部设备,很难辨识软件和硬件错误。在实际测试中,根据测试效率、成本、可靠性、自动化程度等因素选择测试环境[2]。

2 嵌入式测试系统的技术实现

CodeTest一方面吸取软件插桩技术,另一方面从硬件测试那里吸取从总线获取数据的技术,并进行升级改造。在硬件测试时,CodeTest选择插入点的方式为主动获取关键数据。和CodeTest相比,纯软件测试对目标测试的影响大大降低。因此选用Cereal仿真器。

嵌入式软件测试系统由功能测试模块、代码测试模块、数据分析和文档报告模块、通信接口转换模块组成。对于黑盒测试来说,功能测试模块居主导地位,它主要通过接收目标系统输出信号和需要的信号进行比对来判定目标系统在功能上是否达到最优[3]。

3 词法语法分析的设计与实现

3.1 Lex?Yacc

Lex是检测字符匹配性的词法生成程序,Yacc是测定语法的生成程序。一个Lex程序由三段组成:首先是C和Lex定义;第二段是C代码;第三段是C函数。一个Yacc程序也是由三段组成,分别是声明、语法规则和C代码。Lex同Yacc的工作原理如图1所示。

3.2 Lex?Yacc之间的联系

Lex程序用来计算数字字符串,能对各种符号进行识别,当插码时可以以注释的形式插入插桩代码,等程序完成,可以自行取消代码插桩,不影响整体进程。Yylval用来传递Lex与Yacc之间数字字符串转化后的数值,利用lineno传递正在处理的代码行号和标号。本次设计全程在Linux下,通过Lex编译后生成词法分析程序的C代码,通过Yacc编译后生成语法分析程序的C程序代码。两者通过gcc命令进行编译形成综合分析。最后运行该综合分析器就可以对51系列的汇编语言进行分析[4?5]。

3.3 被测源程序静态结构分析

Lex?Yacc工具对单文件逐行扫描,得出当前语句各类参数类型,不同参数类型分别进入不同的单链表中。其中除了顺序单链表外,其他四种处理方式基本相同。待词法、语法分析完毕,五个单链表中存储了对应的汇编程序。因为单链表本身只是一个转换器,无法显示汇编程序之间的逻辑关系,所以需要对程序进行二次分析,确定所有逻辑关系。其中五个单链表形成的流程图如图2所示。

针对程序流程图的建立,首先搜索匹配节点,根据节点不同进入相应分支处理。当前语句在顺序节点,则进入顺序处理模块。从关键字“结束行号+1”开始遍历单链表,存在两种结果:一是算法出错;另外一种就是在主程序中时则表明当前分支分析完成。接着要判断条件跟踪链表中的顺序分支(规定为右分支)是否都已分析完毕。

4 覆盖率分析及评测

4.1 被测源程序覆盖率分析

虚拟插桩技术就是在汇编语言基本结构的特点上,在源程序的插桩点处设置断点,在源程序执行到断点处,响应断点处指令,给出具体的PC地址,自动记录并打印出来,接连下去形成PC值的数据链。通过查询五类单链表与之建立对应关系,就可以获得到源程序的真实运行轨迹,进而计算出各类覆盖指标。

4.2 基于代码的覆盖评测

在仿真测试平台原型系统上,基于代码的覆盖测试首先需要选定适合用作黑盒测试的子过程模块。提取的子过程模块必须具备独立运行的能力,根据覆盖测试的标准和要求对代码逻辑结构进行认真分析,设计出多个测试用例,然后通过手工运行该子程序的方式,在某一特定测试用例驱动下运行,测定出运行路径,通过计算得出两种覆盖率理论评测指标,与仿真测试平台上实现的两种覆盖率相对比,得出覆盖率分析法与虚拟插桩的正确性验证结果。

5 嵌入式系统平台设计

设计一个可以代替人工进行黑盒测试的平台系统,见图3,其基本原理是通过脚本语言记录状态信息,之后通过PC回放测试信息以判断结果是否与记录脚本一致,以此决定本次测试是否通过。为此,在编辑源代码时就需要满足录制脚本和脚本回放两个阶段的需求。

5.1 插装代码分析

在PC上运行插装系统最重要的原则就是要保证软件原有功能的稳定性和完整性。因此在设计嵌入式系统的插装代码时不能改变程序的原有逻辑和原有执行流程,应尽量降低在嵌入式系统所占的资源,尽可能将部分功能和操作交付于PC进行。

嵌入式系统中的模拟用户输入模块的主要功能是将计算机发送的命令进行分析,并将结果回复到处理模块中,其操作模拟流程见图4。

5.2 系统状态的定义和获取

(1) 声音信息的获取

嵌入式系统中对声音信息的获取主要是通过识别每个声音惟一的ID编号和固定的音频编码进行的。工作时,由系统中的服务函数获得ID声音的音频编码并发送到PC中。

(2) 获取LED信息

LED的运行方法和声音相似,都有一套惟一的LED编码,并由LED控制器控制。常用的设计方法是将LED中的编码放到嵌入式系统中的缓冲区内,通过定时刷新函数提取LED信息[6]。

(3) 获取LCD信息

由于LCD需要显示的信息较多,且各消息属性复杂,因此较难提取。目前常用的提取方法是点阵截取法和消息截取法。由于点阵截取法操作简单、测试结果准确率高,因此本文使用点阵截取法获取LCD信息。

(4) 系统状态的获取

主动请求和被动获取是嵌入式系统获取信息的主要方式。主动请求是指嵌入式系统在处理完PC发出的操作命令时,主动将搜集好的信息发送到PC上。被动获取是指嵌入式系统并不主动发送检测信息,而是当状态出现时才决定是否继续后续操作。

5.3 自动化比较和测试

软件是否准确输出结果,需要经过多次测试实际输出和预期输出的差别。本文在设计嵌入式系统时综合考虑了一些智能比较思想来优化设计流程。由于实际的嵌入式系统会产生上百个复杂的状态信息[7],为便于比较,本文采用了相对比较的办法对录制脚本时的状态变迁进行比较。

最后设计完成的嵌入式系统需对脚本进行测试,这是交互式应用的重要组成部分。脚本测试的准确度主要依赖于所选用的测试工作和脚本技术。当前主要的脚本技术有共享脚本、数据驱动脚本、结构化脚本等。这些脚本都包括了三个命令,即人工操作命令、状态检查命令、逻辑控制命令。测试脚本主要就是对这三个命令进行检查,其中在自动化检测中采用何种脚本记录测试结果可依据模块要求进行选定。

6 结 语

黑盒测试技术的汇编语言测试系统用例研究在我国已经很多,本文最大的亮点是引入虚拟插桩技术,实现真正插桩,即在被测源程序的插桩点处设置中断指令,当源程序运行到该点处时自动运行断点指令,给出具体的PC地址,进而给出一系列地址数据,根据事先设定的用例判定运行效果,得出黑盒测试的正确验证结果。此方法最大的优点在于高效、精确、成本较低,在实际运用中具有较高的实用价值。

参考文献

[1] 孙昌爱,靳若明,刘超,等.实时嵌入式软件的测试技术[J].小型微型计算机系统,2000,21(9):920?924.

[2] 杜晓东.面向嵌入式系统的测试工具研究[D].成都:电子科技大学,2003.

[3] 苏铭,宋宗宇,王华.多计算机的自动插桩与监测系统[J].计算机工程与应用,2002(4):79?82.

[4] 杨作梅,张旭东.1ex与yacc[M].北京:电子工业出版社,2003.

[5] 邓支益,何亦征,田翼.嵌入式软件测试研究[J].航空电子技术,2003,34(1):37?42.