嵌入式系统概述Word文档下载推荐.docx
《嵌入式系统概述Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《嵌入式系统概述Word文档下载推荐.docx(26页珍藏版)》请在冰点文库上搜索。
所以也可以说,常规的计算机系统是面向计算(包括数值和非数值)和处理的,而嵌入式计算机则一般是面向控制的。
所谓将计算机“嵌入”到系统中,一般并不是指直接把一台通用计算机原封不动地安装到目标系统中,也不只是简单地把原有的机壳拆掉并安装到机壳中,而是指为目标系统构筑起合适的计算机系统,再把它有机地植入、甚至融入目标系统。
虽然嵌入式系统在工业、服务业、消费电子等领域的应用范围不断扩大,且已渗透到人们日常生活的方方面面,但是依然很难给它下一个明确的定义。
嵌入式系统本身是一个外延很广的名词,凡是与产品结合在一起的、具有嵌入式特点的控制系统都可以叫做嵌入式系统。
国际电工与电子工程师协会(即IEEE)曾经把嵌入式系统定义为“控制、监视或者辅助设备、机器和车间运行的装置”。
显然该定义具有突出的应用色彩,不过现在看来,似乎并未充分体现嵌入式系统现今的学术内涵。
目前国内普遍认同的嵌入式系统的定义是“嵌入式系统是将计算机嵌入到某个应用系统内的一种计算机体系结构形式”。
换言之,嵌入式系统是以应用为中心,以计算机技术为基础,软硬件能灵活变化以适应所嵌入的应用系统,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
简言之,嵌入式系统就是嵌入式计算机系统的简称。
从20世纪80年代初,嵌入式系统的研发开始用商业级“操作系统”编写嵌入式应用软件,结果使嵌入式应用的开发周期缩短、成本降低。
这些嵌入式操作系统均具有嵌入式技术的典型特点:
采用占先式的调度,响应的时间很短,任务执行的时间可以确定;
系统内核很小,且具有可剪裁性、可扩充性和可移植性,可以移植到各种型号的微处理器(单片机)上;
具有较强的实时性和可靠性,适合于嵌入式应用。
20世纪90年代以后,随着诸多应用领域对嵌入式系统实时性要求的提高,各种应用软件的规模不断扩大,又促使嵌入式系统的实时内核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步演变为目前国际上流行的嵌入式操作系统。
在嵌入式操作系统迅速发展的同时,系统芯片的制造与设计技术也在不断进步。
系统芯片就是把一个完整的最终产品的主要功能单元集成到一块或一组大规模集成电路芯片上,这是现代集成电路工艺技术——深亚微米技术迅速发展的必然结果。
系统芯片制造技术发展主要体现在硅圆片的尺寸逐渐增大,硅晶片的特征线宽逐步减小,同时芯片的集成度不断提高。
系统芯片技术的发展,使得嵌入式系统硬件进一步向微型化、高集成化发展,从而为嵌入式系统的应用开辟更为广阔的天地。
1.1.2特点
嵌入式系统既然是计算机系统,就不可避免地由三大部分构成:
CPU、内存和输入输出手段。
此外,当然还得有将这三大部分连接起来的“总线”。
这是所有计算机系统的共性,是万变不离其宗的。
但与以PC机为代表的通用计算机系统比较,嵌入式有它的特殊性,其特点概括如下。
(1)可靠性与稳定性对嵌入式系统有着特别重要的意义。
即使逻辑上的系统结构相同,在物理组成上也会有所不同。
其所使用的元器件,包括接插件、电源等的质量和可靠性要求都比较高,元器件的“平均无故障时间MTBF(MeanTimeBetweenFailure)”成为关键参数,此外允许的环境温度也是需要重点考虑的问题。
(2)嵌入式系统的软硬件均是面向特定应用对象和任务设计的,具有很强的专用性。
嵌入式系统的主要目的是控制,需要由嵌入式系统提供的功能以及面对的应用和过程都是预知的、相对固定的,而不像通用计算机那样有很大的随意性。
控制对象的精度要求一般不会超出整型数所能提供的分辨率,所以浮点运算一般没有必要。
而且由于是专用的系统,在可编程方面就不需要那么灵活。
嵌入式系统不会用于作为应用软件的环境,在嵌入式系统上通常也不会运行一些大型的软件。
所以,嵌入式系统对CPU计算能力的要求并不像通用计算机那么高。
(3)有些嵌入式系统需要长期连续运行(如电话交换机)。
在这些系统长期的运行过程中,如果某个部件损坏,是不允许将系统关闭断电后加以替换的,而必须在系统仍旧加电、继续运行的条件下加以替换。
这就是所谓“热替换(HotSwapping)”或“热插拔”,即系统还在运行的条件下将电路板插入系统的总线,或者从总线上拔下电路板。
不过,这一般是指整个模块或电路板的替换,而不是指个别元器件的替换。
还有一种类似但稍为简单一些的要求是在系统还在运行的条件下增加一个模块,称为“热插入”。
无论是热替换还是热插入,都要求硬件和软件两方面的配合。
(4)有些要求高可靠的嵌入式系统还需要采用“容错(FaultTolerance)”技术。
即系统在损坏时能自动切换到它的备份,或者对系统进行重构。
最常见也是最简单的容错技术是电源的自动切换。
一些嵌入式系统往往带有备份电源,一旦检测到电源故障就自动切换到备份电源并发出警报。
还有一种很常见的容错技术是一些数据通信设备中对链路的“自动保护切换(APS)”。
在电信系统中,最可能发生故障的“部件”就是物理的链路(例如两个城市之间的电缆),所以实践中常常以一定的比例为这些电缆配上备份,例如每3条平行的链路就配上一条作为备份。
而在两端的设备中,则各有相应的设施,使得监测到某条链路发生故障时,就很快切换到备份链路继续运行。
(5)许多嵌入式系统都有实时要求,需要有对外部事件迅速做出反应的能力。
以前,“嵌入式系统”几乎是“实时系统”的代名词,近年来出现了许多不带实时要求的嵌入式系统,这两个词的区别才又变得显著起来。
但是,即使是现在,多数嵌入式系统还是有着不同程度的实时要求。
(6)在系统组成上,因为嵌入式系统常常用于控制目的,其外设接口自然就比较多样,并且数量往往比较多。
(7)与通用计算机相比,嵌入式系统一般都不带用于大容量存储目的的外部设备,也就是不带磁盘。
而操作系统的映像和可执行程序一般都存放在只读存储器(ROM)或“闪存(FlashMemory)”中。
(8)许多嵌入式系统的人机界面也有其特殊性。
许多嵌入式系统都不提供图形人机界面,而只提供一个面向字符的控制台接口。
不过往往还带有如小型的LCD显示屏、发光二极管(LED)等辅助的显示设备,甚至报警装置。
1.1.3系统构架
嵌入式系统早期主要应用于军事及航空航天等领域,以后逐步广泛应用于工业控制、仪器仪表、汽车电子、通信和家用消费电子类等领域。
随着Internet的发展,新型的嵌入式系统正朝着信息家电IA(InformationAppliance)和3C(Computer、Communication&
Consumer)产品方向发展。
嵌入式系统采用“量体裁衣”的方式把所需的功能嵌入至各种应用系统中。
根据应用形式的不同,可有IP(IntellectualProperty)级、芯片级和模块级3级不同的体系架构。
(1)IP级的架构也就是系统级芯片SOC(SystemonChip)的形式。
把不同的IP单元,根据应用的要求集成在一块芯片上,各种嵌入式软件也可以以IP方式集成在芯片中。
(2)芯片级架构是根据各种IT产品(应用系统)的要求,选用相应的处理器(MCU、DSP、RISC及MPU等)芯片、RAM、ROM(EPROM/EEPROM/FLASH)及I/O接口芯片等组成相应的嵌入式系统;
相应的系统软件或应用软件也以固件形式固化在ROM中。
这是目前嵌入式系统最常见的形式。
(3)模块级架构是以X86处理器构成的计算机系统模块嵌入到应用系统中。
这样可充分利用目前常用PC机的通用性和便利性。
不过,此方式不但要缩小体积、增加可靠性,而且还要把操作系统OS改造为嵌入式操作系统OS,把应用软件固化在固态盘中。
此种嵌入式系统较多地出现在工业控制和仪器仪表中。
嵌入式系统由嵌入式处理器、嵌入式系统软件和嵌入式应用软件组成。
Intel公司推出的个人互联网用户架构PCA就是嵌入式系统的开发应用平台。
在PCA的通信子系统中的嵌入式处理器是基于StrongARM/XScale的处理器,PCA可以配备WindowsCE、嵌入式Linux和VxWorks等各种嵌入式OS,同时,为了便于开发各种应用软件,提供了各种组件及中间件。
1.2嵌入式系统硬件部分
嵌入式系统的广泛应用得益于电子技术的高速发展,下面讲述电子技术的发展以及最新嵌入式系统中采用的核心部件的发展历史和概况。
1.2.1集成电路的发展
当前,我们正经历着一场新的技术革命。
虽然第三次技术革命包含了新材料、新能源、生物工程、海洋工程、航空航天技术和电子信息技术等,但影响最大、渗透性最强、最具有新技术革命代表性的乃是以微电子技术为核心的电子信息技术。
信息是客观事物状态和运动特征的一种普遍形式,是继材料和能源之后的第三大资源,是人类物质文明与精神文明赖以发展的三大精神支柱之一。
目前我们正处在一场跨越时空的新的信息技术革命中,它将比历史上的任何一次技术革命对社会、经济、政治、文化等带来的冲击都更为巨大,它将改变我们的生产方式、生活方式、工作方式以及治理国家的方式。
实现社会信息化的关键是各种计算机和通讯机,但是其基础都是微电子。
1946年2月在美国莫尔学院诞生了第一台名为电子数值积分器和计算器(ElectronicNumericalIntegratorandComputer)的计算机,即ENIAC的问世。
当时的ENIAC由18000个电子管组成,占地面积150平方米,重30吨,功率为140千瓦,足以发动一辆机车。
然而这个庞然大物的运算速度只有每秒5000次,存储容量只有千位,平均稳定运行时间只有7分钟。
设想一下,这样的计算机能够进入办公室、企业和家庭吗?
所以当时曾有人认为,全世界只要有4台ENIAC就足够了,可是现在全世界的计算机不包括微机在内就有几百万台,造成这个巨大变革的技术基础就是微电子。
现在,电子信息产业已经成为世界第一产业,毫无疑义,21世纪将是信息化的世纪,因此21世纪的以微电子技术为核心的集成电路产业也必将得到高速发展。
在集成电路发展过程中,1947年发明晶体管,1958年美国德克萨斯公司制成第一块IC。
半个世纪以来,IC一直在按摩尔定律发展,即18个月集成度提高一倍,同时其成本降低一倍。
特征尺寸从3、2、1.5、1.0、0.8、0.5、0.35、0.25、0.18µ
m,计划向0.15、0.13、0.09、0.065µ
m发展。
圆片尺寸从76、100、120、150到200、300mm,计划向400、450mm发展。
目前,以美国为代表的最先进的IC发展水平是0.18µ
m,0.13µ
m已经形成,正在研究90nm技术,200mm、300mm硅圆片的量产IC技术已经成熟。
集成电路的应用范围广泛,门类繁多。
可以按照集成电路的结构类型、规模(集成度)、使用的基片材料、电路功能及应用领域等进行分门别类。
按照IC的应用性质可以将IC分为通用IC和专用IC(ASIC),下面讨论ASIC。
传统的IC设计以ASIC设计为主。
ASIC产品具有体积小、可靠性高、功耗小、仿制困难、批量生产后成本低等优点。
20世纪80年代,随着微电子技术产品制造成本的不断下降和设计自动化技术及其工具的长足发展,刺激了系统设计师自己设计专用电路的思想,以弥补MPU标准产品功能的不足和过剩的缺陷,推动了一个产品满足特定用户需求的ASIC的发展,其中特别是预测母片的掩模编程技术,大大平衡了微电子生产厂家和电子整机厂家间的不同利益,受到了普遍重视。
但是这种掩模硬编程专用电路(M-ASIC)不够方便,因此在20世纪80年代末90年代初又发展了可编程门阵等一类用户自编程专用电路(U-ASIC)。
最近十年PLD技术已经成为设计数字系统的首选技术,在很多场合PLD取代了传统意义上的ASIC芯片,“在系统编程技术”方便了用户,降低了设计成本和风险,缩短了设计周期,从而使微电子产品特性进入了一个全新的概念。
当前,ASIC和PLD技术的门数越来越多,芯片主频越来越高,两者也互相融合、优势互补,都向着SoC方向发展。
ASIC大致可以分为:
门阵列电路、标准单元电路、可编程逻辑电路和全定制电路。
其中前3类电路又被称为“半定制电路”。
一般而言,“半定制电路”采用带有基本单元的“母片”(又称“基板”),或采用标准单元库中的标准单元。
设计师所关心的只是利用这些标准单元,根据系统的要求来选择布线方案以构筑不同的系统。
当然,标准单元的意义已由早期的门、触发器,扩展到当前的微处理器、存储器等,这些规模较大的标准单元在专业上又称为“核”。
“全定制电路”则从基本单元到整个系统均由系统设计师来构筑。
所以当今的专用IC发展趋势是:
今天的电路板是明天的专用芯片。
可编程逻辑器件简称PLD,是新一代的数字器件。
它不仅具有很高的速度和可靠性,而且具有用户可重复定义的逻辑功能即具有可重复编程的特点。
因此,可编程逻辑器件使数字电路系统的设计非常灵活,并且大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。
可编程逻辑器件PLD分类框图如图1.1所示。
图1.1PLD分类框图
1.简单PLD
简单的PLD是由“与”阵列及“或”阵列组成,能有效地以“积之和”的形式实现布尔逻辑函数。
从技术实现上,输入到PLD的信号必须首先通过一个“与”阵列,在这里形成输入信号的组合。
每组相“与”的组合被称为布尔表达式的子项或PLD术语中的乘积线。
这个乘积线在第二个“或”门阵列中被相加。
简单PLD在“与”、“或”阵列的基础上有3种基本类型,可根据阵列能否编程来区分:
(1)可编程只读存储器即PROM,它的“与”阵列固定,“或”阵列可编程;
(2)可编程阵列逻辑即PAL,它的“与”阵列可编程,“或”阵列固定,GAL器件是PAL器件的增强型,内部结构相同,但可被配置成不同的功能;
(3)可编程逻辑阵列即PLA,它的“与”阵列和“或”阵列都可编程。
2.复杂PLD
复杂的可编程逻辑器件是由PAL或GAL发展而来的,基本上是扩充原始的可编程逻辑器件。
它通常是由可编程逻辑的功能块围绕一个位于中心和延时固定的可编程互联矩阵构成。
为了增加电路密度而不使性能或功耗受到损失,复杂的可编程逻辑器件在结构上引入了各种特性。
如:
引入分页系统,分页的目的在于仅使阵列的一部分在任何给定的时刻被加电;
按备份模式放置阵列,或者靠变换检测自动地控制加电,或者采用外部指令加以控制。
在实现级上,“与”阵列与“或”阵列需要用缓冲器分开,因为这些一般是倒相器。
在两个阵列中实际逻辑一般是相同的。
某些公司已经引入了折叠PLA,它仅用了一个实际阵列,但可以将乘积项反馈回阵列。
也允许在单个器件中实现多个逻辑。
目前,复杂PLD又延伸出3个分支,即可擦除可编程的逻辑器件EPLD、CPLD和现场可编程门阵列FPGA。
EPLD可擦除可编程器件分为两类:
一类是基于UVEPROM和CMOS技术的EPLD;
另一类是基于E2CMOS工艺的EEPLD。
FPGA现场可编程门阵列器件通常由布线资源围绕的可编程单元(或宏单元)构成阵列,再由可编程I/O单元围绕阵列构成整个芯片。
构成阵列的逻辑单元由布线通道中的可编程连线连接起来实现一定的逻辑功能。
一个FPGA可能包含静态存储单元,它们允许内连的模式在器件被制造以后再被加载或修改。
CPLD主要是由可编程逻辑宏单元LMC围绕中心的可编程互连矩阵单元组成。
其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。
由于CPLD内部采用固定长度的金属连线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的特点。
到20世纪90年代,CPLD发展更为迅速,不仅具有电可擦写特性,而且出现了边界扫描及在线可编程高级特性。
同时除了以LMC为基础的内部的AND、OR阵列外,外围的I/O模块扩大了其在系统中的应用范围和扩展性。
1992年Lattice公司率先推出了系统编程ISP技术,并推出isp-LSI1000系列ISP器件。
ISP指采用直接或间接方式对电子系统中的多个PLD器件进行编程或改写技术,它可以达到对器件及整个系统进行重构的目的。
其重构时间可延续到系统完成之后。
对于许多CPLD来说,修改后的逻辑不能完全符合原有的引脚输出,或已修改了关键的定时路径。
这样,为了修改逻辑,就不得不重新进行电路布线。
对于高密度CPLD器件尤其是这样。
许多厂家的CPLD在进行层次互连后,性能降低,延迟不稳定。
现场可编程门阵列FPGA,与PAL、GAL器件相比,它的优点是可以实时地对外加和内置的RAM或EPROM编程,实时地改变器件功能,实现现场可编程(基于EPROM)或在线重配置(基于RAM型)。
它是科学实验、样机研制、小批量产品生产的最佳选择器件。
FPGA通常包含3类可编程资源:
可编程逻辑功能块、可编程I/O块和可编程互连。
可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;
可编程I/O块完成芯片上逻辑与外部封装脚的接口,常围绕着阵列于芯片四周;
可编程内部互连包括各种长度的线段和编程互连开关,它们将各个可编程逻辑块或I/O连接起来,构成特定功能的电路。
不同生产厂家生产的FPGA在可编程逻辑块的规模、内部互连线的结构和采用的可编程元件上存在较大的差异。
较常见的是Xilinx和Altera公司的FPGA器件。
FPGA一般用于逻辑仿真。
电路设计师设计一个电路首先要确定电路(先可用VHDL进行行为级描述,然后做逻辑综合),然后进行软件模拟及优化,以确认所设计电路的功能及性能。
然而随着电路规模的不断加大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难直接反映出来,所以有必要做硬件仿真。
不管上述电子工艺和器件如何发展,有一个共同的目标就是:
以最快的速度、最合理的价格和最高的可靠性为用户应用提供可行的产品。
为了满足用户的需求,根据工艺和设计技术的发展,最新的研究内容包含了SoC和IP等方面的最新内容,给电子系统提供了大量可以直接使用的内核和外设芯片。
1.2.2传统微处理器(8位/16位)的更新
下面讨论一下近20年来传统微控制器的更新。
归纳而言,有以下几个方面。
1.微控制器的CPU核仍以CISC为主,但向RISC演化
在传统微控制器领域内还是以当初Intel确立的哈佛结构(程序和数据存储器分离的体系)和复杂指令集系统(CISC)为主。
只有少数厂家生产精简指令集计算机,但仍然保留了哈佛的分立存储器结构,并没有采用冯·
诺依曼的程序、数据相合并的存储结构,少数生产RISC的计算机厂家有Microchip的8位PIC12/16/17/18Fxxx控制器、Atmel的8位AVR微控制器、SCENIX的8位SX18/20/28AC和SX48/52BD微控制器。
这3个厂家都使用了快闪存储器(FLASH)存放程序。
而VautomationCo.的VUSB芯片在8位RISCMCUV8的基础上,增加了USB核,由其上的固件支撑USB的工作。
V8MCU和USB核共占10000个门。
USB核可用于主机端或设备端。
USB命令可用C语言、API以及硬件描述语言VHDL进行修改。
在不必改动硬件的条件下就可改变USB的包长和缓冲器长。
若要改动硬件,只需联系Vautomation厂家,便可通过Internet提供实现代码。
2.提升指令执行速度
提高8位机的振荡频率和减少每机器周期包含的振荡周期数都可以提高指令的执行速度。
如Philips公司把12MHz的80C51从每机器周期所包含振荡器周期数由12改为6,获得2倍速,Winbond公司由12改为3,获得4倍速。
目前,8位微控制器的频率一般可以高至33MHz~40MHz,所以,可以比较容易地从原来的1MIPS提升到10MIPS。
但是,目前指令执行速度提升到50MIPS~100MIPS的都是RISC指令的8位微控制器。
提升8位微控制器工作频率已经受到普遍的重视。
Hitachi半导体厂,1988年设计其8位H8微控制器时,设定的目标是要集成更多的外设和支持C语言,追求高性能而不以廉价为目的。
片上提供0.5MB的FLASH存储器。
最近还增加了USB和Bluetooth通信接口,也考虑生产带有Ethernet接口的芯片,还计划将通常32位机上的应用(如TCP/IP、语音识别和合成)技术下移到H8。
但是,便携式设备的屏蔽措施较少,很难通过家用电器B类FCC的条款规定,几经改进设计方法,最后才把内部噪声降下来并抑制了外部的噪声。
3.集成大容量片上FLASH存储器,实现ISP、IAP
近年来,8位微控制器竞相采用FLASH存储器已成趋势,因为它集成度高、价格便宜、技术先进,可以取代PROM、EPROM、OTP和EEPROM等。
SiliconStorageTechnology公司用SuperFlash技术生产了兼容于8051的FlashFlex51系列芯片。
其中SST89C54/58芯片内部分别具有20KB和36KB的FLASH,并利用FLASH可高速读/写的特点实现在系统中烧录程序(ISP)和在应用中烧录程序(IAP)。
ISP技术是在焊接成板级系统上,直接对微控制器进行擦除和程序烧录的先进技术。
SST的IAP技术,是从结构上将FLASH存储器映像为两个存储体,当运行在一个存储体上的用户程序时,在后台对另一个存储体实时烧录更新的程序,之后再将控制转向更新的程序上执行。
Philips兼容于8051的P89C51RC2/RD2是具有32KB/64KBFLASH的芯片,由于片上集成了1KB的引导和擦除、烧录用ROM固