跳转到内容

嵌入式系统/复杂系统与微处理器

维基教科书,自由的教学读本

什么是嵌入式计算系统呢?宽泛地定义下,嵌入式计算系统是任何包含可编程计算机(但计算机本身不是用作主要目的的)的设备。PC或者IBM大型机不能够称为嵌入式计算系统,尽管PC等通用计算机经常被用来搭建嵌入式计算系统。PC或者大型机的主要目的就是计算机本身,而当PC被嵌入到数控车床等设备当中时,计算机就不再是根本目的。而一个传真机或者打印机,甚至简单的数显式手表,都是嵌入式计算系统——它们包含简单的微处理器,但计算机本身不是主要目的,它们的主要目的是发送接收传真、打印文件、显示时间。

这就意味着,嵌入式计算系统设计是一项非常实用的产品设计技能。汽车,手机,甚至家用电器都广泛使用微处理器。在各种领域的设计师,必须能够识别微处理器可以应用到哪里,设计具有输入输出设备的硬件平台以支持需要完成的任务,设计执行特定任务的程序软件。计算机工程学(Computer engineering),就像机械设计(Mechanical design)或者热力学(Thermodynamics),是一个可以应用在很多不同领域的基本原则。然而,嵌入式计算系统并不是独立存在的。在嵌入式系统设计中,很多遇到的挑战(Challenges encountered)并不是计算机工程学问题,而是机械设计问题或者模拟电路问题。在这本书中,我们首先对嵌入式计算机本身感兴趣,所以我们将集中精力在最终产品中完成指定功能的硬件和软件上。

嵌入式计算机Embedding Computers

[编辑]

在计算机发展的早期,计算机就被嵌入到各种应用设备(Application)中。其中一个例子就是“旋风”(The Whirlwind),一台由MIT设计的可以支持实时操作(Real-time Operation)的计算机。它最初被设想为一个控制模拟飞行器的装置。尽管它体型巨大,包含了超过4000枚真空管(Vacuum Tube)。

微处理器是一个单片CPU(Single-chip CPU)。超大规模集成电路(Very Large Scale Integration,VLSI)在二十世纪七十年代诞生,使得我们能够将一个CPU的成千上万的元件集成在一块小小的芯片上。但早期的微处理器都比较简单。第一个微处理器是Intel 4004,它是为计算器设计的。这种计算机并不是普遍意义的计算机——它仅仅提供了基本的算数功能。

当时嵌入式系统的应用并不多,然而Intel的Ted Hoff却意识到:只要编程得当,通用计算机也能够满足嵌入式系统的功能要求;单片机(computer-one-a-chip)就能够不断被应用到其他产品当中去。这种思路,为Intel带来了巨大的市场。

尽管集成电路(尤其是超大规模集成电路)的设计是一项非常耗费资金和时间的过程,却带来了重大的突破:设计可以重用,你只需改变软件,而不必重新设计硬件。惠普公司生产的HP-35是第一个手持计算器,小巧而功能卓越。它是1972年产的,因此使用多个芯片实现CPU而非单片。但是,这种计算器依靠编写程序来实现数学功能,而非设计电路来执行操作,造就了它的成功。(通常,人们会专门设计计算三角函数的数字电路,为了实现积分,又要设计另外功能的电路……一旦设计完成,功能便无法改变)

单片CPU问世不久之后,汽车设计师就开始利用微处理器了。微处理器在汽车中最终要且最复杂的用途是控制发动机:决定火花塞何时点火,控制燃料和空气的混合等等。在汽车领域,电子设备替代传统的机械装置成为了一种趋势。但推动微处理器控制引擎的是两个几乎同时产生的因素:二十世纪七十年代爆发的石油危机导致消费者要花费更多的钱在燃油上;汽车带来的污染使得法律开始限制汽车发动机的排放量。两个条件加起来是非常难达到的。为了达到这个目的,而又不降低发动机的性能,汽车生产商意识到:必须使用精细而复杂的算法,而这种算法只能由微处理器实现。

微处理器可分为不同复杂等级,它们通常被以字长(word size)分类。8位微控制器是为低功耗产品设计的,它包含存储,并且具备I/O端口。常见的8位微控制器Intel的x51系列及Atmel的AVR系列。在中国大陆,它们通常被称为“单片机”,很形象。16位微控制器经常被应用到更为复杂的产品中,这些产品需要更复杂的计算、更快的速度、以及更多的I/O端口。32位精简指令集计算机提供更高的计算能力,以支持极其复杂的设备。广泛使用的32位精简指令集微处理器有ARM等。中国的龙芯也被应用到嵌入式系统当中,是目前中国自主设计的唯一获得成功的微处理器,也是世界上唯一的“开放处理器”——公开所有处理器设计。

考虑到有如此多种类的微处理器可以选择,微处理器如此广泛地被使用也就不奇怪了。微处理器家庭用途有很多。典型的微波炉拥有至少一个处理器来控制微波工作。一些房屋有高级恒温系统,使得一天中室内温度总保持适宜,这需要微处理器来控制。现代数码相机是一个很重要的例子,它展示了微处理器可以带来的强大功能:你只需要按下快门,其他的工作由微处理器完成。

数字电视广泛应用了嵌入式微处理器。特殊的CPU被设计用来执行特殊的重要算法——比如被设计为音频信号处理的CPU能够高效地执行特定程序,将数字音频信息解码转换为电压信号,输送到音箱设备。采用可编程CPU而非硬件集合出自两个原因:首先,它使得系统更加容易设计、调试;其次,它使得产品可以升级,同时CPU还可以用于其他功能。

高端的汽车可能有数百个微处理器,甚至现在廉价的汽车也有四十多枚微处理器。一些处理器只完成非常简单的工作比如检查安全带是否系牢。另一些则用于非常重要的任务,比如控制点火和制动。