1、第 1 章 嵌入式系统概述嵌入式系统是把计算机直接嵌入到应用系统中,它融合了计算机软/硬件技术、通信技术和微电子技术。随着微电子技术和半导体技术的高速发展,超大规模集成电路技术和深亚微米制造工艺已十分成熟,从而使高性能系统芯片的集成成为可能,并推动着嵌入式系统向最高级构建形式,即片上系统 SOC(System on a Chip)的水平发展,进而促使嵌入式系统得到更深入、更广阔的应用。嵌入式技术的快速发展不仅使其成为当今计算机技术和电子技术的一个重要分支,同时也使计算机的分类从以前的巨型机/大型机/ 小型机/微型机变为通用计算机/嵌入式计算机(即嵌入式系统) 。1.1 嵌入式系统概述嵌入式系统
2、是集成电路发展过程中的一个标志性成果,它把计算机直接嵌入到应用系统中,融合了计算机软/硬件技术、通信技术和微电子技术,是一种微电子产业和信息技术产业的最终产品。微电子产业是许多国家优先发展的产业。以超深亚微米工艺和 IP 核复用技术为支撑的系统芯片技术是国际超大规模集成电路发展的趋势和 21 世纪集成技术的 主流。1.1.1 概述通常,计算机连同一些常规的外设是作为独立的系统而存在的,而并非为某一方面的专门应用而存在。例如一台 PC 机就是一个计算机系统,整个系统存在的目的就是为人们提供一台可编程、会计算、能处理数据的机器。可以用它作为科学计算的工具,也可以用它作为企业管理的工具。所以,人们把
3、这样的计算机系统称为“通用”计算机系统。但是有些系统却不是这样。例如,医用的 CT 扫描仪也是一个系统,里面有计算机,但是这种计算机(或处理器)是作为某个专用系统中的一个部件而存在的,其本身的存在并非目的而只是手段。像这样“嵌入”到更大的、专用的系统中的计算机系统,就称之为“嵌入式计算机” 、 “嵌入式计算机系统”或“嵌入式系统” 。从字面上讲,后者似乎比前者更为广义,因为系统中常常还包括一些机电、光电、热电或者电化的执行部件,但是实际上却往往不作严格的区分。在不致引起混淆的情况下,一般把这三者用作同义词,并且一般总是基于 Linux 嵌入式原理与应用开发2指系统中的核心部分,即嵌入在系统中的
4、计算机。不过,虽然计算机在整个大系统中只是一个部件,却通常起着相当于“大脑”的作用。所以事实上所嵌入的计算机就是整个系统的核心,而系统中的其他部件则是其外部设备。只不过这些外部设备不同于常规的计算机外部设备,而所嵌入的计算机的作用和目的又只限于对这些外部设备的控制和管理而已。所以也可以说,常规的计算机系统是面向计算(包括数值和非数值)和处理的,而嵌入式计算机则一般是面向控制的。所谓将计算机“嵌入”到系统中,一般并不是指直接把一台通用计算机原封不动地安装到目标系统中,也不只是简单地把原有的机壳拆掉并安装到机壳中,而是指为目标系统构筑起合适的计算机系统,再把它有机地植入、甚至融入目标系统。虽然嵌入
5、式系统在工业、服务业、消费电子等领域的应用范围不断扩大,且已渗透到人们日常生活的方方面面,但是依然很难给它下一个明确的定义。嵌入式系统本身是一个外延很广的名词,凡是与产品结合在一起的、具有嵌入式特点的控制系统都可以叫做嵌入式系统。国际电工与电子工程师协会(即 IEEE)曾经把嵌入式系统定义为“控制、监视或者辅助设备、机器和车间运行的装置” 。显然该定义具有突出的应用色彩,不过现在看来,似乎并未充分体现嵌入式系统现今的学术内涵。目前国内普遍认同的嵌入式系统的定义是“嵌入式系统是将计算机嵌入到某个应用系统内的一种计算机体系结构形式” 。换言之,嵌入式系统是以应用为中心,以计算机技术为基础,软硬件能
6、灵活变化以适应所嵌入的应用系统,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。简言之,嵌入式系统就是嵌入式计算机系统的简称。从 20 世纪 80 年代初,嵌入式系统的研发开始用商业级“操作系统”编写嵌入式应用软件,结果使嵌入式应用的开发周期缩短、成本降低。这些嵌入式操作系统均具有嵌入式技术的典型特点:采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,且具有可剪裁性、可扩充性和可移植性,可以移植到各种型号的微处理器(单片机)上;具有较强的实时性和可靠性,适合于嵌入式应用。20 世纪 90 年代以后,随着诸多应用领域对嵌入式系统实时性要求的提高,各种应用软件的
7、规模不断扩大,又促使嵌入式系统的实时内核逐渐发展为实时多任务操作系统(RTOS) ,并作为一种软件平台逐步演变为目前国际上流行的嵌入式操作系统。在嵌入式操作系统迅速发展的同时,系统芯片的制造与设计技术也在不断进步。系统芯片就是把一个完整的最终产品的主要功能单元集成到一块或一组大规模集成电路芯片上,这是现代集成电路工艺技术深亚微米技术迅速发展的必然结果。系统芯片制造技术发展主要体现在硅圆片的尺寸逐渐增大,硅晶片的特征线宽逐步减小,同时芯片的集成度不断提高。系统芯片技术的发展,使得嵌入式系统硬件进一步向微型化、高集成化发展,从而为嵌入式系统的应用开辟更为广阔的天地。1.1.2 特点嵌入式系统既然是
8、计算机系统,就不可避免地由三大部分构成:CPU、内存和输入输第 1 章 嵌入式系统概述3出手段。此外,当然还得有将这三大部分连接起来的“总线” 。这是所有计算机系统的共性,是万变不离其宗的。但与以 PC 机为代表的通用计算机系统比较,嵌入式有它的特殊性,其特点概括如下。(1)可靠性与稳定性对嵌入式系统有着特别重要的意义。即使逻辑上的系统结构相同,在物理组成上也会有所不同。其所使用的元器件,包括接插件、电源等的质量和可靠性要求都比较高,元器件的“平均无故障时间MTBF( Mean Time Between Failure) ”成为关键参数,此外允许的环境温度也是需要重点考虑的问题。(2)嵌入式系
9、统的软硬件均是面向特定应用对象和任务设计的,具有很强的专用性。嵌入式系统的主要目的是控制,需要由嵌入式系统提供的功能以及面对的应用和过程都是预知的、相对固定的,而不像通用计算机那样有很大的随意性。控制对象的精度要求一般不会超出整型数所能提供的分辨率,所以浮点运算一般没有必要。而且由于是专用的系统,在可编程方面就不需要那么灵活。嵌入式系统不会用于作为应用软件的环境,在嵌入式系统上通常也不会运行一些大型的软件。所以,嵌入式系统对 CPU 计算能力的要求并不像通用计算机那么高。(3)有些嵌入式系统需要长期连续运行(如电话交换机) 。在这些系统长期的运行过程中,如果某个部件损坏,是不允许将系统关闭断电
10、后加以替换的,而必须在系统仍旧加电、继续运行的条件下加以替换。这就是所谓“热替换(Hot Swapping) ”或“热插拔” ,即系统还在运行的条件下将电路板插入系统的总线,或者从总线上拔下电路板。不过,这一般是指整个模块或电路板的替换,而不是指个别元器件的替换。还有一种类似但稍为简单一些的要求是在系统还在运行的条件下增加一个模块,称为“热插入” 。无论是热替换还是热插入,都要求硬件和软件两方面的配合。(4)有些要求高可靠的嵌入式系统还需要采用“容错(Fault Tolerance) ”技术。即系统在损坏时能自动切换到它的备份,或者对系统进行重构。最常见也是最简单的容错技术是电源的自动切换。一
11、些嵌入式系统往往带有备份电源,一旦检测到电源故障就自动切换到备份电源并发出警报。还有一种很常见的容错技术是一些数据通信设备中对链路的“自动保护切换(APS) ”。在电信系统中,最可能发生故障的“部件”就是物理的链路(例如两个城市之间的电缆) ,所以实践中常常以一定的比例为这些电缆配上备份,例如每 3 条平行的链路就配上一条作为备份。而在两端的设备中,则各有相应的设施,使得监测到某条链路发生故障时,就很快切换到备份链路继续运行。(5)许多嵌入式系统都有实时要求,需要有对外部事件迅速做出反应的能力。以前, “嵌入式系统”几乎是“实时系统”的代名词,近年来出现了许多不带实时要求的嵌入式系统,这两个词
12、的区别才又变得显著起来。但是,即使是现在,多数嵌入式系统还是有着不同程度的实时要求。(6)在系统组成上,因为嵌入式系统常常用于控制目的,其外设接口自然就比较多 样,并且数量往往比较多。(7)与通用计算机相比,嵌入式系统一般都不带用于大容量存储目的的外部设备,基于 Linux 嵌入式原理与应用开发4也就是不带磁盘。而操作系统的映像和可执行程序一般都存放在只读存储器(ROM)或“闪存(Flash Memory ) ”中。(8)许多嵌入式系统的人机界面也有其特殊性。许 多 嵌 入 式 系 统 都 不 提 供 图 形 人 机 界 面 , 而 只 提 供 一 个 面 向 字 符 的 控 制 台 接 口
13、。 不 过往 往 还 带 有 如 小 型 的 LCD 显 示 屏 、 发 光 二 极 管 ( LED) 等 辅 助 的 显 示 设 备 , 甚 至 报 警 装 置 。1.1.3 系统构架嵌入式系统早期主要应用于军事及航空航天等领域,以后逐步广泛应用于工业控制、仪器仪表、汽车电子、通信和家用消费电子类等领域。随着 Internet 的发展,新型的嵌入式系统正朝着信息家电 IA( Information Appliance)和 3C(Computer、Communication & Consumer)产品方向发展。嵌入式系统采用“量体裁衣”的方式把所需的功能嵌入至各种应用系统中。根据应用形式的不同
14、,可有 IP(Intellectual Property)级、芯片级和模块级 3 级不同的体系架构。(1)IP 级的架构也就是系统级芯片 SOC(System on Chip)的形式。把不同的 IP 单元,根据应用的要求集成在一块芯片上,各种嵌入式软件也可以以 IP 方式集成在芯片中。(2)芯片级架构是根据各种 IT 产品(应用系统)的要求,选用相应的处理器(MCU、DSP、RISC 及 MPU 等)芯片、RAM、ROM (EPROM/EEPROM/FLASH)及I/O 接口芯片等组成相应的嵌入式系统;相应的系统软件或应用软件也以固件形式固化在ROM 中。这是目前嵌入式系统最常见的形式。(3)
15、模块级架构是以 X86 处理器构成的计算机系统模块嵌入到应用系统中。这样可充分利用目前常用 PC 机的通用性和便利性。不过,此方式不但要缩小体积、增加可靠性,而且还要把操作系统 OS 改造为嵌入式操作系统 OS,把应用软件固化在固态盘中。此种嵌入式系统较多地出现在工业控制和仪器仪表中。嵌入式系统由嵌入式处理器、嵌入式系统软件和嵌入式应用软件组成。Intel 公司推出的个人互联网用户架构 PCA 就是嵌入式系统的开发应用平台。在 PCA 的通信子系统中的嵌入式处理器是基于 StrongARM/XScale 的处理器,PCA 可以配备 Windows CE、嵌入式Linux 和 VxWorks 等
16、各种嵌入式 OS,同时,为了便于开发各种应用软件,提供了各种组件及中间件。1.2 嵌入式系统硬件部分嵌入式系统的广泛应用得益于电子技术的高速发展,下面讲述电子技术的发展以及最新嵌入式系统中采用的核心部件的发展历史和概况。第 1 章 嵌入式系统概述51.2.1 集成电路的发展当前,我们正经历着一场新的技术革命。虽然第三次技术革命包含了新材料、新能源、生物工程、海洋工程、航空航天技术和电子信息技术等,但影响最大、渗透性最强、最具有新技术革命代表性的乃是以微电子技术为核心的电子信息技术。信息是客观事物状态和运动特征的一种普遍形式,是继材料和能源之后的第三大资源,是人类物质文明与精神文明赖以发展的三大
17、精神支柱之一。目前我们正处在一场跨越时空的 新 的 信 息 技 术 革 命 中 , 它 将 比 历 史 上 的 任 何 一 次 技 术 革 命 对 社 会 、 经 济 、 政 治 、 文 化 等带 来 的 冲 击 都 更 为 巨 大 , 它 将 改 变 我 们 的 生 产 方 式 、 生 活 方 式 、 工 作 方 式 以 及 治 理 国 家 的方式。实现社会信息化的关键是各种计算机和通讯机,但是其基础都是微电子。1946 年 2月在美国莫尔学院诞生了第一台名为电子数值积分器和计算器(Electronic Numerical Integrator and Computer)的计算机,即 ENI
18、AC 的问世。当时的 ENIAC 由 18000 个电子管组成,占地面积 150 平方米,重 30 吨,功率为 140 千瓦,足以发动一辆机车。然而这个庞然大物的运算速度只有每秒 5000 次,存储容量只有千位,平均稳定运行时间只有 7 分钟。设想一下,这样的计算机能够进入办公室、企业和家庭吗?所以当时曾有人认为,全世界只要有 4 台 ENIAC 就足够了,可是现在全世界的计算机不包括微机在内就有几百万台,造成这个巨大变革的技术基础就是微电子。现在,电子信息产业已经成为世界第一产业,毫无疑义,21 世纪将是信息化的世纪,因此 21 世纪的以微电子技术为核心的集成电路产业也必将得到高速发展。在集
19、成电路发展过程中,1947 年发明晶体管,1958 年美国德克萨斯公司制成第一块IC。半个世纪以来,IC 一直在按摩尔定律发展,即 18 个月集成度提高一倍,同时其成本降低一倍。特征尺寸从 3、2、1.5、1.0、0.8、0.5、0.35、0.25、0.18m,计划向0.15、0.13、0.09、0.065m 发展。圆片尺寸从 76、100、 120、150 到 200、300mm ,计划向 400、450mm 发展。目前,以美国为代表的最先进的 IC 发展水平是 0.18m,0.13m已经形成,正在研究 90nm 技术, 200mm、300mm 硅圆片的量产 IC 技术已经成熟。集成电路的应
20、用范围广泛,门类繁多。可以按照集成电路的结构类型、规模(集成度)、使用的基片材料、电路功能及应用领域等进行分门别类。按照 IC 的应用性质可以将 IC分为通用 IC 和专用 IC(ASIC) ,下面讨论 ASIC。传统的 IC 设计以 ASIC 设计为主。ASIC 产品具有体积小、可靠性高、功耗小、仿制困难、批量生产后成本低等优点。20 世纪 80 年代,随着微电子技术产品制造成本的不断下降和设计自动化技术及其工具的长足发展,刺激了系统设计师自己设计专用电路的思想,以 弥 补 MPU 标 准 产 品 功 能 的 不 足 和 过 剩 的 缺 陷 , 推 动 了 一 个 产 品 满 足 特 定 用
21、 户 需 求 的ASIC 的 发 展 , 其 中 特 别 是 预 测 母 片 的 掩 模 编 程 技 术 , 大 大 平 衡 了 微 电 子 生 产 厂 家 和 电 子 整机 厂 家 间 的 不 同 利 益 , 受 到 了 普 遍 重 视 。 但 是 这 种 掩 模 硬 编 程 专 用 电 路 ( M-ASIC) 不 够 方便 , 因 此 在 20 世 纪 80 年 代 末 90 年 代 初 又 发 展 了 可 编 程 门 阵 等 一 类 用 户 自 编 程 专 用 电 路(U-ASIC) 。最近十年 PLD 技术已经成为设计数字系统的首选技术,在很多场合 PLD 取基于 Linux 嵌入式原
22、理与应用开发6代了传统意义上的 ASIC 芯片, “在系统编程技术”方便了用户,降低了设计成本和风险,缩短了设计周期,从而使微电子产品特性进入了一个全新的概念。当前,ASIC 和 PLD 技术的门数越来越多,芯片主频越来越高,两者也互相融合、优势互补,都向着 SoC 方向发展。ASIC 大致可以分为:门阵列电路、标准单元电路、可编程逻辑电路和全定制电路。其中前 3 类电路又被称为“半定制电路” 。一般而言, “半定制电路”采用带有基本单元的“母片” (又称“基板” ) ,或采用标准单元库中的标准单元。设计师所关心的只是利用这些标准单元,根据系统的要求来选择布线方案以构筑不同的系统。当然,标准单
23、元的意义已由早期的门、触发器,扩展到当前的微处理器、存储器等,这些规模较大的标准单元在专业上又称为“核” 。 “全定制电路”则从基本单元到整个系统均由系统设计师来构筑。所以当今的专用 IC 发展趋势是:今天的电路板是明天的专用芯片。可编程逻辑器件简称 PLD,是新一代的数字器件。它不仅具有很高的速度和可靠性,而且具有用户可重复定义的逻辑功能即具有可重复编程的特点。因此,可编程逻辑器件使数字电路系统的设计非常灵活,并且大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。可编程逻辑器件 PLD 分类框图如图 1.1 所示。 PLD 简 单 的 PLD, 如 PLA、PROM、 A、
24、 G等 复 杂 的 PLD EPLD 现 场 可 编 程 门 阵 列 FPGA CPLD 图 1.1 PLD 分类框图1简单 PLD简单的 PLD 是由“与”阵列及“或”阵列组成,能有效地以“积之和”的形式实现布尔逻辑函数。从技术实现上,输入到 PLD 的信号必须首先通过一个“与”阵列,在这里形成输入信号的组合。每组相“与”的组合被称为布尔表达式的子项或 PLD 术语中的乘积线。这个乘积线在第二个“或”门阵列中被相加。简单 PLD 在“与” 、 “或”阵列的基础上有 3 种基本类型,可根据阵列能否编程来区分:(1)可编程只读存储器即PROM,它的“与”阵列固定, “或”阵列可编程;(2)可编程
25、阵列逻辑即 PAL,它的“与”阵列可编程, “或”阵列固定,GAL 器件是 PAL 器件的增强型,内部结构相同,第 1 章 嵌入式系统概述7但可被配置成不同的功能;(3)可编程逻辑阵列即 PLA,它的“与”阵列和“或”阵列都可编程。2复杂 PLD复杂的可编程逻辑器件是由 PAL 或 GAL 发展而来的,基本上是扩充原始的可编程逻辑器件。它通常是由可编程逻辑的功能块围绕一个位于中心和延时固定的可编程互联矩阵构成。为了增加电路密度而不使性能或功耗受到损失,复杂的可编程逻辑器件在结构上引入了各种特性。如:引入分页系统,分页的目的在于仅使阵列的一部分在任何给定的时刻被加电;按备份模式放置阵列,或者靠变
26、换检测自动地控制加电,或者采用外部指令加以控制。在实现级上, “与”阵列与“或”阵列需要用缓冲器分开,因为这些一般是倒相器。在两个阵列中实际逻辑一般是相同的。某些公司已经引入了折叠 PLA,它仅用了一个实际阵列,但可以将乘积项反馈回阵列。也允许在单个器件中实现多个逻辑。目前,复杂 PLD 又延伸出 3 个分支,即可擦除可编程的逻辑器件 EPLD、CPLD 和现场可编程门阵列 FPGA。EPLD 可擦除可编程器件分为两类:一类是基于 UVEPROM 和 CMOS 技术的EPLD;另一类是基于 E2CMOS 工艺的 EEPLD。FPGA 现场可编程门阵列器件通常由布线资源围绕的可编程单元(或宏单元
27、)构成阵列,再由可编程 I/O 单元围绕阵列构成整个芯片。构成阵列的逻辑单元由布线通道中的可编程连线连接起来实现一定的逻辑功能。一个 FPGA 可能包含静态存储单元,它们允许内连的模式在器件被制造以后再被加载或修改。CPLD 主要是由可编程逻辑宏单元 LMC 围绕中心的可编程互连矩阵单元组成。其中LMC 逻辑结构较复杂,并具有复杂的 I/O 单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD 内部采用固定长度的金属连线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的特点。到 20 世纪 90 年代,CPLD 发展更为迅速
28、,不仅具有电可擦写特性,而且出现了边界扫描及在线可编程高级特性。同时除了以 LMC 为基础的内部的 AND、OR 阵列外,外围的 I/O 模块扩大了其在系统中的应用范围和扩展性。1992 年 Lattice 公司率先推出了系统编程 ISP 技术,并推出 isp-LSI1000 系列 ISP 器件。ISP 指采用直接或间接方式对电子系统中的多个 PLD 器件进行编程或改写技术,它可以达到对器件及整个系统进行重构的目的。其重构时间可延续到系统完成之后。对于许多 CPLD 来说,修改后的逻辑不能完全符合原有的引脚输出,或已修改了关键的定时路径。这样,为了修改逻辑,就不得不重新进行电路布线。对于高密度
29、 CPLD 器件尤其是这样。许多厂家的 CPLD 在进行层次互连后,性能降低,延迟不稳定。现场可编程门阵列 FPGA,与 PAL、GAL 器件相比,它的优点是可以实时地对外加和内置的 RAM 或 EPROM 编程,实时地改变器件功能,实现现场可编程(基于EPROM)或在线重配置(基于 RAM 型) 。它是科学实验、样机研制、小批量产品生产的基于 Linux 嵌入式原理与应用开发8最佳选择器件。FPGA 通常包含 3 类可编程资源:可编程逻辑功能块、可编程 I/O 块和可编程互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可 编 程 I/O 块 完 成 芯
30、 片 上 逻 辑 与 外 部 封 装 脚 的 接 口 , 常 围 绕 着 阵 列 于 芯 片 四 周 ; 可 编程 内 部 互 连 包 括 各 种 长 度 的 线 段 和 编 程 互 连 开 关 , 它 们 将 各 个 可 编 程 逻 辑 块 或 I/O 连 接 起 来 ,构 成 特 定 功 能 的 电 路 。 不 同 生 产 厂 家 生 产 的 FPGA 在 可 编 程 逻 辑 块 的 规 模 、 内 部 互 连 线 的结 构 和 采 用 的 可 编 程 元 件 上 存 在 较 大 的 差 异 。 较 常 见 的 是 Xilinx 和 Altera 公 司 的 FPGA 器件。FPGA 一般
31、用于逻辑仿真。电路设计师设计一个电路首先要确定电路(先可用 VHDL进行行为级描述,然后做逻辑综合) ,然后进行软件模拟及优化,以确认所设计电路的功能及性能。然而随着电路规模的不断加大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难直接反映出来,所以有必要做硬件仿真。不管上述电子工艺和器件如何发展,有一个共同的目标就是:以最快的速度、最合理的价格和最高的可靠性为用户应用提供可行的产品。为了满足用户的需求,根据工艺和设计技术的发展,最新的研究内容包含了 SoC 和 IP 等方面的最新内容,给电子系统提供了大量可以直接使用的内核和外设芯片。1.2.2 传统微处
32、理器(8 位/16 位)的更新下面讨论一下近 20 年来传统微控制器的更新。归纳而言,有以下几个方面。1微控制器的 CPU 核仍以 CISC 为主,但向 RISC 演化在传统微控制器领域内还是以当初 Intel 确立的哈佛结构(程序和数据存储器分离的体系)和复杂指令集系统(CISC)为主。只有少数厂家生产精简指令集计算机,但仍然保留了哈佛的分立存储器结构,并没有采用冯诺依曼的程序、数据相合并的存储结构,少数生产 RISC 的计算机厂家有 Microchip 的 8 位 PIC12/16/17/18Fxxx 控制器、Atmel 的 8位 AVR 微控制器、SCENIX 的 8 位 SX18/20
33、/28AC 和 SX48/52BD 微控制器。这 3 个厂家都使用了快闪存储器(FLASH)存放程序。而 Vautomation Co.的 VUSB 芯片在 8 位 RISC MCU V8 的基础上,增加了 USB 核,由其上的固件支撑 USB 的工作。V8 MCU 和 USB 核共占 10000 个门。USB 核可用于主机端或设备端。USB 命令可用 C 语言、API 以及硬件描述语言 VHDL 进行修改。在不必改动硬件的条件下就可改变 USB 的包长和缓冲器长。若要改动硬件,只需联系 Vautomation厂家,便可通过 Internet 提供实现代码。2提升指令执行速度提高 8 位机的振
34、荡频率和减少每机器周期包含的振荡周期数都可以提高指令的执行速度。如 Philips 公司把 12MHz 的 80C51 从每机器周期所包含振荡器周期数由 12 改为 6,第 1 章 嵌入式系统概述9获得 2 倍速,Winbond 公司由 12 改为 3,获得 4 倍速。目前,8 位微控制器的频率一般可以高至 33MHz40MHz ,所以,可以比较容易地从原来的 1MIPS 提升到 10MIPS。但是,目前指令执行速度提升到 50MIPS100MIPS 的都是 RISC 指令的 8 位微控制器。提升 8 位微控制器工作频率已经受到普遍的重视。Hitachi 半导体厂,1988 年设计其8 位 H
35、8 微 控 制 器 时 , 设 定 的 目 标 是 要 集 成 更 多 的 外 设 和 支 持 C 语 言 , 追 求 高 性 能 而 不 以 廉价 为 目 的 。 片 上 提 供 0.5MB 的 FLASH 存 储 器 。 最 近 还 增 加 了 USB 和 Bluetooth 通 信 接 口 ,也 考 虑 生 产 带 有 Ethernet 接 口 的 芯 片 , 还 计 划 将 通 常 32 位 机 上 的 应 用 ( 如 TCP/IP、 语 音 识别 和 合 成 ) 技 术 下 移 到 H8。 但 是 , 便 携 式 设 备 的 屏 蔽 措 施 较 少 , 很 难 通 过 家 用 电 器
36、 B 类FCC 的条款规定,几经改进设计方法,最后才把内部噪声降下来并抑制了外部的噪声。3集成大容量片上 FLASH 存储器,实现 ISP、IAP近年来,8 位微控制器竞相采用 FLASH 存储器已成趋势,因为它集成度高、价格便宜、技术先进,可以取代 PROM、EPROM 、OTP 和 EEPROM 等。Silicon Storage Technology 公司用 SuperFlash 技术生产了兼容于 8051 的 FlashFlex51 系列芯片。其中SST89C54/58 芯片内部分别具有 20KB 和 36KB 的 FLASH,并利用 FLASH 可高速读/写的特点实现在系统中烧录程序
37、(ISP)和在应用中烧录程序(IAP) 。ISP 技术是在焊接成板级系统上,直接对微控制器进行擦除和程序烧录的先进技术。SST 的 IAP 技术,是从结构上将 FLASH 存储器映像为两个存储体,当运行在一个存储体上的用户程序时,在后台对另一个存储体实时烧录更新的程序,之后再将控制转向更新的程序上执行。Philips 兼容于 8051 的 P89C51RC2/RD2 是具有 32KB/64KB FLASH 的芯片,由于片上集成了 1KB 的引导和擦除、烧录用 ROM 固件,所以能够更好地支持 ISP 和 IAP。顺便指出,P89C51RC2/RD2 还增加了片上 RAM,最多到 8KB。4普遍
38、使用混合信号(数字模拟相混合)集成技术用 CMOS 工艺将数字和模拟电路集成于同一个片上的技术已经成熟,有力地削减了片外的附加器件,提高了性能并缩短了产品上市时间。如片上集成 12 位 A/D,上电复位/掉电检测、捕捉/比较/PWM、锁相环、88 硬件乘,以及 USB、CAN 总线接口等。5增加可联网的外设接口要求将内嵌 8 位微控制器的设备接入 Internet 的呼声渐高。虽然联网的主流应用多是使用 32 位的高档微处理器,但是,如果能够生产高速率的 8 位微控制器实现某种针对特定性的 专 用 上 网 设 备 , 未 尝 不 是 一 条 蹊 径 。 目 前 使 用 MCS-51 系 列 的
39、 83C51KB 生 产 独 立 键盘 、 小 型 硬 驱 和 掌 上 电 脑 的 不 少 。 但 是 , 83C51KB 缺 少 与 Internet 的 连 接 部 分 。 许 多 厂 家已 经 看 到 给 8 位 微 控 制 器 配 上 Bluetooth、 Ethernet 和 Internet 网 络 接 口 的 需 要 , 众 多 方 案 正在 涌 现 。基于 Linux 嵌入式原理与应用开发106最求低电压、低功耗、低价位、LPC (少腿芯片)降低工作电压无疑可以成平方地降低功耗。所以开始出现多电压供电的微控制器,CPU 部分工作于 1.5V2.5V ,而 I/O 口工作于 3.
40、3V5V。为实现低功耗,应尽可能多地将片外器件集成于同一个片上,这样便于一同暂停、一同休眠或部分运行。如 NEC 设计了可配置成部分全速运行、部分暂停的处理器,使用户对功率的管理更加方便灵活、有效。瑞典 Xemic 公司在其 8 位低功耗 XE8000 系列微控制器中增加了通用型高速低电压芯片XE8301,它的工作电压十分宽广,为 1.2V5.5V。指令速度为 1MIPS 时电流仅为200A,在待机模式下,维持实时时钟的运行仅用 1A 电流。XE8000 系列微控制器的内核用的是该公司 8 位 CoolRISC MCU,指令位宽 22 位。LPC 是少腿封装的芯片,可有效地降低成本和减少印制板
41、的尺寸。1.2.3 今日嵌入式(32 位/16 位)今日嵌入式应用主要集中在有关网络和多媒体的消费类产品,关于工业方面的较少。下面简单介绍当前的一些主流情况。1DSP 与 MCU 相结合,协助解决网络与多媒体所需实时处理的高速运算问题,DSP 进入今日嵌入式的芯核,与 MPU 构成芯核的左右脑。2今日嵌入式芯核的 MPU 多是 RISC 结构,取其特有的高速度、低功耗、小尺寸、价位低的特点。332 位的 RISC-DSP 双结构成为今日嵌入式芯片的主流形式。4TriCore 是 32 位 MPU-MCU-DSP 三核结构的芯核。TC10GP 是第一款以 TriCore为芯核的 32 位微控制器
42、。下面简要介绍一下它的特点,以便大体上了解今日嵌入式芯片的一般内容。 采用 LOAD/STORE 指令的 RISC-DSP 结构,双 1616MAC,超标量 3 流水线,4GB 寻址范围,高速环境切换,66MHz80MHz 时钟频。 内存:8KB 指令 SRAM,8/16KB 高速缓存;32/16KB 数据 SRAM,0/16KB 数据高速缓存。 定时器:2GPT(通用定时器)单元3可配置 32 位定时器,WDT(看门狗),系统定时器。 串口:2 UART,1 SSC(同步串行通讯) 。 并口:38 位。 FPI:灵活外设接口总线以挂接各种外部设备。 PCP:外设控制存储器(具有 2KB 参数
43、 SRAM,1KB 代码 SRAM,4GB 寻址范围)以控制 DMA、条件 JUMP 和有条件的数学/逻辑运算。 EBU:使用外部总线单元管理外扩器件。 电源:I/O3.3V 10%;芯核 2.5V10%。5用 ASIC 实现 RISC-DSP 双核 MPU 为基础的可编程片上系统 PsoC;用 CPLD 实第 1 章 嵌入式系统概述11现 RISC-DSP 双核 MPU 为基础的可编程片上系统 PsoC;用 FPGA 实现 RISC-DSP 双核MPU 为基础的可编程片上系统 PSoC。6产品有 Web PDA、Web 可视电话、Web 电视游戏机、Web 数字摄像机、移动电话、移动 GPS
44、 产品、手持挂网影碟机、声音识别与合成、图像处理、文字识别、DVD 、电视会议设备等。1.3 嵌入式系统软件部分嵌入式系统软件部分包括系统软件和应用软件两部分,下面分别讨论。1.3.1 嵌入式操作系统的特点目前在嵌入工系统中常用以下两类操作系统。(1)实时系统:实时操作系统是嵌入式系统目前最重要的组成部分。实时,是指物理进程的真实时间。实时操作系统把实时性作为第一要求,调度一切可利用的资源,以完成实时控制任务,其次才是提高整个嵌入式系统的使用效率。实时系统要求程序的执行有严格的确定性,即系统能对运行时的最好和最坏等情况做出精确的估计。实时系统又有硬实时系统和软实时系统之分,硬实时系统是指在指定
45、的时间内未能实现一个确定的任务将会崩溃的系统,它往往需要添加专门用于时间和优先级管理的控制芯片;软实时系统虽然对时间要求同样重要,但出现超时情况时不会导致致命错误,它主要是通过软件编程实现对时限的管理。(2)分时系统:分时系统追求系统资源总体利用率最高,其特点在于多任务的管理。现在 PC 机的操作系统绝大部分采用的是分时系统,而很少采用实时系统。但实时系统不是嵌入式系统的专利,只不过大部分嵌入式系统均采用实时系统作为自己的操作系统。面向嵌入式系统的操作系统具有如下特点。 编码体积小:适合在嵌入式系统的有限存储空间中运行。 面向应用,可裁剪和移植:可进一步缩小编码体积并有效地运行,故此类 OS
46、也可称为特定应用操作系统 ASOS。 实时性强:这也是嵌入式系统的特征之一,因此,嵌入式操作系统有时也称为实时多任务操作系统 RTOS。 可靠性高:嵌入式系统可无须人工干预而独立运行,并能处理各类事件和故障。20 世纪 7080 年代,各种嵌入式操作系统得到蓬勃发展,随着 Internet 的飞速发展,面向 Internet 的嵌入式操作系统已成为主流产品。特别是随着系统级芯片 SoC 的发展,嵌基于 Linux 嵌入式原理与应用开发12入式操作系统已开始能像硬件 IP 模块那样,作为 IP 嵌入芯片中。1.3.2 常用嵌入式操作系统下面介绍嵌入式系统中常用的几种操作系统:1VxWorksVx
47、Works 操 作 系 统 是 美 国 WindRiver 公 司 于 1983 年 设 计 开 发 的 一 种 实 时 操 作 系 统 。VxWorks 拥 有 良 好 的 持 续 发 展 能 力 、 高 性 能 的 内 核 以 及 友 好 的 用 户 开 发 环 境 , 在 实 时 操 作系 统 领 域 内 占 据 了 一 席 之 地 。 它 以 其 良 好 的 可 靠 性 和 卓 越 的 实 时 性 被 广 泛 地 应 用 在 通 信 、军 事 、 航 空 、 航 天 等 高 精 尖 技 术 及 实 时 性 要 求 极 高 的 领 域 中 , 如 卫 星 通 信 、 军 事 演 习 、
48、导弹 制 导 、 飞 机 导 航 等 。 在 美 国 的 F-16、 FA-18 战 斗 机 , B-2 隐 形 轰 炸 机 和 爱 国 者 导 弹 上 , 甚至 连 1997 年 4 月 在 火 星 表 面 登 陆 的 火 星 探 测 器 上 也 使 用 了 VxWorks。 它 是 目 前 嵌 入 式 系 统领 域 中 使 用 最 广 泛 、 市 场 占 有 率 最 高 的 系 统 。 它 支 持 多 种 处 理 器 , 如 x86, i960, Sun Sparc, Motorola MC68000, MIPS RX000, Power PC, StrongARM, XScale 等 。
49、 大 多 数 的VxWorks API 是 专 用 的 。2pSOSpSOS 是 ISI 公司研发的产品。该公司成立于 1980 年,其产品在其成立后不久即被推出,是世界上最早的实时系统之一,也是最早进入中国市场的实时操作系统。该公司于2000 年 2 月 16 日与 WindRiver 公司合并。pSOS 是一个模块化、高性能、完全可扩展的实时操作系统,专为嵌入式微处理器设计,提供了一个完全多任务环境,在定制的或是商业的硬件上可以提供高性能和高可靠性。它包含单处理器支持模块(pSOS+) 、多处理器支持模块( pSOS+m) 、文件管理器模块(pHILE ) 、TCP/IP 通信包( pNA) 、流式通信模块(OpEN) 、图形界面、Java 和 HTTP 等。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。3Palm OS3COM 公司的 Palm OS 在掌上电脑和 PDA 市场上占有很大的市场份额。它有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需的应用程序。目前共有 3500多个应用程序可以运行在 Palm Pilot 上,其中大部分应用程序均为其他厂商和个人所开发,使 Palm