《嵌入式控制系统毕业论文.doc》由会员分享,可在线阅读,更多相关《嵌入式控制系统毕业论文.doc(25页珍藏版)》请在三一办公上搜索。
1、摘 要基于嵌入式系统的概念,嵌入式系统本身是一个相对模糊的定义。随着电子技术的飞速发展,嵌入式操作系统正在深入应用到工业、农业、教育、国防、科研以及日常生活等各个领域,将嵌入式操作系统技术与模糊控制技术结合起来,构成一种体积小、易于网络化、成本较低,集信号采集、数据存储、网络传输、实时控制和实时显示为一体的嵌入式温湿度控制系统具有广泛的应用前景。本文阐述嵌入式操作系统的基础、嵌入式操作系统的开发方法和过程以及应用领域和未来的发展。嵌入式控制系统的可移植性较强,可以实现对多种模拟信号进行实时采集和控制,所以应用前景比较广泛。同时介绍了嵌入式控制系统技术的基本理论和设计方法,而且将控制算法、嵌入式
2、系统硬件、操作系统、应用程序设计及组态软件作为统一的技术平台来介绍,突出嵌入式技术在控制系统中应用的特点,通过应用实例分析,解析嵌入式控制系统中各部分的问题。关键词:嵌入式控制系统 开发 设计 应用领域目 录第1章 嵌入式控制系统的基础11.1 嵌入式控制系统的发展史11.2 嵌入式控制系统的概述31.3 嵌入式控制系统的组成41.3.1 嵌入式控制系统的硬件41.3.2 嵌入式控制系统的软件6第2章 嵌入式控制系统的开发72.1 嵌入式控制系统的开发环境72.2 嵌入式控制系统的开发过程8第3章 嵌入式控制系统的设计103.1 嵌入式控制系统的特点103.2 嵌入式控制系统的设计方法113.
3、2.1 嵌入式控制系统的设计概述及步骤113.2.2 嵌入式控制系统的设计方法13第4章 嵌入式控制系统的未来发展174.1 嵌入式控制系统的未来发展174.2 嵌入式控制系统的应用领域19参考文献22致 谢23第1章 嵌入式控制系统的基础1.1 嵌入式控制系统的发展史1始于微型机时代的嵌入式用电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才能出现历史的变化,以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了
4、控制专业人士的兴趣,要求微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中结构自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一对象体系中去,这些是理解嵌入式系统的基本出发点。2.两大分支发展的里程碑事件通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20世纪末、21世纪初,计算机技术的飞速发展。
5、计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理
6、器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。 作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。 嵌入式系统的出现最初是基于单片机的。70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。 最早的单片机是Intel公司的 8048,它出现在1976年。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些
7、早期的单片机均含有256字节的RAM、4K的ROM、4 个8位并口、1个全双工串行口、两个16位定 时 器。之后在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用。从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。确切点说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与
8、相互排斥、中断支持、内存管理等功能。其中比较著名的有Ready System 公司的VRTX、Integrated System Incorporation (ISI)的PSOS和IMG的VxWorks、QNX公司的QNX 等。这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪,可扩充和可移植性,可以移植到各种处理器上;较强的实时和可靠性,适合嵌入式应用。这些嵌入式实时多任务操作系统的出现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广阔的应用空间。 90年代以后,随着对实时性要求的提高,软
9、件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。这时候更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。除了上面的几家老牌公司以外,还出现了Palm OS,WinCE,嵌入式Linux,Lynx,Nucleux,以及国内的Hopen,Delta Os等嵌入式操作系统。随着嵌入式技术的发展前景日益广阔,相信会有更多的嵌入式操作系统软件出现。在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格
10、要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。1.2 嵌入式系统的概念嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有
11、一个正确的定位。例如Palm之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。 实际上,嵌入式系统本身是一个外延极广的名词,凡是与产
12、品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统,本文在进行分析和展望时,也沿用这一观点。 一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和Windows系统的最大区别)。1.3 嵌入式系统的组成1.3.1 嵌入式系统的硬件硬件中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)
13、。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。 (1)嵌入式微处理器 嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。 嵌入式微处理器的体系结构可以采用冯诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令系统
14、CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。 嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。
15、嵌入式微处理器的选择是根据具体的应用而决定的。 (2)存储器 嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。 1Cache Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。 在嵌入式系统中Cach
16、e全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。 2主存 主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。 常用作主存的存储器有: ROM类 NOR Flash、EPROM和PROM等。 RAM类 SRAM、DRAM和SDRAM等。其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域
17、内得到了广泛应用。 3辅助存储器 辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。 嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。 (3)通用设备接口和I/O接口 嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。 目前嵌入式系统中常用的通用设备接口有A/D(模/数转
18、换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。 1.3.2 嵌入式系统的软件嵌入式系统的软件包括设备驱动层、嵌入式操作系统、应用程序接口API层以及实际应用程序层。对于简单的嵌入式系统,可以没有嵌入式操作系统,仅存在设备驱动程序和应用程序。对于大部分嵌入式系统,由于性能要求越来越高,通常需要嵌入式操作系统。下面简单的介绍一下嵌入式操作系统的软件层次结构。1. 驱动层程序任何外部设备都需要相应的驱动
19、程序支持,它为上层软件提供了设备的操作接口。因此驱动层是嵌入式系统中不可缺少的重要组成部分。驱动层程序包括硬件抽象(HAL Hardware Abstraction Layer)、板级支持包BSP(Board Support Package)以及设备驱动程序。(1) 硬件抽象层硬件抽象层HAL位于操作系统内核与硬件电路之间的接口层,其目的就是将硬件抽象化。即可以通过程序处理器、I/O接口以及存储器等所有硬件操作。这样是系统的设备驱动程序与硬件设备无关,提高了系统的可移植性。硬件抽象层包括相关硬件的初始化、数据的输入/输出操作、硬件设备的配置等操作。2)板级支持包BSP板级支持包BSP介于硬件和
20、嵌入式操作系统中驱动层之间的一层,主要是实现对嵌入式操作系统的支持,为上一层驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件。不同的嵌入式操作系统对应的BSP不同。BSP实现的功能主要有:一是系统启动时对应硬件初始化,二是为驱动程序提供访问硬件的手段,Boot Loader属于此类。(3)设备驱动程序系统安装的硬件设备必须经过驱动才能被使用,设备的驱动程序为上层软件提供调用的接口。上层软件只需调用驱动程序提供的接口,而不必关心设备内部的具体操作,就可以控制硬件设备。驱动层除了实现基本的功能函数外(初始化、中断响应、发送、接收等),还具备完善的错误处理函数。第2章 嵌入式系统的开
21、发2.1 嵌入式控制开发环境1交叉开发环境嵌入式系统应用软件的开发属于跨平台开发,因此需要一个交叉开发环境。交叉开发是指在一台通用计算机上进行软件的编辑、编译,然后下载的嵌入式设备中运行调试的开发式。用来开发的通用计算机可选用比较常见的PC机等,运行通用的Windows等操作系统。开发计算机一般称宿主机,嵌入式设备称为目标机。在宿主机上编译好的程序,下载到目标机上运行;交叉开发环境提供调试工具对目标机上运行的程序进行调试。交叉开发环境一般由运行于宿主机上的交叉开发软件、宿主机到目标机的调试通道组成。运行于宿主机上的交叉开发软件至少必须包含编译调试模块,其编译器为交叉编译器。宿主机一般为基于x8
22、6体系的桌上型计算机,而编译出的代码必须在目标机处理器体系结构上运行,这就是所谓的交叉编译。在宿主机上编译好目标代码后,通过宿主机到目标机的调试通道将代码下载到目标机,然后由运行于宿主机的调试软件控制代码在目标机上的运行调试。2软件模拟环境软件模拟环境也称为指令集模拟器ISS(Instruction Set Simulator)。在很多时候为保证项目进度,硬件和软件开发往往同时进行。这时作为目标机的硬件环境还没有建立起来,软件的开发就需要一个模拟环境来进行调试。模拟开发环境建立在交叉开发环境基础之上,是对交叉开发环境的补充。这是,除了宿主机和目标机之外,还需要提供一个在宿主机上模拟目标机的环境
23、,使得开发好的程序直接在这个环境里运行调试。模拟硬件环境是非常复杂的,由于指令集模拟器与真实的硬件环境相差很大,即使用户使用指令集模拟器调试通过的程序,也有可能无法在真实的硬件环境下运行。因此,软件模拟不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。3评估电路板评估电路板,也称为开发板,一般用来作为开发者使用和学习板、实验板,可作为应用目标板出来之前的软件测试、硬件调试的电路板,对应用系统的功能没有完全确定、初步进行嵌入式开发且没有相关开发经验的人
24、员来说尤其重要。开发评估电路板并不是嵌入式应用开发必需的,对于有经验的工程师,完全可以自行独立设计自己的应用电路板及根据开发需要设计实验板。好的评估电路板一般文档齐全,对处理器的常用功能模块和主流应用都有硬件实现,并提供电路原理图和相关开发例程与源代码,供用户设计自己的应用目标板和应用程序参考。2.2 嵌入式控制系统开发的过程 为嵌入式系统开发应用程序的过程誉为PC机开发应用软件的过程有一定的不同,出现了一些在PC机上不曾有的工作阶段。在同样的一个阶段,具体的工作也有很多的不同。造成这种现象的原因主要是由于在开发嵌入式软件时,开发者要面对两个工作平台:一个是宿主机,另一个是目标机。宿主机上要有
25、比较丰富的软件和硬件资源,通常是用PC机来作宿主机,但也有使用工作站的情况,不过不多见。目标机是CPU和操作系统都与最终的嵌入式系统相同的开发实验板。有很多的厂商可以提供这种开发实验板。宿主机可通过串行端口(RS-232)、并行端口或是网络(Ethernet)与目标机相连接。它们一起构成了嵌入式软件的开发环境。应用程序的编辑、编译及链接等过程都在宿主机上进行,而应用程序要在和宿主机有很大差别的目标机上实际运行。应用程序的调试主要是宿主机上进行,但在很多情况下要借助于目标机的能力。嵌入式软件的开发必须交叉进行是由于宿主机和目标机二者间的差别造成的。这种差别主要来自两个方面:一是硬件的差别,比如,
26、有可能宿主机的CPU为Pentium,而目标机的CPU则是MC68328;二是软件的差别,比如,有可能宿主机上的操作系统是Windows2000,而目标机的操作系统是C/OS,还有可能目标机就是一台裸机,根本没有操作系统。项目计划、可行性分析、需求分析、概要设计及详细设计等几个阶段的工作与通用软件没有太大的区别,都是按照一般的软件工程方法来进行的,如采用原型化方法、结构化方法及面向对象方法等。项目计划、可行性分析、需求分析、概要设计及详细设计等几个阶段的工作成果是一些文档。产生这些文档的工作完全是在宿主机上进行的,不需要目标机的参与。源代码编写阶段的工作任务是使用适当的程序设计语言编写程序的源
27、代码,比如用C语言、C+语言及汇编语言等。程序的源代码经交叉编译或汇编工具处理后产生出的是程序的目标文件。目标文件再经过链接工具的产生一个“可重定位”的程序文件。对于通用计算机上的软件来说,到此为止建立程序的工作就已经完成;对于嵌入式软件,要是“可重定位”的程序文件变成可执行的程序文件还必须做一件事,那就是为了它内部的代码和数据指定存储地址。指定存储地址这项工作就是定址阶段要完成的任务。产生应用程序的可执行文件后,下面要做的工作是对这个程序应进行调试,检查它是否有错吴并确定错误的位置。这就是调试阶段要做的工作。调试程序的方法有很多种,例如,直接测试法、插桩法、在线仿真器法、片上调试法及模拟器法
28、等在采用某些调试方法时,必须首先将被调试的程序下载到目标机上;而有些方法则是直接在宿主机上进行调试,不需要目标机介入。在需要进行下载时,可以采取与固化阶段完全相同的方法,比如利用ROM仿真器。但无论是采用什么调试方法,嵌入式软件的调试与通用软件都是一定的区别的。固化阶段的工作是将经调试无误的可执行程序固化到目标机上,以确保在需要时可以投入运行。根据嵌入式系统硬件的配置情况,固化方式有好几种,可以固化在EPROM和Flash这类存储器中,也可以固化在DOC和DOM等电子盘中。比较常见的还是固化在EPROM里面。这种固化是借助编程器来进行的。编程器上面有各种形状和大小不同的芯片插座,可以通过通信线
29、与宿主机连在一起。在进行固化时,一般是先把存储芯片插入编程器上某个大小、形状适合的插座上,并通过软件选择芯片的型号,然后将固化的程序文件传到编程器上。整个固化过程可能需要几秒到几分,这要看文件的大小和利用的芯片型号。第3章 嵌入式控制系统的设计3.1 嵌入式控制系统的特点嵌入式操作系统EOS(Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列
30、。随着 Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而方的,它除具8备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点: 可装卸性。开放性、可伸缩性的体系结构。 强实时性。EOS实时性一般较强,可用于各种设备控制当中。 统一的接口。提供各种设备驱动接口。 操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。 提供强大的网络功能,支持TCP/IP
31、协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。 强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。 固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。 更好的硬件适应性,也就是良好的移植性。 国际上用于信息电器的嵌入式操作系统有40种左右。现在
32、,市场上非常流行的EOS产品,包括3Com公司下属子公司的Palm OS,全球占有份额达50%,Microsoft公司的Windows CE不过29%。在美国市场,Palm OS更以80%的占有率远超Windows CE。开源的Linux很适于做信息家电的开发。比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux 的嵌入式操作系统“夸克”。“夸克”是目前全世界最小的Linux,它有两具很突出的特点,就是体积小和使用GCS编码。 3.2 嵌入式控制系统的设计方法3.2.1 嵌入式系统的设计概述及步骤嵌入式系统设计有别于桌面软件设计的一个显著特点,是它需要一
33、个交叉编译器和调试环境,即源代码的编译器工作在宿主机Host上进行,程序编译好后,需要下载到目标机Client上运行。宿主机和目标机通过串行口、并口、网口或USB口建立起通信连接,并传输调试命令和数据。由于宿主机和目标机往往运行着不同的操作系统,嵌入式微处理器的体系结构也彼此不同,这就是提高了嵌入式系统设计的复杂性。嵌入式系统设计的基本原则是“物尽其用”,即在整个嵌入式系统的设计开发过程中,始终贯穿“物尽其用”的原则。与通用计算机相比,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,以最小成本实现更高的性能,同时尽可能采用高效率的设计算法,以提高系统的整体性能。嵌入式系统的设计,
34、需要从体系结构的角度来了解嵌入式系统。尽管绝大多数嵌入式系统是用户针对特定应用而定制的,但他们一般都是由下面几个模块组成的:一是嵌入式处理器,二是用以保存固件的Flash ROM,三是用以存储数据的SRAM,四是外部设备如连接嵌入式处理器的开关、按钮、传感器、模数转化器、控制器、LCD、LED及显示器的I/O端口以及通信接口等。嵌入式系统设计一般有5个阶段,如图1所示。设计步骤包括需求分析、体系结构设计、硬件设计,软件设计,执行机构设计、系统集成和系统测试。各个阶段之间往往要求不断地修改,直至完成最终设计目标。图11嵌入式系统需求分析嵌入式系统的系统需求分析就是确定设计任务和设计目标,并提炼出
35、设计规格说明书,作为正式设计指导和验收的标准,如输入/输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、重量以及环境等因素。2嵌入式体系结构设计嵌入式体系结构设计的任务是描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的嵌入式体系结构是嵌入式系统设计成功与否的关键。体系结构设计并不是具体讲系统怎么实现,只说明系统做些什么,系统有哪些方面的功能要求。体系结构是系统整体结构的一个规划和描述。3嵌入式硬、软件及执行机构设计基于嵌入式体系结构,对系统的硬件、软件和执行机构进行详细设计。为了缩短产品开发周期,设计往往是并行机同时进行的
36、。硬件设计就是确定嵌入式处理器型号、外围接口及外部设备,绘制相应的硬件系统的电路原理图和印制版图。在整个嵌入式系统硬软件设计过程中,嵌入式系统设计的工作大大部分都集中在软件设计上,面向对象技术、软件组件技术、模块化设计技术是现代化软件工程经常采用的方法。硬软件协同设计方法时目前较好的嵌入式系统设计方法。执行机构设计的主要任务是选型,选择合适的执行机构,配置相应的驱动器以及传感器、放大器、信号变换电路等,并考虑与嵌入式研究的连接方式。4嵌入式系统集成系统集成就是把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。5嵌入式系统测试嵌入式系统测试的任务就是对设计好的系统
37、进行全面测试,看其是否满足规格说明书中给定的功能要求。针对系统不同的复杂程度,目前有一些常用的系统设计方法,如瀑布设计方法、自顶向下的设计方法、自顶向上的设计方法、螺旋设计方法、逐步细化设计方法和并行设计方法等,根据设计对象复杂程度的不同,可以灵活地选择不同的系统设计方法。应该指出的是,上面几个步骤不能严格区分,有些步骤是并行的,相互交叉、相互渗透的。在设计过程中也存在测试过程,包括静态测试和动态测试等。3.2.2 嵌入式系统的设计方法对于不需要嵌入式操作系统的简单嵌入式系统,通常按照如图2所示的流程进行设计。图2基于嵌入式操作系统的嵌入式系统,整个系统的开发过程将改为如图3所示的设计流程。图
38、3由于选定的硬件平台都是相对通用、固定、成熟的。所以,在开发过程中减少了硬件系统错误的引入。同时,嵌入式操作系统屏蔽掉了底层硬件的很多复杂信息,使得开发者通过操作系统提供的API函数可以完成大部分工作,从而大大地简化了开发过程,提高了系统的稳定性。传统的嵌入式系统设计方法可以简单归纳为如图4所示,硬件和软件分为两个独立的部分,有硬件设计人员和软件设计人员按照拟定的设计流程分别完成。其过程可描述如下:图4(1)需求分析。(2)软硬件分别设计、开发、调试、测试。(3)系统集成:软硬件集成。(4)集成测试。(5)若系统正确,则结束,否则继续进行。(6)若出现错误,需要对软、硬件分别验证和修改。(7)
39、返回步骤(3),继续进行集成。传统方法虽然也可改进硬件、软件性能,但由于这种改进是各自独立进行的,不一定能使系统综合性能达到最佳。 综上所述,基于嵌入式操作系统的嵌入式系统的设计开发是把开发者从反复进行硬件平台的设计过程中解放出来,从而可以把主要的精力放在编写特定的应用程序上。这个过程更类似于在系统机(如PC)上的某个操作系统下开发应用程序。第4章 嵌入式系统的未来发展4.1 嵌入式控制系统的未来发展1.发展现状随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝99年1月访华时预言,45年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明
40、。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的计算机的发展与技术一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。象前途无可计量的维纳斯计划生产机顶盒,核心技术
41、就是采用32位以上芯片级的嵌入式技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于嵌入式设备具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。 目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用
42、。近期长虹推出的ADSL产品,结合网络,控制,信息,这种智能化,网络化将是家电发展的新趋势。1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的计算能力已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机顶盒、信息加电这两年
43、更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。2.发展趋势信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势: 1)网络互联成为必然趋势 未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网
44、络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCPIP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入web浏览器,真正实现随时随地用各种设备上网。 2)精简系统内核、算法,降低功耗和软硬件成本。 未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和
45、不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。 3)提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。4.2 嵌入式控制系统的应用领域
46、嵌入式系统的应用前景是非常广泛的,人们将会无时无处不接触到嵌入式产品,从家里的洗衣机、电冰箱,到作为交通工具的自行车、小汽车,到办公室里的远程会议系统等等。特别是以蓝牙为代表的小范围无线接入协议的出现,使嵌入式无线电的概念悄然兴起。当嵌入式的无线电芯片的价格可被接受时,它的应用可能会无所不在。在家中、办公室、公共场所,人们可能会使用数十片甚至更多这样的嵌入式无线电芯片,将一些电子信息设备甚至电气设备构成无线网络;在车上、旅途中,人们利用这样的嵌入式无线电芯片可以实现远程办公、远程遥控,真正实现把网络随身携带。下面介绍几种具体的应用。1.工业控制基于嵌入式芯片的工业自动化设备将获得长足的发展,目
47、前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。2.交通管理在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置
48、。 3.家庭智能管理系统水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。 4.POS网络及电子商务公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。 工业设备是机电产品中最大的一类,在目前的工业控制设备中,工控机的使用非常广泛,这些工控机一般采用的是工业级的处理器和各种设备,其中以X86的MPU最多。工控的要求往往较高,需要各种各样的设备接口,除了进行实时控制,还须将设备状态,传感器的信息等在显示屏上实时显示。这些要求8位的单片机是无法满足的,以前多数使用16位的处理器,随着处理器快速的发展,目前32位、64位的处理器逐渐替代了16位处理器,进一步提升了系统性能。采用PC104总线的系统,体积小,稳定可靠,受到了很多用户的青睐。