1embeddedsystem2嵌人式系统应用无处不在3什么是嵌入式系统第一章嵌入式系统概述§1.1以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。4通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方面,其典型产品为PC;嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、微电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。5嵌入式系统工业的特点和要求:1.嵌入式系统工业是不可垄断的高度分散的工业嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。2.嵌入式系统具有的产品特征嵌入式系统是面向用户、面向产品、面向应用的。嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。嵌入式系统产品一般具有较长的生命周期,其发展也体现出稳定性。§1.263.嵌入式系统软件的特征(1)软件要求固态化存储(2)软件代码高质量、高可靠性(3)系统软件(OS)的高实时性是基本要求(4)多任务操作系统是知识集成的平台和走向工业标准化道路的基础4.嵌入式系统开发需要开发工具和环境嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。75.嵌入式系统软件需要RTOS开发平台为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。6.嵌入式系统开发人员以应用专家为主开发工具的易学、易用、可靠、高效是基本要求。8实时系统§1.31.实时计算模式任何一个系统,如果其产生输出的时刻是至关重要的,它就是实时系统。德国工业标准DIN44330将实时计算模式定义为:“实时计算模式是一种计算机系统的操作模式。在这种模式下,处理从外部来的数据的程序总是就绪的。所以,能够在可预测的时间内得到希望的结果;数据的到达时间是随机分布的或者是预先决定的,具体情况由不同的应用决定。”9工作在实时计算模式下的计算机系统,都可称为实时系统。2.实时系统在实时系统中主要有三个指标来衡量系统的实时性:•响应时间:它是计算机从识别一个外部事件到做出响应的时间。•吞吐量:它指在给定时间内,系统可以处理的事件总数。•生存时间:它是数据有效等待时间。实时应用范围很广,主要有两类:嵌入式应用和在线应用。10(1)硬实时系统如果系统未能在指定时间内就某一事件做出响应而失败,而该失败被认为是一种全面的系统失败,则该系统是一个硬(hard)实时系统。系统的正确性是同其响应时限紧密相关的。112.软实时系统在一个软(soft)实时系统中,响应时限虽重要但不是人命关天的。软实时系统设计者必须考虑系统多少次超时限和延迟多少才是可接受的。大多数的实时系统是软实时系统。123.实时嵌入系统所有的嵌入系统都是实时系统,至少是软实时系统,但并不是所有的实时系统都是嵌入系统。实时嵌入系统就是为执行特定功能而设计的,至少具有软实时运行性能的系统。13嵌入式处理器分类与现状§1.4嵌入式系统的核心部件是各种类型的嵌入式处理器,嵌入式计算机可以分成下面几类:1.嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微处理器的基础是通用计算机中的CPU。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。嵌入式处理器目前主要有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。142.嵌入式微控制器(MicrocontrollerUnit,MCU)又称单片机。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外还有许多半通用系列如:支持USB接口的MCU8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。153.嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。嵌入式DSP处理器有两个发展来源,一是DSP处理器经过单片化、EMC改造、增加片上外设成为嵌入式DSP处理器;二是在通用单片机或SOC中增加DSP协处理器。嵌入式系统的智能化。嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。163.嵌入式片上系统SOC(SystemOnChip)随着EDI的推广和VLSI设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC)。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。SOC可以分为通用和专用两类。通用系列包括Infineon(Siemens)的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。专用SOC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的SmartXA。17嵌入式系统开发工具及RTOS平台§1.5以开发工具和技术咨询为基础的整体解决方案是迫切需要的。目前嵌入式系统的开发工具平台主要包括下面几类:1.实时在线仿真系统ICE(In-CircuitEmulator)ICE首先可以通过实际执行,对应用程序进行原理性检验,排除以人的思维难以发现的设计逻辑错误。ICE的另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬件干扰等引起的异常执行行为。此外,高级的ICE带有完善的跟踪功能,可以将应用系统的实际状态变化、微控制器对状态变化的反应、以及应用系统对控制的响应等以一种录像的方式连续记录下来,以供分析,在分析中优化控制过程。18由于嵌入式应用的不确定性,ICE不仅是软件硬件排错工具,同时也是提高和优化系统性能指标的工具。2.高级语言编译器(CompilerTools)C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件和相应用汇编语言指令集。(更多的信息,可查询)。JAVA本来是为设备独立的嵌入式系统设计的、为了提高程序继承性的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要比嵌入式C编译工具差10倍以上。193.源程序模拟器(Simulator)源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和PC,通过软件手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程序检验和测试工具。(更多的资料,可查询以下网址:)204.实时多任务操作系统(RealTimemulti-taskingOperationSystem,RTOS)实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。RTOS是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在RTOS之上。不但如此,RTOS还是一个可靠性和可信性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。215.RTOS是嵌入式系统的软件开发平台RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。RTOS的引入,解决了嵌入式软件开发标准化的难题。基于RTOS开发出的程序,具有较高的可移植性,实现90%以上设备独立,一些成熟的通用程序可以作为专家库函数产品推向社会。目前,商品化的RTOS可支持从8BIT的8051到32BIT的PowerPC及DSP等几十个系列的嵌入式处理器。(更多的资料可查询下列网址:)。22嵌入式系统的特点§1.6传统的嵌入式系统是基于单片机的,也就是说:嵌入式系统实际上是一种计算机系统。与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。23而新一代的嵌入式系统将以如下为特点:以IP核模块为核心,用混合ASIC/CPLD/FPGA生成的硅片直接构成整块的单片嵌入式产品(SOC)IP核(IntellectualPropertyKernel)知识产权核ASIC(Application-SpecificIntegratedCircuit)专用集成电路。一个在一个芯片上定制设计的硬件24CPLD(ComplexProgrammingLogicDevice)复杂可编程逻辑器件FPGA(FieldProgrammingLogicGateArray)现场可编程门阵列SOC(SystemOnChip)片上系统(集成系统)25嵌入式系统的分类§1.7#不带计时功能的微处理器装置这类系统可见于过程控制、信号放大器、位置传感器及阀门传动器等中找到。#单个微处理器这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及断路器)找到。26#带计时功能的组件这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统、诊断及实时控制系统等。#在制造或过程控制中使用的计算机系统对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的工作。27嵌入式系统的应用过程控制(ProcessControl)对生产过程中各种动作流程进行控制;网络通信(Telecommunication)程控交换机、手机、路由器、Modem等;消费电子(ConsumerProducts)信息家电、掌上电脑、游戏机等;§1.828智能仪器(IntelligentInstrument)示波器、医疗仪器等;计算机外设(Computer