摘 要:介绍了嵌入式计算机系统的基本概念和结构,对嵌入式计算机系统的软硬件平台和发展做了简要的概述。 关键词:嵌入式;计算机系统;嵌入式操作系统
随着微电子技术的不断创新和发展,大规模集成电路研究的深入,更多先进的嵌入式微处理器应用到各种仪器、设备中,给现代工业控制领域带来了一次新的技术革命。而由此产生的嵌入式系统,作为计算机应用的一个重要领域,已深入到社会的方方面面,越来越受到人们的关注。
1嵌入式系统简介 1.1嵌入式系统的定义 嵌入式系统是计算机的一种应用形式,在物理上嵌入于宿主系统中作为整个系统的一部分,并不独立存在;在功能上,嵌入式计算机总是针对某种特定应用,一经编程,用户一般不再修改。它是先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。因此,嵌入式系统的概念可以归纳为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应于应用系统及对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 1.2嵌入式系统的构成 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统(RTOS)、控制与应用程序和开发调试平台等5部分构成,如图1所示。
1.3典型嵌入式系统应用 嵌入式系统在实际应用中是非常广泛的。例如:计算机的硬盘、Modem、打印机、扫描仪,网络设备中的路由器、交换机,家电中的数码相机、手机、掌上电脑等均是由嵌入式处理器控制的。不仅如此,嵌入式系统也应用于智能仪表、工控设备、军事装备等重要领域,如图2所示。
2嵌入式系统硬件平台 嵌入式软件的运行离不开硬件支持。与普通计算机一样,硬件环境可分成3个部分:嵌入式处理器(CPU)、外围电路和外部接口支持(拓展外设)。其基本体系结构如图3所示。
2.1嵌入式处理器 嵌入式处理器是嵌入式硬件系统的核心,所提供功能的强弱直接决定了嵌入式应用的适应范围和开发复杂性。目前,嵌入式处理器可以分成下面几类: 嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在 功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 微控制器(MicroController Unit,MCU)微控制器又称单片机,顾名思义,就是将整个计算机系统的主要硬件集成到一块芯片中。MCU一般以某一种微处理器的CPU为核心,芯片内集成了ROM/EPROM、RAM、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、Flash RAM(内存)和EEPROM等各种必要功能和外设接口,也可以集成A/D、D/A。为了适应不同的应用需求,一般一个系统的MCU具有多种衍生产品,每种衍生产品的CPU 都是一样的,不同的是存储器和外设的配置及封装。和嵌入式微处理器相比,微控制器的最 大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。 DSP处理器(Digital Signal Processor,DSP)DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,并大量涌入嵌入式领域。DSP应用正在从通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。 片上系统(System On Chip)随着EDI的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂系统的时代已经来临,这就是片上系统(简称SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其他嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。 2.2周边电路 从图3中可以看出,周边电路包括了片内周边电路和片外基本外围电路两部分。作为一个嵌入式芯片,除基本的核心处理器外,必然还有一些片内周边电路。虽然这些电路随不同的MCU型号有所变化,但一些基本功能必然存在,如定时器、I/O端口、串口和DMA等,它们保证了CPU的正常运转,并实现应用中一些基本功能。但是,目前32位嵌入式芯片只提供了定时器、I/O端口、串口和DMA等基本片内周边电路,要构成一个实用的目标板,真正发挥32位芯片的作用,还需要配置一些外围电路,如供电、复位、存储器连接和调试支持等,对不同的处理器芯片,需要配套的电路不尽相同,但完成的基本功能不变。如:供电电路给整个系统提供不同大小的电源,有±12 V、±5 V,还有3.3 V等,也可以根据不同的需要进行调整;复位电路帮助系统在无法响应的时候快速重新启动。 2.3外部接口支持 对一个实际的目标板(嵌入式设备),除了处理器、片内电路和外围电路之外,往往会提供一些特殊的支持功能,包括对外部设备的板级支持、语音处理、图形处理、串口和US B等。 与通用计算机相比,嵌入式接口明显有两个特点,一是接口品种多,二是对接口要求高。通 用计算机一般仅有键盘、鼠标、VGA显示、硬盘、软盘以及并行打印机接口和串行接口。对于这些接口,嵌入式系统都可以实现。而在嵌入式计算机中,因要连接各种设备,常用的还有A/D接口、D/A接口、1553接口和通信同步接口等。此外即使在相同接口中,要求也是不一样的。例如串行接口,嵌入式计算机由于不能发生传输错误,使系统既能高速传输又能保持一定的误码率,所以在驱动能力、传输速率、传输距离、传输方式上都有一定变化,所以决非是RS232接口所能胜任的,还需要有RS422、RS485等接口,在并行口上,还要带有光电隔离的接口。 除了这些接口之外,一些复杂的嵌入式系统还有几条扩展插槽,而什么型号的插槽代表了系 统采用什么样的总线。而总线的选择主要参考依据是数据宽度、板级产品供应能力、扩展槽 (Slot)数目、形状、价格和功能。PC/AT总线(ISA/ELSA)是8bit/16bit宽度,可以支持多达20个Slot;VMEbus是32bit,支持21个Slot;STDbus是8bit/16bit和32bit(STD32),支持20个以上Slot;Multibus Ⅱ,VXIbus和Futurebus是32bit的,支持20个以上Slot;PCI总线32bit/64bit数据宽度,支持4个Slot;CompactPCI总线是32bit/64bit,支持15个Slot;PC/104总线是16bit的,可以层迭4块模板(6mA驱动能力)。一般而言,与慢速的I/O信号或设备接口,8bit的数据宽度已经够用了。
3嵌入式系统软件平台 3.1嵌入式操作系统 许多简单的嵌入式系统并不需要嵌入式操作系统(如单片机控制)。但是,随着嵌入式系统复杂性的增加,操作系统显得越来越重要。因此,必须对复杂的嵌入式软件系统进行合理的控制。目前,常用的嵌入式操作系统可分成3大类:商用系统、专用系统和开放系统。 商用系统是商品化的嵌入式操作系统。其功能强大,应用范围相对较广,而且辅助工具齐全,可以应用于许多不同的领域。如WindRiver的vxWorks和pSOS+、3Com的Palm OS、WircroS oft的Windows CE、EPSON的ROS33、CoreTek的DeltaOS和中科院的Hopen等。 专用系统是一些专业厂家为本公司产品特制的嵌入式操作系统,不对用户公开。如CISCO公司的网络产品所用的IOS、MTA、NOKIA、EPISON合作研制的EPOC等。这些操作系统功能相对较弱,但针对性强,其安全可靠性大都超过普通的商用系统。 开放系统是近年来发展迅速的一类操作系统。其典型代表是各类嵌入式Linux(如RTLinux)和美国军方研制的RTEMS。由于应用系统开发者可以免费获得这些系统的源代码,因而降低了开发难度。但其缺点也非常明显:功能简单、技术支持差、系统稳定性也相对较差,因此对应用系统开发者又有较高的要求。 3.2嵌入式应用程序 嵌入式处理器的应用程序是实现嵌入式系统功能的关键,对嵌入式计算机系统应用程序的要求也和通用计算机有所不同,主要有以下几点: (1)嵌入式系统中的软件一般都固化在存储器芯片或嵌入式微控制器本身中,而不是存贮于磁盘等载体中。而往往存储空间是非常有限的,为此要求程序编写和编译工具的质量要高,以减小程序二进制代码长度,提高执行速度。 (2)嵌入式系统开发需要开发工具,嵌入式系统本身不具备开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。 (3)嵌入式系统软件需要实时多任务操作系统开发平台(RTOS),通用计算机具有完善的操作系统和应用程序接口,是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保证程序质量。 (4)在嵌入式系统的程序开发过程中,引入了C/C++/EC++,使得嵌入式计算机和个人计算机、小型机等之间在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统中。采用C/C++/EC++语言将是最佳和最终的选择,由于汇编语言是一种非结构化的语言,对于大型的结构化程序设计已经不能完全胜任,这就要求采用更高级的C/C++/EC++语言去完成这一工作 。
4嵌入式系统的发展趋势 4.1嵌入式系统的网络化和多媒体化 嵌入式系统的多媒体化随着多媒体技术的发展,视频、音频信息的处理水平越来越高,为嵌入式系统的多媒体创造了良好的条件,嵌入式系统的多媒体化将变成现实,它在网络环境中的应用已是不可抗拒的潮流。针对这种要求,嵌入式系统需要配备标准的一种 或多种网络通信接口和相应的协议簇软件支持。可能在不久的将来,人们能在自己的家中通 过电脑就能查看房间里的电冰箱、电视、洗衣机、微波炉等家用电器的工作和使用情况,甚至对它们进行实时的控制。还可以通过互联网,对远在外地的嵌入式设备进行实时的监视 和控制。 4.2嵌入式系统低功耗化 现在一些小型的嵌入式设备要求实现更小的尺寸、更低的功耗和更低的成本,希望 一节电池能用上几年。为满足这些特性,要求嵌入式产品设计者相应降低处理器的性能,限 制内存容量和复用接口芯片,同时也要求嵌入式系统软件和程序设计能够有相应的改进,比 如:选用最佳的编程模式和不断改进算法等。 4.3嵌入式系统的智能化 嵌入式系统与人工智能、模式识别技术的结合,将开发出各种更具人性化、智能化 的嵌入式系统。这不但要求嵌入式系统有更快的运算速度和更大的存储空间,也需要发展一 些新的软件技术,这些技术包括:行业性编程接口API规范、无线网络操作系统、IP(知识产 权)构件库和嵌入式JAVA等。
5结束语 该文对嵌入式系统进行了剖析,同时展示了其应用冲击着所有现代化信息系 统领域及 其产品,它与人们的生活、工作密切相关,现在甚至出现了火星探测器等尖端设备。在嵌入 式系统上也凝聚了当代一切最新软、硬件技术,可谓集当代高科技于一身,它的发展将触发 一场新的产业革命。
参考文献
[1]桑楠.嵌入式系统原理及应用开发技术[M].北京:北京航 空航天大学出版社,2002. [2]张晶.嵌入式系统综述[J].电测与仪表,2002,(4):42-45. [3]刘鑫.嵌入式PC技术[J].工业控制计算机,1998,(5):31-34. [4]冯继超.面向21世纪的嵌入式系统及发展方向[J].工业控制计算机,200 1,(5):1-2. [5]吕京建,肖海桥.嵌入式处理器分类与现状[OL].http:∥www.bol.syst em.com. [6]吕京建,肖海桥.面向21世纪的嵌入式系统综述[OL].http:∥www.bol.system.com.
|