首页 > 文章中心 > 嵌入式系统的基本原理

嵌入式系统的基本原理

嵌入式系统的基本原理

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

蒋毅章军平雪良张秋菊

(江南大学机械工程学院,江苏无锡214122)

【摘要】在“卓越工程师教育培养计划”的引领下,国内高校正逐步开始在机械类本科教学中开设嵌入式系统课程,而在针对机械类专业的嵌入式系统教学内容选择、教学方法和培养目标方面,仍处于探索过程中。归纳了机械电子工程专业嵌入式系统教学的特点,并探讨了面向机电专业的嵌入式系统教学内容与方法。通过突出重点,分解难点,并结合案例教学和启发式教学,能够使学生在已有先修课程的基础上快速抓住要点,掌握嵌入式系统的基本原理和应用方法。

http://

关键词 卓越计划;教学改革;嵌入式系统;教学内容

0引言

“卓越工程师教育培养计划”是为了培养造就一批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,促进我国由工程教育大国迈向工程教育强国转变的重大改革项目。江南大学机械电子工程专业自入选首批“卓越计划”后,在机械电子工程本科三年级课程体系中设置了以ARM微处理器S3C2440为对象的嵌入式系统原理与应用专业选修课。

长期以来,嵌入式系统是高等学校电子与信息类专业的一门主干基础课程[1],强调跨学科、跨专业的理论、方法与技术的融合应用,是一门理论与实践结合紧密、综合性较强的课程[2]。而对于机械类专业,在其课程体系设计中虽然包含了部分嵌入式系统先修课程内容,但较少开设专门的嵌入式系统课程,也缺乏合适的供机械类专业本科生使用的嵌入式系统教材。

本文以近几年的教学实践经验为基础,归纳了机械电子工程专业嵌入式系统的教学特点,并探讨了面向机电专业的嵌入式系统教学内容与方法。

1机电专业嵌入式系统教学的特点

在机电类专业开设嵌入式系统课程是大学本科课程自我更新的一种新的路径,也是计算机技术发展而导致的本科课程体系更新过程中的一个自然而然的结果[3]。嵌入式系统在工业现场应用广泛,对于机电专业本科生而言,因其在机电设备开发、控制于维护方面有着较强的应用背景知识,且具有一定的先修课程基础,因此嵌入式系统课程较适合机电专业本科生的学习。

但同时,与电类专业不同,机械类专业电基础较为薄弱,导致了机械电子专业嵌入式系统教学具有以下特点:

1.1课程内容综合性强

嵌入式系统是一个软硬件系统的综合体[4],在课程中要向学生讲解嵌入式微处理器的基础知识以及其他相关硬件知识,包括处理器结构、指令系统、寄存器设置等,又要讲解嵌入式软件方面的知识,包括Linux系统、交叉编译、设备驱动程序、多进程通信等。

1.2课程的课时有限

作为一门专业选修课,嵌入式系统课程设置的教学时长为32学时,而电类专业该课程一般有48学时以上的课时,甚至达到72学时,在这其中,实验课时又有8个。由于课内学时数偏少,较容易发生学生能够听懂某些细节但缺乏整体认识,或者能够把握大框架但实际动手时一筹莫展的情况。

1.3先修课程基础薄弱

尽管机电专业本科生已经有C程序语言设计、模拟/数字电子技术、微机原理、单片机接口技术、电子CAD等先修课程基础,但受到大学教学活动短学程化的影响,学生在背景知识的掌握上存在不够全面或不够深入的情况。特别对于机械类学生而言,不仅计算机硬件基础较为薄弱,软件开发能力和经验欠缺,同时对操作系统方面的知识掌握基本空白,给嵌入式系统课程的教学带来一定困难。

2机电专业嵌入式系统的教学内容与方法

根据机械电子工程专业嵌入式系统教学现状与特点,有针对性地确定了课程体系的设置,安排相应的教学内容与教学方法。

2.1教学内容选择

作为专业选修课,嵌入式系统课程的目标不是为了使学生深入掌握这一领域全面的并得到良好巩固的知识,而是为了使学生在已有基础上步入这一新的领域中,概括性的掌握其基本原理与基本方法,并对进一步探索该领域产生浓厚的兴趣。

根据这一思路,针对机械类专业嵌入式系统的教学特点,应特别注意突出重点,合理分解难点。由于学生已有微机原理和单片机接口相关基础,在教学中弱化了对ARM芯片作为高档单片机使用的相关内容。在详述处理器结构、介绍基本指令的基础上,仅对定时器、中断、SDRAM、Nandflash控制器和时钟系统等资源加以介绍,并多采用C语言程序设计案例,避免学生在繁复的指令系统和寄存器设置体系中迷失方向。

由于机械类学生没有操作系统相关背景知识,因此在嵌入式系统软件学习中存在一定困难。嵌入式Linux操作系统及其开发环境是嵌入式软件的基础,学生需要掌握基本的Linux系统命令和交叉编译方法,而对shell程序和Makefile文件则通过案例教学呈现。Linux操作系统下设备驱动的基本思想、程序框架以及编写步骤是课程的重点之一,体现了软件与硬件的结合,因此针对这一部分,不仅安排了较多学时的课内讲解,也安排了实验。在Linux操作系统下的线程、进程和进程间通信部分,由于学时限制,弱化了实际编程操作,而主要以案例和演示实验,使学生掌握基本思想和方法。

2.2教学方法初探

嵌入式系统是一门应用课程[5],对于机械电子工程专业的本科生而言,其意义在于更好地实现机电一体化应用。为此,结合“卓越工程师”培养计划的实施,在教学中加入了较多的应用案例,突出了学用结合的教学模式,重视对学生工程素养的培养,建立面向工程的思维方式,掌握解决实际工程问题的科学方法。

在课堂教学中,变灌输式教学为启发式教学,特别注意引导学生联系以往在微机原理和单片机接口技术课程中接触到的8051单片机的相关概念与方法,使之对嵌入式系统硬件部分产生逻辑上的继承和联想,有效理解硬件的工作原理。在嵌入式系统软件部分的教学中,则以学生熟悉的Windows操作平台为例,讲解嵌入式Linux操作系统所要解决的问题和实现方法,促使学生破除对这一未知领域的神秘感,并激发其进一步深入学习的兴趣。

3结束语

针对机械电子工程专业本科三年级嵌入式系统原理与应用专业选修课的教学特点,设置并采用了合理的教学内容和教学方法。尽管课时数较少,在众多知识点上无法深入讲解和展开,但通过列举实际案例,分解难点,在教学过程中能够使学生保持浓厚的学习兴趣,获得良好的教学效果。

http://

参考文献

[1]潘登,陈启军.面向卓越人才培养的嵌入式系统教学改革[J].计算机教育,2013(7):1-5.

[2]丁珠玉,张济龙,吴永烽,等.嵌入式系统课程实践教学模式的研究与探索[J].西南农业大学学报:社会科学版,2009,7(6):181-182.

[3]黄晓玲,段凤云,赵建科.嵌入式系统实验教学体系的探索与实践[J].实验技术与管理,2006,23(4):85-87.

[4]凌明,刘昊,时龙兴.关于嵌入式系统课程教学过程中几个问题的思考[J].电气电子教学学报,2007(10):94-96,106.

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

论文摘 要:为提高高校计算机专业嵌入式系统课程的教学效果,以适应社会对嵌入式人才的要求,在分析嵌入式系统体系结构的基础上,分析了高校计算机专业嵌入式系统的教学现状、教学内容和教学方法,指出现有教学过程中存在的不足之处,并提出相应的解决方案。

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减的计算机系统,通俗地讲,就是具有智能处理功能的电子产品。如今,嵌入式系统已经被广泛应用于工业控制、医疗仪器、智能仪表、通信设备等众多领域,可以说,嵌入式系统无处不在,人们的生活也离不开嵌入式系统。

如今,社会对掌握嵌入式技术的人才需求量较大,近几年高校中的自动化类、电子类以及计算机类专业均开设了嵌入式系统的相关课程,社会上也有一些培训机构开始开展嵌入式工程师的培训。然而,由于面向对象、培养目标以及基础知识的不同,高校中各专业以及培训机构培养出的嵌入式人才的能力也不尽不同。本文结合嵌入式系统的体系结构和高校计算机专业的课程结构,对高校计算机专业嵌入式系统的教学现状、教学内容和教学方法展开探讨,指出现有教学过程中存在的不足之处,并提出相应的解决方案。

1 嵌入式系统的体系结构

一个完整的嵌入式系统可以分为软件部分和硬件部分,因此,大体上讲,嵌入式工程师可以分为嵌入式软件工程师和嵌入式硬件工程师。但我们认为,一个合格的嵌入式工程师应该既要懂软件,又要懂硬件,软件和硬件之间是相辅相成的。

嵌入式软件包含应用程序开发、驱动程序开发、操作系统的移植和裁减三个主要方面。然而,并非所有的嵌入式系统都需要进行驱动程序的开发以及操作系统的移植和裁减,如果使用的单片机较为简单,或者开发的程序较为简单,那么就没有必要基于操作系统来进行应用程序的开发。但是,如果基于操作系统来开发应用程序,那么应用程序开发过程和普通的软件开发几乎没有区别。

嵌入式硬件主要包含pcb设计和原理图设计两个方面。在原理图设计阶段,工程师需要根据实际需求选择合适的芯片,设计相应的电路图;而pcb设计主要是指pcb的布局和布线。对于高频电路,在布线完成之后,还需要进行pcb电路图的电磁兼容仿真和分析,以保证生产出的产品能够正常工作。

由此可见,嵌入式系统开发涉及到的知识面较多,这对相应的从业人员提出了较高的要求,因此,要称为一名合格的嵌入式工程师必须对上述所有方面都有所了解,并精通其中若干个方面。

2 高校计算机专业的课程结构

如今,高校计算机专业的课程结构除公共课外,可以分专业基础课程,专业必修课程和专业选修课程。专业基础课程主要是指电子技术基础和计算机程序设计;专业必修课程主要包括计算机体系结构、操作系统、数据结构、软件工程、计算机网络和编译原理等;专业选修课包括信息安全、图像处理、网络程序开发、嵌入式系统等。

从课程结构上,我们不难发现,该专业学生在学习嵌入式系统时存在一定难度,主要体现在对电路、数电和模电三门课程的掌握不牢固上。要想学好嵌入式系统,首先必须学好上述三门课程。而事实上,通常计算机专业将上述三门课程合成一门课程来进行讲授,并且学时较短。学生经过一个学期的学习,只能对这三门课程有个大概的了解,并不能达到较为灵活应用的程度。

3 教学现状、教学内容和教学手段

在教学现状上,如今高校在讲授嵌入式系统时,往往是一个教师会面对几十个,甚至上百个学生。在人数较多时,授课质量会下降。事实上,社会培训机构在进行嵌入式系统培训时,往往会限制学生的数量。

在教学内容上,主要是以一些基本概念为主,如单片机结构,linux嵌入式操作系统的原理和移植,linux嵌入式驱动程序的开发,以及嵌入式软件的设计方法等。事实上,对于刚接触嵌入式系统的学生来说,讲授这些空洞的基本概念是没有任何意义的。根据学生的反映,由于他们没有任何嵌入式方面的基础知识,讲授上述内容使得他们陷入一种迷茫的状态,除了强迫性记住一些概念之外,其它什么都没有学到。

在教学方法上,主要是以教师讲课为主,学生处于被动地接受状态。学生接受了大量的概念,却没有办法真正理解这些概念。尽管学生也会做一些嵌入式系统的实验,但在进行实验时,学生往往是根据实验手册上的说明,按照实验步骤一步步进行下去,最终除了能看到一些实验结果外,几乎根本无法理解其中的原理。

4 解决方案

为此,我们认为,高校计算机专业嵌入式系统的教学内容和教学方法必须进行改革,具体体现在以下三个方面:

第一,改变教学内容,注重实际应用。在教学内容上,不应讲授空洞的基本概念,不应以复杂的单片机,如arm为例进行讲授,不应讲授嵌入式操作系统的原理和移植操作,也不应讲授驱动程序开发,这些内容都不适合初学者。而应该以一个简单的单片机,如c51为例进行讲授。同时,在讲授c51时,应从一个应用者的角度,而不是一个设计者的角度来进行授课,这一点往往是一些教师没有注意到的问题。他们往往过于强调单片机的内部原理,而忽略了单片机的应用方法。

第二,应以教师教课为辅,学生动手为主的教学方法。由于嵌入式系统是一门实践性很强的课程,对于这类课程,过多的教学是无益的,往往会让学生对嵌入式失去兴趣。而如果能够让学生动手实验,学生则能够很直观地感受到嵌入式的魅力。

第三,在动手实践上,应以一个小型项目为主,基于开发板实验为辅的方法。事实上,基于开发板进行实验,学生往往只是简单地对他人的程序进行编译和下载,并观看开发板上的运行效果,并不能主动地研究其中的原理,也无法提高学生解决问题的能力。而如果让学生开发一个小型项目,如温度显示器等,那么学生不仅能够真正了解嵌入式系统的开发流程,解决开发过程中遇到的各种问题,而且能够获得开发成功后的成就感,增加学生对嵌入式系统的乐趣。

5 结语

本论文在分析嵌入式系统体系结构的基础上,分析了高校计算机专业嵌入式系统的教学现状、教学内容和教学方法,指出现有教学过程中存在的不足之处,并提出了相应的解决方案。该方案有利于提高高校计算机专业嵌入式系统课程的教学效果,以适应社会对嵌入式人才的要求。

参考文献

[1] 蒋伟杰.计算机专业本科嵌入式系统方向可见建设研究[j].计算机教育,2011,10(5):61~64.

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

【关键词】嵌入式系统;学科体系;平台模式;对象学科

一、嵌入式系统简介

(一)嵌入式系统的产生

嵌入式系统诞生于微型机时代,经过微型计算机的嵌入式专用化的短暂探索后,便进入到嵌入式系统独立的微控制器发展时代。直接在嵌入式处理器与集成电路技术基础上发展的带处理器内核的单片机,即微控制器的智能化电子系统。即便有处理器内核,也是嵌入式处理器而非通用微处理器。

(二)专用计算机探索的失败之路

无论是工控机,还是单板机,都无法彻底地满足嵌入式系统的微小体积、极低价位、高可靠性的要求。人们便直接将微型计算机体系结构进行简化,集成到一个半导体芯片中,做成单片微型计算机。Motolora公司的6801系列就是由6800系列微型机简化后集成的单片微型计算机。单片微型计算机彻底解决了嵌入式系统的极小体积、极低价位,但在高可靠性及对象可控性方面没有本质上的改进。

(三)嵌入式系统的独立发展道路

嵌入式系统的微控制器(MCU)发展道路,是一条摆脱“专用计算机”羁绊,独立发展的道路。这是一条由IntelMCS51单片机、iDCX51实时多任务操作系统开辟的单片机独立发展的道路。MCS51是一个在微电子学、集成电路基础上,按照嵌入式应用要求,原创的嵌入式处理器。MCS51原创的体系结构、控制型的指令系统与布尔空间、外部总线方式、特殊功能寄存器(SFR)的管理模式,奠定了嵌入式系统的硬件结构基础;iDCX51是专门与MCS51单片机配置,满足嵌入式应用要求原创的实时多任务操作系统。

二、嵌入式系统的四个支柱学科

目前,嵌入式系统尚未形成独立的学科体系。从“嵌入式系统”的诞生、独立的单片机发展道路、微控制器技术发展的内涵、嵌入式系统的多种解决方案来看,“嵌入式系统”是四个支柱学科的交叉与融合,并以平台模式进行学科定位与分工。

(一)四个支柱学科的关系

嵌入式系统的四个支柱学科是微电子学科、计算机学科、电子技术学科、对象学科。微电子学科是嵌入式系统发展的基础,对象学科是嵌入式系统应用的归宿学科,计算机学科与电子技术学科是嵌入式系统技术发展的重要保证。

(二)领衔的微电子学科

微电子学科与半导体集成电路的领衔作用,在于它为嵌入式系统的应用提供了集成电路基础。电子技术学科、计算机学科的许多重要成果,最终都会体现在集成电路中,从早期的数字电路集成,到如今的模混合、软/硬件结合、以IP为基础的知识与知识行为集成。

(三)为平台服务的计算机学科

现代计算机出现后,在计算机学科中形成了两大学科分支,即通用计算机学科与嵌入式计算机学科。通用计算机学科与嵌入式计算机学科有不同的技术发展方向与技术内涵。由于嵌入式计算机学科与对象学科、微电子学科紧密相关,而嵌入式计算机学科与原有计算机学科内容有较大差异,不能用通用计算机的概念来诠释嵌入式系统,因此、嵌入式计算机要加强与微电子学科、电子学科、对象学科的沟通,共同承担起嵌入式系统新学科的建设任务。在嵌入式系统中,计算机学科要承担起嵌入式系统应用平台的构建任务,它包括嵌入式系统的集成开发环境、计算机工程方法、编程语言、程序设计方法等内容。

(四)广泛服务的电子技术学科

在嵌入式系统中,电子技术学科提供了最广泛的技术服务。电子技术将微电子领域的集成电路设计,迅速从电路集成、功能集成、技术集成发展到知识集成;为计算机学科提供嵌入式系统的硬件设计技术支持;在对象学科中,广大的应用工程师在嵌入式软硬件平台上实现最广泛的应用。

(五)对象学科的最终出路

对象学科是嵌入式系统的最终用户学科。对象学科几乎囊括了所有的科技领域,形成了嵌入式系统一个无限大的应用领域。对于对象学科来说,嵌入式系统只是一个智能化的工具,对象学科要在嵌入式系统上构建本领域的一个嵌入式应用系统。嵌入式应用系统的技术基础是本学科的基础理论与应用环境、应用要求。同时,在应用中要不断给微电子、集成电路设计、嵌入式计算机学科提出技术要求,以便不断提升嵌入式系统平台的技术水平。[论-文-网]

三、平台模式下的学科

(一)平台模式的由来

平台模式是知识经济时代的一种基本的产业、科技模式,是人类知识分离性规律、集成性规律发展到高级阶段上的必然现象。它将一体化的产业、科技模式变革为知识平台媒介下的平台模式。只要对比上世纪60年代收音机产业与90年代的VCD/DVD产业,就会发现一体化产业模式与平台产业模式的本质差异。

(二)嵌入式系统的平台模式

按照知识的分离性发展规律,知识创新者不从事知识应用,知识应用者不需要了解创新知识原理;按照集成性发展规律要求,知识创新者应该将创新知识成果集成到工具之中,转化为知识平台,知识应用者应该在知识平台基础上实现创新知识应用。对象学科领域是嵌入式系统的最终用户,对象学科领域的电子技术应用工程师应该在一个现成的嵌入式系统平台上实现嵌入式应用系统设计。微电子学科、嵌入式计算机学科、电子技术学科(非对象学科领域中的应用工程师)不是嵌入式系统最终用户,这些学科的重要任务是将创新科技成果转化成形形色色的知识平台。[论*文*网]

(三)平台模式下的学科定位与分工

嵌入式系统中四个支柱学科的定位,除了学科知识结构的定位外,还要体现出在知识平台模式中的定位。这种平台模式的定位,是一种3+1的定位。即微电子学科、计算机学科、电子技术学科为嵌入式应用构筑各种类型的应用平台,不介入嵌入式系统的具体应用;对象学科一定要在嵌入式系统应用平台基础上,实现嵌入式系统在本学科领域中的产品化应用,不必介入嵌入式系统的平台构建。

嵌入式系统是一个无限大的空间,不论是嵌入式系统平台构建还是嵌入式系统平台应用,都有无限广阔的发展空间,关键是把握好自己的“定位”与“分工”,了解学科的“交叉”与“融合”。

参考文献

[1]何立民。嵌入式系统的产业模式[J].单片机与嵌入式系统应用,2006,(1)。

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

关键词:嵌入式系统;EVC4.0;SDK;距离测量;角度测量

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)09-2166-03

The Design of Embedded Application Software

WANG Li-li, SU Li-xian

(Xi'an University of Architecture and Technology, Xi'an 710055, China)

Abstract: With the application of microprocessor, embedded computers develop very quickly. Embedded system is special computer system which is embedded into the object body. Widespread application and the development potential of embedded system cause it to become one of the 21st century's hot application. This paper focuses on the design of embedded graphic software, researching and implementing pen touch input function of Windows CE of embedded graphic software; 2D graphical interfaces; displaying image; distance measurement and angle measurement. The realization of the design is based on the development environment EVC4.0 and Windows SDK. This approach offers you the best performance, the most power, and the greatest versatility in exploiting the features of Windows.

Key words: embedded system; EVC4.0, SDK; distance measurement; angle measurement

20世纪70年代,微处理器的出现,计算机出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。

由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。 嵌入式计算机系统走单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。

1 嵌入式系统概述

1.1 嵌入式系统定义

嵌入式系统(Embedded System),一般是指嵌入到对象体系中执行专用功能的计算机系统。嵌入式系统诞生于微型机时代,其嵌入性的本质是将一个计算机嵌入到一个对象体系中去;对象系统则是指嵌入式系统所嵌入的宿主系统。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。嵌入式系统通常由嵌入式硬件和软件两部分组成。一个简单的嵌入式系统可以由微控制器或单片机及嵌入式软件组成。

1.2 嵌入式系统的特点

通过嵌入式系统的定义,可知一个嵌入式系统,通过嵌入式系统的定义,可知一个嵌入式系统,应该满足的三个基本要素,即“嵌入性”、“专用性”与“计算机系统”。它与通用计算机系统相比,一般具有以下的特点。

1) 实时性要求。许多嵌入式系统对系统响应时间有要求, 其软件和硬件设计必须满足实时性, 以保证系统在允许的时间内完成任务;

2) 系统体积小型化、功能专业化;

3) 软件的固化特性。

1.3 嵌入式实时软件的开发

嵌入式实时软件是应用程序和操作系统两种软件的一体化程序。在嵌入式实时系统中, 应用程序和操作系统两种软件界限并不明显。这是因为, 不同的应用系统配置差别较大, 所需操作系统繁简不一, IO 操作也不标准, 这部分驱动软件常常由应用程序提供。这就要求采用不同配置的操作系统和应用程序链接装配成统一的运行软件系统。所以, 嵌入式实时软件的开发应该在系统总设计目标的指导下将它们综合加以考虑、设计与实现。

1.4 嵌入式实时软件的交叉开发环境

嵌入式实时软件的开发需要独立的开发平台。由于嵌入式实时应用系统的软件开发受到时间、空间开销的限制, 常常需要在专门的开发平台上进行软件的交叉开发, 开发平台称为宿主机, 应用系统称作目标机。宿主机可以是与目标机相同或不相同的机型, 这种不同机型的开发平台又称作交叉式开发系统。显然在这种独立的实时软件开发系统上应配备完整的实时软件开发的工具, 如高级语言编译器(C/C++语言等)、ROM仿真器(ROM Emulator)、芯片仿真器(On Chip Emulator) 和在线仿真器(In-Circuit Emulator)等。

从国际上来看, 当前现代软件技术的发展已经进入自动化、图形化开发阶段。图形化嵌入式软件开发平台已经问世, 如德国的BlueRiver 公司的V32、E32、X32和O32开发平台。用户通过功能强大的系统级图形化软件开发工具对所开发的项目进行描述, 建立整套系统的模型。因此, 只要建立起正确的系统模型, 利用好的图形化开发工具就可以根据该模型生成C/C++/Java语言的源代码, 提供完善的系统流程图、标准化的软件说明文档, 甚至可对系统功能进行模拟仿真, 从而极大地提高了软件产品的开发效率。

2 嵌入式图像软件设计

2.1 软件开发平台和环境

本文是在SDK(Software Development Kit)平台下创建Windows窗口程序来实现图像软件的设计。SDK包含了进行Windows软件开发的文档和API函数的输入库、头文件(因为API在动态链接库中,这些动态链接库是系统的组成部分因此不用再提供,而输入库和头文件则必须,这样才能在程序中使用API函数)。程序开发环境使用的是EVC4.0,本文程序使用C语言编写并使用Windows API来开发程序。Windows程序能够充分利用图形和格式化文字进行显示。图形界面不仅在外观上更有吸引力,而且还能够让使用者传递高层次的信息。

2.2 二维图像界面

窗口的实现:Windows程序在显示窗口之前, 必须调用RegisterClass函数为窗口注册一个窗口类。然后初始化该结构的10个域, 作为参数传给RegisterClass。为调用RegisterClass函数,需要先定义一个WNDCLASS结构, 然后初始化该结构的10个域:

wc.style = CS_HREDRAW | CS_VREDRAW;

wc.lpfnWndProc = (WNDPROC) WndProc;

wc.cbClsExtra = 0;

wc.cbWndExtra = 0;

wc.hInstance = hInstance;

wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELLO02));

wc.hCursor = 0;

wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);

wc.lpszMenuName = 0;

wc.lpszClassName = szWindowClass;

在这些结构中最重要的两个域是第二个和最后一个。第二个域(lpfnW ndProc)是所有基于该窗口类创建的窗口所使用的窗口函数的入口地址(例如:wndclass.lpfnW ndProc=W ndProc);最后一个域是该窗口类的名称,正是通过这个域将“ 窗口”与其响应的“ 窗口类”联系起来。窗口类定义了窗口的一般特征,而窗口与显示关系比较密切的一些细节特征尚未指定。因此,给予同一窗口类可以创建多个不完全相同的窗口,这一工作在CreareW indow 函数中完成。把已经创建的窗口显示出来, 调用API函数ShowW indow (hwnd,nCm dShow); 调用UpdateWindow()之后,窗口就显示完毕。

二维图像界面:二维图像界面的显示是在WM_ WM_CREATE消息中调用CreateWindow创建窗口,并指定有关窗口的更详细的信息来实现的。

2.3 图像距离和角度的测量

图像数据类型转换和导入:本文进行分析的数据是通过扫描设备得到的以.raw为后缀的图像,raw是未经处理、也未经压缩的图片格式,记录了由拍摄所产生的一些原数据的文件。Raw的特色在于保存了最原始的CCD数据, 记录的是最原始最真实的信息,不做修饰和更改,为后期制作留下了广阔的可操作性。由于本文需要对图像进行类型调整,并对图像的画质要求比较高,所以选择raw格式的图像,然后通过给.raw为后缀的图像加入文件头来改变图像的类型,以适应系统程序的需求。

加入文件头的图像是由文件头和文件数据两部分组成。给图像加入的文件头数据结构中,它包含算法所要用到的一些图像的属性信息。本文算法中其结构定义如下:

struct myDataHead

{

short x; // 图像的长

short y; // 图像的宽

short z; // 图像的层厚

short sBitCount; // 图像中的一个像素所占位数

} FileHead;

程序中显示出来的图像均为加入文件头的新类型文件.tu。

数据的读入先打开evc中的Tools里的Remote File Viewer,在Remote File Viewer中的File中打开Export File,在Export File中导入xxx.tu格式的数据文件。在evc中执行程序后会显示二维图形界面,在图形界面中打File中打开File open 导入刚才导入的xxx.tu数据文件后就会显示图形(如图1)。

多折线距离的测量:直角三角形中,直角的两邻边的平方和等于对边的平方和,即:X*X+Y*Y=Z*Z。

本设计中正是应用这个原理先定义一个数组,把折线中鼠标左键点的点放到数组中,然后点鼠标右键算出数组中两点两点之间打距离最后相加得出多折线的距离(如图2)。

角度的测量:

在三角函数中有公式cosa=x.y/x+y。

所以,a=arc(cos x.y/x+y)。

本设计中角度的计算用的就是这个公式,用两个像素点之间x的坐标差和y的坐标差算出长度从而算出角度(如图3)。

2.4 使用WindowsCE的笔触输入功能

WindowsCE的笔触输入功能在pc中设计时相当于pc鼠标的左右键,例如case WM_LBUTTONDOWN、case WM_LBUTTONUP、case WM_MOUSEMOVE等程序中涉及的鼠标功能就是WindowsCE的笔触输入功能。如图4既WindowsCE的笔触输入功能的使用。

3 结束语

虽然嵌入式系统是当前最热门最有发展前途的IT应用领域之一。但是嵌入式系统还有其发展的缺陷,主要可以归纳为几点:1) 目前嵌入式操作系统针对不同领域、不同的硬件平台其种类比较繁多,各有所长。这种百花齐放的现状对科技的发展是一种促进作用,但同时从地区、国家信息产业宏观发展的角度来看却带来了建设成本的增加;2) 与计算机高级软件不同的是,目前面向领域的、面向硬件平台的嵌入式系统第三方软件相对很少。究其原因有两点,一是嵌入式软件刚刚开始大规模发展,正处于快速增长时期;而是如上面第1点所分析的嵌入式基础软件过于分散。随着嵌入式系统基础软件的主流化,针对主流的嵌入式基础软件开发面向领域的、面向硬件平台的嵌入式系统第三方软件如构件库、各种设备驱动库等将是一个重要的嵌入式软件产业,也将加速嵌入式软件的发展与应用,进一步降低嵌入式系统的开发成本。因此,在引导嵌入式基础软件向主流嵌入式基础软件发展的同时,应当引导和鼓励第三方嵌入式软件的发展。

参考文献:

[1] 李永红. 基于SDK的软件设计方法[J].科技情报开发与经济,2006(6).

[2] 电子科技大学计算机学院. CRTOS x86/pm嵌入式实时操作系统原理与应用设计[M]. 增补版.成都:电子科技大学,2000.

[3] 肖芳雄,熊光泽.面向对象和模式在嵌入式软件中的应用[J].计算机工程,2003,12(29).

[4] 魏忠.嵌入式开发详解[M].北京:电子工业出版社,2003.

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

[6] 沈绪榜, 何立民. 2001嵌入式系统及单片机国际学术交流会论文集[C].北京:航空航天大学出版社,2001.

[7] 邢涛,叶景楼,任永昌.嵌入式产业发展研究[J].技术经济,2005(11).

[8] 谢锘. 嵌入式系统的发展现状和展望[J].无线电通信技术,2003(2).

[9] 石秀民,魏洪兴. 嵌入式系统原理与应用[M].北京:北京航空航天大学出版社,2007.

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

关键词:嵌入式系统;STM32;实验教学;独立学院

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)25-0181-03

一、引言

几十年来,以8位/16位微处理器为核心的微机原理与接口技术一直是电子信息类专业的专业必修课,在低端应用中,它们还是有很大的应用市场的。但是近年来,以ARM为核心的32位处理器迅速发展,凭借其高性能、低功耗等特性成为主流微控制器产品,也成为物联网的重要技术支撑,市场对掌握32位微控制器应用的人才需求尤为强烈。为适应市场对人才知识技能的要求,各大高校相继开设了32位嵌入式系统课程,由于STM32结构复杂,涉及知识面广,所以当初主要是面向研究生开设的。随着以ARM为核心的STM32的诞生,相关集成开发环境和固件库的支持以及STM32开发板功能的完善,笔者尝试在独立学院中开设该课程。虽然独立学院学生的基础相对薄弱,但是通过合理设置该课程的教学大纲并优化教学方法,还是可以达到良好的教学效果的。另外,在全国以及各省的大学生电子设计大赛中,传统的MCS-51单片机已经不能满足要求,越来越多的学生需要用STM32来解决控制问题。笔者发现,开设基于STM32的嵌入式系统设计课程,对学生参加电子设计大赛,完成毕业设计,提高科研能力以及增加就业机会等都具有非常大的促进作用。

二、嵌入式系统设计课程的特点

嵌入式系统,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。而根据英国电器工程师协会的定义,嵌入式系统为“用于控制、监视或者辅助操作机器和设备的装置”。目前国内普遍认同的嵌入式系统定义为:“嵌入式系统被定义为以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应于应用系统对功能、可靠性、成本、体积、功耗等具有严格要求的专用计算机系统”。一般而言,嵌入式系统的结构可以包括四个部分:嵌入式处理器、存储器、通用设备接口和I/O接口以及软件。

嵌入式系统技术发展很快,从最早的微处理器(MPU),发展到微控制器(MCU),再到片上系统(SoC),嵌入式系统的结构越来越复杂。随着芯片技术的发展,使得单个芯片集成多种接口,处理能力变得更强,因而也能满足更广泛的应用需求。其实单靠课堂的时间是不可能让学生完全掌握嵌入式系统技术的所有功能的,但是可以让学生入门,掌握嵌入式系统的一般开发过程,为其今后更深入地学习有关嵌入式系统技术打下坚实的基础。

嵌入式系统的综合性很强,它涉及到的基础课程主要包括:电工与电路基础、数字电子技术基础、模拟电子技术基础、信号与系统、通信原理、自动控制原理、计算机程序设计、计算机原理、操作系统、微机接口技术等。通过该课程的学习,要求学生一方面要了解嵌入式系统的硬件结构与各种接口的功能;另一方面也要求学生掌握利用固件库编写控制程序的方法。

由于嵌入式系统主要是面向用户、面向产品、面向应用的,因此嵌入式系统技术必须与具体应用相结合才能体现出它的优势。总之,嵌入式系统技术是一门实践性很强的课程,只靠看书是无法理解透彻的,必须要经过大量的实际操作才能学好。在嵌入式系统技术的相关实验中,学生通过反复地发现问题、分析问题及解决问题,不仅可以深入理解嵌入式系统技术的相关原理,而且也有助于学生真正地掌握嵌入式系统的应用技术。而合理的实验项目设计,则可以帮助学生由浅入深地逐步掌握嵌入式系统的开发技术。

三、实验平台的搭建

传统的嵌入式系统实验主要依赖实验室,所有的实验必须在实验室中才能完成。但是,一般情况下,实验室不会对学生随时开放,导致学生只能在规定的课堂时间内做实验,而当实验中遇到的问题一时无法解决的时候,学生就必须等到下次实验课才能解决。

基于STM32的嵌入式实验硬件平台主要包括PC机、JLINK仿真器(可选)、开发板,如图1所示。其中,开发板价格便宜,体积小,方便携带,可以每人一块。教师可以在第一次实验前发给学生,学生也可以在课余时间继续学习,在学期结束时由教师再收上来。同时,开发板功能强大,通常具有很多种外设,功能模块如图2所示。根据不同的开发板,学生可以设计开发出基础型、设计型、综合型、创新型等多种不同类型的实验项目。

基于STM32的软件实验平台选用与51单片机一样的集成开发环境Keil MDK-ARM,在程序设计过程中,若使用库函数编程,则需预先到官网下载STM32的固件库。学生可以像开发51单片机一样,创建STM32的工程、编写源代码、生成目标文件,最后将调试好的程序下载到开发板中具体运行。

四、实验内容的设置

1.嵌入式系统课程教学目标。嵌入式系统设计以ST公司的32位基于ARM Cortex-M3内核的STM32为核心,主要介绍嵌入式系统的定义、特点和发展,ARM Cortex-M3体系结构,片上外设资源与STM32固件库等相关基础知识,要求学生能够学会嵌入式系统的开发技术和系统综合设计方法,为今后从事嵌入式系统方面的应用与研究的学生打下坚实的基础。本课程的具体教学目标主要有以下几项:(1)掌握嵌入式系统的基础知识;学习ARM Cortex-M3体系结构;学习STM32 MCU的结构、STM32最小系统、片内外设资源和外部引脚功能,学习嵌入式系统硬件的设计方法;(2)学习STM32的软件开发技术,掌握利用嵌入式C语言设计STM32程序的方法;(3)学习嵌入式系统硬件设计技术,掌握STM32最小系统硬件和扩展单元设计,并能够综合运用嵌入式系统软件和硬件设计技术解决实际工程中遇到的问题;(4)学习ARM Keil集成开发环境的使用方法,熟练使用STM32开发板,并在此基础上完成规定的基础型、设计型以及综合创新型实验。

2.验项目设计。为了达成嵌入式设计课程的教学目标,笔者在实际的实验教学过程中设计了以下一些不同类型的实验项目:(1)基础型实验。①这个基础型实验主要是基于固件库的工程模板的建立。笔者要求学生在自己的电脑上安装好开发软件,建立STM32工程,在工程中添加库函数,编写源代码,创建目标文件。②GPIO端口直接输入/输出实验。笔者要求学生掌握GPIO工作方式的配置方法、GPIO函数的功能等,同时编程实现了根据按键控制LED以不同的方式点亮。(2)设计型实验。①笔者在设计型实验中主要进行的是外部中断应用实验,在这个实验中,笔者要求学生掌握外部中断的工作方式,EXTI和NVIC相关函数功能与使用方法,能够编写中断初始化程序与中断服务程序,实现按键中断控制数码显示。②定时器应用实验。在这个实验中,笔者要求学生掌握定时器的工作方式、定时时间常数的配置,编写程序实现秒计时、计时暂停、清零等功能。③串口通信实验。在这个实验中,笔者要求学生掌握STM32串口结构与通信原理,能够编程实现STM32与PC机之间的数据传送。④A/D转换实验。在这个实验中,笔者要求学生掌握A/D转换器的工作原理,掌握ADC初始化配置,ADC中断,数据采集等程序设计技术,能够将模拟电压值显示在数码管上,同时通过串口上传到PC机。(3)综合创新型实验。①综合创新型实验主要是基于nRF24L01模块的近距无线通信系统来设计的。在这个实验中,笔者要求学生了解近距无线数据传输原理,掌握24L01的工作原理与特点,掌握24L01的程序设计与应用技术。在具体的实验操作中,两人一组,分别实现双方数据的发送与接收,并能在显示器上进行显示。②基于MF RC522模块的RFID读写器设计。在这个实验中,笔者要求学生了解RFID的工作原理与特点,了解和掌握RFID的程序设计方法,能够应用MF RC522 RFID模块,设计一个RFID读写器,实现对电子标签的读写操作,如可读取校园卡的ID等。

五、实验教学方法与考核

在嵌入式技术实验教学过程中,笔者始终强调要以学生作为实验的中心,同时采用开放式与传统式相结合的实验教学模式,要求学生在自己的笔记本电脑上搭建好STM32开发环境,且学生可以将开发板带走。此外,教师可以将嵌入式技术相关实验的实验目的与要求提前,鼓励学生在课前完成实验,充分调动学生的积极性和创造性。实验课上,教师主要负责的是指导答疑、成果检查、当场提问并打分。通过现场提问这种方式,既能让学生之间互相学习,又能让其他学生进行有效地监督,保障最终成绩的公平公正。另外,笔者在嵌入式技术实验的教学环节中采用的是全过程考核方式,考核内容主要包括以下几个方面:(1)实验项目完成情况(占30%):考察完成的进度、每项实验要求的完成情况以及创新成果等。(2)回答问题表现(占30%):考察对实验内容的熟悉程度以及相关基本知识的掌握情况。(3)实验报告质量(占40%):主要考察学生撰写实验报告的结构清晰程度、内容的正确性与完整性等。

六、结语

随着嵌入式技术的快速发展和社会对嵌入式研发人才需求的不断增加,嵌入式系统教学团队十分重视嵌入式系统实验课程的教学研究和教学改革。经过几年的教学实践,结合独立学院学生的特点,笔者建立了基于STM32的嵌入式系统设计课程实验教学体系,确定了比较合理的实验项目与考核评价方式,并采用了开放式与传统式相结合的教学方式,最终的结果就是嵌入式技术课程的选课人数不断增加并获得了学生的好评。通过实践课程的学习,学生嵌入式系统的应用开发能力得到了一定的培养和提高。作为一门综合性强、内容多、侧重应用、内容更新快的应用技术课程,嵌入式技术教学需要在实践教学环节进行更深入地探索,更好地促进学生应用能力的培养,并不断提高嵌入式技术课堂的教学质量,为学生参加电子设计大赛、完成毕业设计以及今后工作奠定良好的理论基础和实践基础。

参考文献:

[1]车明,等.嵌入式系统设计课程实践教学改革研究[J].实验科学与技术,2015,(6).

[2]汪永红,等.《嵌入式系统设计》课程教学改革探讨[J].中国电力教育,2015,(2).

[3]廖义奎.Cortex-M3之STM32嵌入式系统设计[M].中国电力出版社,2012.

[4]姚文详,宋岩.ARM Cortex-M3 权威指南[M].北京航空航天大学出版社,2009.

[5]彭刚,秦志强.基于ARM Cortex-M3 的STM32 系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.

Research and Practice on Experiment Teaching of Embedded System Design Based on STM32 in Independent College

CHEN Lei1,2,DENG Jing2

(1.Department of Electronic and Information Engineering,Wenzheng College,Soochow University,Suzhou,Jiangsu 215104,China;2.School of Electronic and Information Engineering,Soochow University,Suzhou,Jiangsu 215021,China)