1.3 嵌入式处理器
嵌入式系统是以计算机技术为基础,软件、硬件可裁剪,满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。它是一种典型的软硬件混合系统,如图1-2所示。由下向上可分为3个组成部分:硬件环境、嵌入式操作系统和应用
软件。
图1-2 系统层次图
1.3.1 嵌入式处理器的分类
硬件环境是嵌入式实时操作系统和应用程序运行的硬件平台。由于嵌入式系统是嵌入于宿主设备的计算机系统,完成宿主设备的功能要求,所以,不同的应用通常会有不同的硬件环境。嵌入式系统的核心部件是嵌入式处理器,目前,全世界的处理器品种数量已经超过1000种,流行体系结构有30多个系列。根据其发展现状,大致可以分为以下4种类型。
(1)嵌入式微处理器(EMPU)
其基础是通用计算机中的CPU。在应用中将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的功能,可以大幅度减小系统体积和功耗。嵌入式CPU在功能上和标准CPU基本一致,具有体积小、质量小、成本低、可靠性高的优点,但在电路板上必须包括ROM、RAM、总线接口和相关外设。嵌入式CPU及其存贮器、总线、外设等被安装在一块电路板上,称为单板计算机。嵌入式CPU目前主要有MIPS,ARM,PowerPC,SC-400,386EX等。
(2)嵌入式微控制器(MCU)
嵌入式微控制器是以微处理器内核为核心,内部集成EPROM、RAM、总线及其逻辑、定时计数器、WatchDog、I/O、串行口、脉宽调制输出PWM、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。MCU是目前嵌入式系统工业的主流,其最大的特点是单片化、体积小、成本低,最具代表性的有51/52,96/196,C166/167,MC68HC,M16C,XA,AVR等系列。
(3)嵌入式DSP处理器(DSP)
它对系统结构和指令进行了特殊设计,适合于执行DSP算法,编译效率高,指令执行速度很快。主要应用在数字滤波、谱分析、生物信息识别终端、实时语音压解、图像处理、网络通信、虚拟现实等高速数据处理领域。嵌入式DSP处理器主要是TexasInstrument的TMS320系列和Motorola的DSP56000系列。
(4)嵌入式片上系统(SoC)
随着EDI的推广、VLSI设计的进步及半导体工艺的迅速发展,将整个嵌入式系统或其大部分集成到一块或几块芯片中成为现实,即片上系统(SystemonChip)。它以通用CPU内核为标准库,用VHDL等语言描述。嵌入式片上系统分为通用和专用两类,通用系列包括Infineon的TriCore,Motorola的M-Core等。专用的片上系统一般用于某个或者某类系统中,不为一般用户所知,目前有Siemens的TriCore,Motorola的M-Core,英国的ARM核及产品化的C8051F等。
1.3.2 嵌入式微处理器
在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都有提高。
与工业控制计算机相比,嵌入式微处理器具有体积小、质量小、成本低、可靠性高的优点,但是在电路板上必须配置ROM、RAM、总线接口和各种外设等器件,降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。
嵌入式微处理器一般具备以下4个特点:
① 可扩展的处理器结构,能最迅速地开展出满足应用的最高性能的嵌入式微处理器。
② 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
③ 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
④ 嵌入式微处理器功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此。
1.3.3 嵌入式微控制器
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用无处不在,遍及各个领域。例如,电机控制、消费类电子、游戏设备、楼宇安全与门禁控制、工业控制与自动化和白色家电等。
微控制器可从不同方面进行分类:根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和Flash闪存;根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和VonNeumann结构;根据指令结构又可分为CISC和RISC微控制器。
针对4位MCU,大部分供货商采用单生产,目前,4位MCU大部分应用在儿童玩具、充电器、温湿度计、计算器、车用防盗装置、呼叫器、无线电话、遥控器等领域;8位MCU大部分应用在变频式冷气机、传真机、来电辨识器、电表、电动玩具机、电话录音机、CRTDisplay、键盘及USB等领域;16位MCU大部分应用在数码相机、移动电话及摄录放映机等领域;32位MCU大部分应用在PDA、HPC、STB、Modem、GPS、Router、工作站、ISDN电话、激光打印机与彩色传真机领域;64位MCU大部分应用在高阶工作站、多媒体互动系统、高级电视游乐器及高级终端机等领域。
1.3.4 嵌入式DSP处理器
嵌入式DSP处理器是一种独特的微处理器,是以数字信号来处理大量信息的器件。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的计算机芯片。
DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
① 可以并行执行多个操作;
② 程序和数据空间分开,可以同时访问指令和数据;快速的中断处理和硬件I/O支持;
③ 具有在单周期内操作的多个硬件地址产生器;
④ 片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
⑤ 具有低开销或无开销循环及跳转的硬件支持;
⑥ 持流水线操作,使取指、译码和执行等操作可以重叠执行。
DSP是模拟电子时代向数字电子时代前进的理论基础,而DSP是随着数字信号处理而专门设计的可编程处理器,是现代电子技术、计算机技术和信号处理技术相结合的产物。随着信息处理技术的飞速发展,DSP在电子信息、通信、软件无线电、自动控制、仪器仪表、信息家电等高科技领域得到了越来越广泛的应用。DSP不仅快速实现了各种数字信号处理算法,而且拓宽了数字信号处理的应用范围。DSP的功能将越来越强大,应用范围也将越来越广泛。
1.3.5 嵌入式片上系统
嵌入式片上系统(SoC)是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用于实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。
系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块和外部进行通信的接口模块、含有ADC/DAC的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑(可以由FPGA或ASIC实现)及微电子机械模块,更重要的是一个SoC芯片内嵌有基本软件(RDOS或COS及其他应用软件)模块或可载入的用户软件等。
系统级芯片形成或产生过程包含以下两个方面:
① 再利用逻辑面积技术使用和产能占有比例有效提高,即开发和研究IP核生成及复用技术,特别是大容量的存储模块嵌入的重复应用等;
② 基于单片集成系统的软硬件协同设计和验证。
当前芯片设计业正面临着一系列的挑战,SoC性能越来越强,规模越来越大。SoC芯片的规模一般远大于普通的ASIC。在SoC设计中,采用先进的设计与仿真验证方法成为SoC设计成功的关键。SoC技术的发展趋势是基于SoC开发平台,基于平台的设计是一种可以达到最大程度系统重用的面向集成的设计方法在关注面积、延迟、功耗的基础上,向成品率、可靠性、成本、易用性等转移,使系统级成能力快速发展。
1.3.6 选择嵌入式处理器
选择嵌入式处理器应该详细考虑以下3个重要特征。
(1)选择专用的集成化的处理器
嵌入式微处理器与通用的微处理器最大的不同就是嵌入式微处理器多数工作在用户自己设计的系统中。为了满足日益高速增长的各类嵌入式系统设计的需求,CPU厂商设计了许多兼有16/32位微处理器并集成了许多外围功能的CPU。Motorola68360是一个32位内核(CPU32+)的集成通信用CPU,除了内建的常规的DMA、DRAM控制、时钟、片选、异步串口、中断等常规微处理器功能外,它最大的特点是集成了一个通信系统,内含4路同步协议的协议通道,可以支持HDLC、T1/E1、ISDN等通信协议。
(2)选择低功耗的处理器
嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器等消费类电子产品,这些产品中选购的微处理器除了要有很高的性能外,还要有极低的功率消耗。
(3)选择高性能的处理器
如果设计是面向高性能的应用,那么建议考虑某些新的处理器,其价格极为低廉,如IBM和Motorola的PowerPC,另一种趋势就是越来越多的人在磁盘控制器、数码相机、手持电话、调制解调器等方面使用DSP。采用DSP的好处是可以大大减少系统内CPU的数目,提高效率,并使编程简单,但是毕竟DSP不能完全替代CPU的功能。