1 / 71

第 1 章 嵌入式系统导论

第 1 章 嵌入式系统导论. 随着社会的信息化的日益加强,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机“机器”。任何一个普通人都可能拥有大小不一的、形状各异的、使用嵌入式技术的电子产品,小到 MP3 、 PDA 等微型数字化产品,大到网络家电、智能家电、车载电子设备等。. 目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。. 1 .1 概述.

gala
Download Presentation

第 1 章 嵌入式系统导论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 1 章 嵌入式系统导论 随着社会的信息化的日益加强,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机“机器”。任何一个普通人都可能拥有大小不一的、形状各异的、使用嵌入式技术的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备等。

  2. 目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。

  3. 1 .1概述 • 1.1.1 什么是嵌入式系统 嵌入式系统的定义: 借用电气工程师协会(IEEE)的一个定义(http://www.iee.org/Policy/Areas/Y2K/w-43.cfm): 嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。

  4. 嵌入式系统具备下列特性: 1. 通常只执行特定功能,这一点与一般桌上型办公设备或数据库系统有很大区别。 2. 以微电脑与周边器件构成核心,其规模可在大范围内变化,如从8051芯片到x86芯片。 3. 要求严格的时序和稳定性,这是因为在机器控制的大型系统中,程序运行稍有差错则可能使得整个系统失去控制,甚至酿成灾害。 4. 全自动操作循环。

  5. (国内定义)嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(国内定义)嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 嵌入式计算机在应用数量上远远超过了各种通用计算机。一台通用计算机的外部设备中就包含了5~10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数码相机、USB集线器等均是由嵌入式处理器进行控制的。

  6. 1.1.2 嵌入式系统的特点及分类 1. 嵌入式系统的特点 (1) 系统内核小 由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5KB.而Windows的内核则要大得多,嵌入式Linux内核可裁减,几百k。

  7. (2) 专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往需要对系统进行较大更改;程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。

  8. (3) 系统精简 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的 设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 (4) 高实时性 高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。

  9. (5)多任务的操作系统 嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行(单片机);但是为了合理地调度多任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配RTOS(Real Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

  10. (6)专门的开发工具和环境 嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

  11. 嵌入式系统的开发环境 • 嵌入式系统的困难在于其开发的特殊性和困难性:开发机器!=执行机器 开发环境!=执行环境 • 专门的交叉编译开发环境

  12. 宿主机 开发机器(编辑器、编译器、调试器) 目标机 程序运行的机器 宿主机和目标机一样时为本地编译 交叉编译指宿主机和目标机是不同的系统(必须做目标文件下载) 网络 串口 宿主机 目标机

  13. (7)嵌入式系统极其关注成本 • (8)嵌入式系统通常有功耗的要求

  14. 2. 嵌入式系统的分类 由于嵌入式系统由硬件和软件两大部分组成,所以其分类也可以从硬件和软件进行划分。

  15. (1) 嵌入式系统的硬件 从硬件方面来讲,嵌入式系统的核心部件是嵌入式处理器。据不完全统计,全世界嵌入式处理器的品种数量已经超过1000多种,流行体系结构有30多个,其中8051体系占大多数。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。目前嵌入式处理器的寻址空间可以从64KB到256MB,处理速度从0.1MIPS到2000MIPS。

  16. 近年来嵌入式微处理器的主要发展方向是小体积、高性能、低功耗。专业分工也越来越明显,出现了专业的IP(Intellectual Property Core,知识产权核)供应商,如ARM、MIPS等,他们通过提供优质、高性能的嵌入式微处理器内核,由各个半导体厂商生产面向各个应用领域的芯片。 如图1-1所示,一般可以将嵌入式处理器分成4类,即嵌入式微处理器(Micro Processor Unit,MPU)、嵌入式微控制器(Micro Controller Unit,MCU单片机)、嵌入式DSP处理器(Digital Signal Processor,DSP)和嵌入式片上系统(System On Chip,SOC)。

  17. (2) 嵌入式系统的软件 嵌入式系统的软件一般由嵌入式操作系统和应用软件组成。操作系统是连接计算机硬件与应用程序的系统程序。 操作系统有两个基本功能:使计算机硬件便于使用;高效组织和正确地使用计算机的资源。 操作系统有4个主要任务:进程管理、进程间通信与同步、内存管理和I/O资源管理。 目前嵌入式系统的软件主要有两大类:实时系统和分时系统。如图1-2所示。

  18. 实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。 实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务; 其次才着眼于提高计算机系统的使用效率,其重要特点是通过任务调度来满足对于重要事件在规定的时间内做出正确的响应。

  19. 实时操作系统与分时操作系统的区别: 对于分时操作系统,软件的执行在时间上的要求并不严格,时间上的延误或者时序上的错误,一般不会造成灾难性的后果。 而对于实时操作系统,主要任务是对事件进行实时的处理,虽然事件可能在无法预知的时刻到达,但是软件必须在事件随机发生时,在严格的时限内做出响应(系统的响应时间)。即使是系统处在尖峰负荷下,也应如此,系统时间响应的超时就意味着致命的失败。 另外,实时操作系统的重要特点是具有系统的可确定性,即系统能对运行的最好和最坏情况做出精确的估计。

  20. Stankovic给出了实时系统的定义: “实时系统是这样一种系统,即系统执行的正确性不仅取决于计算的逻辑结果,而且还取决于结果的产生时间。”

  21. 实时系统又可以分为“硬实时系统”和“软实时系统”。硬实时和软实时的区别就在于对外界的事件做出反应的时间。实时系统又可以分为“硬实时系统”和“软实时系统”。硬实时和软实时的区别就在于对外界的事件做出反应的时间。 硬实时系统必须是对事件做出及时的反应,绝对不能错过事件处理的时限。在硬实时系统中如果出现了这样的情况就意味着巨大的损失和灾难。比如说航天飞机的控制系统,如果出现故障,后果不堪想象。 软实时系统是指,如果在系统负荷较重的时候,允许发生错过时限的情况而且不会造成太大的危害。比如液晶屏刷新允许有短暂的延迟。

  22. 硬实时系统和软实时系统实现的区别主要是在选择调度算法上。硬实时系统和软实时系统实现的区别主要是在选择调度算法上。 对于软实时系统,选择基于优先级调度的算法足以满足软实时系统的需求,而且可以提供高速的响应和大的系统吞吐量; 而对硬实时系统来说,需要使用的算法就应该是调度方式简单,反应速度快的实时调度算法。

  23. 1.1.3 嵌入式系统的应用 嵌入式系统主要应用于以下几个大的方面: • 国防武器设备,如导弹瞄准、雷达识别、电子对抗设备等。 • 通信信息设备,如路由器、程控交换机、移动电话、MODEM等。 • 过程控制,即对生产过程中各种动作流程的控制,这种控制是在对被控对象和环境进行不断观测的基础上做出及时反应的,如流水线控制、金属加工控制等。 • 智能仪器,如网络分析仪、示波器、医疗仪器等。 • 消费产品,各式各样的信息家电产品,如数字电视、微波炉等(PDA和机顶盒、IP电话)。 • 生物微电子技术,这是当今嵌入式技术的前沿应用,有着广阔的市场空间。

  24. 无线传感器网络 无线传感器网络是由部署在监测区域内大量廉价小型或微型的各类集成化传感器节点协作地实时感知、监测各种环境或目标对象信息,通过嵌入式系统对信息进行智能处理,并通过随机自组织无线通信网络以多跳中继方式将所感知的信息传送到用户终端,从而真正实现“无处不在的计算”理念。

  25. 无线传感器网络系统通常包括传感器节点、汇聚节点和管理节点。大量传感器节点随机部署在监测区域内部或附近,通过自组织方式构成网络。无线传感器网络系统通常包括传感器节点、汇聚节点和管理节点。大量传感器节点随机部署在监测区域内部或附近,通过自组织方式构成网络。 • 传感器节点监测的数据沿着其它节点逐跳进行传输,在传输过程中数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置,发布监测任并收集监测数据。

  26. 任务管理中心 • 什么是无线传感器网络? Internet、卫星或移动通信网络等 汇聚节点 传感器节点 监测区域

  27. UbiCell节点介绍——特征概述 UbiCell 采用先进的8位RISC微处理器 适用于多种复杂环境应用 抗干扰性能好 精确的信息采集 高通信能力和远通信距离

  28. 无线传感网络综合了传感技术、嵌入式计算技术、现代网络技术、无线通信技术、分布式智能信息处理技术等 • 无线传感网络可以在长期无人值守的状态下工作,在军事国防、工农业、城市管理、智能交通、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值、巨大的实用价值和广阔的市场前景

  29. 生活习性监测 战场评估 地震监测 医疗状况监控 精细农业 深海监控 小区安全监控 森林火灾监控 目标跟踪和检测 • 无线传感器网络应用 传感器网络

  30. 1.2 嵌入式处理器和嵌入式操作系统 1.2.1 嵌入式微处理器 嵌入式微处理器有许多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片。本节将主要介绍以下几种嵌入式处理器的架构,以及典型芯片制造商生产的芯片型号。

  31. 1. ARM/StrongARM ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。 ARM公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。 ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。 ARM处理器有三大特点: 小体积、低功耗、低成本而高性能;16/32位双指令集;全球的合作伙伴众多。

  32. 2. MIPS MIPS是Microprocessor without Inter---locked Pipeline Stages的缩写,是一种处理器内核标准,它是由MIPS技术公司开发的。 MIPS技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。 2000年,MIPS 公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。

  33. MIPS技术公司既开发MIPS处理器结构,又自己生产基于MIPS的32位/64位芯片。MIPS技术公司既开发MIPS处理器结构,又自己生产基于MIPS的32位/64位芯片。 为了使用户更加方便地应用MIPS处理器,MIPS公司推出了一套集成的开发工具,称为MIPSIDF(Integrated Dev--elopment Framework),特别适用于嵌入式系统的开发。

  34. 3. PowerPC PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。

  35. 目前PowerPC独立微处理器与嵌入式微处理器的主频从25MHz~700MHz不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350MHz~700MHz PowerPC 750CX和750CXe以及主频400MHz的PowerPC 440GP等。 嵌入式的PowerPC 405(主频最高为266MHz) 和PowerPC440 (主频最高为550MHz) 处理器内核可以用于各种集成的系统芯片(SOC)设备上,在电信、金融和其它许多行业具有广泛的应用。

  36. 4. x86 x86系列处理器是我们最熟悉的了,它起源于Intel架构的8080,再发展出286、386、486,直到现在的Pentium4、Athlon和AMD的64位处理器Hammer。从嵌入式市场来看,486DX是当时和ARM、68K、MIPS和SuperH齐名的五大嵌入式处理器之一,8080是第一款主流的处理器。 今天的Pentium和当初的8080使用相同的指令集,这有利也有弊,利是可以保持兼容性,至少10年前写的程序在现在的机器上还能运行;弊是限制了CPU性能的提高。

  37. 5. 68K/Cold fire Motorola 68000(68K)是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构,与现在的PC指令集保持了二进制兼容。 CISC是个人电脑CPU常用的,Intel、AMD、VIA都采用了CISC指令集,只有Apple电脑中的Power PC使用了RISC架构。最初使用CISC指令集是有道理的,因为CISC指令数量少,执行效率更高,而且当时的CPU时钟频率不同,没有牵涉到现在的超标量和超流水线的问题。 RISC是精简指令集,每条指令长度都一样,有利于简化译码结构,减少处理器的晶体管数量,这对于嵌入式处理器来说是很重要的。

  38. 1994年,Motorola又推出了基于RISC结构的68K/Cold Fire系统微处理器。 目前基于该架构的嵌入式微处理器主要有MCF5272,它基于第二代ColdFire V2核心,在66MHz下操作速度为63Dhrystone 2.1MIPS,是迄今最高的V2性能。

  39. 龙芯  龙芯(英语:Loongson,旧称GODSON[1]) 是中国科学院计算所自主开发的通用CPU, 采用简单指令集,类似于MIPS指令集。第一 型的速度是266MHz,最早在2002年开始使用。 龙芯2号速度最高为1GHz。龙芯3号还未有成品, 而设计的目标则在多核心的设计。

  40. 1.2.2 嵌入式操作系统 下面介绍国外和国内常用的实时操作系统。 1. 国外著名的实时操作系统 国外实时操作系统已经从简单走向成熟,有代表性的产品主要有VxWorks,QNX,Palm OS,Windows CE等,占据了机顶盒、PDA等的绝大部分市场。 其实,实时操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有一些IT组织、公司开始进行商用嵌入式系统和专用操作系统的研发。

  41. (1) VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。

  42. 在美国的F-16、FA-18战斗机,B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用了VxWorks。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,Sun Sparc,Moto--rola MC68xxx,MIPS RX000,Power PC, ARM , StrongARM等。大多数的VxW---orksAPI是专有的。

  43. (2) QNX QNX是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b 实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。 其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4.x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。

  44. POSIX 表示可移植操作系统接口(Portable Operating SystemInterface,缩写为POSIX 是为了读音更像UNIX) 电气和电子工程师协会(IEEE)最初开发POSIX 标准,是为了提高UNIX 环境下应用程序的可移植性。

  45. 然而,POSIX 并不局限于UNIX.许多其它的操作系统,例如DEC OpenVMS 和Windows NT ,都支持POSIX标准,尤其是IEEE Std.1003.1-1990(1995 年修订)或POSIX.1, POSIX.1 提供了源代码级别的C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件.

  46. POSIX.1 已经被国际标准化组织(ISO)所接受,被命名为ISO/IEC 9945-1:1990 标准。 POSIX 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。POSIX 与IEEE 1003 和2003 家族的标准是可互换的

  47. (3) Palm OS 3Com公司的Palm OS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。 目前共有3500多个应用程序可以运行在Palm Pilot上。其中大部分应用程序均为其他厂商和个人所开发,使Palm Pilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在Windows 95/98/NT以及Macintosh下安装Palm Pilot Desktop。 Palm Pilot可以与流行的PC平台上的应用程序(如Word,Excel等)进行数据交换。

  48. (4) Windows CE Microsoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200KB的ROM。

  49. (5) LynxOS Lynx Real-time Systems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a,POSIX.1b和POSIX.1c标准。 LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存, 一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。

More Related