嵌入式系统及应用嵌入式硬件系统.ppt
嵌入式系统及应用,第二章嵌入式硬件系统基础,主要内容,嵌入式硬件系统基本组成,嵌入式微处理器,嵌入式系统总线,嵌入式存储系统,第一节嵌入式硬件系统基本组成,嵌入式系统的硬件是以嵌入式微处理器为核心,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。嵌入式微处理器 总线 存储器 输入/输出接口和设备,嵌入式微处理器,每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯诺依曼(Von Neumann)结构或哈佛(Harvard)结构,冯诺依曼结构,哈佛结构,嵌入式微处理器,传统的微处理器采用的冯诺依曼结构将指令和数据存放在同一存储空间中,统一编址,指令和数据通过同一总线访问。哈佛结构则是不同于冯诺依曼结构的一种并行体系结构,其主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐率提高了一倍。,嵌入式微处理器,嵌入式微处理器的指令系统可采用精简指令集系统RISC(Reduced Instruction Set Computer)或复杂指令集系统CISC(Complex Instruction Set Computer),嵌入式微处理器,嵌入式微处理器有许多不同的体系,即使在同一体系中也可能具有不同的时钟速度和总线数据宽度、集成不同的外部接口和设备。据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种嵌入式微处理器体系,主流的体系有ARM、MIPS、PowerPC、SH、X86等。,总线,嵌入式系统的总线一般集成在嵌入式微处理器中。从微处理器的角度来看,总线可分为片外总线(如:PCI、ISA等)和片内总线(如:AMBA、AVALON、OCP、WISHBONE等)。选择总线和选择嵌入式微处理器密切相关,总线的种类随不同的微处理器的结构而不同。,存储器,嵌入式系统的存储器包括主存和外存。大多数嵌入式系统的代码和数据都存储在处理器可直接访问的存储空间即主存中。系统上电后在主存中的代码直接运行。主存储器的特点是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存储器件。,存储器,目前有些嵌入式系统除了主存外,还有外存。外存是处理器不能直接访问的存储器,用来存放各种信息,相对主存而言具有价格低、容量大的特点。在嵌入式系统中一般不采用硬盘而采用电子盘做外存,电子盘的主要种类有NandFlash、SD(Secure Digital)卡、CompactFlash、SmartMedia、Memory Stick、MultiMediaCard、DOC(Disk On Chip)等。,输入/输出接口和设备,嵌入式系统的大多数输入/输出接口和部分设备已经集成在嵌入式微处理器中。输入/输出接口主要有中断控制器、DMA、串行和并行接口等,设备主要有定时器(Timers)、计数器(counters)、看门狗(watchdog timers)、RTC、UARTs、PWM(Pulse width modulator)、AD/DA、显示器、键盘和网络等。,第二节嵌入式微处理器,嵌入式微处理器的发展嵌入式微处理器的分类嵌入式微处理器的特点主流的嵌入式微处理器(ARM,MIPS,SH,PowerPC,x86),嵌入式微处理器的发展,嵌入式微处理器的分类,嵌入式微处理器种类繁多,按位数可分为4位、8位、16位、32位和64位。按用途来分,嵌入式微处理器可分为嵌入式DSP和通用的嵌入式微处理器两种:嵌入式DSP:专用于数字信号处理,采用哈佛结构,程序和数据分开存储,采用一系列措施保证数字信号的处理速度,如对FFT(快速傅立叶变换)的专门优化。通用的嵌入式微处理器:一般是集成了通用微处理器的核、总线、外围接口和设备的SOC芯片,有些还将DSP作为协处理器集成。,嵌入式微处理器的特点,基础是通用微处理器与通用微处理器相比的区别:体积小、重量轻、成本低、可靠性高功耗低工作温度、抗电磁干扰、可靠性等方面增强,嵌入式微处理器的特点,体系结构,指令集,性能,功耗和管理,成本,集成度,嵌入式微处理器的集成度,用于桌面和服务器的微处理器的芯片内部通常只包括CPU核心、Cache、MMU、总线接口等部分,其他附加的功能如外部接口、系统总线、外部总线和外部设备独立在其他芯片和电路内。嵌入式微处理器除了集成CPU核心、Cache、MMU、总线等部分外,还集成了各种外部接口和设备,如中断控制器、DMA、定时器、UART等。符合嵌入式系统的低成本和低功耗需求,一块单一的集成了大多数需要的功能块的芯片价格更低,功耗更少。,嵌入式微处理器的集成度,嵌入式微处理器是面向应用的,其片内所包含的组件的数目和种类是由它的市场定位决定的。在最普通的情况下,嵌入式微处理器包括:片内存储器:部分嵌入式微处理器外部存储器的控制器,外设接口(串口,并口)LCD控制器:面向终端类应用的嵌入式微处理器中断控制器,DMA控制器,协处理器定时器,A/D、D/A转换器多媒体加速器:当高级图形功能需要时总线其他标准接口或外设,嵌入式微处理器的体系结构,算术格式(Arithmetic Format)由于低成本和低功耗的限制,大多数的嵌入式微处理器使用定点运算(fixed-point arithmetic),即数值被表示为整数或在1.0和1.0之间的分数,比数值表示为尾数和指数的浮点版本的芯片便宜。当嵌入式系统中需要使用浮点运算时,可采用软件模拟的方式实现浮点运算,只不过这样要占用更多的处理器时间。功能单元(Functional Units)通常包括不止一个的功能单元,典型的是包含一个ALU、移位器和MAC,处理器通常用一条指令完成乘法操作。流水线(Pipeline)通常采用单周期执行指令,可能导致比较长的流水线,返回,嵌入式微处理器的指令集,为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行剪裁和扩充。目前很多应用系统需要类似于DSP的数字处理功能。这些指令主要有:乘加(MAC)操作:它在一个周期中执行了一次乘法运算和一次加法运算。SIMD类操作:允许使用一条指令进行多个并行数据流的计算。零开销的循环指令:采用硬件方式减少了循环的开销。仅使用两条指令实现一个循环,一条是循环的开始并提供循环次数,另一条是循环体。多媒体加速指令:像素处理、多边形、3D操作等指令。,返回,嵌入式微处理器的性能,低端(低价,低性能)一般低端嵌入式微处理器的性能最多达到50MIPS,应用在对性能要求不高但对价格和功耗有严格要求的应用系统中。中档,低功耗 中档的嵌入式微处理器可达到较好的性能(如150MIPS以上),采用增加时钟频率、加深流水深度、增加Cache及一些额外的功能块来提高性能,并保持低功耗。高端,嵌入式微处理器的性能,高端嵌入式微处理器用于高强度计算的应用,使用不同的方法来达到更高的并行度 单指令执行乘法操作:通过加入额外的功能单元和扩展指令集,使许多操作能在一个单一的周期内并行执行。每个周期执行多条指令:桌面和服务器的超标量处理器都支持单周期多条指令执行,在嵌入式领域通常使用VLIW(very large instruction word)来实现,这样只需较少的硬件,总体价格会更低些。例如TI的TMS320C6201芯片,通过使用VLIW方法,能在每个周期同时执行8条独立的32位指令。使用多处理器:采用多处理器的方式满足应用系统的更高要求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如TI的OMAP730包括了三个处理器核ARM9、ARM7、DSP。,返回,嵌入式微处理器的功耗管理,大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备。降低工作电压:1.8v、1.2v甚至更低,而且这个数值一直在下降。提供不同的时钟频率:通过软件设置不同的时钟分频。关闭暂时不使用的功能块:如果某功能块在一个周期内不使用,就可以被完全关闭,以节约能量。,嵌入式微处理器的功耗管理,提供功耗管理机制 运行模式(Running Mode):处理器处于全速运行状态下。待命模式(Standby Mode):处理器不执行指令,所有存储的信息是可用的,处理器能在几个周期内返回运行模式。时钟关闭模式(clock-off mode):时钟完全停止,要退出这个模式系统需要重新启动。影响功耗的其他因素还有总线和存储器的大小(如果使用DRAM,它需要不断的刷新)。,返回,嵌入式微处理器的成本,为降低价格,需要在嵌入式微处理器的设计中考虑不同的折衷方案。处理器的价格受如下因素影响:处理器的特点:功能块的数目、总线类型等。片上存储器的大小。芯片的引脚数和封装形式:如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。芯片大小(die size):取决于制造的工艺水平。,主流的嵌入式微处理器,目前主流的嵌入式微处理器系列主要有ARM系列、MIPS系列、PowerPC系列、Super H系列和X86系列等。属于这些系列的嵌入式微处理器产品很多,有上千种以上。,Units(millions),Source:Andrew Allison,Inside The New Computer Industry,January 2001,Embedded RISC Processor Shipments,32位浪潮的到来,Source:Semico Research Corp.and SIA/WSTS,Total MCU,by Sub-Category(excl.DSP),Total Embedded Control Market Shipments by Type,总共约26亿个32位处理器付运,占总数96亿的27%,2005年ARM为17亿个,约占32位总量的70%左右,X86系列,主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。主要应用在工业控制、通信等领域。国内由于对X86体系比较熟悉,得到广泛应用,特别是嵌入式PC的应用非常广泛。,MPC/PPC系列,Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要应用在通信、消费电子及工业控制、军用装备等领域。,MPC/PPC系列,IBM PowerPC 集成10/100Mbps以太网控制器、串行和并行端口、内存控制器以及其它外设的高性能嵌入式处理器。Motorola MPC 高度综合的SOC设备,它结合了PPC微处理器核心的功能、通信处理器和单硅成分内的显示控制器。这个设备可以在大量的电子应用中使用,特别是在低能源、便携式、图象捕捉和个人通信设备。,ARM系列,ARM(Advanced RISC Machine)公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及各类外围接口。ARM内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色。目前,90%的移动电话、大量的游戏机、手持PC和机顶盒等都已采用了ARM处理器,许多一流的芯片厂商都是ARM的授权用户(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成为业界公认的嵌入式微处理器标准。,领先嵌入式处理器技术发展讨论,多处理器技术单处理器技术的性能提升终有一天会遭遇瓶颈对嵌入式系统而言,尤其要考虑付出的代价把任务进行并行分解是理想的选择ARM MPcore可以集成1-4个ARM11处理器关键是要提供给软件开发者一个友好的编程界面64位处理器?哪儿是系统性能瓶颈?是需要64位地址还是64位数据?嵌入式系统比PC有更好的条件来解决系统性能和带宽问题PC系统在主板上,扩展系统带宽需要扩大每个组件的接口带宽SoC只需扩展片内总线,非常容易实现AMBA支持8-1024位总线宽度许多SoC设计以及ARM处理器内部已经使用64位数据总线,MIPS:简介,MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无互锁流水级的微处理器”(Microprocessor without interlocked piped stages)。其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS处理器是由斯坦福(Stanford)大学John Hennery教授领导的研究小组研制出来的。President of Stanford University,USAComputer architecture book use MIPS as foundation,第三节嵌入式系统总线,概述AMBA总线PCI总线CPCI总线串行总线,概述,总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。,片内总线或内部总线:连接CPU内部各主要功能部件,片外总线:CPU与存储器(RAM和ROM)和I/O接口之间进行信息交换的通道,数据总线Dbus,地址总线Abus,控制总线Cbus,按相对于CPU位置划分,按功能和信号类型,总线分类,概述,总线宽度,总线频率,总线带宽,总线带宽(单位:MB/s)=(总线宽度/8)总线频率,如:总线宽度32位,频率66MHZ,则总线带宽=(32/8)*66MHz=264MB/s,总线的主要参数,又称总线位宽,指的是总线能同时传送数据的位数。如16位总线就是具有16位数据传送能力。,总线工作速度的一个重要参数,工作频率越高,速度越快。通常用MHz表示。,又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高。,概述,原因:数据宽度:高速总线通常提供较宽的数据连接。成本:高速总线通常采用更昂贵的电路和连接器。桥允许总线独立操作,这样在I/O操作中可提供某些并行性。,一个微处理器系统可能含有多条总线,高速总线,低速总线,高速设备,低速设备,桥,总线互联的电路,概述,存储器,高速设备,CPU,低速设备,低速设备,桥,高速总线,低速总线,多总线系统,概述,概述,Processor-local bus,Micro-processor,Cache,Memorycontroller,DMAcontroller,Bridge,Peripheral,Peripheral,Peripheral,Peripheral bus,嵌入式系统总线,AMBA总线,AMBA(Advanced Microcontroller Bus Architecture)是ARM 公司研发的一种总线规范,目前为3.0 版本。在AMBA总线规范中,定义了3种总线:AHB(Advanced High-performance Bus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。ASB(Advanced System Bus):也用于高性能系统模块的连接,由AHB总线替代;APB(Advanced Peripheral Bus):用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。,AMBA总线,测试接口,ARMCPU,SDRAMControl,SRAM,LCDControl,桥,并行接口,串行接口,Timer,UART,基于AMBA总线的典型系统,PCI总线:发展历程,最早的PC总线是IBM公司1981年在PC/XT 电脑采用的系统总线,它基于8bit的8088 处理器,被称为PC总线或者PC/XT总线。在1984年的时候,IBM 推出基于16-bit Intel 80286处理器的PC/AT 电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT 总线。而为了开发与IBM PC 兼容的外围设备,行业内便逐渐确立了以IBM PC 总线规范为基础的ISA(工业标准架构:Industry Standard Architecture)总线。,PCI总线:发展历程,ISA 是8/16bit 的系统总线,最大传输速率仅为8MB/s,但允许多个CPU 共享系统资源。由于兼容性好,它在上个世纪80年代是最广泛采用的系统总线,不过它的弱点也是显而易见的,比如传输速率过低、CPU占用率高、占用硬件中断资源等。在1988年,康柏、惠普等9个厂商协同把ISA 扩展到32-bit,这就是著名的EISA(Extended ISA,扩展ISA)总线。EISA 总线的工作频率仍旧仅有8MHz,并且与8/16bit 的ISA总线完全兼容,由于是32-bit 总线的缘故,带宽提高了一倍,达到了32MB/s.可惜的是,EISA 仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在20世纪90年代初的时候,就给PCI总线给取代了。,PCI总线:发展历程,嵌入式系统已开始逐步采用微机系统普遍采用的PCI总线,以便于系统的扩展。1991年Intel公司联合IBM、Compaq、AST、HP、DEC等100多家公司成立了PCISIG(Peripheral Component InterconnectSpecialInterestGroup)协会,它致力于促进PCI(Peripheral Component Interconnect)总线工业标准的发展。1992年Intel 在发布486处理器的时候,也同时提出了32-bit 的PCI总线。PCI总线规范先后经历了1.0版、2.0版和1995年的2.1版。,PCI总线:特点,PCI总线是地址、数据多路复用的高性能32位和64位总线。2.1版本定义了64位总线扩展和66MHz总线时钟的技术规范。从数据宽度上看,PCI 总线有32bit、64bit 之分从总线速度上分,有33MHz、66MHz 两种,CPCI总线,为了将PCI总线规范用在工业控制计算机系统上,1995年11月PCI工业计算机制造者联合会(PICMIG)颁布了CompactPCI(以后简称CPCI)规范1.0版。1997年推出了CPCI2.0规范。,PCI总线的电气规范,标准针孔连接器(IEC-1076-4-101),欧洲卡规范(IEC297/IEEE 1011.1),CPCI总线规范,CPCI总线,目前在嵌入式PC、工控计算机及高端的嵌入式系统中已经开始大量采用CPCI接口,CPCI将逐步替代VME总线。CPCI总线工控机之所以被业界所青睐,是因为其既具有PCI总线的高性能又具有欧洲卡结构的高可靠性,是符合国际标准的真正工业型计算机,适合在可靠性要求较高的工业和军事设备上应用。CPCI总线工控机定义了两种板卡尺寸:3U(100mm 160mm)6U(233mm 160mm),CPCI总线,3U(100mm 160mm),6U(233mm 160mm),串行总线,第四节嵌入式存储系统,概述电子盘NandFlashDOCDOMCompactFlashSmartMediaMemoryStickMMCSD,概述,嵌入式系统的存储结构,嵌入式微处理器,Cache,片内RAM和ROM,主存:Nor Flash、SRAM、DRAM等,外存:NandFlash、DOC、CF、SD、MMC等,概述,高速缓存Cache高速缓冲存储器中存放的是当前使用得最多的程序代码和数据,即主存中部分内容的副本。在嵌入式系统中Cache全部都集成在嵌入式微处理器内。可分为数据Cache、指令Cache或混合Cache。不同的处理器其Cache的大小不一样。一般32位的嵌入式微处理器都内置Cache。,概述,Cache命中:CPU每次读取主存时,Cache控制器都要检查CPU送出的地址,判断CPU要读取的数据是否在Cache中,如果在就称为命中。Cache未命中:读取的数据不在Cache中,则对主存储器进行操作,并将有关内容置入Cache。写入方法:通写(Write Through):写Cache时,Cache与对应内存内容同步更新。回写(Write Back):写Cache时,只有写入Cache内容移出时才更新对应内存内容。,概述,主存 主存是处理器能直接访问的存储器,用来存放系统和用户的程序和数据。嵌入式系统的主存可位于SoC内和SoC外,片内存储器存储容量小、速度快,片外存储器容量大。可以做主存的存储器有:ROM类:Nor Flash、EPROM、E2PROM、PROM等RAM类:SRAM、DRAM、SDRAM等,概述,静态随机存取存储器(SRAM)存储信息:六管基本存储电路典型芯片规格:2114(1KX4)6116(2KX8)6264(8KX8)62128(16KX8)62256(32KX8),概述,动态随机存取存储器(DRAM)存储信息的基本单元(1位)电路可采用4管、3管和单管电路需要不断刷新(为维持动态存储单元所存储的信息,必须设法使信息再生,这即所谓的刷新)与SRAM不同的是:为节省外部引脚,同样容量的DRAM外部地址线引脚是SRAM一半DRAM采用行/列地址选通,将地址通过内部分成两路DRAM控制器:解决刷新和多路,概述,SDRAM(Synchronous RAM)CPU和RAM共享相同的时钟周期,以相同的速度同步工作基于双存储器结构,内含两个交错的存储阵列,读取效率得到成倍提高是DRAM中速度最快的一种,概述,外存 外存是处理器不能直接访问的存储器,用来存放用户的各种信息,容量大。在嵌入式系统中常用的外存有:NandFlashDOC(Disk On Chip)CF(Compact Flash)SD(Secure Digital)MMC(Multi MediaCard)等,电子盘,电子盘采用半导体芯片来存贮数据,具有体积小、功耗低和极强的抗震性等特点。在嵌入式系统中普遍采用各种电子盘作为外存。常用的电子盘有:NandFlash、MMC、SD、Memeory Stick、CF、SM、DOC等。,电子盘,NandFlash,NandFlash是Flash Memory的一种。Flash Memory的中文称为快闪存储器或快速擦写存储器。Flash Memory由Toshiba于1980年申请专利,并在1984年的国际半导体学术会议上首先发表。目前在Flash Memory技术上主要发展了两种非易失性内存一种叫NOR(逻辑或),是Intel 于1988年发明的另一种叫NAND(逻辑与)是Toshiba于1999年创造的。,NandFlash,NandFlash可独立成为外存,也可组成其他各种类型的电子盘如USB盘、CF、SD和MMC存储卡等。NandFlash强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。NandFlash具有容量大、回写速度快、芯片面积小等特点,主要用于外存。NOR Flash具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存。,SD,SD(Secure Digital)卡由松下电器、东芝和SanDisk联合推出,1999年8月首次发布。2000年2月1日成立了SD协会(SDA),成员公司超过90个,其中包括Hewlett-Packard,IBM,Microsoft,Motorola,NEC、Samsung Electronics,Toyota Motor等巨头。SDA是开放式的,缴纳1500美元就可以成为一般会员,缴纳4000美元可以成为执行会员。SD存贮卡的详细规范并没有公开,只有SDA会员或签定了保密协议才能获得。SD卡需付版税,3224mm,1511mm,MemoryStick,1997年7月Sony宣布开发Memory StickMemory Stick被很多人形象地称为口香糖存贮卡,其尺寸为50mm21.5mm2.8mm,重4克Memory Stick也包括了控制器在内,采用10针接口,数据总线为串行,最高频率可达20MHz,电压为2.7伏到3.6伏,电流平均为45mA,Compact Flash,Compact Flash的诞生比较早,由最大的Flash Memory卡厂商之一美国SanDisk于1994年首次推出。大小仅为43mm x 36mm x 3.3mm,体积只有PCMCIA卡的1/4,看起来就像是PCMCIA卡的缩小版。CompactFlash提供了完整的PCMCIA-ATA功能而且通过ATA/ATAPI-4兼容TrueIDE。和68针接口的PCMCIA卡不同,同样遵从ATA协议的CompactFlash的接口只有50针。,SmartMedia,SmartMedia是由东芝公司Toshiba America Electronic Components(TAEC)在1995年11月发布的Flash Memory存贮卡,三星公司在1996年购买了生产和销售许可,这两家公司成为主要的SmartMedia厂商。,DOC,Disk On Chip,简称DOC,是采用NandFlash芯片作为基本存贮单元,外加一些控制芯片及软件,通过特殊的软硬件来操作的一种模块化、系列化的电子存贮装置。它采用了TureFFS硬盘仿真技术对Flash进行管理,可以把Flash模拟成为硬盘。也正是因为采用了TureFFS技术对数据在Flash中的读写操作进行管理,大大提高了DOC的写操作的次数,远远超过了普通Flash的写寿命,提高了Flash的可靠性。,Comparison of Full Size Cards,Comparison of Small Size Cards,Comparison of Micro Size Cards,谢谢!,