目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理的定义。
从技术的角度定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语反映了这些嵌入式系统通常是更大系统中的一个完整部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。汽车控制系统如图1.1所示。
图1.1 汽车控制系统
嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上与标准微处理器基本一样,但在工作温度、抗电磁干扰、可靠性等方面一般都有各种增强。
和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机,如STD-BUS、PC104等(图1.2)。
图1.2 单板计算机
但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。现在已经较少使用。
嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。嵌入式微处理器又可分为CISC和RISC两类。大家熟悉的大多数台式PC都使用CISC微处理器,如Intel的x86。RISC结构体系有两大主流:Silicon Graphics公司(硅谷图形公司)的MIPS技术;ARM公司的Advanced RISC Machines技术,此外,Hitachi(日立公司)也有自己的一套RISC技术SuperH。
嵌入式微处理器的选型原则:
(1)调查市场上已有的CPU供应商;
(2)CPU的处理速度;
(3)技术指标;
(4)处理器的低功耗;
(5)处理器的软件支持工具;
(6)处理器是否内置调试工具;
(7)处理器供应商是否提供评估板。
选择一个嵌入式系统运行所需要的微处理器,在很多时候运算速度并不是最重要的考虑内容,有时也必须考虑微处理器制造厂商对于该微处理器的支持态度,有些嵌入式系统产品一用就是几十年,如果过了五六年之后需要维修,却已经找不到该种微处理器的话,势必全部产品都要被淘汰,所以许多专门生产嵌入式系统微处理器的厂商,都会为嵌入式系统的微处理器留下足够的库存或生产线,即使过好几年之后还可以找到相同型号的微处理器或者完全兼容的替代品。
嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中,图1.3和图1.4为嵌入式微控制器及其芯片内部图。
图1.3 嵌入式微控制器
图1.4 嵌入式微控制器芯片内部图
嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度和应用需求相匹配,功能不多不少,从而减少功耗和成本。
和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合控制,因此称微控制器。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300,以及数目众多的ARM芯片等。目前MCU占嵌入式系统约70%的市场份额。
DSP处理器对系统结构和指令进行了特殊设计,使其适合执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、频谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。
随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip(SoC)。各种通用处理器内核将作为SoC设计公司的标准库,和许多其他嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。
SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SoC,可用于公众互联网安全方面。