§1.1、嵌入式系统的概念 1、嵌入式系统概念的产生 嵌入式系统本身是一个相对模糊的定义。一个手持的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式系统。 嵌入式系统已经有了近30年的发展历史,它是硬件和软件交替发展的双螺旋式发展。 第一款微处理器是Intel的4004,它出现在1971年,然后是是Intel公司的8048,它出现在1976年。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K的ROM、4个8位并口、1个全双工串行口、两个16位定时器。 之后在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051。 1981年Ready System发展了世界上第1个商业嵌入式实时内核(VTRX32)包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。 随后,出现了如Integrated System Incorporation (ISI)的PSOS、IMG的VxWorks、QNX公司的QNX 等,Palm OS,WinCE,嵌入式Linux,Lynx,uCOS、Nucleus,以及国内的Hopen、Delta OS等嵌入式操作系统。
[size=+0] 今天RTOS已经在全球形成了1个产业,根据美国EMF(电子市场分析)报告,1999年全球RTOS市场产值达3.6亿美元,而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件编译器和调试器)则高达9亿美元。 [size=+0] 2、嵌入式系统的定义 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。它与通用计算机技术的最大差异是必须支持硬件裁减和软件裁减,以适应应用系统对体积、功能、功耗、可靠性、成本等的特殊要求。
根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
[size=+0] 可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。 [size=+0] 3、嵌入式系统的几个重要特征 [size=+0] ⑴、系统内核小 [size=+0] 由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5K,而Windows的内核则要大得多。 [size=+0] ⑵、专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。 [size=+0] ⑶、系统精简 [size=+0] 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 [size=+0] ⑷、高实时性OS [size=+0] 这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。 [size=+0] ⑸、嵌入式软件开发走向标准化 [size=+0] 嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 [size=+0] ⑹、嵌入式系统开发需要开发工具和环境 [size=+0] 由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。 [size=+0] 4、嵌入式系统与PC之间的区别 [size=+0] 嵌入式系统一般是专用系统,而PC是通用计算平台嵌入式系统的资源比PC少得多嵌入式系统软件故障带来的后果比PC机大得多嵌入式系统一般采用实时操作系统嵌入式系统大都有成本、功耗的要求嵌入式系统得到多种微处理体系的支持嵌入式系统需要专用的开发工具。 §1.2、嵌入式系统的构成 嵌入式系统一般指非PC系统,它包括硬件和软件两部分。 [size=+0] 1、硬件部分 包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点: 1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。 4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。 [size=+0] 2、软件部分 包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。 有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 [size=+0] 实时操作系统 [size=+0]是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统)。
按实时性分类 [size=+0] ●[size=+0]具有强实时特点的嵌入式操作系统:其系统响应时间在毫秒或微秒级(数控机床); [size=+0] ●[size=+0]具有弱实特点的嵌入式操作系统其系统响应时间约为数十秒或更长(工程机械)。 [size=+0] ●[size=+0]没有实时特点的嵌入式操作系统其系统响应时间在毫秒-几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。
§1.3、目前流行的几种嵌入式系统 [size=+0] 1、缩减PC系统 [size=+0] 所谓缩减PC系统,指利用PC体系结构设计的嵌入式系统,例如利用PC104模块构成工业控制装置就是比较典型的设计。 这种设计是建立在技术上己非常成熟的PC的体系结构之上的,它的硬件环境往往是一台单板化的PC系统。利用DOS或Windows操作系统为应用软件提供平台。 这种设计可以利用PC作为开发工具,可以利用众多的PC环境软、硬件资源,在成熟的操作系统支持下,系统可以达到较高的可靠性和稳定性,这些显然是它的优点。但是这样的设计目前尚难以实现满足小体积、低功耗、低成本等嵌入式系统的常见技术要求。 [size=+0] 2、高级单片系统 [size=+0] 所谓高级单片系统,是指那些准备加载Linux操作系统或类Linux操作系统的嵌入式系统。它的硬件构成的核心是一个集成了丰富功能的单一芯片,一般数据宽度往往是32位、它已经包含了儿乎全部的系统硬件,使得只需再增加很少几个器件,如存储器芯片,即可构成全部系统。 生产高级单片的厂家及高极单片型号越来越多了,典型的是以ARM或MIPS内核为核心的单片机。在这里已经完全没有了PC体系结构的影子。芯片包容的功能极其丰富,往往除了大容量存储器以外,系统的硬件几乎都集成在一个单片上。它们的寻址空间大,数据总线宽,处理能力强,功耗低。这些芯片的设计目标是非常明确的,就是为了构成一个嵌入式系统。 利用这样的芯片可以设计出非常紧凑的系统,ARM内核单片在移动电话上的成功是一个有力的佐证。 采用高级单片的设计,大都取Linux或类Linux操作系统作为系统软件,向应用软件提供C语言级的开发平台。在Linux操作系统的支持下 系统的可靠性可以得到保证。操作系统带来的优点可以人大加快系统应用软件的开发效率。由于Linux的开放性,可以利用的资源也非常丰富。 [size=+0] 3、单片机系统 所谓单片机是将CPU、存储器、I/O接口等集成在一块芯片上,因此称为“Single-Chip Microcomputer”。单片机主要是针对工业控制以及与控制有关的数据处理而设计的。 随着单片机技术的不断发展,新型的单片机内部不断扩展了各种控制功能。如:A/D转换器、D/A转换器、PWM脉宽调制器、PCA计数器捕获/比较逻辑、高速I/O口等等,使得它已突破了Microcomputer的传统内容,而朝着Microcontroller的内涵发展。因此国外已将单片机统一称为Microcontroller(微控制器)。国内,仍按习惯称为“单片机”,但其实质应该是“微控制器”或“单片微控制器”。
单片机的硬件系统分为单片机、单片机系统和单片机应用系统三个层次。 [size=+0] ● 单片机[size=+0]:将CPU[size=+0]和计算机的外围功能单元(如:存储器、I/O[size=+0]口、定时计数器、中断系统等)集成在一起的芯片。
[size=+0] ●单片机系统 [size=+0]:当单片机内部的计算机外围功能单元不能满足对象要求时,通过系统扩展,在外部并行总线上扩展相应的计算机外围功能单元所构成的系统。构成单片机系统的手段是“[size=+0]系统扩展”[size=+0]。
[size=+0] ●单片机应用系统 [size=+0]:通过系统配置,给单片机系统按控制对象的环境要求配置相应的外部接口电路(如:数据采集系统的传感器接口、控制系统的伺服驱动接口单元以及人机对话窗口等),以构成满足对象全部要求的单片机硬件环境。构成单片机应用系统的手段是“[size=+0]系统配置”[size=+0]。
单片机的软件一般应该分层为系统软件和应用软件。系统软件处于底层硬件和高层应用软件之间。但是,单片机的资源有限,设计者必须在系统软件的功能与构成系统软件的软硬件开销之间,仔细地寻求平衡。 单片机的系统软件构成有两种模式: [size=+0] ●监控程序: [size=+0]用非常紧凑的代码,编写系统的底层软件。这些软件实现的功能,往往主要是实现系统硬件的管理及驱动,并内嵌一个用于系统的开机初始化、程序代码下载及辅助调试等功能的引导( BOOT)模块。
[size=+0] ●操作系统 [size=+0]:经过多年的努力,今天已有许多种适合于8位至32位单片机的操作系统进入实用阶段,在操作系统的支持下,嵌入式系统会具有更好的技术性能,如:程序的多进程结构,与硬件无关的设计特性,系统的高可靠性,软件开发的高效率等等。
|