嵌入式系统应用开发基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 概述

1.1 什么是嵌入式系统

世界上最早的嵌入式系统(Embedded System)被认为是20世纪60年代中后期由麻省理工学院仪器实验室的Charles Stark Draper领导的研发团队为美国阿波罗登月舱所设计的专用计算机系统AGC(Apollo Guidance Computer),该计算机被镶嵌在飞船驾驶舱控制面板的中央,主要负责飞船的导航,如图1-1所示。

图1-1 最早的嵌入式系统AGC

该计算机系统是世界首台采用数字集成电路实现的计算机,共使用了4100个分离的电阻-晶体管逻辑三输入或非门集成电路。所构成的CPU字长为16位,有2048B的RAM(磁芯),36KB的ROM,存储器读写速度为11.72µs,系统功耗为50W,重32kg。

从早期的嵌入式系统可以看出,其计算机的性能指标不仅比今天几元钱人民币一片的单片机相差甚远,而且体积和功耗都非常大,价格更是难以估量,这主要是受当时集成电路工艺水平的限制。因此嵌入式系统在长时间里远离了大众的视线,仅被少数国防工业及高精尖科研制造领域的人所熟识。人们只能感叹:还有什么地方能用得起计算机?

随着集成电路工艺水平的不断进步,计算机逐渐失去了它的贵族身价,进入了百姓家庭。特别是随着微处理器性能的不断提高,体积、功耗、价格的不断降低,在一个单片计算机价格仅几元钱的时候,人们又感叹:还有什么地方用不起计算机?

今天,尽管有许多人不能够确切地指出哪些物件属于嵌入式系统,但事实上他们每天的生活和工作无时无刻不被嵌入式系统包围着:手机、MP3/MP4、数码相机、数字电视、机顶盒、DVD、复印机、传真机、商场POS机、银行ATM机、公交刷卡机等。那么到底什么是嵌入式系统呢?

1.1.1 嵌入式系统的特点

关于嵌入式系统尽管曾经有过一些定义,甚至是一些国际上的权威组织给出的。但随着嵌入式系统技术的发展,现在还要想用确切具体的技术术语为嵌入式系统下定义已经非常困难了,因为嵌入式系统的应用领域和范围实在是太大了,任何一个门类的技术都无法将嵌入式系统收罗到自己门下。如果一定要为嵌入式系统下定义,只能是借鉴目前大部分业内人士对嵌入式系统产生的共识。

目前广泛认可的一种关于嵌入式系统的定义是:嵌入式系统是嵌入到应用对象体系中的专用计算机系统。“嵌入性”、“专用性”及“软/硬件紧密结合的计算机系统”是嵌入式系统的三个基本要素。而嵌入式系统的特点则是由其应用特征、处理器特征及软件特征共同反映出来的。

1.嵌入式系统的应用特征

嵌入式系统是针对各种具体应用而开发的软/硬件紧密结合的计算机应用系统。

根据所专属的应用系统性能要求的不同,嵌入式系统具有不同的规模。大的例如空中交通管制系统,尽管它们使用大型计算机,但这些计算机都专用于机场雷达及各型机场导航管控设备的监控和管理,它们会将多个小的嵌入式系统整合成一个大系统,但它们并不具有通用性。小的嵌入式系统例如手机,它们也是“麻雀虽小,五脏俱全”,具备了计算机的主要功能部件和属性。

对于嵌入式系统应用开发技术的学习者来说,将面对的最为广泛的嵌入式系统无疑是商业及民用类产品,而这类产品大多具有的移动便携和节能环保的要求,更凸显了主流嵌入式系统的应用特征:功能强、可靠性高、体积小、功耗低、成本低。

2.嵌入式处理器的特征

嵌入式系统的核心是嵌入式处理器,它是嵌入式系统应用特征的最基本保障。嵌入式系统所采用的处理器与通用计算机内的处理器(CPU)有着很大的不同。若以X86系列CPU作为通用处理器的代表,我们会发现这些处理器是“只会思考,不会做事”,即CPU只负责程序的执行,而程序要实现的具体I/O操作都需要通过三总线交给其他外设电路去完成。而嵌入式处理器则是将CPU及众多的I/O功能集成于一身。如果将CPU比喻为人的大脑,各种外设比喻为人的四肢,则通用计算机的大脑和四肢是从外部连接在一起,而嵌入式处理器则是在内部连接在一起的。另外通用处理器主要追求的是性能,而嵌入式处理器对性能的要求是满足需要即可,更强调可靠性、功耗、体积、甚至价格等因素。因此可看出,嵌入式处理器的特征是:集CPU及众多外设接口电路于一身,且可靠性高、体积小、功耗低、价格低。

注意:Micro-computer、Micor-processor和Micro-controllor的区别。

3.嵌入式系统的软件特征

嵌入式系统的软件与通用计算机系统的软件也有诸多不同的地方。由于嵌入式系统的专用性、嵌入性、软/硬件紧密结合性及低功耗性的要求,使得嵌入式系统的软件开发具有以下与通用计算机软件系统不同的特点:

  • 软件只针对某种具体的硬件平台和具体的应用要求开发,不具有通用性;
  • 由于没有标准统一的硬件平台,就不存在诸如BIOS这类通用可共享的底层软件;
  • 软件代码量要尽可能小,代码质量要求高,通常用高效的C、C++语言或汇编开发;
  • 操作系统必须可以视具体应用的要求进行取舍(配置、剪裁),且多数采用静态编译;
  • 操作系统与应用程序联系紧密,软件与硬件的联系紧密,往往需要进行捆绑式开发;
  • 没有磁盘存储器,通常将所有软件都固化于ROM中;
  • 大多数嵌入式系统具有一定的实时性要求。

1.1.2 嵌入式系统的应用领域

嵌入式系统的广泛应用如同许多高新技术一样缘于国防军事领域,除了Apollo登月舱等项目外,最早量产化的嵌入式系统应用产品是美国1966年应用在Minuteman II导弹内的Autonetics D-17制导计算机系统,其量产化过程得益于当时将用于构造计算机的分离元件芯片四输入与门的单价由原先每片1000美元降低为3美元。

嵌入式系统首先得到广泛应用的是军事领域,例如,飞机、舰艇、坦克等各类军用载运装置的导航、运动控制、火控系统控制,雷达、电子对抗、野战指挥调度系统等军事通信设备,导弹、火炮、集束炸弹等武器的发射引爆控制,甚至单兵作战的电子装备等年。

嵌入式系统真正开始在其他领域大面积使用还是从以Intel 4004为代表的微处理器诞生后开始的。微处理器的诞生及快速发展终于使嵌入式系统走下航天、军工应用的“神坛”,步入工业、商业、交通、医疗,乃至百姓日常生活中。

嵌入式系统从军事领域步入的下一个领域是工业制造业。为了提高劳动生产率,提升产品的品质和附加值,工业领域大量采用嵌入式系统改造生产装置,增加产品的智能化。因此出现了自动化的生产流水线,各类工业机器人、数控设备、柔性中心、智能仪器仪表、基于测控网络的分布式控制系统等用于生产加工的设备和系统应运而生。各种工业产品也纷纷将计算机嵌入其内,使其具有更高的性能、更人性化的操作体验、更高的安全性,以及更丰厚的回报。目前一部汽车内嵌入的计算机数量从十几个到近百个不等。

紧跟工业制造业后大面积运用嵌入式系统技术的是商业和办公业。常用的商业设备包括银行ATM机、商场POS机、点钞机、条形码阅读机、手持刷卡缴费机、视频监控系统、银行自助服务设备等。常用的办公类设备包括复印机、打印机、传真机、扫描仪、个人数字助理(PDA)、变频空调、数字视频会议设备、数字音视频录播设备等。

通信设备是嵌入式系统的另一大应用领域,包括有线通信的程控交换机、以太网交换机、路由器、网关及接入服务器、网络终端设备、光通信与传输设备等,还有无线通信的无线路由器、移动通信基站、移动通信交换设备、各类移动通信终端、微波传输设备,以及使用数量最多的手机。

医用电子设备是嵌入式系统应用发展潜力巨大的领域,目前常见的仪器有,X光机、超声诊断仪、计算机断层成像系统、心脏起博器、监护仪、辅助诊断系统、专家系统等。

嵌入式系统应用范围最广、数量最大的市场应该算消费类电子产品。目前各种信息家电产品,如高清网络电视、三网合一机顶盒、数码相机、高清DVD、家庭影院、可视电话、家庭安防系统、智能化洗衣机、电冰箱、智能玩具等都在以前所未有的速度进入到每一个家庭。

1.1.3 嵌入式系统的应用现状

计算机后PC时代的一个主要特征就是计算机技术的触角已经深入到了人类社会及民众生活的方方面面,计算机不再是传统意义上那种价格高昂、具有统一的Win/Tel特征、正襟危放在办公桌上的个人电脑的代名词,而是活跃在可通电的几乎所有应用领域并极大提升各类产品性能的“万变精灵”。

随着现代社会信息化进程的加快,作为计算机技术专属应用统称的嵌入式技术被广泛地应用于军事、工业、通信、交通、商业、办公、医疗、家电、娱乐等社会各个方面,表现出了极强的生命力和发展速度。

每年全球嵌入式系统相关工业产值已超过1万亿美元,而中国嵌入式软件产业的发展多年来更是保持了高速的发展势头。2000年至2005年我国嵌入式系统软件市场年平均增速达38%以上,2005年中国嵌入式软件产业规模已达到1061.4亿元(2006年嵌入式系统年会数据)。另外据赛迪顾问网统计和预测的数据显示,到2011年中国嵌入式软件产业规模将达4650亿元人民币。

2007~2011年中国嵌入式软件产业市场规模统计及预测(赛迪顾问网)

目前,我国已成为世界电子产品第一制造大国,手机、微型计算机、彩电、数码相机、激光视盘机产量分别占全球的49.9%、60.9%、48.3%、80%、85%,电子信息产品贸易额占全球的15%以上。2009年,规模以上电子信息制造业实现收入51305亿元(许多产品属于嵌入式领域),同比增长0.1%。其中软件业务收入9513亿元,同比增长25.6%(据工业与信息化部2009年电子信息产业经济运行公报)。软件业务增长远远高于同行业其他产业。而软件业排名前10位的企业中有8家的主营业务是嵌入式软件,特别是位列前三的华为、中兴和海信都是嵌入式产品的领军企业。

随着我国逐步从制造大国到创造大国的转型,大量的企业都在积极探索实现转型的策略。通过将一些劳动密集型产品转化为高附加值的智能型产品是目前许多转型企业大力研究并加以实施的战略决策,而嵌入式技术在此过程中将发挥至关重要的作用。工业转型升级和技术改造的内在需求,正在成为国产工业软件发展的巨大动力。2009年中国工业软件的增长率是56.1%,远远高于其他软件行业的增长。

在我国,无论是高精尖的航空航天、军事、通信、交通、能源等领域还是大众化普及类的办公、商业、家电领域都能看到嵌入式技术的身影。特别是当前3G通信、移动计算、物联网等新兴应用需求的出现,更是给嵌入式技术带来了空前的机会和挑战。掌握了嵌入式系统开发技术也就意味着进入了一个更广阔更有发展前途的未来空间。

与传统的通用计算机行业不同,嵌入式系统是一个分散的工业,其中充满竞争、创新与机遇,因此对广大中小企业特别具有吸引力。嵌入式系统涉及广泛的应用领域,产品五花八门,因此不可能由少数大公司垄断市场,即使在其体系结构上存在着主流产品,其产品和技术也必然是高度分散的,这就为广大的中小型高技术公司留下了巨大的发展与创新空间。但另一方面由于缺乏统一规范的开发平台和工具,嵌入式应用系统的开发相比传统PC应用系统开发要困难得多。没有成熟方便的开发环境支持,就需要开发人员具备更广泛的知识面和更多的开发经验,从而给嵌入式系统开发技术带来了门槛高的“恶名”,致使目前社会对嵌入式开发人员的需求与合格嵌入式技术人才短缺的矛盾日渐突出,急需大量有志之士能够克服学习中的困难,迈过所遇到的门槛,尽快成长为嵌入式系统应用开发技术的精英人才。