前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的嵌入式系统的基本原理主题范文,仅供参考,欢迎阅读并收藏。
关键词:操作系统;Linux
中图分类号:TP316-4 文献标识码:A文章编号:1007-9599(2012)04-0000-02
众所周知,操作系统在计算机专业课程中的重要地位,在计算机软硬件课程的设置上,它起着承上启下的作用。但是,在电子信息类专业的课程设置上,《操作系统》这门课的课时设置以及教学内容的安排与计算机专业的设置有较大的区别。比如课时设置,计算机专业大多都分配了48理论学时+16实践学时,而电子信息类专业的设置大多是36理论学时+12实践学时。如何在较少的授课课时中,让学生能理解操作系统的基本概念和主要功能,掌握常用操作系统(如Linux)的使用和一般管理方法,了解它与硬件和其它系统软件的关系,了解它是如何组织和运作的,能使用和分析常见的操作系统,从而为学生以后的学习和工作打下基础?
现在很多学校的计算机专业和电子信息类专业都开设了基于Linux的《嵌入式系统》课程,但在课程安排上有较大的区别。在计算机专业的课程安排中,他们开设《嵌入式系统》课程之前,会先安排一门相对以理论为主的《操作系统》课程,然后再开设一门类似《Linux程序设计》之类的以实践为主的课程,经过两门课的学习后,学生既掌握了Linux操作系统的使用,也理解了现在操作系统的主要功能及基本原理,为后续的《嵌入式系统》打下了很好的基础。但是,很多电子信息类专业的课程安排中,他们在开设《嵌入式系统》的课程之前往往只开始一门《操作系统》的课程而已。那么,电子信息类的《操作系统》这门课中如何更好地把Linux的使用方法以及现在操作系统的相关原理结合起来,让学生既掌握了Linux使用及C的开发又理解Linux操作系统的基本原理?本文想通过分析常用的《操作系统》的教材[1-9],结合电子信息类专业的教学目标,探索一条解决该类专业《操作系统》课程课时少,内容多这一矛盾的途径。
一、理论内容安排
大多《操作系统》教材的内容都是集中介绍操作系统中的四大资源的管理:内存分配、回收、页面的替换以及段页式的存储管理;进程的控制、调度、通信;中断处理及设备管理和文件系统结构。而且都以原理介绍为主,较少结合某个具体的操作系统(如Linux)的实现方法。在授课过程中,纯粹的原理接收容易使学生感到内容晦涩难懂,而且感觉枯燥,达不到感官认知。因此本文在《操作系统》的理论授课内容安排上,试探性地把合Linux操作系统与操作系统中的基本原理相结,将一些经典的资源管理算法与Linux的内核源码相结合,让学生既能理解相关的原理,又能掌握如何从基本的编程上去实现相应的功能。具体的内容安排如图1所示。整个理论内容分成3大块:基础篇、原理篇和应用篇。
在开始操作系统的原理介绍之前,安排了Linux的命令操作以及编程基础,为后续的原理学习与Linux的内核的结合提供一定的基础铺垫。根据36学时的理论课时,基本安排如下。基础篇的内容、课时安排为:“概述”2课时,介绍操作系统的基本概念及功能,操作系统的发展,最后简要概述Linux操作系统的相关情况;“Linux操作基础”4课时,Linux系统的图形界面已比较友好,因此这部分的授课内容主要是让学生掌握常用的操作命令,以及输入/输出重定向的概念;“软件开发工具”4课时,主要讲授C编译的基本过程、Make工具的应用以及程序调试方法。
在原理篇中,主要是要让学生理解和掌握操作系统的四大资源管理的基本原理以及Linux内核中的相关实现方法,使学生在学习原理的同时能更清楚的了解在具体的操作系统内核中是如何实现的。原理篇的内容、课时安排为:“进程管理”8课时,主要教授进程控制块的作用、进程的调度(结合Linux系统的进程调度算法)、进程同步与互斥(结合Linux的进程间通信);“存储管理”6课时,结合Linux的存储管理机制让学生掌握虚拟地址与物理地址的转换、内存的分配/回收,以及内存的扩充技术;“设备管理”安排4课时,结合Linux设备管理介绍I/O控制方式、设备分配策略等;“文件管理”安排4课时,结合Linux文件系统的结构以及特点,介绍VFS的主要作用。最后在应用篇中,利用较少的4课时分别介绍Shell程序设计以及内核的升级/裁剪、文件系统的构造等。通过这样的理论讲授之后,希望让学生既能掌握Linux操作系统的应用,也能理论并掌握操作系统的主要作用及工作原理。
二、实践内容安排
因为课内安排的实践课时相对偏少,如何让学生有足够的实践机会呢?在讲授某个操作系统的基本原理后,在课堂上可以先结合Linux内核中的具体实现代码,让学生先理解并掌握其中的关键算法,然后要求学生利用课外时间去另行设计某个相对简单的算法,以达到真正理解并掌握的程度。图2列出了课内、课外的实践内容安排。
三、小结
我们从电子信息类专业对《操作系统》课程的教学要求出发,结合目前常用的一些《操作系统》教材,对该课程的体系构建、以及理论和实验教学的设置提出一些建议和意见。《操作系统》课程教学还有其他许多值得深入探讨和研究的内容,本文的建议仅是一家之言,希望对同行能有一定的参考价值,也欢迎同行批评指正。
参考文献:
[1](荷)ANDREW S.TANENBAUM.现代操作系统[M].陈向群,马洪兵,译.北京:机械工业出版社,2009
[2]肖竞华,陈建勋.计算机操作系统原理-LINUX实例分析[M].西安:西安电子科技大学出版社,2008
[3]汤小丹,梁红兵,哲凤屏,汤子瀛.计算机操作系统[M].西安电子科技大学出版社,2011
[4]Pabitra Pal Choudhury.操作系统:原理与设计.北京:清华大学出版社,2012
[5]Abraham Silberschatz,Peter B Galvin,Greg Gagne.操作系统概念(英文影印版).北京:清华大学出版社,2010
[6]张玲编著.Linux操作系统原理与应用.西安:西安电子科技大学出版社,2009
[7]邱铁,于玉龙,徐子川编著.Linux应用与开发典型实例精讲.北京:清华大学出版,2010
[8]陈莉君,康华编著.Linux操作系统原理与应用.北京:清华大学出版,2011
[9]庞丽华,郑然编著.操作系统原理与Linux系统实验.北京:机械工业出版社,2011
嵌入式系统开发与传统PC机不同,开发人员需要对用户做出详细的制定,所以人员需要对嵌入式系统更加全面透彻的了解。而且嵌入式系统的形式上与PC也不尽相同。嵌入式系统的体积往往较小,开发工具也是专门制定。嵌入式开发工程特点比较明显,一个普通人必须通过实际出发开发一款简单模式很难了解开发基本过程。嵌入式操作系统实验包括很多类型,需要根据不同的情况选择具体点操作系统。比如典型的嵌入式操作系统构成、系统移植、任务调度等等。建设嵌入式课程实验体系将指日可待。
2嵌入式实验教学体系
2.1实验平台建立与开发
在嵌入式实验开发建设过程中,我们主要采用广泛的校企合作模式。无论是低层还是高层,硬件还是软件,我们都是按照合理的思路,将嵌入式教学系统生命周期缩短,并进行系统详细的分析。分步骤的有层次的对内容深一步的了解。增强系统的连贯性,锻炼整体的把握能力。着重加强嵌入式的开发,移动多媒体数字电视复合型开发。而不是那些单一独立的,较为简单的开发软件,那些都是不成体系不完整的。我们需要对整合嵌入式了解更加透彻更加深入,对其特点加以研究,对其系统研究的更加明白易懂。
2.2设计实验平台
通过设计嵌入式开发环境linux下的应用、UC/OS-Ⅱ的应用、linux的基本应用、QTEmbedded设计、嵌入式微处理器ARM编程基础(指令)实验、ARM接口编程技术与驱动程序开发、SM接口编程与驱动开发等不同实验。来适应不同层次的对软件开发与学习。通过对其他课程的理解与熟知来配合对嵌入式教学课程的设计开发与研究。
3基于能力培养的嵌入式课程实践教学的实施
3.1强化嵌入式硬件和软件协同开发
多媒体课件编写为适应本院培养应用型本科层次的课程体系发展新形势的需要,在内容上更加偏重实用性,增加了多个嵌入式裸机系统设计案例,使学生在掌握基本原理知识的前提下,注重提高学生应用能力。因嵌入式硬件一些限制和一系列要求,嵌入式系统不会有固定系统模式。目前,一些公司针对于嵌入式多媒体教学平台,学生可以在教学软件和硬件平台上开发嵌入式软件。每次实验对每个具体功能来进行设计具体如中断通信AD取样驱动等等。实现每个误差不会太大,在规定的时间范围内完成。在嵌入开发技术的实践学时比较充足时,还要嵌入式实验平台上加入Linux的程序设计实验。
3.2改进实验项目
(1)根据客户的不同实验要求,导致实验教学平台配套的实验项目工程文件不能直接采用,所以需要我们独立思考问题,完成相应软件设计开发问题,并在调试过程中积累开发经验,提高动手能力,提高自己的综合素质。
(2)减少验证性实验,增加创新性实验。在实验过程,应该提倡创新能力,以动手过程内容为主,不能以老师课堂演示为主要内容,使得学生跟着老师和自己思维走,进而发挥学生的想象力和主观能动性。
4结束语
摘要:本文以社会对嵌入式人才的需求为基础,对嵌入式系统及应用课程的特点、教学方法和经验进行了总结,主要分析了嵌入式软件开发模式。
关键词:嵌入式系统,启发式教学,嵌入式软件开发,实验系统设计
中图分类号:G642
文献标识码:A
1 课程特点介绍
目前国内高校大多已开设和嵌入式系统有关的各种课程,以电子科技大学为例,自20世纪90年代中期开设嵌入式实时操作系统课程以来,以“科研促教学”为国家培养了一大批嵌入式系统方面的高级人才,并撰写了多部嵌入式方面的书籍和教材。目前该课程发展为“嵌入式系统及应用”,本课程坚持理论、实践相结合的原则,特别重视对学生实际应用能力的培养。本文首先讲述了该课程如何结合现实生活激发学生对课程的兴趣,以及如何使用启发式教学方法提高教学质量,接着重点讨论本课程在注重实践、培养应用型人才方面所采用的一些方法和经验。
2 结合现实生活激发学生的学习兴趣
计算机科学与技术的发展日新月异,新技术、新方法、新产品层出不穷。学生经常对所学的课程产生疑问,一方面社会上也流传今天的计算机教育是“用昨天的知识教今天的学生去做明天的事”。另外,学生对这样一门较新的学科不是很了解,不明白它的重要性,所以一些学生缺乏学习动力,学习的积极性不高。爱因斯坦曾经说过:“兴趣是最好的老师”。为了调动学生学习的兴趣,嵌入式系统及应用课程的第一节课我们安排的教学内容是:嵌入式计算机的发展史和未来发展趋势。目的就是要让学生知道,嵌入式计算机与通用计算机一样积累了大量的理论、技术和工程实现的经验。并以图片方式告诉学生嵌入式计算机跟我们的生活息息相关,它们在不断地为我们的工作和生活服务,同时让大家充分发挥想象力对“后PC时代”进行美好的憧憬和遐想。然后,告诉大家在这样“无处不在”的计算机时代里嵌入式计算机的作用和重要性,即它们是本学科理论和技术的精华,是几代计算机人经验的结晶,是创新的源泉。当代计算机技术的进步以及高性能的获得,与创造性的应用技术是分不开的。科学技术的进步,人类的创造发明,嵌入式计算机的“无处不在”,激起了学生对嵌入式系统的浓厚兴趣,使学生有了学习的动力,从而“教”与“学”都成为一种享受。
3 用启发式教学方法提高课堂教学质量
孔子说过:“不愤不启,不悱不发”。意思是学生不到想求明白而不得的时候,不去开导他;不到想说说不出的时候,不去启发他。启发式教学的真谛就是要充分体现学生在教学过程中的主体地位,活跃课题气氛,激励学生主动思考,使课堂达到“师生互动”的完美效果。听课时,学生感觉到已知中有疑问,这种疑问便成为认知的起点,从而由产生疑问向解决疑问的方向转化。
所以,我们在嵌入式系统及应用课程的教学中大量使用启发式教学方法,让学生带着疑问听讲,最大限度的吸引学生注意力。比如,在讲到嵌入式实时操作系统通常会出现“优先级反转”的严重问题时,首先分析问题产生的原因,并列举历史上曾因为此问题而导致的严重事故,然后向大家提问“谁有最好的方法来解决这个问题?”这时发现同学的兴趣非常高昂,个个都在冥思苦想,紧接着就会有同学举手回答。不管同学回答的是否正确都应该给予最大的鼓励和掌声,从而就会有更多的同学抢着回答自己的想法,这样课堂就“互动”起来了。最后再逐步推出当前比较成熟的经典解决算法,同时将大家的想法和现有的算法进行对比分析,找出各自的优缺点。另外,不要忘记给想法比较好的学生多一些夸奖,这样他们学习和思考的兴趣就会更加高昂。
这种教学方法学生非常喜欢,一致反映容易理解,记忆深刻,而且有利于培养学生独立思考和解决问题的能力。
4 注重实践、培养应用型人才
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。结合嵌入式系统的特点,在教学过程中,对嵌入式系统涉及的硬件和软件部分进行详细阐述,确立以教学实验板为物理基础,以软件应用设计开发为主的指导思想,结合市场需要设计出多个综合实验题目;同时还组织学生参加相关的大学生嵌入式设计大赛,激发学生的学习热情和潜在能力。为了促进学生在校期间工程实践素质的培养,提高学生的动手能力和软硬件设计的综合能力,消除大学生就业过程中理论脱离实际的尴尬场面,在教学过程中我院始终坚持方法、能力和品质的培养,积极鼓励、引导有能力的同学结合课程提出课题,参加有关竞赛甚至提前进入我们的科研团队,从而使优秀的人才脱颖而出。
5 课程实验设计
为了让学生理论联系实际,尽快熟悉嵌入式系统的开发过程,并达到能够独立开发嵌入式软件的目标。本课程的实验系统特定针对当今非常流行的嵌入式处理器而开发了3套实验系统,该实验系统使用开源的嵌入式实时操作系统µC/OS-II。
5.1嵌入式软件开发模式
嵌入式软件的开发模式为交叉开发模式。交叉开发指嵌入式系统软件的开发由宿主机和目标机共同完成。如图1所示。
宿主机(Host):是用于开发嵌入式系统的计算机。一般为PC机(或工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。
目标机(Target):即所开发的嵌入式软件系统,是嵌入式软件的运行环境,包括嵌入式操作系统、嵌入式应用软件,其软件是为特定应用而定制的。
通过交叉开发工具进行交叉编译和调试,做过调试和测试的最终程序通过工具“固化”到目标机上,从此该程序就永久运行于目标机了。
5.2基于µC/OS-II的实验系统设计
嵌入式系统及应用课程的教学内容与实验密不可分,由于嵌入式软件开发方式的特殊性,实验的开设有一定难度,需要特殊的软硬件环境。结合课程内容,我们设计了软、硬件两种平台搭建实验和7个综合软件开发实验,覆盖了课程所讲述的主要章节。实验系统采用开放源代码的嵌入式实时操作系统µC/OS-II。
5.2.1 实验内容
第一部分:平台搭建实验
(1) 软件平台的搭建。实验使用的嵌入式软件开发工具是科银京成公司的LambdaTOOL嵌入式集成开发工具。本部分实验要求学生自己动手安装并熟悉此工具,同时搭建基于此工具的交叉开发环境。本实验使学生对嵌入式开发工具及交叉开发模式进行更为深入的认知和学习。
(2) 三个硬件平台的搭建。为加强学生对当今流行的嵌入式处理器的学习以适应社会需要,本实验系统采用三种实验平台:基于×86系列的PC虚拟实验平台,基于ARM7-TDMI处理器的W90P710开发板实验平台,基于SH3-7709S 微处理器的清华YU-SH3-VER2开发板实验平台。通过这部分实验使学生对嵌入式系统的硬件知识有更深入和直观的认识。
第二部分:软件开发实验
本部分实验考查各章节知识的学习情况,并将各章节所学知识进行实践开发;锻炼学生的综合应用能力和嵌入式软件开发能力。本部分实验根据各章节内容共设计了7个实验题目。
5.2.2 实验环境介绍
(1) 硬件环境
实验硬件环境分为宿主机、目标机两种硬件平台。
(1) 宿主机:为X86系列的PC机,主频2.5G,内存512M
(2) 开发板:
l 基于X86系列PC虚拟平台
l 基于ARM7TDMI处理器的W90P710开发板
l 基于SH3-7709S 微处理器的清华YU-SH3-VER2开发板
(2) 软件环境
(1) 宿主机操作系统:Windows XP/2000
(2) 目标机操作系统:嵌入式实时操作系统µC/OS-II
(3) 开发工具
本实验系统所采用的嵌入式开发工具是科银京成公司自主研发的LambdaTOOL集成开发环境的教学免费版本。LambdaTOOL是一个通用、统一、开放的新一代32位嵌入式软件集成开发环境,支持多种嵌入式操作系统和32位嵌入式处理器,具备先进的新一代交叉开发环境和系统配置工具。该教学版本具备支持嵌入式软件仿真开发的完整功能,包括:编辑环境、系统配置、编译环境、目标机管理和调试环境。
5.3软件开发实验
为培养学生的综合应用能力和嵌入式软件开发能力,同时锻炼学生的团队协作能力和管理能力,本部分实验提供了7个综合实验题目。学生以3个人为一个小团队,为锻炼同学们的团队管理能力,每个小团队推举一位负责人,负责安排每个人的分工和进度管理,并及时向老师汇报实验进展情况和存在的问题。综合实验题目的设计紧扣教材,进一步巩固所学知识,7个实验的内容为:
1. 任务管理实验
实验目的:理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程;掌握µC/OS-II中任务管理的基本方法(创建、启动、挂起、解挂任务);熟练使用µC/OS-II任务管理的基本系统调用。
2. 优先级反转实验
实验目的:掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先反转现象的原理。
3. 优先级继承实验
实验目的:掌握嵌入式实时操作系统µC/OS-II解决优先级反转的策略――优先级继承的原理。
4. 哲学家就餐实验
实验目的:掌握在基于嵌入式实时操作系统µC/OS-II的应用中,如何使用信号量资源。通过经典的哲学家就餐实验,了解如何利用信号量来对共享资源进行互斥访问。
5. 内存管理实验
实验目的:掌握嵌入式实时操作系统µC/OS-II内存管理中内存分配和回收的功能。
6. 时钟中断实验
实验目的:掌握嵌入式实时操作系统µC/OS-II。
7. 消息队列实验
实验目的:掌握嵌入式实时操作系统µC/OS-II中消息队列机制的基本原理和使方法。本文仅以实验2为例讲述综合实验的设计内容。
5.4优先级反转实验的设计内容
1).优先级反转原理
在本实验中,要体现嵌入式实时内核的优先级抢占调度的策略,并显现由于共享资源的互斥访问而出现的优先级反转现象。
优先级反转发生在有多个任务需要使用共享资源的情况下,可能会出现高优先级任务被低优先级任务阻塞,并等待低优先级任务执行的现象。高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务,这种现象就被称为优先级反转。
2).设计要点
1) 设计了3个应用任务TA0~TA2,其优先级逐渐降低,任务TA0的优先级最高。
2) 除任务TA1外,其他应用任务都要使用同一种资源,该资源必须被互斥使用。为此,创建一个二值信号量mutex来模拟该资源。虽然μC/OS-II在创建信号量时可以选择采用防止优先级反转的策略,但在本实验中我们不使用这种策略。
3) 应用任务的执行情况如图2所示:
图2 应用任务执行情况
注意:图中的栅格并不代表严格的时间刻度,而仅仅表现各个任务启动和执行的相对先后关系。
3).本实验中所涉及的µC/OS-II相关资源和知识
本实验涉及到µC/OS-II的任务和信号量两种内核资源的使用,并充分体现了基于优先级可抢占式的调度方式和资源互斥访问的重要性。这些知识都是进行嵌入式软件开发最常用的基础知识,通过本实验的学习,锻炼了学生的嵌入式软件开发能力。
6组织学生积极参与嵌入式设计大赛
本课程组组织并指导学生积极参加嵌入式相关的各类比赛。自2003年起,本课题组组织学生分别参加了两次“全国大学生嵌入式专题竞赛”和“全国大学生电子设计竞赛”,并分别获得了两次国家二等奖和一次国家一等奖、一次四川赛区一等奖的优异成绩。不仅为学校取得了荣誉,还充分锻炼了学生的大赛能力、学习能力和创新能力。
Research and Practice on Teaching Embedded System and Applications
Abstract: This paper summarized the futures and teaching methods and experiences of the course of Embedded System and Applications. We analyze the mode of embedded software development, and mostly explain the design and development of the experimentation system, which will improve the practice ability of embedded application.
Keywords: embedded system, elicitation teaching, embedded software development, the design of experimentation systems
参考文献
[1] 罗蕾. 嵌入式实时操作系统及应用开发[M]. 北京航空航天大学出版社,2005.
[2] 王丽芳.计算机组成原理教学研究与实践[J]. 计算机教育,2006,(4).
关键词:嵌入式系统;嵌入式微控制器;理论教学;实践教学;教学模式
随着科技发展和社会需求的推动,信息技术进入到以嵌入式系统为代表的后PC时代,嵌入式技术已经成为21世纪最有生命力的高新技术之一,培养精通嵌入式技术的人才成为世界各国计算机教育工作的重点。
嵌入式微控制器是嵌入式系统的核心控制单元,开展嵌入式微控制器教学是嵌入式系统教育的关键组成部分。美国IEEE和ACM两大学术组织于2004年的计算机工程教学计划(Computer Engineering 2004,简称CE2004),明确规定了嵌入式系统课程中应包含的嵌入式微控制器的具体教学内容Ⅲ。事实上,从早期的单片机类课程,到如今基于32位ARM嵌入式处理器系统的相关课程,都是围绕嵌入式微控制器开展教学工作的,在世界各大高校都受到高度重视。
工程管理与信息技术学院是中科院研究生院的二级学院,主要培养软件工程、计算机技术、电子与通信工程、控制工程等领域的工程硕士研究生。学院从2003年开始开设嵌入式系统工程专业,经过几年的努力,逐步建立起系统的嵌入式方向课程体系。嵌入式微控制器原理与应用作为其中一门核心课程,在该课程体系中占有重要的地位。下面从教学目标、教学模式、教学内容、实践教学、考核方式等几方面对该课程进行详细阐述,并在最后讨论课程的实施效果和改进方向。
1 课程教学目标和教学模式
1.1教学目标的制订
嵌入式微控制器原理与应用课程主要教学对象是软件工程、计算机技术、电子与通信工程、控制工程等专业的工程硕士。与传统的工学硕士相比,工程硕士培养更加注重锻炼其工程实践和解决实际工程问题的能力,这要求教师既要讲解基础理论知识,又要将理论与实践结合,围绕具体工程问题开展教学内容。此外,中科院工程硕士的学生生源具有本科专业跨度大、工作经历和素质能力差异大等特点。为适应这一特点,我们在制订课程教学目标时要统筹兼顾,对于基础较差的同学和经验丰富的同学要差别对待,制订差异化的教学目标。
在充分考虑上述因素的基础上,嵌入式微控制器原理与应用课程的教学目标制订为:学生通过本课程的学习,掌握一种嵌入式处理器体系结构,精通1-2种基于该体系结构的嵌入式微控制器及其接口设计技术,深刻理解嵌入式软件开发流程,能够熟练地选择、使用嵌入式软件和工具完成嵌入式硬件系统的驱动和应用软件设计。
教师在实施上述教学目标时,对于基础较差的学生要求精通一种嵌入式微控制器即可;对经验丰富的学生则要求在课程学习的基础上,用对比学习的方法自主学习另外一种嵌入式微控制器。该教学目标体现了对学生的区别对待,能满足不同层次学生的需求。教学目标没有对硬件电路设计作太多要求,符合中科院嵌入式系统方向工程硕士研究生的生源特点和实际需求。教学目标中“能够熟练选择、使用嵌入式软件和工具完成嵌入式硬件系统的驱动和应用软件设计”是一种能力要求,体现了对工程设计能力的重视,符合工程硕士培养目标。
1.2教学模式的设计
国内各大高校在嵌入式系统相关课程的教学工作上已经进行了大量有益的探索和实践,在教学模式上也已经基本达成共识,即嵌入式系统教学应该采取理论教学和实践教学相结合的教学模式。
我们在开展嵌入式微控制器原理与应用课程的教学工作时,采取了“课堂理论讲解、课堂实验练习、综合实验设计、工程项目设计和多层次考核”的教学模式。与大多数高校课堂实验采取观察性和验证性实验不同,本课程课堂实验则采取设计性实验,每一个实验都是一个小型的开发项目,需要学生灵活运用从课堂上学到的理论知识分析实验要求,编程完成实验项目。综合实验设计要求学生在完成所有基础课堂实验后,按照需求分析、软件设计、实现和测试等软件开发流程,在开发板上完成一个小型嵌入式软件的开发。工程项目设计则是让学生选择一种微控制器,完成一个实际工业嵌入式产品的分析和设计报告。这3种层次的实践环节相互结合,充分锻炼和提高了学生的实践能力。
2 基础理论教学
CE2004首次将嵌入式系统作为一个知识领域纳入到计算机工程知识体系中,并详细规定嵌入式系统包含的10个知识单元以及每个知识单元包含的知识点。参考CE2004的规定,并结合本课程制定的教学目标,嵌入式微控制器原理和应用课程的理论教学内容共包括5个知识单元。
知识单元1是嵌入式系统历史和概述。知识点包括嵌入式系统历史、定义、组成、开发特点、设计过程、应用领域和发展趋势等。知识单元1主要目的是使学生建立对于嵌入式系统的全方位认识,了解嵌入式系统的过去、现在和未来。
知识单元2是嵌入式处理器。知识点包括嵌入式处理器的组成、嵌入式处理器的类型(从集成程度、处理器位数、体系结构和生产公司等4个不同分类标准分别讲解)、ARM处理器的发展(历史、分类和应用)。知识单元2主要目的是使学生掌握嵌入式处理器的组成原理,充分认识嵌入式系统领域中应用处理器的多样性,避免“只见树木、不见森林”。
知识单元3是典型的嵌入式处理器体系结构,我们选择ARM体系结构进行讲解。主要知识点包括ARM处理器寄存器模型、ARM处理器编程模型、ARM处理器异常中断处理、ARM处理器存储模型、ARM处理器指令编码和指令系统、ARM汇编语言编程、ARM汇编与C混合编程、ARM开发工具(汇编器、编译器、连接器和调试器)。知识单元3囊括了CC2004里嵌入式微控制器、嵌入式编程和嵌入式工具等3个知识单元的多个知识点。
知识单元4是嵌入式微控制器组成及接口,我们以三星S3C2440微控制器为例进行讲解。知识点包括微控制器结构、内存控制器、中断控制器、时钟体系、电源管理、DMA控制器以及各种外设控制器。在这些知识点中,内存控制器、中断控制器、时钟体系、电源管理、DMA控制器是重点讲解内容,对于其他各种外设控制器主要讲解基本原理和应用思路,而具体使用细节则要求学生课下通过学习芯片手册掌握。熟练阅读芯片手册是掌握嵌入式系统开发特别是底层编程的基础,因此这个学习单元的教材就是芯片手册。对于学有余力的同学,我们要求其在学习S3C2440微控制器的同时,在课下自行学习ATMEL AT91SAM9G45微控制器,并比较其与$3C2440的异同之处。这样做的目的是满足不同层次学生需求,实现差异化教学。
知识单元5是嵌入式应用编程,知识点包括嵌入式软件体系结构、应用程序映像文件组成、系统启动加载代码等。通过这个知识单元的学习,学生能够了解嵌入应用程序的汇编、编译、连接过程,理解应用程序映像的具体组成以及加载启动的方式,培养为一个裸硬件系统开发完整嵌入式应用软件的能力。
3 实践教学设计
3.1实验平台介绍
目前嵌入式系统的教学实验平台主要有3种类型:基于ARM微控制器的教学平台、基于DSP处理芯片的教学平台和基于FPGA的教学平台。鉴于基于ARM的微控制器在32位嵌入式系统处理器市场中的占有率极高,以ARM微控制器为例讲解嵌入式微控制器的基础理论和应用技术,更能满足市场对于嵌入式工程技术人才的需求,我们选择基于三星$3C2440微控制器(采用ARM920T内核)的嵌入式教学平台。该平台的系统组成结构如图1所示。
在此教学平台结构图中,S3C2440是一款基于ARM920T处理器的嵌入式微控制芯片,内部集成了AHB和APB两条总线,以及连接在总线上的内存控制器、中断控制器、时钟电源管理单元、USB主从控制器、看门狗、定时器、PWM控制器、GPIO控制器、SD/MMC控制器等多种外设控制器。存储器包括64M SDRAM、4M NOR FLASH和64M NAND FLASH;人机接口设备包括640×480像素6寸TFT液晶显示模块、触摸屏、4×5小键盘模块和4个GPIO连接LED显示灯;通信接口及设备包括串口、USB主接口、USB从接口、两个以太网接口、音频输入输出接口和Camera接口等。该实验设备支持多种层次的实验,嵌入式微控制器原理与应用课程的所有实验均在该实验平台上完成。
3.2课堂实验设计
实验在计算机类学科中的作用十分重要,是教学活动的重要环节。根据实验性质区分,我们可以把课堂实验划分为观察性实验、验证性实验和设计性实验等类型。设计性实验要求学生根据实验要求自行设计实验过程,相对于前2种实验更能锻炼学生的设计能力和独立工作能力,因此我们的课堂实验均采用设计性实验类型。
根据理论教学内容,我们共设计了16个课堂实验,这些课堂实验与知识点的对应关系如表1所示。
表1中的16个实验除实验1外,均为设计I生实验。其中,实验4和实验5分别用汇编和c语言驱动GPIO管脚连接的LED灯,学生通过对比掌握汇编和C语言访问外设寄存器的异同;实验6使用查询方式实现定时功能,实验8采用中断方式实现同样功能,学生通过对比掌握IO两种访问方式的异同;实验9主要练习32位微控制器各个模块所需不同时钟频率的产生,以及处理器时钟频率的编程调节,使学生熟练掌握微控制器的时钟体系;实验10~实验16则练习微控制器的主要外设I/O控制器的接口编程技术。
限于课程的课时长度,课堂实验无法包含所有外设控制器,但通过这些典型外设控制器的学习,学生很容易就能触类旁通地掌握其他模块使用方法。
3.3综合实验设计
综合实验要求学生分组合作,综合运用所学知识,利用课下时间设计一个小规模的嵌入式应用软件并在实验平台上完成调试运行。为了吸引学生兴趣,综合实验均采用游戏项目的形式。我们设计了几个游戏项目供学生选择,分别是世界时钟、五子棋、电子菜单、科学计算器、汉诺塔、交通信号控制器、俄罗斯方块等。教师也鼓励学生选择一些常见的其他娱乐游戏作为综合实验设计项目。
学生在完成综合实验项目时,要按照实验项目说明书的要求完成实验设计,撰写的项目文档至少要包含需求分析、软件设计、软件测试、使用说明、运行结果、项目分工、总结讨论等几个方面的内容。通过综合性实验,学生既锻炼了综合设计能力和动手能力,又提高了沟通能力和团队合作能力。
3.4工程项目设计
课堂实验和综合实验相结合的实验方式,很好地锻炼了学生对于特定嵌入式微控制器的实践动手能力。但若要灵活运用所学嵌入式微控制器设计工程项目,学生还需通过具体工程设计实践进行锻炼。嵌入式微控制器原理与应用课程和工程管理与信息技术学院课程体系中的另外一门课程“嵌入式系统分析与设计”相配合(同一学期开设),教师在2门课程结束后布置一个共同的工程项目设计作业,要求学生围绕一个典型的嵌入式系统产品,在尽量采用嵌入式微控制器课程所学微控制器的前提下,给出该产品的详细设计方案。我们在每一学年都给出不同的设计项目,例如近几年的题目分别是IC卡公民身份证系统、税控收款机系统、数字水印技术的应用系统等。
需要指出的是,工程项目设计仅供学有余力、希望在工程项目设计能力上有所提高的学生完成。根据近几年的实际情况来看,约有1/2的学生提交了项目设计说明书,平均长度达到30多页。其中一些非常新颖和有价值的设计方案,可以直接用于工业生产实践。
4 考核方式
为了使考核方式既起到检验学生的知识掌握程度,又能在平时督促学生认真学习的效果,我们采取分段考核和最终考核相结合的方式。具体来说,嵌入式微控制器原理与应用课程一共有4次课堂实验,包含15项设计性实验,每个实验分值在0~2分之间。每次课堂实验结束时,教师检查学生的实验完成情况并打分,这种方式起到了有效督促学生平时认真学习的效果。课程结束后有一次综合理论考试,总分是40分,该考试用于检查学生对嵌入式微控制器基本原理的掌握程度。综合实验要求学生自由组合,在课程理论考试完成后的一个月时间内完成。综合实验提交内容由项目文档和项目程序组成,其中项目文档占15分,项目程序完成情况占15分。学生完成综合实验后与教师约定时间,由教师进行现场检查并打分。工程项目设计作为附加要求,并不统计到最后成绩中,只供有兴趣的同学选择完成,在学生设计过程中,教师给予一定指导。
上述考核方式中,课堂实验、理论考试、综合实验在总成绩中分别占30%、40%、30%。课堂实验和理论考试对每一个学生的考核比较客观直接;综合实验由学生合作完成,打分时教师先给出每一组的分数,组内每个学生的分数根据其具体负责内容和完成情况在组分数基础上微调得到,尽量使分数反映出学生的实际水平。
5 课程评估与分析
中科院研究生院建立了课程网站评估系统,鼓励学生在课程结束后从网上对课程进行评估。评估内容涵盖教学态度、教学内容、教学方式和教学效果等方面,共包含4项7条,每一条评估分值为1~5分。
根据近3年的统计结果来看,每年约有90%的同学参与网上评估,课程评估结果均为优秀(平均分均超过4.6分)。评估结果显示,学生认为课程内容符合嵌入式方向工程硕士培养目标(4.8分);课程对他们的工作具有较大帮助(4.7分);课程理论与实践相结合的教学方式得当(4.6分);课程的考核方式灵活,能从理论和实践2个角度恰当地考核学生对于课程的掌握程度(4.4分)。部分学生认为实验课时较短,应该从16课时提高到20课时;还有一部分学生认为嵌入式微控制器原理与应用课程的课时数偏少,建议从40课时提高到60课时;学生对于实验课内容的安排比较满意(4.6分)。
从学生的评估结果来看,学生对于课程的教学内容选择、教学方式、考核方式等非常满意,课程达到了教学目标的要求。
关键词:嵌入式系统;流媒体;网络视频监控
一、引言
视频监控系统是一种防范能力较强的综合系统,属于安全防范系统组成部分。目前,视频监控广泛应用于多种场合。网络视频监控是集计算机、通信、网络及视频编解码等高新技术的整合产品。并且随着宽带网的普及,网络视频监控势必成为监控领域的新发展方向。随着技术不断创新发展,基于宽带技术的网络图像在网络视频监控中的运用越来越广泛。网络视频监控系统的发展方向是基于嵌入式技术的网络视频监控系统。该技术以嵌入式处理器与操作系统为基础,把视频的采集、压缩、传输集成到设备内,作为网络节点,连接到网络上,达到即插即看的效果。
二、视频编码技术标准
视频压缩是视频监控的核心技术,如视频数据不压缩,会占用网络带宽与存储空间。视频压缩通过去除信号时间和空间冗余度实现。目前,视频编码技术标准包括:1、JPEG标准,即静态图像数据压缩标准,主要用于静态图像保存;2、MPEG标准,主要用于视频存储、视频广播与视频流媒体。该系列标准属于多媒体技术标准,其中MPEG-1、MPEG-2属于第一代技术,基于像素图像编码方法;MPEG-4属于第二代技术,基于对象视频编码方法;3、H.26X标准。H.264由 ITU-T与ISO/IEC提出,用于支持网络视频会议与可视电话。
三、流媒体传输技术
1、流媒体技术原理。作为新兴的网络传输技术,流媒体技术基本原理:首先采用高效压缩算法对多媒体文件预处理,然后用流媒体传输协议进行传输。接收端通过解压设备对数据解压后,音视频数据就会显示出来。流媒体的关键技术是流式传输技术,实现方法有两种:顺序流式传输与实时流式传输。
2、流媒体技术协议。流式传输协议包括两类:(1)实时传输协议RTP。RTP由组织IETFInternet工程任务组作为RFC1889提出并标准化的,是为支持多媒体通信而定义的协议。RTP不能独立传输数据,须和底层的网络协议结合才能完成数据传输。RTP是专门为交互式语音、视频等实时数据设计的传输协议;(2)实时传输控制协议RTCP。RTCP是RTP的伴生协议。RTCP包中包括的统计资料包括:己发送与丢失的数据包的数量,服务器可利用信息动态地改变传输速率或有效载荷类型。在RTP会话期间,RTCP允许发送方与接收方周期性传输包含有关正在传输的数据及网络性能的额外信息报告。在实时传输中,RTP与RTCP配合使用具有其自有的适用性:(1)协议简单灵活,传输效率高;(2)可扩展性;(3)协议的自适应性。
四、嵌入式系统低功耗设计技术
1、硬件低功耗设计技术。硬件低功耗设计方法包括:(1)低功耗电路形式。在实现系统功能前提下,从降低系统功耗的角度设计电路;(2)分区分时供电技术。利用开关装置控制电源供电模块,当电路处于休眠状态时,关闭其供电电源,避免电源浪费;(3)动态电源调节技术。从调整处理器的电压和频率出发,处理器根据系统的运行状态,当处理任务时,适当提高电压与频率;当待机状态时,降低电压与频率,避免产生多余功耗。
2、软件低功耗设计技术。软件低功耗设计方法包括:(1)软件代码优化。通过缩短代码长度、改写代码与减少指令执行时间等途径优化代码执行时间。如对代码进行时间评估,用线性汇编重新写对性能影响较大的代码段;(2)以效果换取效率。在图像数据处理时,通过降低视频数据采样率的方法减少处理时间,如由原先采集高分辨率图像D1(720×576)改为CIF(352×288),降低数据处理量,缩短处理器处理数据时间;(3)视频编码算法。尽管编码器配置越高,视频编码效果越好,但会引起嵌入式处理器负荷加重,因此可采取低层次配置的视频编码器。
五、基于低功耗的系统总体设计
基于视频编码技术、流媒体网络传输技术及低功耗设计技术,嵌入式网络视频监控系统的整体构成见图1。嵌入式平台前端摄像头进行视频采集,后端与网络连接,中间嵌入式处理器负责视频处理及网络传输,而视频的压缩处理及网络传输由软件完成。
图1系统总体结构图
在硬件选择上,低功耗嵌入式视频监控系统选择低功耗器件。硬件系统的核心是嵌入式处理器。系统采用的处理器是基于Intel XScale架构内核的PXA270,其时钟频率为104MHz-624MHz。视频采集模块中的视频数据可采用内存映射技术先把设备文件映射到内存中,直接从内存读取视频数据,进而实现了低功耗;视频压缩模块是资源开销最大部分,MPEG-4算法复杂度低,最适合基于嵌入式系统的视频编码开发。
参考文献:
关键词: 嵌入式应用 教学体系 实验教学
嵌入式技术是21世纪计算机技术发展的一个重要方向。嵌入式技术的发展,是当今新型技术时代的一个重大标志。
在当前数字信息技术和网络技术高速发展的后PC时代,技术的飞速进步及市场对高端智能产品需求的日趋增长,8/16位微处理器已无法满足高端智能产品对微处理器性能的最低要求。而32位嵌入式微处理器因其高主频、低功耗、高性价比、可运行嵌入式操作系统等特点,已经在高端智能产品、工业控制、信息家电等领域已取得了广泛应用[1,2]。
近年来,在电子信息学科单片机原理及应用课程、16位及32位微机原理及接口电路等课程的教学中,仍以汇编语言、接口编程等作为主要知识点进行讲授,现有课程内容、教学设施和教学手段与现今嵌入式技术的飞速发展严重脱节,技术差距在不断加大,传统的课程体系和教学方法已经无法满足应用型人才培养的要求。为此,更新嵌入式应用相关课程教学内容,进行课程改革和实验建设迫在眉睫。
1.循序渐进,构建三位一体的课程群体系
目前嵌入式应用的实现主要有三种形式:面向实时性要求较低、无需多线程的简单系统,一般选用单片机等8位或16位处理器的解决方案,适用于低端应用场合;面向处理速度较快、需要操作系统支持的场合,可选用基于FPGA或ARM的片上系统(SOC)的解决方案,适用于高端应用场合;而在如汽车电子、航空航天等工业级应用场合,一般自主开发专用数字集成电路实现嵌入式应用[3]。
图1 嵌入式应用的实现形式
嵌入式应用课程群针对这三个方向开设三门主干课程:单片机原理与应用、片上系统与嵌入式应用和数字集成电路设计,《单片机原理与应用》以8051为代表,主要讲授8位微处理器的结构和工作原理,让学生对嵌入式系统形成基本概念,学习一般微处理器的指令集、工作原理、硬件配置和软件开发。《片上系统与嵌入式应用》以FPGA为平台,着重讲授SOPC系统设计方法,在先修课程的基础上逐步深入,让学生从这门课程的讲授中既能学习到实用性较强的简单数字系统开发,又能接触到如底层驱动程序、实时操作系统等嵌入式应用的前沿技术。最后,特别针对本专业微电子的专业特点,开设《数字集成电路设计》,专门讲授嵌入式处理器数字IC的开发和使用,培养学生具有设计具有自主系统架构嵌入式专用IC芯片的能力,形成本专业特色鲜明的培养模式。
图2 嵌入式应用课程群体系
2.教学科研并重,不断更新教学内容和教学方法
嵌入式领域的技术更新换代速度十分的快,因此,要求教师在教学过程中不断跟踪新技术,更新教学内容和教学方法。在“嵌入式应用”课程群建设的过程中,我们将课程的教学内容和教师所承担各级科研项目中所获得的工程实践经验紧密结合起来,在每个轮次的教学中,都会根据目前最新的前沿技术,加入一部分新的教学内容,以达到更好地提升学生知识水平的效果。我们编写了适合我校办学特色的嵌入式系统实验(实训)指导书、PPT教学课件、AVI视频教学动画等教学资料。目前,课程群中三门课程在教学内容和方法方面都进行了有益的探索。
(1)《单片机原理与应用》课程采用目前工程实践广泛采用的C程序设计语言进行描述,改变了以往使用汇编语言讲授枯燥、乏味的特点,更易于学生理解和实际应用。同时,我们还在课堂教学中引入了Proteus单片机仿真软件进行案例教学。在讲授完单片机的基本原理之后,教师以讲授实际案例为手段训练学生对于各知识点的理解和应用能力[4]。在此过程中,学生与教师同步在课堂中用自己的计算机完成案例的复现,并用Proteus仿真软件验证程序运行的实际效果。应用案例教学法,学生的学习不再是一味地听,而转变为实际动手实践,在实践中尝试、总结和提升,学生学习效果显著强化。
(2)《片上系统与嵌入式应用》是一门新开课程,主要讲授Nios II软核处理器的体系结构、设备和SOPC系统的开发流程。在课程内容上,侧重嵌入式处理器的应用而非原理,避免与单片机课程重复。在上一学期学生学习过单片机课程的基础上,重点讲授SDRAM存储器、Flash存储器、UART接口等低端单片机系统不涉及的内容和应用实例。在教学方法上,采用任务驱动法来激发学生的学习兴趣,以一个简单的设计实例为主体,介绍软硬件的开发流程,开发环境的使用和编程思想,使学生循序渐进,逐步深入[5]。例如:设计一个点阵显示屏控制器,围绕这个任务让学生熟悉构建SOPC系统所要用到的外部RAM接口、外部Flash接口、Avalon三态桥、定时器、锁相环、自定义点阵等外设的特点和编程方法。这种教学方法将学习的难点分散到各个任务中,能使学生在完成任务的同时深刻理解所学内容。
(3)《数字集成电路设计》课程以Verilog语言设计为切入点,从最简单的逻辑电路设计开始,逐步深入复杂的微处理器电路设计。在教学内容上,针对嵌入式应用课程群的特点,围绕微处理器的主要结构如ALU、ROM、寄存器组、RISC模型机等电路的原理和设计方法进行讲授,学生在经过这门课程的学习后,可以掌握自己动手开发一块具有自主知识产权的专用嵌入式处理器芯片的能力。
3.开设综合性、设计性实验,培养学生创新能力
应用型本科人才并不是“狭窄于技术”的工匠,应具有开放的辩证思维和创新精神。在嵌入式课程群实践体系的建设过程中,除了开设常规的基础性实验以外,在《片上系统与嵌入式应用》和《数字集成电路设计》课程设计中开设了一系列的综合性和创新性实验,这些课题来源于实际的工程设计和科研项目,由学生自行提出可行的设计方案,与指导老师共同讨论后实施,整个过程由学生主导,充分发挥学生的主观能动性和创造力。我们将实验内容分为以下三类。
(1)基础性实验。主要是让学生在实验指导书的指导下将理论课上所掌握的知识和概念通过实验的方式进行巩固,通过直观、具体的实验结果验证理论结果,熟悉软件使用方法和设计流程。包括PWM直流电机控制、标准输入输出设备字符串流控制、PIO控制流水灯、自定义外设点阵控制等实验。
(2)综合性实验。这部分实验区别于基础性实验,并不给出具体的实验过程,只给出基本原理和大致方案,要求学生综合运用所学专业知识,周全考虑,自行确定具体的实验步骤和方法。这部分实验往往涉及多门知识点甚至是多门课程,包括无线温度数据采集、μC-OS多任务操作系统、触摸屏人机交互等实验。
(3)创新性实验。这部分实验主要面向部分基础知识过硬、动手能力强的优秀学生,利用课外时间提高他们在嵌入式应用方面的实际能力。这类实验以省、校两级大学生实践创新项目为载体,不拘泥于理论和实验课程的范围,由学生自主选题,形成创新团队,由团队指导老师负责。我们成立了开放的嵌入式创新实验室,实验室由老师、实验员和高年级学生共同值班,学生可以随时申请使用实验设备,完成相应的实验。通过这种形式的锻炼,嵌入式创新实验室的同学在省大学生电子设计竞赛、全国电子专业人才设计与技能大赛中都取得了优异成绩。
4.结语
嵌入式应用课程群经过以上所述课程体系的调整、教学内容的丰富及实验教学的改革,不断增加新知识,改进教学手段和教学方法,通过课堂教学、实验教学和教学科研的结合,在学生创新意识和实践动手能力培养方面进行了有益尝试和探索。未来我们将在深化教学改革的过程中不断探索,不断完善,探索出一套适合应用型人才培养的嵌入式应用教学培养模式。
参考文献:
[1]周立功.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006.
[2]宋彩利,康磊.数字系统设计与SOPC技术[M].西安:西安交通大学出版社,2012.
[3]李兰英,崔永利,李妍等.基于FPGA技术的嵌入式应用型人才培养教学体系[J].计算机教育,2011(16):18-21.
[4]陈林,魏淑桃,石林祥等.应用型本科“SOPC设计与应用”课程教学改革探索[J].计算机教育,2012(19):82-85.
关键词:嵌入式系统教学 实践教学改革 竞赛与创新
文章编号:1672-5913(2011)18-0046-03 中图分类号:G642 文献标识码:A
近年来,与我国嵌入式系统产品的迅猛发展和巨大的产业需求相比,嵌入式系统工程人才培养相对落后[1]。在这种背景下,许多高校为软件、计算机以及微电子、电子信息工程、自动化等相关专业增设了嵌入式系统课程。目前,北大、清华、北航等学校已经把嵌入式作为一个专业方向,并建立了完整的嵌入式系统课程体系[2]。由于受传统的专业课程设置、师资、实验设备等条件的限制,苏州大学计算机科学与技术学院(以下简称“我院”)尚未成立嵌入式系统专业,目前的嵌入式系统课程为选修课,每年开设一学期(18周),每周6学时,选修对象仅为高年级计算机专业本科生。下面结合近几年的教学实践经验,对嵌入式系统选修课程的教学方法和特点进行探讨,以便具有相同情况的院校教师借鉴。
1 自主编写教材,自主开发实验平台
目前,嵌入式系统相关教材琳琅满目,具体选择哪一本作为教科用书至关重要。由于各个学校的特点、生源的质量以及专业的课程体系不同,嵌入式系统课程的教学计划和教学目标也不尽相同。在Freescale(飞思卡尔)大学计划的支持下,结合我院具体情况,我们自主编写了教材并研发了实验平台。
1.1 自主编写教材
由于我院的计算机专业本科一、二年级,数字逻辑、C/C++语言、操作系统、计算机网络等是各个专业方向的公共基础课,在本科三、四年级开设嵌入式系统选修课程的目的,旨在为对嵌入式系统应用感兴趣的同学提供一个学习的机会,为他们日后开发测控领域的嵌入式应用产品奠定坚实的基础。据此,我院组织了一批骨干教师自主编写了《基于32位ColdFire构建嵌入式系统》一书,作为嵌入式系统选修课程的教材。该教材以Freescale半导体公司的32位ColdFire系列微控制器MCF52233(含以太网接口)、MCF52235(含CAN总线接口)、MCF52223(含USB2.0接口)三个型号为蓝本,阐述嵌入式系统的软件与硬件设计。内容包括:嵌入式系统的知识体系、学习误区和学习建议;ColdFire系列微处理器特点;MCF52233硬件最小系统;UART、键盘、LED、LCD、AD、QSPI、I2C等模块的应用;Flash存储器在线编程;CAN总线、嵌入式以太网、USB 2.0通信机理;µC/OS-Ⅱ在ColdFire上的移植与应用等。
1.2 自主研发实验平台
为提高嵌入式系统课程的教学质量,我院建立了嵌入式系统实验室,为学生提供了良好的实践学习条件。学生实验所用仪器为自主研发的“SD嵌入式系统实验箱”。每台实验箱内配有电源适配器、扩展板、核心板、通信线(网线、串行口线、USB线)等。根据实验目的和要求不同,将相关核心板插入到扩展板上即可。例如,做网络通信实验时需插上MCF52233核心板;做USB2.0通信实验时需插上MCF52223核心板。实验箱提供的对外接口包括串行口、USB、SPI、网络、AD采集、键盘、液晶、数码管等。这种“扩展板+核心板”的实验箱组成方式为以后学习新的微处理提供了便利。
由于教材与实验箱均为自主编写和开发,教材中的每个实验均可在实验箱上实践,避免了教材与实验设备不统一的问题。
2 强调教学手段灵活多变
由于我院的嵌入式系统选修课程面向全院各专业学生,学生的前期课程设置不尽相同,水平参差不齐。起初嵌入式系统课程的教学模式是,教师每周利用3节课时间在多媒体教室讲课;再利用3节课时间安排学生在嵌入式系统实验室完成老师布置的实验任务。实践证明,这种方法的教学效果比较差,由于理论课和实验课时间安排不连贯,学生在课堂上学到的知识得不到及时巩固、理解和加深,实验课上总是出现学生无从下手、一脸茫然的情况。后来,我们改变了这种授课模式,教学活动直接移到嵌入式系统实验室进行,并灵活选择各种教学手段,效果不错。
2.1 合理安排理论课与实践课
对于某些通用知识或理论性比较强的内容(例如微处理器的体系结构、SPI/CAN/USB/IIC通信机理等),可采用“先上课后实验”方式。在教师讲解的过程中,学生不做实验。只有让学生在透彻理解基本原理的基础上,学生才能读懂范例程序,进而在范例程序的基础上能够完成其他实验。
对于有些内容,可采用“先实验后上课”方式,即先由学生将范例程序写入Flash运行并观察。当学生看到实验现象后,会产生好奇的心理,从而激发出他们的学习兴趣和求知欲望。例如,对于四联排数码管实验,写入范例程序后,数码管上会显示“1234”。教师可让学生带着下面两个问题听课:①四个数字是如何同时显示的?②如果要滚动显示“1234”应该如何修改范例程序?在这种“寻根究底”的教学模式下,学生的听课注意力会更加集中。
2.2 分层设计嵌入式系统实验
嵌入式系统是一门实践性很强的课程。因此,在嵌入式系统教学中,实验是最重要的环节之一,是学生掌握嵌入式系统设计技术的关键。我们将嵌入式系统实验分为三个层次:验证型、改进型和综合型,并且要求学生独立完成每个实验。
验证型实验是最基本的实验,实验所用的范例程序由教师编写,严格遵循模块化设计规则,并附有详尽的使用说明,包括注意事项、需要的硬件连线等。这种实验的目的是使所有学生都能够顺利完成实验内容规定的操作并得到正确的实验结果,培养他们独立完成实验的自信心,同时要求学生看懂范例程序的执行流程,掌握程序的编写规范。如果不提供范例程序,而由学生从零开始编写,事实证明,将会有一半的学生因为长时间调试不成功而心灰意冷,失去了继续实验的勇气。该层次实验要求所有学生必须完成。
改进型实验是要求学生在验证型实验的基础上进行软件和硬件的改进,以完成更加复杂的功能。例如,在串行口通信的验证型实验中,实现了微处理器一次仅接收PC机发送的一个字符;而在改进型实验中,要求学生实现微处理器一次能够接收PC机发送的一串字符。通过改进型实验可检查学生对所学知识的掌握程度,同时也让学生体会到自己动手的乐趣和实验成功的喜悦。该层次实验也要求所有学生必须完成。
在学生积累了一定的嵌入式知识后,教师可布置综合型实验作业。例如讲解完LED、LCD、键盘以及UART之后,可要求学生实现:按下键盘上的某个键,将此键的自定义键符分别显示在LED和LCD上,同时通过串行口发送到PC机。综合型实验的目的是提高学生综合运用知识、分析问题以及解决问题的能力,发挥学生的主观能动性,达到将所学知识融会贯通的效果。根据综合型实验难度的不同,有时要求所有学生完成,有时仅要求部分学生完成。
2.3 充分利用现代化教学手段
作为传统板书教学的补充,因便于插入图片和动画,多媒体教学对提高学生学习兴趣、增加授课生动性大有裨益[3]。例如,若在课堂上通过板书形式绘制硬件电路图,势必要花费很长时间,而且与多媒体屏幕展示的电路图相比,在清晰度和美观性上都相对欠缺;而对于一些生动的教学图片或教学动画,板书形式根本无法表达。此外,多媒体教学所用的电子资料(如教学课件、教学影片等)可供教师重复利用和更新,也便于学生复制和阅读。
目前,各大高校都建立了校园网络,网络的出现同时影响着教学方式和学习方式的改进。为了方便师生之间的交流沟通和资源共享,我们精心设计并创办了嵌入式系统辅助教学平台,作为对传统教学方式的补充。教学平台提供了学生在线、教师在线、模拟测试、资料下载、师生交流等模块。学生可在线查看或下载各种嵌入式学习资料,如教学课件和实验要求、实验箱内扩展板和各种核心板的原理图以及元件布局图、绘制原理图和布线图的规范、底层软件编程规范、芯片手册以及应用笔记等,同时,可把每次实验的程序代码和实验报告上传,供任课教师检查评阅。教师通过该平台可查看学生作业,编辑题库,组织试卷以及公告等。教学平台还开辟了嵌入式学习讨论区和答疑区,及时解决学生在学习过程中遇到的疑难问题。
3 培养学生创新能力,提高教师自身素养
嵌入式系统课程的教与学是一个“合作”的过程,衡量这种“合作”是否成功的标准是看学生能否将所学的知识应用到具体的嵌入式应用产品开发中[4]。在教学中我们发现,虽然我院的嵌入式系统课程为选修课,但有些同学对该课程兴趣浓厚,思维开阔。因此,我们每学期采用“双向选择”的方式选拔一些同学,由专职教师带队指导,积极参加各种嵌入式设计大赛,并取得了较好成绩。2009年11月,我院组成的两支队伍在长三角地区的“IEEE标准电脑鼠走迷宫”竞赛中获得1个一等奖和1个三等奖,最终在北京航空航天大学举办的全国总决赛中获得三等奖。为了拓宽学生的知识视野,促进学生创新能力的培养,增长相关行业背景知识,我们也会选拔一批有潜质的学生投入到教师的科研项目开发中,更好地实现“教师为主、学生参与”的教学结构。截至目前为止,学生参与的项目有校园机动车管理系统、城市照明智能控制系统、小区电动车管理系统、基于二代身份证的考勤系统等。实践表明,参加过竞赛和科研项目的学生基础知识更加扎实,自学能力和动手能力大幅提高。
此外,为了紧跟时代的步伐,时刻引领新知识、新技术,避免知识的陈旧性,教师应充分利用寒暑假时间参加各种嵌入式系统师资培训,与兄弟院校的同行交流教学经验。在教学工作之余,积极主动与企业洽谈合作科研项目,提高自身的科研能力。
4 结语
最适合的方法才是最好的方法[5]。由于我院的计算机专业本科生侧重于高端应用程序的开发,嵌入式系统课程仅为高年级的选修课程,完善的课程体系尚未建立,因此,在教学中,我们没有照搬照抄其他院校的教学模式,而是根据我院学生的具体特点,合理安排教学内容、侧重于培养学生开发硬件驱动程序的能力。经过几年的努力,我们自己摸索出来的嵌入式系统课程教学方法越来越得到同行和学生的认可,每年选修该课程的学生人数急剧增加就是最好的印证。
参考文献:
[1] 徐远超,张聪霞,关永. 嵌入式系统专业课程教学存在的问题与思考[J]. 计算机教育,2009(18):85-86.
[2] 牛建伟,张炯. 北京航空航天大学嵌入式系统课程建设[J]. 计算机教育,2008(7):64-65.
[3] 李凤云. 计算机本科专业嵌入式系统课程体系研究与实践[J]. 高教论坛,2007(4):71-73.
[4] 王平. 嵌入式系统教学及实验研究[J]. 高等教育研究,2008(3):39-40.
[5] 徐慧,金敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J]. 教育与教学研究,2009(10):39-41.
Teaching Discussion on Embedded System Course for Computer Professional
JIANG Yinzhen, WANG Yihuai
(Department of Computer Science and Technology, Soochow University, Suzhou 215006, China)
随着微控制器性能的不断提高,嵌入式应用越来越广泛。但是目前市场上的大型商用嵌入式实时系统,价格昂贵,而且都针对特定的硬件平台。对于中小型系统开发,购买商用实时系统并不划算。
目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发。传统的嵌入式应用并不包括文件系统,而我们要实现的文件系统需要在车辆导航系统中实现地图数据文件的读写。因此它既要支持与MS-DOS兼容的文件系统也要支持其它类型的文件系统。
另一方面,从数码相机到MP3播放机,从掌上电脑到数码摄像机,CF(CompactFlash)卡由于具有体积小、兼容性强、价格相对低廉等诸多优点,在数码设备上的应用越来越广泛。但若想在CF卡与PC之间传递数据,通常不得不借助于专门的读卡器,这给PC的用户带来了不小的麻烦。CompactFlash卡全称为“标准闪存卡”,简称“CF卡”。CF卡的应用空间比较广,最常见的是在数码照相机中用于照片的存储。由于CF卡内部采用模拟硬盘控制器的设计,使得CF卡可以比较容易地通过IDE接口实现与电脑的连接,一定程度上可以起到移动存储的作用。
一般的嵌入式系统不会提供读写CF卡的接口,所以需要在文件系统中专门设计一个驱动程序。
1 基本原理
图1所示的CF卡中,主机系统的控制器接口允许数据从Flash介质读写。CF卡的存取方式有三种:Memory方式、I/O方式以及True IDE方式。我们选择的是True IDE方式。需要注意的是,当主机电源一直接通时,拔插CF卡将会使其从原来的True IDE方式重新配置成PC Card ATA方式。所以要让CF卡一直工作在True IDE,需要在电源加电启动时将OE输入信号接地。此方式也支持8位存取,但我们选择了16位存取。一次最多存取的扇区数可由命令码Ech中的第47参数字决定。
CF卡跟硬盘的结构相同,如图2所示。在引导区中装有用于启动系统的代码,以及有关文件系统的重要信息,随后是记录所有磁盘空间的表,再下来就是根目录,然后是所有其它的东西。引导扇区在其末尾处包含有分区表。此表包含了用以标示每个分区开始和结束的表项,最多可以有四个分区,每个分区可包含不同的文件系统。紧随引导区之后的是FAT(文件分配表),用来记录设备中所有的磁盘空间的信息(此表与UNIX中的I-node表和空闲表具有相同的功能)。
设计软件时,同时考虑了通用性及可扩展性,目的在于使该文件系统无需分别修改便能够对CF卡、IDE硬盘、RAM Disk、电子盘、SD等不同的存储介质进行操作;读出这些存储介质中的数据,并且可以将数据输送到不同存储设备上。
为了达到这些目的,我们针对不同CPU的不同处理方法,对硬件操作程序进行分离,将设备有关的底层程序变成与设备无关的上层操作。这样,当系统新增功能之后,不必更改每个子程序,只需要在某些接口文件的数据结构中添加或者更改数据项即可;又考虑到用户对上层操作的透明性,我们采用面向对象的方法,上层结构中存取操作的driver结构(含read、write数据项)是虚拟的,在底层才将它具体化为CF卡的读写扇区命令(操作码为:20h、30h)。
软件程序的主要流程如图3所示。
2 系统设计实现
根据上述原理,可完成软件设计,其基本框架如图4所示,分为六个主要部分。
其中,CF卡驱动程序设计的关键是CF卡的存取操作函数所采用的命令码有些不同。另外,我们使用驱动程序对象来代表CF卡设备驱动程序。该驱动程序对象对于用户是部分不透明的,数据项包括读写函数的指针,这些函数由文件系统程序输出(包括两部分函数,用户可见API函数调用和用户不见驱动存取函数)。此对象的数据结构声明如下:
typedef struct CF_XFILE_DRIVER{
BYTE driver_name; /*介质标示;CF卡、IDE硬盘、Flash卡、RAMDISK等,删除驱动的话,需要重新记录DRIVER号*/
…… /*IRP处理函数*/
}CF_XFILE_DRIVER;
如果有多个CF卡,需要用另外一个特定的数据结构Next_Driver来把它们水平连接在一起。然后,用链表来管理这些数据结构,管理方式类似于WDM(Windows Driver Model)。
【关键词】计算机技术 自动化仪器仪表 相互融合
仪器仪表的基本性能在于测量数据,通过特定的测量流程获得相关信息。从目前来看,很多仪器仪表都在逐步得到更新,这个过程不能缺少自动化技术作为辅助;与此同时,计算机技术也能为其提供所需的支持。与传统类型的仪器仪表相比,自动化仪表本身具备更显著的数字化以及智能化特征,因此更适合运用于现阶段的工业测量中。为了构建多层次的自动化系统,对于现阶段的仪器仪表应当加以全方位的改进,在此过程中确保融入新型的自动化技术,提升仪器仪表本身的精确度。
1 基本技术原理
目前的状态下,计算机系统多数都属于嵌入式的,此类系统应当建立于计算机技术的前提下,对于现阶段的通信系统也进行了全方位的完善。针对运行中的各项设备而言,嵌入式系统都能予以实r性的监控。相比于传统系统,嵌入式系统表现为更快的执行速度与更强的实时性特征。在软件的辅助下,嵌入式系统有助于缩短整个流程的处理速度,同时也设置了明确的处理代码。在任务调度的配合下,软件系统就能精确分配各项处理流程,以此来提升整个流程的实效性。除此以外,嵌入式的处理器本身具备了更强的稳定性,因此也在较大程度上完善了通信协议与网络接口,确保获得科学性更强的计算性能。
面对信息化的新背景,仪器仪表技术逐渐与网络化技术密切结合在一起,通过这种措施提升了测量速度与分辨度。在模拟手段的支持下,仪器仪表就可以具备更强的自动化性能,同时也密切结合了数据处理、在线分析、在线计算、输出控制等各项基本性能。新时期的仪器仪表行业正在逐步走向自动化,在这其中的典型技术涉及到智能操控技术、实时性的传感技术与人机界面等。例如:人机界面建立于自动化控制的前提下,运用这种措施来提供更友好的操控界面,因此有利于响应实时性的用户需要并且给出特定的操作处理。
2 自动化仪表与计算机技术实现融合的具体途径
新时期的仪器仪表应当建立于自动化技术的前提下,通过运用计算机技术来组合各个模块。从基本特征来讲,自动化的仪表仪器技术可以划分软件与硬件的模块。具体而言,自动化仪表与计算机技术相互融合的措施应当包含如下:
2.1 集成式的微电子技术
经过较长时期的演变,现阶段的各种仪器仪表都可以运用新型的集成芯片作为支持。在自动化技术的辅助下,对于仪器仪表可以设置集成芯片,通过这种措施来消除强度较高的外在干扰,同时也简化了的微控制电路。由此可见,微电子技术有助于简化整个的操作流程,进而突显了仪表与仪器运用于自动化测量的实效性。现阶段的技术人员有必要推行技术创新,以此来提升微电子技术具备的综合水平。
2.2 构建嵌入式系统
在整个的应用软件中,嵌入式系统都应当构成其中的核心与关键,在此过程中不能缺少微处理器。从现状来看,很多微处理器都设计为嵌入式的基本形状,此种类型的微处理器具备相对更小的功耗与更强的稳定性,同时也消除了过高的处理成本。依照自动化技术的基本原理,嵌入式处理器可以提升整个流程的处理速度,与此同时表现为更好的可靠度与智能性程度。例如近些年来,很多微处理器都设有16位或者8位的单片机,借助上述操作技术就能简化仪表仪器的基本构造,在此前提下确保实现多层次的智能化仪表操控技术。
2.3 密切结合网络
自动化仪表如果要发挥效能,基本前提就在于结合网络,其中的关键为设置通信接口与网络协议。随着技术改进,新形势下的网络技术表现为更广的运用范围,而与之相应的网络需求也逐渐变得更多。在网络化手段的辅助下,自动化仪表就能体现更好的综合效能。因此可以得知,自动化的仪器仪表客观上需要融入整个网络,运用网络化措施来确保实时性的操控。
3 结语
从行业整体趋势的角度来讲,仪器仪表与自动化技术应当实现密切结合,在二者相互融合的基础上拓宽了自动化的适用范围。为了实现自动化仪表与计算机技术的相互融合,作为技术人员有必要致力于转变认识,因地制宜选择适合企业本身的自动化技术模式。截至目前,与自动化仪表相关的各项技术并没有真正实现成熟,对此仍然有待加以改进。未来在实践中,企业及其相关人员还需要不断探究,进而从全方位的角度入手来转变技术模式,服务于仪器仪表测量精确度的全面提高。
参考文献
[1]李军伟,张学军.实现计算机技术与自动化仪器仪表的融合[J].科技风,2015(01):11.
[2]高明艳.如何实现计算机技术与自动化仪器仪表的融合[J].黑龙江科技信息,2015(13):23.
[3]狄亮.实现计算机技术与自动化仪器仪表的融合[J].信息技术与信息化,2015(03):233-234.
[4]管志强.探析计算机技术与自动化仪器仪表的融合[J].工程建设与设计,2016(16):169-170.
[5]魏葆勤.计算机技术与自动化仪器仪表的融合研究[J].信息化建设,2015(11):73+75.
作者简介
王晓东(1961-)。大学专科学历。现为黑龙江省电视大学工程师。