草1草跌入式系统的介绍27 融入一般人的生活之中的条件下,寻找新的应用方式与面 貌,则是硬件设计人员的挑战,在国外已经有非常令人惊 讶的微显示器的发明,例如Eik这种类似纸张的显示器, 其他如触控面板、塑胶液晶面板、有机电激发光元件、微 显示器( Microdisplay)等技术发展,将是在嵌入式系统产 业中重要的一环。 现今的电脑产业就像当初的汽车产业一般,早期的汽 车必须用手去转动拉柄才能发动,而且泥泞的道路常常让 汽车动弹不得。在汽车发展历程,许多的创意成为后来的 1-28 E-ink 重要零配件,例如早期的汽车并没有电气系统,一直到了 有人想到把电气系统安装到汽车上面,我们才可以在晚上开车或是收听音乐,甚至是操控动 力方向盘或是电动车窗 现在的电脑就像早期的汽车一般,操作电脑前必须要接受过相当的训练才可能上手,就 算是电脑老手,也常常碰到莫名其妙的事情无法解决,虽然电脑在短短二十年内有了长足的 进步,但是改善空间仍然很大 嵌入式系统的发展就像是汽车发展中的一个转折点,加上网络盛行,未来的影响力将会 非常惊人,虽然目前嵌入式系统有了许多的进步,但是老实说,我们还只是站在起点而已 未来还需要投入更多的研究与创意,这正是我们目前所缺乏的。 15本书导读 笔者希望能够借由本书,引领读者进入嵌入式系统开发的领域,在嵌入式系统里,硬件 与软件常常密不可分,本书在分析了整个嵌入式领域的市场之后,首先会先介绍硬件组件部 分,特别是嵌入式微处理器,这和传统桌上型电脑的中央处理器有着明显的不同,接下来我 们会讨论软件的开发流程,嵌入式系统的软件常常以韧件的形态存在,因此在软件层面的开 发也和我们熟悉的桌上型电脑程序开发不一样。 由于嵌入式系统原本就存在着客制化的情况,不同的硬件有着不同的应用程序与中介软 件,因此软件的开发相当费时费力,因此越来越多人集中精神在上层比较和硬件无关的应用 程序开发,而这个理念也因为Java的流行有了真正实现的可能,因此我们介绍了Java在嵌 入式系统领域中所占的地位与未来潮流,最后本书以目前最流行的几种嵌入式操作系统的讨 论与 Embedded Linux的设置,作为实际产品开发时所必须了解的知识。 本书涵盖了整个嵌入式系统开发的领域与潮流,并以真正的实际经验引领读者进入这个 领域,相信读者一定能够有相当的收获
第2章嵌人式S0C硬件系统概论 随着集成电路制程的进步,将所有的外围与屮央处理器整合在一块小小的芯片上,已经 是现在最流行的技术了,就让本章带领大家一窥SoC整合式CPU与外围系统。 21前言 厂商在发展一个嵌入式系统产品时,最重要要考虑到的因素不外乎两个重点,一个是嵌 入式系统的软件部分,包括了所采用的嵌入式操作系统以及上头所使用的应用程序,用以控 制整个嵌入式系统的动作流程。另一个所要考虑的开发重点就是所选择使用的嵌入式系统硬 件 其中嵌入式系统硬件部分就像是嵌入式系统的身躯一样,有手、脚、头脑以及感觉神经 等等的部位,这些掌控了嵌入式系统的先天功能,像是运算能力以及扩充功能等等,一个好 的嵌入式系统都需要事先完整的硬件规划才可以具备达到所需要的功能条件。在设计好嵌入 式系统的硬件架构之后,就要考虑到嵌入式系统的软件部分,嵌入式系统软件就像是嵌入式 系统的灵魂,掌控着所有硬件的操作模式,通过优异的操作系统以及应用程序,可以将有限 的硬件装置功能发挥到极限 个嵌入式系统开发人员首先必须要了解嵌入式系统的硬件架构,才能够在硬件所提供 的有限效率下进行相关的应用程序开发。因此,在本章节会介绍嵌入式系统的硬件组件,包 括嵌入式系统微处理器、内存以及输入输出装置等等,嵌入式系统开发人员可以从这里得到 充分的相关硬件知识,对于各项硬件组件有个基本认识,这样比较能够善用各种适合的硬件 组件,用来完成一个嵌入式系统的硬件架构。 首先我们先来介绍嵌入式系统微处理器,嵌入式系统微处理器在目前的嵌入式系统硬件 设计上占了极大的影响力,嵌入式系统开发人员必须要从琳琅满目的嵌入式系统微处理器中 选择一个最适当的微处理器产品做为嵌入式系统控制核心,才能够兼具低成本以及高效率的 产品优势 22嵌入式系统微处理器的发展 嵌入式系统微处理器出现过许许多多的产品,有一些产品在过去很流行,但是随着时代 的变迁,有许多产品已经被更先进的产品所取代,不过,还是有很多的早期嵌入式系统微处 理器至今还被许多的嵌入式系统作为控制核心的微处理器,这代表着该项产品的成功性,可 以历经十几二十年,仍然被嵌入式系统开发产商青睐。 如今,在市场的占有率来看,1999年时全球市场对于嵌入式微处理器的需求为50亿 其中8位的产品即占了一半左右的市场,其次是16位及32位的产品,而4位的产品及64 位的产品市场占有率最低,尤其在本地的嵌入式系统,还有许多是采用8位的嵌入式系统微 处理器作为控制核心部分。 嵌入式系统微处理器依照发展的顺序看来,依序出现各种不同位数架构的产品,从具备
第2童妹A式S0C硬件系统概论29 单纯的中央处理器架构产品,有4位、8似、16位、32位到64位的微处理器,到目前很流 行的整合型微处理器,例如整合网络、多媒体资料编码解码、屏幕控制驱动及输入输出接冂 控制等等。这些多元化的嵌入式系统微处理器,为底入式系统产品的开发提供了许多的选择 性与功能性,下面的文章屮我们将会先提到一些具代表性的微处理器发展历史,计读者对于 整个嵌入式系统微处理器有个通盘的认识与了解 所谓的嵌入式系统微处理器在初期大概可以分成两种,种是微处理器内部仅包含单纯 的中央处理器单元,称为…般用途型微处理器,另·种是将中央处理器、ROM、RAM及LO 等装置做到同一个芯片上,这种微处理器称为单片机控制器( Single Chip Microcontroller) 我们以微处理器在单·指令内所能处理的位数来做嵌入式系统微处理器的分类,如表 所示,位数是取决于处理资料的宽度,在嵌入式系统中,单片机型的嵌入式系统微处理器比 较常见,不过-般性微处理器在嵌入式系统的应用也是很广泛,所以我们在这惧会并介绍。 表2-1以位数来对嵌入式系统微处理器做分类 16位 32位 嵌入式微处理器t单 I(KX) 80969768200 MIPS 64 Bits RISC Cor 片机型 COPS 8051/52 MIPS 32Bits RISC 680lA0405Z8 嵌入式微姓理器(40404080856800280 808680286 Pentium II/Il 般用途甲 65026802 80l86Z800 各种不同位嵌入式系统微处理器的应用层面也有很明显的区分,越端的嵌入式系统微 处理器,主翌资枓处理的运算效率及其氽附加价值也就趑高。 日前比较初级的嵌入式系统微处理器仍然是以8位的微处理器为上,各种不同位的微处 理器应用分类请见表2-2: 表22各种不同等级的嵌入式系统微处理器应用 嵌入式系统微处理器 应用产品 4付微处器 儿、逦控器、相机、电訢、CD随身听,防盜器、J町机、玩!、充电器 各忡简易计最长 8位微处理器 达探制器、电愧游戏机、空调,电華琵示器、化真机、}时机。家电坩 七活承机等 16位微处P器 下机、掇像机.求像机、各式彩媒体应用等 32位微处理器 制解调器、芧上型电脑、路山器、I作站、激光打印机、彩色传真扎 玛机、卫!定位系统、网络家电筲 6你微处理器 珩級1作站、新型电倪游戏机、多媒体应用等 221四位以及八位嵌入式系统微处理器 嵌入式系统微处理器的市场上,最早出现的产品是4的微处理器,这种微处理器可以 用在电子玩具产品及些简单的电了设备,这些应用的产品只需要简单的指令集及低速的运 算能力就可以完成预定的工作,4位的入式微处理器有比较小的ALU,少量的寄存器及内 存,简单的指令集架构,在制造芯片的成本上低于其他高级的产品,所以早期出现的4位产 品目前仍可以在些地了产品中看到 4位的嵌入式系统微处理器道常可分为8位的指令内存及分开的4位指令集,因为在指 令集的编码方面,需要有8位的指令内存才能够在一个读取周期中撷取到一个完整的指令
30入式系统开发圣经 采用4位的指令集可以应付简单的二进制或是十进制的应用。目前市画上有一些4位的嵌入 式微处理器产品是针对LCD或是CRT显示器所设计,作为驱动的装置。 美国的ntel公司所推出的4004微处理器芯片是Inte公司第一个商用的四位微处理器 这是使用了4个 PMOS LSI〔大型集成电路 Large-Scale Integration)的微处理器,属于4位的 微处理器,也就是说4004一次只能处理4个位的资料,随着IC制程的不断改进,所能制造 出的微处理器芯片中的密度也就跟着增加,芯片中的密度跟微处理器一次所能处理的字符成 正比,所以随着年代的增加,微处理器一次所能处理的字符数也就跟着增加。 德州仪器公司所发展的TMSl000是德州仪器公司第一个商用的4位嵌入式系统微处理 器,它是以PMOS的方式制作完成,有1024字节的ROM,64个4位字组的RAM,一个简 单的CPU及一个4位的输入接口及19个输出位,它只能处理内部内存中的程序代码,无法 外加外部内存,后来有些延续性的产品是以CMOS制作 TMS1o的设计满成功的,因为它在当时芯片尺寸及内部复杂度的限制下,将可用的硅 芯片面积很妥善利用,所以把生产的成本押到很低,它的售价优势造成这个产品流行了好一 阵子 National Semiconductor的COP( Controller Oriented Processors)系列在一开始的时候是4 位的嵌入式系统微处理器,它针对不同的控制应用及脉冲,推出了很多种不同的版本,它的 制造有NMOS及CMOS两种,内存大小由512字节到4K字节的ROM,32到256个4字节 的RAM,并且提供外部总线可以连接到外部的 EPROM。COP提供了很有弹性的产品规格, 可以允许应用厂商针对所要发展的产品做生产成本的最佳化规划。 8位的嵌入式系统微处理器,首推1973年时ntel公司所发展的8080微处理器芯片,随 后各大厂商也陆续推出8位的微处理器,如 Zilog公司的Z80、 National半导体公司的NSC800 及 Intel公司的8085等等 传统的8位微处理器内部是不含内存、输入输出接口装置及一些外围内嵌装置,这些微 处理器单纯只是作为数据运算之用,因为内部不含有特殊用途时所使用到的装置,所以应用 在一些特殊用途的电子装置时,单纯的微处理器拥有较佳的扩充弹性与低廉的成本 大部分的8位微处理器有8位的数据总线及16位的地址总线,其中16位的地址总线能 够存取64K字节的地址,而8位的数据总线可以通过多重内存存取的方式来处理更多的资料。 最早期出现的商用8位微处理器是Inel公司依据以往的产品4004微处理器为基础,加 以改良开发,在1972年的四月推出808微处理器,这个微处理器内部所含的逻辑电路功能 不太足够,通常需要额外加上一些辅助的逻辑电路帮助进行数据运算及处理,并且它的执行 速度很慢,最高工作频率只达到200KHz,换算为006MPS,内部只有3500个电晶体,所 以8008推出时,并没有获得很大的回响。 一直到了 Intel公司在1974年的四月所推出的8080微处理器时,这个8位的微处理器架 构才算是比较成熟的产品,它的工作频率最高可以达到MHz,相当于064MIPS,内部含有 600个电晶体,可以额外控制64K字节的外部内存,执行的效率相当于8008微处理器的十 倍。8080微处理器健全指令集架构及快速的运算效率,使得许多的电子产品厂商趋之若鹜, 8080在当时很被广泛的应用。 在ntel公司8080出现的同时, Motorola公司也推出了一个非常著名的微处理器,就是 Motorola6800,6800拥有跟8080不同的架构,它也是个8位的微处理器,它的优越性能吸
第2章姚入式SOC硬伴系统概论31 引许多的开发厂商使用它来作为电子产品的控制核心。 Motorola公司依据6800微处理器的架构,开发出6802微处理器,这个微处理器仍是个 8位的微处理器,其他还有许多6800家族的新产品被开发出来,比如说当时很先进的6809 微处理器,还有6801微处理器:除此之外, MOS Technology公司所开发的6502微处理器, 是由 Synertek及 Rockwell公司所生产制造,是依据6800架构所开发出来的,6502微处理器 的价格极低,在推出当时,造成一阵很大的旋风,有许多的电子产品都用6502微处理器作 为控制核心,例如游戏机及Aple的个人电脑等等。这些6800家族的微处理器有些应用软件 不能兼容,这个缺点造成厂商在开发相关产品土比较吃力,因此 Intel公司的8080系列产品 就显得比较占上优势。 Intel公司的8085微处理器在1976年的三月时推出,是依据8080做处理器的架构所开 发出来的,它是将原本8080微处理器所需要基本控制芯片浓缩在同一个微处理器芯片之中, 也就是将8080微处理器芯片、8224计时驱动器芯片及8228系统控制器芯片通通做在8080 微处理器之中,它的最高工作频率可以达到5MHz,相当于0.37MIPS的工作效率,内部有 6500个电晶体,工作的外部电压只需要5伏特 zlg公司所推出的Z80微处理器,常常可以在许多的嵌入式系统上看到,z80微处理器 主要是依据8080微处理器的架构所开发出来的,它拥有比8080还要强大的指令集,增加了 位测试、位设置、位重新设置、区块移动、搜寻及特殊输入翰出等指令。Z80微处理器有 项很不错的设计,就是在一般传统微处理器工作时,遇到中断信号,会将微处理器中寄存器 内的数据先堆栈,然后去处理所需要处理的中断任务,待中断的程序执行完毕后,再把原本 堆栈起来的数据存放到寄存器之中继续处理这些数据,这样子的中断处置方式对于微处理器 的工作效率会大打折扣。Z80微处理器提供了几个寄存器组,可以在不同的情况下选用作为 数据处理的寄存器,如此,便不需要将正在动作的寄存器中数据堆栈,只要直接将要处理的 动作转换到要处理的寄存器,就可以直接处理中断所需要的动作,省却了堆栈的动作,可以 大幅增加数据处理的效率。除此之外,Z80可以通过一些外围装置进行许多扩充性的处理 如直接内存存取(DMA)控制器、申行输入输出控制器、并行输入输出接口及程序计数器等 等,借由这些扩充装置的设置,可以很轻易地处理许多扩充的特殊功能,如中断信号的处理 等等。ziog公司延续z8的家族,推出-系列的Z8家族产品,有许多都是为符合厂商的众 多需求而设计,其中的Z86108嵌入式系统微处理器,就是一个低成本的8位嵌入式系统微 处理器,它有14条输入输出端,6个中断来源,两个可程序化计数器,具低功耗特性,很适 合一些小型的嵌入式系统应用作为控制核心 Motorola公司所推出的6800系列微处理器使用比较少的寄存器,微处理器中只有三个 寄存器,个是16位的索引寄存器,其他两个是累积器,6800微处理器主要是能将运算的 数据有效地存放在主内存中,所以并不需要很多的内部寄存器来作为数据的存放之用。 Motorola公司继6800及6802微处理器之后,推出了6809徽处理器,它有着与6800差不多 的架构,但是他们的软件却不兼容,不过在开发的环境上, Motorola公司提供了与6800系 列兼容的程序语言码,也就是说开发人员可以使用与6800微处理器相同源代码,经过为6809 所设计的程序编译器编译之后,该软件就可以在6809微处理器上执行。6809微处理器的指 令集很复杂,可以通过高级语言编详器编译很有效率的目的码,它拥有整数乘法运算指令 多种不同的寻址模式