1.1 嵌入式系统概述

嵌入式系统,是指由微处理器芯片实现的小型专门化计算机系统。目前嵌入式系统这个名词已经被人们所熟知,并渗透到人们生活的各个角落,如服务业、工业、信息产业等。

1.1.1 嵌入式系统简介

1.嵌入式系统定义

从应用上定义嵌入式系统,它是IEEE(国际电子电气工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

从专业嵌入式系统定义,是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

虽然嵌入式系统是近几年才开始真正流行起来的,但实际上,嵌入式系统早已经被定义了。1960年,它在通信方面用于对电话交换的控制,当时称为存储式程序控制系统(Stored Program Control System,SPCS)。它主要用于存储程序及日常信息的内存部分,用它来存储逻辑数据,不是将它写入硬盘。“嵌入式系统”一词,20世纪80年代中期由Intel公司率先应用,但实质上已从最早的PCB-level,已发展至Chip-level。过去采用泛用型微控制器,或嵌入式微处理器,如ASIC、DSP和FPGA等可配置操作系统的半导体产品,集成在一块电路板上,但今天却需将诸多IP在整合在同一块芯片中才见真章。近年来,一些原来用在PC上的X86架构CPU改由RISC与DSP双核复合而成的32位微处理器来主导。

2.嵌入式系统的演变史

从20世纪70年代嵌入式微型机时代到今天各种嵌入式微处理器、微控制器的广泛应用,现今信息时代快速发展为嵌入式系统的应用开辟了新天地,使嵌入式系统成为PC和Internet之后,IT界新的技术奇葩。嵌入式系统至今已有30年的发展历史。

从其发展历程来看,大致经历了下面四个阶段:

第一阶段:无操作系统阶段。

20世纪70年代发展起来的微型计算机,由于体积小、功耗低、结构简单、可靠性高、使用方便、性能价格比高等一系列优点,得到了广泛的应用和快速的普及。由于这种嵌入式系统使用简便、价格低廉,及其智能化的表现引起专业人士的关注,因而在工业控制领域中得到了广泛的应用,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。

这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上“系统”的概念。同时微型计算机的价格、体积、性能都无法满足嵌入式应用的要求,因此,嵌入式系统走自己的发展道路即是单芯片化道路。

第二阶段:简单操作系统阶段

20世纪80年代,随着微电子技术水平的提高,IC制造商将把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。1976年,Intel制造出面向I/O设计的微控制器,成为嵌入式系中的领头羊。与此同时,嵌入式系统的程序员也开始基于一些简单的“操作系统”开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。

这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。

第三阶段:实时操作系统阶段

20世纪90年代,在分布控制、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展。1980年,Intel公司对48系列单片机进行改善,推出51系列的单片机,并获得成功,为嵌入式系统的应用奠定了基础。1984年,Intel公司推出了16位8096系列并将其称之为嵌入式微控制器,这就是“嵌入式”这个名词在微处理机领域首次出现。此外,为了高速、实时地处理数字信号,1982年诞生了首枚数字信号处理芯片(DSP),嵌入式系统进一步飞速发展,而实时信号处理算法的DSP则向着低功耗、高速度、高精度的方向发展。由于硬件实时性要求有所提高,故嵌入式系统的软件也得以发展,逐渐形成了实时多任务操作系统(RTOS),并且统领嵌入式系统的趋势。

这一阶段嵌入式系统的主要特点是:改善了操作系统的实时性,能够在不同类型的微处理器上运行,具有高度的模块化和扩展性。这时的嵌入式操作系统已经具备了多任务、文件和设备管理、目录管理、网络、图形用户界面(GUI)等功能,为应用程序提供了大量的接口(API),从而让应用软件的开发变得更简单。

第四阶段:面向Internet阶段

21世纪是一个网络的时代,技术应该跟上时代的步伐,将嵌入式系统应用到各种网络环境中。目前大多数嵌入式系统还不能应用于Internet之上,随着Internet的进一步发展,以及Internet技术与信息技术、工业控制技术等日益紧密的结合,嵌入式设备与Internet的结合才是嵌入式技术真正存在的意义。近几年,嵌入式设备(内部有嵌入式系统的产品)大量涌现,如手机、PDA、MP3、微波炉、数码相机、各种网络设备等。嵌入式系统开发应用需求越来越大,使嵌入式系统成为继PC和Internet之后IT技术的最热点,而构成嵌入式系统的主流趋势是32位嵌入式微处理器加实时多任务操作系统。

目前嵌入式系统的研究和应用产生了如下新的显著变化:

(1)新的微处理器层出不穷,嵌入式操作系统自身结构的设计便于移植,能短时间内支持多种微处理器。

(2)嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

(3)现今计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如移动代理、嵌入式数据库、实时CORBA等,嵌入式软件平台得到了完善。

(4)各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息产业等嵌入式系统的需求,目前已经形成了能与Windows CE、Palm OS等嵌入式操作系统进行有力竞争的局面。精简系统内核,优化关键算法,降低功耗和软硬件成本。

(5)提供更加友好的多媒体人机交互界面。

1.1.2 嵌入式系统的基本架构

嵌入式系统是计算机系统的一种,也是由最基本的硬件和软件两大部分组成。硬件架构是整个系统的物理基础,它为软件运行平台提供通信接口;而软件架构控制整个系统的运行。

嵌入式系统的硬件架构以嵌入式处理器为中心,由存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是量身定做的专用计算机应用系统,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可根据需要定制。硬件架构如图1-1所示。

图1-1 嵌入式系统硬件架构

1.嵌入式处理器

嵌入式系统的硬件核心是嵌入式微处理器,具有8~32位以上的处理器,主要包括MCU,MPU等系列。它负责控制整个嵌入式系统的执行,有时为了提高系统的信息处理能力,常外接DSP和DSP协处理器(也可内部集成),以完成高性能信号处理。

目前应用广泛的嵌入式处理器类型有ARM/StrongARM、Am186/88、386EX、SC-400、68000、MIPS、Power PC等。

嵌入式微处理器具有以下特点:

· 支持实时多任务能力;

· 存储区保护功能;

· 处理器结构扩展功能;

· 功耗低的功能;

· 体积小、重量轻、成本低、可靠性高。

嵌入式处理器体系结构经历了从CISC(复杂指令集)至RISC(精简指令集)和Compact RISC的转变,位数则由4位、8位、16位、32位逐步发展到64位。目前常用的嵌入式处理器可分为低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微处理器(Embedded Micro Processor Unit,EMPU)、用于计算机通信领域的嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系统(System On Chip, SOC)。

(1)嵌入式微控制器(Microcontroller Unit, MCU)

单片机是嵌入式微控制器的典型代表。单片机芯片内部集成总线、总线逻辑、定时/计数器、看门狗、串行口、模数转化器、数模转换器、I/O、ROM/EPROM、RAM、Flash RAM、EEPROM、PWM等各种功能和外设。与嵌入式微处理器相比,其最大特点是单片化,体积小,功耗低、成本合理、可靠性高。微控制器占嵌入式系统应用的主流。微控制器有丰富的外设资源,便于控制,故称微控制器。

代表性的产品包括8051、P51XA 、MCS-251、MCS-96/196/296、C166/167、68K系列以及MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。

(2)嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)

DSP是应用于信号处理方面的处理器,其在系统结构和指令算法上进行了专门设计,它编译效率很高,指令的执行速度基很快。DSP在数字滤波、快速傅里叶变换、谱分析等各种仪器上有广泛的应用。

目前最为广泛应用的嵌入式DSP处理器是TI的TMS320C2000/C5000系列,另外还有Intel的MCS-296和Siemens的TriCore。

(3)嵌入式片上系统(System On Chip)

系统最大包容的集成器件SoC,它也被广泛应用。它最大的特点是实现了软硬件成功无缝结合,在处理器片内直接嵌入操作系统的代码模块;它具有极高的综合性,通过内部运用VHDL等硬件描述语言,实现一个复杂的系统。由于SOC是专用的,用户了解到的比较少。

SOC的典型产品是Philips的Smart XA。少数通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。

2.嵌入式系统的外设

(1)外围电路

嵌入式系统的外围电路包括它的内存、I/O端口、电源、复位电路、模数转换器/数模转换器(ADC/DAC)等。

(2)外部设备

外部设备指嵌入式系统与真实环境交互的各种设备。用于完成存储、通信、调试、显示等辅助功能。目前常用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。

存储设备主要用于各类数据的存储,包括静态易失型存储器(RAM、SRAM)、动态存储器(DRAM)和非易失型存储器(FLASH、ROM、EPROM、EEPROM)三种,其中可擦写次数多、存储速度快、存储容量大、价格便宜的闪存器FLASH,在嵌入式领域内应用广泛。

通信设备可以直接在嵌入式系统中应用,包括串行通信接口RS-232接口、串行外围设备接口SPI、红外线接口IrDA、现场总线I2C、串行总线接口USB、以太网接口Ethernet、鼠标等。

显示设备在嵌入式系统的应用,包括阴极射线管CRT、液晶显示器LCD和触摸板(ouch Panel、打印机等外围显示设备。

3.嵌入式系统的软件架构

嵌入式系统的软件架构可分设备驱动接口(DDI)、实时操作系统(RTOS)、可编程应用接口(API)和应用软件四个层次。依据操作系统的类型划分为实时系统和分时系统两大类。其中实时系统又分为硬实时系统和软实时系统两类。

设备驱动接口(DDI)是嵌入式系统的重要部分,外部设备的使用都需要有相应的驱动层程序的支持,它为上层软件提供了设备的操作接口。上层软件不会理会设备的具体内部操作,只需调用驱动层程序提供的接口即可。

实时操作系统(RTOS)是将CPU时间、中断、I/O、定时器等资源都结合起来,给用户一个标准的API,根据各个任务的优先级,合理地分配不同任务之间时间。实时系统最大特点以及与普通操作系统的区别是按时完成任务(deadline)。

实时系统的实时性主要通过响应时间(Response Time)、生存时间(Survival Time)和吞吐量(Throughput)三个性能指标来衡量。

· 响应时间:是实时系统从识别出一个外部事件到做出响应的时间;

· 生存时间:是数据的有效等待时间,数据只有在这段时间内才是有效的;

· 吞吐量:是在给定的时间内系统能够处理的事件总数,吞吐量通常比平均响应时间的倒数要小一点。

可编程应用接口(API)也称做应用中间件、编程中间件,是为编制应用程序提供的各种编程函数库,它的构建是针对不同的安全要求和不同的应用领域而设计的。其目的是为减轻应用开发者的负担。

嵌入式应用软件是针对不同应用领域,基于一特定的硬件平台,用来满足用户预期目标的计算机软件,用户任务有些可能有时间和精度上的要求,因此要求嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件不同于普通应用软件,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。

1.1.3 嵌入式系统的特点

近年来嵌入式系统由于单个芯片的处理能力强,集成多种接口,以及对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐被人们所关注,并得到广泛的应用。

嵌入式系统独具的特点如下:

(1)体积小、低功耗、集成度高、技术密集、资金密集、高度分散、不断创新的知识集成系统。

(2)具有小的系统内核。嵌入式系统一般是应用于小型电子装置中的,系统资源相对有限,所以内核较之传统的操作系统要小得多。

(3)具有较强的专用性。嵌入式系统的针对性很强,软件系统和硬件都必须紧密结合、量体裁衣、高效率的设计。

(4)具有精简系统。嵌入式系统在系统软件和应用软件上没有明显的区分,不要求其功能设计及实现要求很简单,因此利于系统成本控制,也利于系统安全实现。

(5)具有高实时性。嵌入式系统的软件为了提高速度要求固态存储,软件代码要求高质量和高可靠性。

(6)嵌入式软件趋于标准化。嵌入式系统的应用程序可以直接在芯片上运行在没有操作系统的情况下;为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口;保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量,用户须自行选配RTOS开发平台。

(7)具有需要的开发工具和环境。由于它本身不具备开发能力,设计完成后,通常用户不能修改其中的程序,需要一套专用的开发工具和环境。这要求嵌入式系统所支持的开发工具易学、易用、可靠、高效。

1.1.4 嵌入式系统的应用

随着信息技术的发展,嵌入式系统技术具有非常广阔的应用前景。无论在工业、服务业,还是人们的日常生活中,都可以发现它。它帮助家电、交通、工控、通信、物流等众多领域成千上万种产品价格变得更便宜、使用更便捷。例如:DVD播放机已经可以拨号进入Internet上的电影数据库直接获取音像资料;GPS(全球定位系统)正集成于各类汽车之中。嵌入式产品可分为家庭应用电器、移动计算设备、网络设备和工控、仿真等。

1.家庭应用

水、电、煤气表的远程自动抄表;安全防火、防盗系统;电视机、冰箱、微波炉、电话等变为智能网络家电,可通过电话线、网络进行远程控制;远程教育、远程医疗、远程点菜器等都给我们带来了方便。(电话、传真、Internet和电视)可集成在同一设备中。目前,智能小区安置的机顶盒成为网络终端,实现模拟电视接收数字节目,可以通过电视上网、炒股、看电影、实现交互对话等,可实现各种网络服务。

2.交通运输业

在车辆导航、流量控制、嵌入式开发汽车电子OSEK配置、信息监测与汽车服务方面,尤其GPS嵌入式系统技术已经获得了广泛的应用;在运输行业,移动定位终端的GSM模块已经得到成功的应用。目前只要安置GPS设备,无论所处何地,都可以查到行进的路线和所处的位置。

3.网络设备

在网络日益发展的今天,嵌入式产品也要求有联网的功能。网络设备集线器、网关、包括交换机、路由器、网络服务器、网络接入点等。基于嵌入式Linux的操作系统,经过小型化的裁减,被烧制到容量仅为几KB或几MB的存储器中,不需要硬盘,就能应用于各种特定的嵌入式环境的应用中。

4.工业控制

随着工业对智能控制的需求不断增长,同时也对嵌入式微处理器的运算速度、扩展能力、可靠性能力、功耗和集成度等方面提出了更高的要求。如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,控制着整个工业进程。

5.医疗仪器

医疗领域对智能控制的要求也在不断的增长,嵌入式产品已经逐渐应用到这个领域中,如透析机、修复术设备、输液泵、心脏监视器等。

6.电子商务

公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活。

7.办公自动化

打印机、扫描仪、复印机、传真机、显示器等。一款四通道嵌入式数字硬盘录像机,它采用了嵌入式处理器和嵌入式操作系统,采用IT领域各项最新技术,如视频压缩/解压缩,大容量硬盘存储等技术,使系统具有高智能化及高稳定性。本设备可应用于公司,起到安全防范的作用。这些嵌入式产品都是我们办公时所必备的设备。它使办公变得方便、快捷、智能化。

8.自然环境

在地况复杂、环境恶劣的地区,嵌入式系统将实现无人监测,如实时气象信息网、水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,水源和空气污染监测;无线传感器网络(Wireless Sensor Network)应用嵌入式计算技术和其他先进技术,能够实时监测、采集网络、感知所在区域中各种环境或监测对象的信息,给人们带来及时、可靠的信息。

9.休闲娱乐

嵌入式在这个方面有最为广泛的应用。PDA、掌上电脑、MP3、MP4、玩具,游戏机,电子词典、数码相机、,蜂窝电话、手机、寻呼机;如我国自主开发的嵌入式数字娱乐客厅,利用互联网海量的信息资源、音乐资源、影视资源、电视节目资源、游戏资源、只要轻轻一点鼠标或键盘,便可搜索到所要的信息,也能实现视频聊天的功能。

嵌入式系统以其独特的结构和性能,越来越多地应用于国民经济的各个领域,所以,开发和探讨嵌入式系统有着十分重要的意义。

1.1.5 嵌入式系统的展望

以信息产业为主的互联网时代的嵌入式产品,为嵌入式注入了新的血液,给了它新的生命。同时社会的需求对嵌入式系统的技术,特别是对软件技术也提出了新的挑战。

嵌入式系统的发展趋势,主要有以下几个方面:

(1)需要提供强大的硬件开发工具和软件包支持

高技术电子产品的竞争往往就集中在对微处理器和嵌入式控制器的应用上,为了满足嵌入式系统功能的升级,微处理器和嵌入式微控制器需要做大幅度的改善。正如我国资深嵌入式系统专家沈绪榜院士的预言:“未来十年将会产生针头大小、具有超过一亿次运算能力的嵌入式智能芯片,将为我们提供无限的创造空间。嵌入式微控制器或者说单片机好像是一个黑洞,会把当今很多技术和成果吸引进来。中国应当注意发展智力密集型产业。”

现在一些厂家已经跟上了社会需求的步伐,采取了新的技术,设计出新的产品。如三星在推广RAM7,ARM9芯片,同时提供开发板及支持包,WindowCE在推出系统时,也提供开发工具Embedded VC++,Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等。

(2)要求芯片集成化

随着日益成熟的因特网技术、逐渐提高的带宽,网络化、信息化的要求使得以往单一化设备已经被淘汰。这就要求芯片设计厂商把芯片集成化,为了满足应用功能的升级,设计者采用更强大的32位、64位RISC芯片嵌入式处理器如信号处理器DSP来增强处理能力,增加USB功能接口,扩展总线CAN或BUS,加强对多媒体、图形等的处理。软件方面采用实时多任务编程技术和交叉开发工具技术,它简化了应用程序设计、使控制功能变得简单化、软件质量得以保障和开发周期变的更短。

(3)网络互联

为了适应网络发展的要求,对嵌入式系统硬件上要求提供多种网络通信接口。传统的单片机不能够完全支持网络接口,而现代的嵌入式处理器不仅已经支持TCP/IP协议,也支持USB、CAN、IEEE1394、Bluetooth和IrDA等通信接口,与此同时,嵌入式系统要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统嵌入Web浏览器,就可以真正实现随时随地上网。

(4)降低功耗和软硬件成本,精简系统内核、算法

随着对嵌入式产品要求的提高,减低功耗和成本;精简系统内核、算法,是需要设计者所重点考虑的,要求该产品有较低的处理器性能、限制内存容量和使接口芯片复用,这就要求设计者选用最佳的编程模型和先进算法,优化编译器。如Java、Web和WAP等嵌入式软件技术。

(5)多媒体人机界面

图像界面,灵活的控制方式,是嵌入式设备深入人心的重要原因之一。这方面就给嵌入式软件设计者提出了新的要求,因此多媒体技术要有所创新、不具一格。语音拨号上网、手写文字输入、电子邮件的收发及其彩色图形、图像都会给使用者带来愉悦的享受。

(6)走向智能化

嵌入式系统已经能够执行更多的日常应用功能。例如,嵌入系统帮助微波炉进行时钟同步,同时可以让微波炉通过Internet下载食谱。办公室会使用一种或多种独立的Internet家用电器,这些Internet产品具有某些特殊用途,单有时会把多种技术(例如电话、传真、Internet和电视)集成在同一设备中。Internet嵌入式系统的应用不断增多,预计今后几年内嵌入式系统的竞争将变得愈加激烈。