1.2.2 嵌入式系统的发展简史
1.嵌入式系统的由来
通俗地说,计算机是因科学家需要一个高速的计算工具而产生的。直到20世纪70年代,电子计算机在数字计算、逻辑推理及信息处理等方面表现出非凡的能力。而在通信、测控与数据传输等领域,人们对计算机技术给予了更大的期待。这些领域的应用与单纯的高速计算要求不同,主要表现在:直接面向控制对象;嵌入具体的应用产品中,而非以计算机的面貌出现;能在现场连续可靠地运行;体积小,应用灵活;突出控制功能,特别是对外部信息的捕捉与丰富的输入/输出功能等。由此可以看出,满足这些要求的计算机与满足高速数值计算的计算机是不同的。因此,一种称之为微控制器(单片机)[3]的技术得以产生并发展。为了区分这两种计算机类型,通常把满足海量高速数值计算的计算机称为通用计算机系统,而把嵌入实际应用系统中,实现嵌入式应用的计算机称为嵌入式计算机系统,简称嵌入式系统。可以说,是通信、测控与数据传输等领域对计算机技术的需求催生了嵌入式系统的产生。
2.嵌入式系统的发展
1946年,世界上第一台电子数字积分计算机(The Electronic Numerical Integrator And Calculator,ENIAC)诞生。它由美国宾夕法尼亚大学莫尔电工学院制造,重达30t,总体积约90m3,占地170m2,耗电140kW·h,运算速度为5000次/s加法,标志着计算机时代开始。其最重要的部件是中央处理器(Central Processing Unit,CPU),它是一台计算机的运算和控制核心。CPU的主要功能是解释指令和处理数据,其内部含有运算逻辑部件,即算术逻辑运算单元(Arithmetic Logic Unit,ALU)、寄存器部件和控制部件等。
1971年,Intel公司推出了单芯片4004微处理器(Micro-Processor Unit,MPU),它是世界上第一个商用微处理器,Busicom公司就是用它制作电子计算器的,这就是嵌入式计算机的雏形。1976年,Intel公司又推出了MCS-48单片机(Single Chip Microcomputer,SCM),这个内部含有1KB只读存储器(Read Only Memory,ROM)、64B随机存取存储器(Random Access Memory,RAM)的简单芯片成为世界上第一个单片机,开创了将ROM、RAM、定时器、并行口、串行口及其他各种功能模块等CPU外部资源,与CPU一起集成到一个硅片上生产的时代。1980年,Intel公司对MCS-48单片机进行了完善,推出了8位MCS-51单片机,并获得巨大成功,开启了嵌入式系统的单片机应用模式。至今,MCS-51单片机仍有较多应用。这类系统大部分应用于一些简单、专业性强的工业控制系统中,早期主要使用汇编语言编程,后来大部分使用C语言编程,一般没有操作系统的支持。
20世纪80年代,市场上逐步出现了16位、32位微控制器(Micro-Controller Unit,MCU)。1984年,Intel公司推出了16位8096系列,并将其称为嵌入式微控制器,这可能是“嵌入式”一词第一次在微处理机领域出现。这个时期,Motorola、Intel、TI、NXP、Atmel、Microchip、Hitachi、Philips、ST等公司陆续推出了不少微控制器产品,功能不断变强,也逐步支持了实时操作系统。
20世纪90年代开始,数字信号处理器(Digital Signal Processing,DSP)、片上系统(System on Chip,SoC)得到了快速发展。嵌入式处理器扩展方式从并行总线型发展出各种串行总线,并被工业界所接受,形成了一些工业标准,如集成电路互联(Inter-Integrated Circuit,I2C)总线、串行外设接口(Serial Peripheral Interface,SPI)总线。甚至将网络协议的低两层或低三层都集中到嵌入式处理器上,如某些嵌入式处理器集成了控制器局域网(Control Area Network,CAN)接口、以太网接口。随着超大规模集成电路技术的发展,将数字信号处理器、精简指令集计算机[4]、存储器、I/O、半定制电路集成到单芯片的产品SoC中。值得一提的是,ARM微处理器的出现,促进了嵌入式系统的较快发展。
21世纪开始以来,嵌入式系统芯片制造技术快速发展,融合了以太网与无线射频技术,成为物联网(Internet of Things,IoT)的关键技术基础。嵌入式系统发展的目标应该是实现信息世界和物理世界的完全融合,构建一个可控、可信、可扩展并且安全高效的信息物理系统(Cyber-Physical System,CPS),从根本上改变人类构建工程物理系统的方式。此时的嵌入式设备不仅要具备个体智能(Computation,计算)、交流智能(Communication,通信),还要具备在交流中的影响和响应能力(Control,控制与被控),实现“智慧化”。显然,今后嵌入式系统研究要与网络和高性能计算的研究更紧密地结合。
在嵌入式系统的发展历程中,由于ARM处理器占据了嵌入式市场的最重要份额,因此本书以ARM处理器为蓝本阐述嵌入式应用,下面简要介绍ARM。
3.ARM简介
ARM(Advanced RISC Machine)既可以认为是一个公司的名称,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名称。
1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。20世纪80年代后期,ARM很快开发完成Acorn的台式机产品,形成了英国的计算机教育基础。1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited,ARM公司)。20世纪90年代,ARM的32位嵌入式RISC处理器扩展到世界各地。ARM处理器具有耗电少、功能强、16位/32位双指令集和众多合作伙伴的特点。ARM处理器占据了低功耗、低成本和高性能的嵌入式系统应用领域的重要地位。目前,采用ARM技术知识产权(Intellectual Property,IP)的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类嵌入式产品市场,基于ARM技术的微处理器的应用,约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入人们生活的各个方面。
1993年,ARM公司发布了全新的ARM7处理器核心。其中的代表产品为ARM7-TDMI,它搭载了Thumb指令集[5],是ARM公司通用32位微处理器家族的成员之一。其代码密度提升了35%,内存占用也与16位处理器相当。
2004年开始,ARM公司在经典处理器ARM11以后不再用数字命名处理器,而统一改用“Cortex”命名,并分为A、M和R三类,旨在为各种不同的市场提供服务。
ARM Cortex-A系列处理器是基于ARM v8A/v7A架构基础的处理器,面向具有高计算要求、运行丰富操作系统以及提供交互媒体和图形体验的应用领域,如智能手机、移动计算平台、超便携的上网笔记本计算机或智能笔记本计算机等。
ARM Cortex-M系列是基于ARM v7M/v6M架构基础的处理器,面向对成本和功耗敏感的MCU和终端应用,如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械等。
ARM Cortex-R系列是基于ARM v7R架构基础的处理器,面向实时系统,为具有严格的实时响应限制的嵌入式系统提供高性能计算解决方案。目标应用包括智能手机、硬盘驱动器、数字电视、医疗行业、工业控制、汽车电子等。Cortex-R处理器是专为高性能、可靠性和容错能力而设计的,其行为具有高确定性,同时保持很高的能效和成本效益。
2009年,ARM公司推出了体积更小、功耗更低和能效更高的处理器Cortex-M0。这款32位处理器问世后,打破了一系列的授权记录,成为各制造商竞相争夺的“香饽饽”,仅9个月时间,就有15家厂商与ARM公司签约。2011年,ARM公司推出了旗下首款64位架构ARM v8。2016年,ARM公司推出了Cortex-R8实时处理器,可广泛应用于智能手机、平板计算机、物联网设备等。2018年ARM公司推出一项名为integrated SIM的技术,将移动设备用户识别卡(Subscriber Identification Module,SIM)与射频模组整合到芯片,以便为物联网(IoT)应用提供更便捷的产品。
综上所述,不同嵌入式处理器,应用领域有所侧重,开发方法与知识要素也有所不同。基于此,下面介绍嵌入式系统的分类。