引言
嵌入式系统是将应用程序和操作系统与计算机硬件集成在一起的系统,它以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。这种系统具有软件代码小,高度自动化,响应速度快等特点,特别适合于要求实时的和多任务的体系。嵌入式设备是指应用了嵌入式系统的计算机设备。从某种意义上来讲确实是大型计算设备的一个微缩,这一微缩肯定多少会带来相对性能上的减弱。但正是这一体积的微缩带给人们的方便却是无法比拟的。拥有嵌入式设备,人们可以随时随地的阅览电子书籍,预定机票,在任何一个陌生的城市都不会丢失,甚至可以在最短的时间内看到任何一部想看到的电影。
关于嵌入式设备的软件开发2001年IT产业生产20亿台微型计算机。其中,95%将用于嵌入设备用途。因此,与其以每年上市的1亿5000万台网络化计算机为研究对象,倒不如加大力度推进80亿台嵌入设备的网络化、将注意力放在制造与之相适应的软件上来。美国英特尔公司研究部门的领导人 DavidTennenhouse在旧金山召开的CompuTIngConTInuumConference会议上这样说道"有关计算机的研究,比起1亿 5000万台计算机,更应该加大8亿台嵌入微处理器设备的网络化"。构筑无论何时何地都可与网络连接的环境以及开发适应型软件已成为当务之急。在仔细考察了国外嵌入式设备软件现状和国内的市场潜力后,嵌入式设备软件将在国内掀起一场软件革命!
1 嵌入式处理器技术
嵌入式系统的核心是嵌入式微处理器。嵌入式处理器是用于在计算机之外的设备中提供添加的功能性的计算机芯片,它经常用于控制和监控领域。
椐世界半导体贸易统计数据蓝皮书中的审计报告显示, 从单位销售额角度看,象Intel公司的PenTIum系统、Advanced Micro Devices公司的Athlon以及IBM和Motorola公司的PowerPC等处理器的市场份额只占世界市场的6%,余下的94%,即50亿片芯片为嵌入式微处理器。据估计,平均每个美国家庭拥有大约60片内嵌式处理器。 一些嵌入式处理器是由桌面市场中传下来的东西,即使对于今天的PC已经过时,但对于处理功能要求较低的任务却绰绰有余的芯片。过去驱动象TRS-80 、Apple II和Commodore 64这类早期PC的Z80和6502处理器现在仍是非常畅销的产品。 甚至最低级的4位处理器的销售量也远远超过象PenTIum这类32位处理器。老式的处理器也没有淡出江湖:它们只是变为嵌入式了。 因此,嵌入式微处理器市场异乎寻常的广阔。在PC市场的任何时刻,微处理器之间性能差距只有约3比1,目前速度最快的芯片以1GHz速度运行,而最慢的最常用的芯片的速度为333MHz。与此相比,仅就32位嵌入式微处理器来说,其性能范围为500比1。如果你在4位和8位嵌入式处理器中进行比较的话,性能范围为几千比一。
随着这类处理器体积越变越小,价格越来越便宜,功能越来越强大,它们将进入到更多的设备和产品中。现在,它们已经存在于会唱歌的贺卡和测量行程的运动鞋中。最终,由于毫微米技术的出现,它们将变得象原子那样普通,并且几乎象原子那样小。
嵌入式系统的广泛应用正是嵌入式微处理器具备以下4个特点:
①对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。②具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。③可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。④嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
1.1 嵌入式处理器的种类
目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列,其中8051体系的占有多半。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64KB到16-32MB,处理速度从0.1MIPS到 2000MIPS,常用封装从8个引脚到144个引脚。根据其现状,嵌入式计算机可以分成下面几类:
① 嵌入式微处理器(Embedded Microprocessor Unit, EMPU)
嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、 PC104 等。近年来,德国、日本的一些公司又开发出了类似“火柴盒”式名片大小的嵌入式计算机系列OEM产品。
嵌入式微处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。
② 嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成 ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、 EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。
和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。
嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、 C166/167、MC68HC05/11/12/16、68300等。另外还有许多半通用系列如:支持USB接口的MCU8XC930/931、 C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。特别值得注意的是近年来提供X86微处理器的著名厂商AMD公司,将Am186CC/CH/CU等嵌入式处理器称之为Microcontroller, MOTOROLA公司把以Power PC为基础的PPC505和PPC555亦列入单片机行列。TI公司亦将其TMS320C2XXX系列DSP做为MCU进行推广。
③ 嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)
DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正在从通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两个发展来源,一是DSP处理器经过单片化、EMC改造、增加片上外设成为嵌入式DSP处理器,TI的TMS320C2000/C5000 等属于此范畴;二是在通用单片机或SOC中增加DSP协处理器,例如Intel的MCS-296和Siemens的TriCore。推动嵌入式DSP处理器发展的另一个因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。
嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。 TMS320系列处理器包括用于控制的C2000系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为 DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器。另外PHILIPS公司今年也推出了基于可重置度胧? SP结构低成本、低功耗技术上制造的 R. E. A. L DSP 处理器,特点是具备双 Harvard结构和双乘/累加单元,应用目标是大批量消费类产品。
④ 嵌入式片上系统(System On Chip)
随着EDI的推广和VLSI设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的 VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。
SOC可以分为通用和专用两类。通用系列包括Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和 Motorola联合研制的Neuron芯片等。专用SOC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的 SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面。
1.2 嵌入式处理器分类的变迁
国际上公认的通用嵌入式处理器有三大类:MCU、DSP和MPU(Micro-Processor Unit)。TI公司曾把处理器比作汽车,有个生动的比喻:DSP是跑车,追求的是速度;MPU是轿车,追求的是经济性与速度的折中;MCU是满足特殊用途的车。
现在,随着处理速度的要求越来越高,同时处理的数据更加复杂,出现了双核与多核处理器,通常为DSP+RISC芯核,如Infineon公司的 TriCore(CISC+RISC+DSP),Philips公司的Trimedia。随着一些大量应用市场的崛起,又出现了一些新名词,例如用于网络、通信设备上的通信处理器(2000年左右兴起),数码相机、数码录像机等视频、音频流所需的媒体处理器(2003年兴起),智能手机上的应用处理器(2004年兴起)。
由于一些处理器不仅要有速度,还要有控制功能,又出现了DSP与MCU的结合品,主攻电机控制市场。如Freescale公司的DSP利用了其在MCU控制方面的技术;Microchip 2004年2月也推出了这种产品,称为DSC(Digital Signal Controller)。
处理器IP(知识产权):
为了满足多芯核与SoC设计的需要,还有一些厂家专门供应处理器芯核的IP厂商,芯核主要有16位、32位、64位,有软核与硬核。值得一提的是,世界上最成功的IP厂商是做处理器芯核公司--ARM公司,至今年6月付运量已达20亿个,可见处理器行业的博大。多芯核市场发展潜力广阔,在 2004年2月美国的Electronic Summit 2004上,做64位RISC IP的Tensilica公司总裁Chris Rowen博士说,未来十年,一块芯片中需要上千个处理器芯核,每秒要完成1012运算。
2 嵌入式处理器芯片的开发
2.1 嵌入式处理器芯片的一般开发过程
尽管有几千种现成的芯片可供选择,但是许多产品的设计者需要一些与众不同的特性。因此,他们开发自己的嵌入式芯片,即所谓的专用集成电路。
一位设计人员开始时需要从一家公司取得嵌入式微处理器的内核的授权,然后添加他自己应用特有的特性。例如,对于数字照相机处理器来说,他可能为这种电荷耦合设备的芯片添加一个控制器。又比如,对于具有Internet功能的家电处理器来说,可以添加一个Ethernet接口。 这位设计者然后将他的设计交给“铸造厂”,即一家拥有“工厂”(芯片制造厂)的公司,并将部分制造量出售给其他公司。主要的制造厂有United Microelectronics公司、台湾的TSMC公司和美国的IBM Microelectronics公司。
对于一些设计者来说,甚至这种灵活性还不够用。他们可以找到某些公司,这些公司拥有可高度定制嵌入式微处理器内核的许可证。利用这类内核,可以开发出用于特殊目的的新机器级指令。 对于数字相机处理器而言,一条提高JPEG 图像压缩的指令具有很高的价值。 对于MP3音乐播放器来说,一条加速音频解压缩的指令具有同样的用处。然后, 定制的设计被交给“铸造厂”进行生产 和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用对处理器的选择面前更具有竞争力。嵌入式处理器要针对用户的具体需求,对芯片配置进行裁剪和添加才能达到理想的性能;但同时还受用户订货量的制约。因此不同的处理器面向的用户是不一样的,可能是一般用户,行业用户或单一用户。
嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8-10年的时间。一个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器。
2.2 基于嵌入式处理器的嵌入式系统的开发工具
嵌入式处理器是一个复杂的高技术系统,要在短时间内掌握并开发出所有功能是很不容易的,而市场竞争则要求产品能够快速上市,这一矛盾要求嵌入式处理器能够有容易掌握和使用的开发工具平台。提高用户和程序员的时间--投入回报率。面对成百上千种处理器,选择是一个问题,学习掌握处理器结构及其应用更需要时间,因此以开发工具和技术咨询为基础的整体解决方案是迫切需要的。好的开发工具除能够开发出处理器的全部功能以外,还应当是对用户友好的。
目前嵌入式系统的开发工具平台主要包括下面几类:
① 实时在线仿真系统ICE(In-CircuitEmulator)
在计算机辅助设计非常发达的今天,实时在线仿真系统(ICE)仍是进行嵌入式应用系统调试最有效的开发工具。ICE首先可以通过实际执行,对应用程序进行原理性检验,排除人的思维难以发现的设计逻辑错误。ICE的另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬件干扰等引起的异常执行行为。此外,高级的ICE带有完善的跟踪功能,可以将应用系统的实际状态变化、微控制器对状态变化的反应、以及应用系统
对控制的响应等以一种录像的方式连续记录下来,以供分析,在分析中优化控制过程。很多机电系统难以建立一个精确有效的数字模型,或是建立模型需要大量人力,这时采用ICE的跟踪功能对系统进行记录和分析是一个快而有效的方法。
嵌入式应用的特点是和现实世界中的硬件系统有关,存在各种异变和事先未知的变化,这就给微控制器的指令执行带来了各种不确定性,这种不确定性只有通过ICE的实时在线仿真器才能发现,特别是在分析可靠性时要在同样条件下多次仿真,以发现偶然出现的错误。
ICE不仅是软件硬件排错工具,同时也是提高和优化系统性能指标的工具。高档ICE工具(如美国NOHAU公司的产品)是可根据用户投资裁剪功能的系统, 亦可根据需要选择配置各种档次的实时逻辑跟踪器(Trace)、实时映象存储器(Shadow RAM)及程序效率实时分析功能(PPA)。
② 高级语言编译器(Compiler Tools)
C语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程的工作效率,充分发挥出嵌入式处理器日益提高的性能,缩短产品进入市场时间。另外,C语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程序易于在不同的开发者之间进行交流,从而促进了嵌入式系统开发的产业化。
区别于一般计算机中的C语言编译器,嵌入式系统中的C语言编译器要专门进行优化,以提高编译效率。优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。编译效率的不同,是区别嵌入式系统C编译器之间性能差别的重要根据之一。而C编译器残余的5-10%效率差别,完全可以由现代微控制器的高速度、大存储器空间以及产品提前进入市场来弥补。
新型的微控制器指令速度不断提高,存储器空间也相应加大,已经达到甚至超过了目前的通用计算机中的微处理器,为嵌入式系统工程采用过去一直不敢问津的C+ +语言创造了条件。C++语言强大的类、继承等功能更便于实现复杂的程序功能。但是C++语言为了支持复杂的语法,在代码生成效率方面不免有所下降。为此,1995年初在日本成立的Embedded C++技术委员会经过几年的研究,针对嵌入式应用制订了减小代码尺寸的EC++标准。EC++保留了C++的主要优点,提供对C++的向上兼容性,并满足嵌入式系统设计的一些特殊要求。在嵌入式高级语言编译器方面处于领先地位的Tasking公司,是EC++技术委员会成员之一,也是最先推出EC++产品的公司。
C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件和相应的指令集汇编。
另一种高级语言JAVA的发展则具有戏剧性。JAVA本来是为设备独立的嵌入式系统设计的、为了提高程序继承性的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要比嵌入式C编译工具差10倍以上。因此EC++很可能在未来的一段时间内仍是嵌入式系统的主流。
③ 源程序模拟器(Simulator)
源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和PC,通过软件手段模拟执行某种嵌入式处理器内核编写的源程序测试工具。简单的模拟器可以通过指令解释方式逐条执行源程序,分配虚拟存储空间和外设,供程序员检查;高级的模拟器可以利用计算机的外部接口模拟出处理器的I/O电气信号。不同档次和功能模拟器工具价格差距巨大。模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程序检验和测试工具。但值得注意的是, 模拟器毕竟是以一种处理器模拟另一种处理器的运行,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有相当的差别。另外它无法和ICE一样,仿真嵌入式系统在应用系统中的实际执行情况。
3 结束语
嵌入式系统是将计算机直接嵌入到应用系统中,是信息技术的最终产品。嵌入式系统的核心就是嵌入式处理器。嵌入式系统是信息产业走向二十一世纪知识经济时代的最重要的经济增长点之一,这是一个不可垄断的工业,对中国的信息产业来说充满了机遇和挑战。世界这么广大,充满了多样化,尤其是我们已经进入到后PC时代--无所不在的计算(nomadic computing)使嵌入式处理器将遍及我们能够想象得到的各个角落,因此,每种处理器都有存在的理由,都有可伸展的方向。这一点应特别引起中国信息产业界的关注。
随着我国的龙芯、北大众志、方舟、星光、汉芯等处理器芯片的问世,中国无芯的时代已经过去。“软件是大脑,芯片是心脏。”中国芯的意义不仅仅是中国有了自己的核心芯片,更重要的是中国也开始参与了世界半导体竞技场的角逐,这样更有利于我国在21世纪更加主动地、有利地、有效地分享嵌入式应用这块大蛋糕。
技术专区
- 关于嵌入式系统中的处理器技术以及四大特点详解
- NI发布最新PXI和PCI接口
- Linux系统开机和启动过程
- DC/DC电源转换器设计原理介绍
- 怎样在迅为iTOP-iMX6开发板 Qt4.7系统中移植