1嵌入式系统硬件2嵌入式硬件系统组成 嵌入式系统的硬件是以嵌入式微处理器为核心主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成3嵌入式微处理器的体系结构嵌入式微处理器体系结构可采用冯 诺依曼(Von Neumann)结构或哈佛(Harvard)结构冯 诺依曼结构:指令和数据存放在同一存储器中,数据线与指令线分时复用,取指令和取数据不能同时进行,速度受限哈佛结构:指令和数据存放在不同的存储器中,指令计数器PC只指向指令存储器,而不指向数据存储器,数据线和指令线分离,因此取指和取数据可同时进行,速度较快4冯.诺依曼体系结构处理器代码区指令1指令2.数据区数据1数据2.地址总线指令、数据处理器指令1指令2.数据1数据2.地址总线程序存储区数据存储区指令地址总线数据哈佛体系结构5嵌入式微处理器的指令系统l指令系统可采用指令系统可采用精简指令集系统精简指令集系统RISCRISC或或复杂指令集系统复杂指令集系统CISCCISC6类别类别CISCRISC指令系统指令数量很多相对较少执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器多为单周期指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样寻址方式较简单操作可以对存储器和寄存器进行运算和操作仅Load/Store指令可以对存储器进行操作,其余指令只能对寄存器进行运算和操作编译难以用优化编译器生成高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序 7嵌入式微处理器经过近20年的发展,嵌入式微处理器的集成度、主频、位数都得到了提高 20世纪世纪80年年代中后期代中后期20世纪世纪90年年代初期代初期20世纪世纪90年年代中后期代中后期21世纪初期世纪初期制作工艺制作工艺1-0.8 m0.8-0.5 m0.5 0.35 m0.25-0.13 m主频主频 33 MHz100 MHz200 MHz 500K2M5M22M位数位数8/16bit8/16/32bit8/16/32bit8/16/32/64bit8嵌入式微处理器分类按位数可分为4位、8位、16位、32位和64位。
16位以下的嵌入式微处理器一般称为嵌入式微控制器(MCU)32位以上的称为嵌入式微处理器9嵌入式微处理器分类按用途来分,嵌入式微处理器可分为四种:嵌入式微处理器:由通用计算机的CPU演变而来,不同的是只保留了和嵌入式以后能够用紧密相关的功能硬件,去除了其他冗余功能,并配上了必要的外围扩展电路,减小了体积和功耗嵌入式微控制器:又称单片机,一般以一种微处理器为核心,片内集成了ROM、EPROM、RAM、总线、总线逻辑、定时器、计数器、I/O等嵌入式DSP处理器:专用于数字信号处理,采用哈佛结构,采用一系列措施保证数字信号的处理速度,如对FFT(快速傅立叶变换)的专门优化嵌入式片上系统SoC:又系统级芯片,在一个硅片上实现了一个更为复杂的计算机系统10嵌入式微处理器的特点基础是通用微处理器与通用微处理器相比其区别:体积小、重量轻、成本低、可靠性高功耗低工作温度、抗电磁干扰、可靠性等方面增强 11嵌入式微处理器的特点集成度高(Higher Integration)嵌入式微处理器除了集成CPU核心、Cache、MMU、总线等部分外,还集成了各种外部接口和设备,如中断控制器、DMA、定时器、UART(通用异步收发器,功能:将计算机内部传送的并行数据转换为输出的串行数据流,而将外部送来的串行数据流转换为字节,供计算机使用)等。
这符合嵌入式系统的低成本和低功耗的需求,一块单一的集成了大多数需要的功能块的芯片价格更低,功耗更少12集成度高(Higher Integration)嵌入式微处理器是面向应用的,其片内所包含的组件的数目和种类是由它的市场定位决定的,在最普通的情况下,嵌入式微处理器包括:片内存储器:大多数嵌入式微处理器都具有外部存储器的控制器,外设接口(串/并口)LCD控制器:面向终端类应用中断控制器,DMA控制器,协处理器,定时器,A/D、D/A转换器总线 多媒体加速器:当高级图形功能需要时嵌入式微处理器的特点13集成外围逻辑芯片目前有两种方式:单芯片方式(Single Chip):如44B0X是用于终端类应用的 芯片组方式(Chip Set):由微处理器主芯片和一些从芯片组成主芯片提供计算和基本外围设备的控制功能,从芯片加入了新的接口(LCD控制器、红外线接口、触摸屏功能块等)嵌入式微处理器的特点14体系结构(Architecture)算术格式(Arithmetic Format):大多数的嵌入式微处理器使用定点算法(fixed-point arithmetic),这样的芯片比浮点版本的芯片便宜当嵌入式系统中需要使用浮点运算时,可采用软件模拟的方式实现浮点运算。
嵌入式微处理器的特点15体系结构(Architecture)功能单元(Functional Units):大多数的嵌入式微处理器包括不只一个功能单元,典型的是包含一个ALU(算术逻辑单元,用来进行算术或逻辑运算以及位移循环等操作)、移位器和MAC(乘加运算)处理器通常用一条指令完成乘法操作流水线(Pipeline):现在某些嵌入式处理器中同样采用了分支预测技术嵌入式微处理器的特点16指令集(Instruction Set)为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行剪裁和扩充许多嵌入式微处理器扩展了特定领域的指令,如DSP指令集,这些指令主要有:乘加(MAC)操作:在一个周期中执行了一次乘法运算和一次加法运算 SIMD类操作:允许使用一条指令进行多个并行数据流的计算多媒体加速指令:象素处理、多边形、3D操作等指令 嵌入式微处理器的特点17功耗和管理(Power Consumption and Management)在嵌入式系统中功耗是很重要的问题,须仔细考虑大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备嵌入式微处理器采用不同的技术来降低功耗:降低工作电压:1.8v甚至更低提供不同的时钟频率:通过软件设置关闭暂时不使用的功能块提供功耗管理机制嵌入式微处理器的特点18具有功耗管理的处理器可以处于如下模式之一:运行模式(Running Mode):处理器处于全速运行状态下。
待命模式(Standby Mode):处理器不执行指令,所有存储的信息是可用的,处理器能在几个周期内返回运行模式时钟关闭模式(clock-off mode):时钟完全停止,要退出这个模式系统需要重新启动嵌入式微处理器的特点19影响功耗的其他因素还有:总线:特别是总线转换器,可以采用特殊的技术使它的功耗最小存储器的大小:如果使用DRAM,它需要不断的刷新为了使功耗最小,总线和存储器要保持在应用系统可接受的最小规模嵌入式微处理器的特点20成本(Cost)为降低价格,需要在嵌入式微处理器的设计中考虑不同的折衷方案处理器的价格受如下因素影响:处理器的特点:功能块的数目、总线类型等 片上存储器的大小芯片的引脚数和封装形式:如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜芯片大小(die size):取决于制造的工艺水平嵌入式微处理器的特点21主流的嵌入式微处理器 目前主流的嵌入式微处理器系列主要有ARM系列、MIPS系列、PowerPC系列、Super H系列和X86系列等属于这些系列的嵌入式微处理器产品很多,有上千种以上。
22Embedded RISC Processor Shipments嵌入式RISC处理器付运量01002003004005001997199819992000ARMMIPSHitachi SHPowerPCUnits(millions)单位:百万Source:Andrew Allison,Inside The New Computer Industry,January 2001资料来源:Andrew Allison机构2001年1月的报告 Inside The New Computer Industry23RISC CPU市场ARM76.8%PowerPC3.0%MIPS10.9%Hitachi SH7.2%Other(其它其它)2.1%2000 RISC Total Units 539 million2000年RISC总付运量为5.39亿ARM57.8%1999Source:Andrew Allison,Inside The New Computer Industry,January 2001资料来源:Andrew Allison机构2001年1月的报告 Inside The New Computer Industry24嵌入式微处理器X86系列:主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等 主要应用在工业控制、通信等领域 国内由于对X86体系比较熟悉,得到广泛应用,特别是嵌入式PC的应用非常广泛。
x86系列:比较ALI M6117CAMD SC400(410)AMD SC520National GXLVCPU coreALI 386SXAMD 486AMD 486Cyrix 5x86CPU frequency40 MHz33/66/100 MHz33/66/100 MHz 166 to 266 MHzCPU cacheNone8KB code/data16KB code/data16KB code/dataInput clocks80 MHz,4.318MHz,32768Hz crystal32768 Hz crystal32768 Hz+33.33MHz crystal60.66 MHz,videoclockFPUNo,external optionNoYesInternalMaximum power1.45W(5V,40 MHz)1.5W(3.3V,66MHz),0.94W(2.7V,66 MHz)2.0W(133MHz),1.4W typ.7.8W(2.9V,266MHz),3.7W(2.2V,166 MHz)Supply voltage5V3.3V(core voltagecan go down to2.7V)3.3V I/O,2.5Vcore3.3V I/O,2.2 to 2.9VcoreTemp.range0.70C0.70C Tambient0.85C Tcase0.85C TcaseDRAM support16 bit,FPM or EDO16 or 32 bit,FPM orEDO32 bit up to256M,SDRAM64 bit up to 256M,SDRAMx86系列:比较(续)ALI M6117CAMD SC400(410)AMD SC520National GXLVTimer channels3(8254)3(8254)3(8254)3(8254)WatchdogYes(not very good)NoYesNoInterrupts2 x 82592 x 8259+SMI#2 x 8259+SMI#2 x 8259+SMI#DMA channels7(2 x 8237)7(2 x 8237)7(2 x 8237)7(2 x 8237)Keyboard cont.AT keyboardXT interface,matrixscanNoNoRTCYesYesYesNoSerial portNo1 x 16550 w/IRDA 2 x 16550,sync.serialUSBParallel portNo1 x SPP/EPPGPIONoProgrammable chipselectsNoUp to 15Up to 8NoLCD/CRTcontrollerNoYes,monochrome&color LCDNoCRTIDE interfaceYesUse prog.CS#Use progr.CS#Yes,PCI bus masterBus interfaceISAISA,VL optionalPCI,ISA(limited)PCI,ISA27嵌入式微处理器MPC/PPC系列:Motorola推出的MPC系列,如MPC8XXIBM推出PPC系列,如PPC4XX主要应用在通信及消费电子领域28ARM系列ARM(Advanced RISC Machine)公司是一家专门从事芯片IP核设计与授权业务的英国公司,其产品有ARM内核以及各类外围接口。
ARM内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色目前,70%的移动、大量的游戏机、手持PC和机顶盒等都已采用了ARM处理器,许多一流的芯片厂商都是ARM的授权用户(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成为业界公认的嵌入式微处理器标准29V6V5TEV4TV4V5TEJARM7StrongARMARM7TDMIARM920TARM946EARM1020EXScaleARM926EJARM10 xxEJSecurCoreRoadmap概图概图ARM微处理器30ARM微处理器经过近20年的发展,ARM体系结构已经发展得日趋成熟,功能也越来越强,应用领域也越来越广泛 从最初到现在,已经有五个主要的版本:ARMv1、ARMv2、ARMv3、ARMv4、ARMv5ARMv1系列的CPU主要还是作为研究之用后面几种都得到了较为广泛的应用,特别是ARMv4系列的CPU目前仍然是ARM芯片的主要开发版本 31ARM V1 支持基本数据运算指令,但不支持乘法指令支持字节、字、多字的数据读写指令支持分支指令,包括branch-and-link(带连接的分支)指令以用于函数调用支持软中断指令,可以用于OS的系统调用寻址空间为26bits 32ARM V2 ARMv2除了支持ARMv1的指令外还扩展了:乘法和乘法累加指令提供协处理器支持在FIQ模式提供多个影子寄存器提供原子性的load-and-store指令SWP(单一数据交换,传送一个字)和SWPB(单一数据交换,传送一个字节)FIQ:快速中断模式,用来处理发起快速中断的外设。
IRQ 和 FIQ 之间的区别是对于 FIQ 你必须尽快处理你事情并离开这个模式IRQ 可以被 FIQ 所中断但 IRQ 不能中断 FIQ33ARM V3提供32bits的寻址空间增加了CPSR(当前程序状态寄存器)和SPSR(当前程序状态寄存器的影子寄存器)寄存器除与ARMv2的指令兼容外,还提供了MRS(传送状态标志到一个寄存器)和MSR(传送一个寄存器的内容到状态标志)用于存取CPSR和SPSR增加了两种CPU模式:Abort和Undefined 34ARM V4 ARMv4除了支持ARMv3的指令外还扩展了:支持halfword的存取 支持byte和halfword的符号扩展读 支持Thumb指令(ARM指令压缩形式的子集)提供Thumb和Normal状态的转换指令 进一步明确了会引起Undefined异常的指令 对以前的26bits体系结构的CPU不再兼容 35ARM V5 在ARMv4基础上增加了下列功能:改进了Thumb和Normal状态的切换效率 增加了 count-leading-zeros指令 增加了软件断点指令 增加了协处理器指令的可选范围 更明确了乘法指令对标志寄存器的设置 36ARM微处理器目前ARM处理器主要有5大系列:ARM7、ARM9、ARM9E、ARM10、SecurCore此外还有与Intel合作实现的StrongARM和XScale处理器,性能从30MIPS到120MIPS不等。
37系列系列相应产品相应产品性能特点性能特点ARM7系列系列A R M 7 T D M I A R M 7 T D M I-S ARM720T ARM7EJ三级流水三级流水性能:性能:0.9MIPS/MHzARM9系列系列A R M 9 T D M I ARM920TARM922T ARM940T五级流水,硬核(五级流水,硬核(Hard IP Core)性能:性能:1.1MIPS/MHzARM9E系列系列A R M 9 6 6 E-S ARM946E-SARM926EJ-S五级流水,软核(五级流水,软核(Soft IP Core),支持浮点操作),支持浮点操作性能:性能:1.1MIPS/MHzARM10系列系列A R M 1 0 2 2 E ARM1020E6级流水,硬核,支持高级流水,硬核,支持高性能浮点操作,双性能浮点操作,双64位总位总线接口,内部线接口,内部64位数据通位数据通路性能:性能:1.25MIPS/MHz38固化宏单元(硬核)固化宏单元(硬核)ARM920TARM7TDMIARM720TARM1022E可综合内核(软核)可综合内核(软核)ARM926EJ-SARM7TDMI-SARM1026EJ-S测试芯片测试芯片ARM10200E39指令流水线为增加处理器指令流的速度,ARM系列使用流水线。
允许多个操作同时处理,而非顺序执行PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令从存储器中读取指令解码指令中用到的寄存器解码指令中用到的寄存器寄存器读(从寄存器寄存器读(从寄存器Bank)移位及移位及ALU操作操作寄存器写(到寄存器寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumb40 最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令花费的平均周期数(CPI)=1 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch41lARM920TARM920T基于基于ARM9TDMIARM9TDMI核,核,ARM9TDMIARM9TDMI核提供核提供简单的总线接口,允许用户设计自己的简单的总线接口,允许用户设计自己的CacheCache和存储系统,可以作为单独的核嵌入和存储系统,可以作为单独的核嵌入到目标系统。
到目标系统lARMARM处理器广泛采用处理器广泛采用AMBAAMBA总线结构总线结构42什么是TDMI?T Thumb 架构扩展,提供两个独立的指令集:ARM 指令,均为32位Thumb指令,均为16位两种运行状态,用来选择哪个指令集被执行D 内核具有Debug扩展结构M 内嵌硬件乘法器I EmbeddedICE 逻辑,支持片上断点和调试点43ARM920T的结构框图44lARMARM状态:状态:3232位,执行字对准的位,执行字对准的ARMARM指令;指令;lThumbThumb状态:状态:1616位,执行半字对准的位,执行半字对准的ThumbThumb指令45l支持支持7 7种运行模式;种运行模式;l运行模式可以通过软件控制改变;运行模式可以通过软件控制改变;l外部中断或异常处理也可以引起模式发外部中断或异常处理也可以引起模式发生改变46模式模式模式描述模式描述用户(用户(User)ARM处理器正常的程序执行状态处理器正常的程序执行状态快速中断(快速中断(FIQ)用于高速数据传输或通道处理用于高速数据传输或通道处理外部中断(外部中断(IRQ)用于通用的中断处理用于通用的中断处理管理(管理(Supervisor)操作系统保护模式操作系统保护模式数据访问中止(数据访问中止(Abort)实现虚拟存储器和存储器保护实现虚拟存储器和存储器保护系统(系统(System)运行特权操作系统任务运行特权操作系统任务未定义(未定义(Undifined)支持硬件协处理器的软件仿真支持硬件协处理器的软件仿真47l共有共有3737个个3232位寄存器:位寄存器:3131个通过寄存器,包括程序计数器个通过寄存器,包括程序计数器PCPC;6 6个状态寄存器。
个状态寄存器48地址空间ARM体系结构采用232个8位字节的单一、线性地址空间;每个字的地址是字对准的,地址低两位为00;字对准地址是A的字由地址A、A+1、A+2和A+3的4个字节组成49存储器格式 ARM体系结构可以用两种方法存放数据,即大端格式和小端格式:大端格式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址;小端格式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址5051l采用采用5 5级流水线:级流水线:取指;取指;译码;译码;执行;执行;访存;访存;写回52MIPS系列MIPS是世界上很流行的一种RISC处理器MIPS的意思是“无互锁流水级的微处理器”(Microprocessor without interlocked piped stages)其机制是尽量利用软件办法避免流水线中的数据相关问题MIPS处理器是由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的53MIPS系列1984年MIPS计算机公司成立1986年推出R2000处理器1988年推出R3000处理器1991年推出第一款64位商用微处理器R40001992年,SGI收购了MIPS计算机公司之后,该公司又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号的处理器。
1998年,MIPS脱离SGI成为MIPS技术公司之后,其战略发生变化,把重点放在了嵌入式系统上54MIPS系列1999年,MIPS公司发布MIPS 32和MIPS 64架构标准,为未来MIPS处理器的开发奠定了基础新的架构集成了所有原来的MIPS指令集,并且增加了许多更强大的功能和ARM公司一样,MIPS公司本身并不从事芯片的生产活动(只进行设计),不过其他公司如果要生产该芯片的话必须得到MIPS公司的许可55MIPS系列MIPS指令集体系ISA(MIPS Instruction Set Architecture)从最早的MIPS I ISA开始发展,到MIPS V ISA,再到现在的MIPS32和MIPS64结构,其所有版本都是与前一个版本兼容的在MIPS III的ISA中,增加了64位整数和64位地址在MIPS IV和MIPS V的ISA中增加了浮点数的操作等56MIPS系列MIPS指令集体系ISA(MIPS Instruction Set Architecture)MIPS I MIPS V MIPS32和MIPS64结构,其所有版本都是与前一个版本兼容的MIPS32和MIPS64体系是为满足高性能、成本敏感的需求而设计的。
MIPS32体系是基于MIPS II的,并从MIPS III、MIPS IV和MIPS V中选择一些指令以增强数据和代码的有效操作MIPS64体系是基于MIPS V并与MIPS32体系兼容的57总线的基本概念总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道总线分类:按相对于CPU位置划分:片内总线或内部总线:连接CPU内部各主要功能部件片外总线:CPU与存储器(RAM和ROM)和I/O接口之间进行信息交换的通道按功能和信号类型:数据总线Dbus;地址总线Abus;控制总线Cbus;58总线的基本概念总线的主要参数总线宽度:又称总线位宽,指的是总线能同时传送数据的位数如16位总线就是具有16位数据传送能力总线频率:总线工作速度的一个重要参数,工作频率越高,速度越快通常用MHZ表示总线带宽:又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量总线带宽越宽,传输率越高 总线带宽=(总线宽度/8)X 总线频率带宽单位:MB/s;如:总线宽度32位,频率66MHZ,则总线带宽=(32位/8位)*66MHZ=264MB/s59总线的基本概念一个微处理器系统可能含有多条总线。
高速设备可以连到高速总线上低速设备可以连到低速总线上桥:总线互联的电路原因:-数据宽度:高速总线通常提供较宽的数据连接-成本:高速总线通常采用更昂贵的电路和连接器-桥允许总线独立操作,这样在I/O操作中可提供某些并行性60存储器存储器高速设备高速设备CPU 低速设备低速设备低速设备低速设备桥桥高速总线高速总线低速总线低速总线多总线系统多总线系统61嵌入式系统的总线 嵌入式系统的总线一般集成在嵌入式微处理器中从微处理器的角度来看,总线可分为:片外总线:如PCI、ISA、AMBA的APB等片内总线:如AMBA的AHB和ASB、AVALON、OCP、WISHBONE等选择总线和选择嵌入式微处理器密切相关,总线的种类随不同的微处理器的结构而不同62Processor-local busMicro-processorCacheMemorycontrollerDMAcontrollerBridgePeripheralPeripheralPeripheralPeripheral bus 嵌入式系统总线63AMBA总线 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系统总线上的第二级总线64AMBA总线 外部总线外部总线APB系统总线系统总线AHB测试测试接口接口ARMCPUSDRAMControlSRAMLCDControl桥并行并行接口接口串行串行接口接口TimerUART基于基于AMBAAMBA总线的典型系统总线的典型系统65AHB总线AHB总线主要由主单元、从单元、仲裁器和译码器组成AHB主单元:只有主单元可在任何时刻使用总线AHB可以有一个或多个主单元主单元可以是RISC处理器、DSP以及DMA控制器,以启动和控制总线操作66AHB总线AHB从单元:可以响应(并非启动)读或写总线操作总线的从单元可以在给定的地址范围内对读写操作进行相应的反应。
从单元向主单元发出成功、失败信号或等待各种反馈信号从单元通常是其复杂程度不足以成为主单元的固定功能块,例如外存接口、总线桥接口以及任何内存都可以是从单元,系统的其他外设也包含在AHB的从单元中67AHB总线AHB仲裁器:用来确定控制总线是哪个主单元,以保证在任何时候只有一个主单元可以启动数据传输一般来说仲裁协议都是固定好的,例如最高优先级方法或平等方法,可根据实际的情况选择适当的仲裁协议AHB译码器总线译码器用于传输译码工作,提供传输过程中从单元的片选信号68AHB总线一个典型的AHB总线工作过程,它包括以下两个阶段:地址传送阶段(address phase):它将只持续一个时钟周期在HCLK的上升沿数据有效所有的从单元都在这个上升沿来采样地址信息数据传送阶段(data phase):它需要一个或几个时钟周期可以通过HREADY信号来延长数据传输时间,当HREADY信号为低电平时,就在数据传输中加入等待周期,直到HREADY信号为高电平才表示这次传输阶段结束69APB总线APB主要由APB桥和APB从单元(Slave)组成,APB桥是APB中唯一的主单元,是AHB/ASB的从单元APB桥的接口信号如图所示 70APB总线APB桥将系统总线AHB/ASB和APB连接起来,并执行下列功能:锁存地址并保持其有效,直到数据传送完成。
译码地址并产生一个外部片选信号,在每次传送时只有一个片选信号(PSELx)有效写传送(write transfer)时驱动数据到APB读传送(read transfer)时驱动数据到系统总线AHB/ASB传送时产生定时触发信号PENABLE71PCI总线嵌入式系统已开始逐步采用微机系统普遍采用的PCI总线,以便于系统的扩展1991年Intel公司联合世界上多家公司成立的PCISIG协会是国际上微型机界的行业协会,它致力于促进PCI(Peripheral Component Interconnect)总线工业标准的发展PCI总线规范先后经历了1.0版、2.0版和1995年的2.1版PCI总线是地址、数据多路复用的高性能32位和64位总线72PCI总线PCI是微处理器与外围控制部件、外围附加板之间的互连机构它规定了互连的协议、电气、机械及配置空间规范,以保证全系统的自动配置在电气方面还专门定义了5V和3.3V信号、环境2.1版本定义了64位总线扩展和66MHz总线时钟的技术规范从数据宽度上看,PCI 总线有32bit、64bit 之分从总线速度上分,有33MHz、66MHz 两种73PCI总线目前流行的是32bit 33MHz,而64bit 系统正在普及中改良的PCI系统PCI X,最高可以达到64bit 133MHz的数据传输速率。
与ISA 总线不同,PCI 总线的地址总线与数据总线是分时复用的,支持即插即用(Plug and Play)、中断共享等功能分时复用的好处是一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输74PCI总线数据传输时,由一个PCI 设备做发起者(主控、Initiator或Master),而另一个PCI 设备做目标(从设备、Target 或Slave)总线上所有时序的产生与控制都由Master来发起PCI 总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构,来决定谁有权拿到总线的主控权75PCI总线32位 PCI 系统的管脚按功能来分有以下几类:(1)系统控制 CLK:PCI 时钟,上升沿有效;RST:Reset信号(2)传输控制 FRAME#:标志传输开始与结束IRDY#:Master 可以传输数据的标志 DEVSEL#:当Slave 发现自己被寻址时设置低电平应答TRDY#:Slave 可以传输数据的标志STOP#:Slave主动结束传输数据;IDSEL:在即插即用系统启动时用于选中板卡的信号76PCI总线(3)地址与数据总线 AD 31:0:地址/数据分时复用总线;C/BE#3:0:命令/字节使能信号;PAR:奇偶校验信号。
4)仲裁信号 REQ#:Master 用来请求总线使用权;GNT#:仲裁机构允许Master得到总线使用权(5)错误报告 PERR#:数据奇偶校验错;SERR#:系统奇偶校验错77CPCI总线为了将PCI总线规范用在工业控制计算机系统上,1995年11月PCI工业计算机制造者联合会(PICMIG)颁布了CompactPCI(以后简称CPCI)规范1.0版以后相继推出了PCI-PCI Bridge规范、Computer Telephony TDM规范和User-defined I/O pin assignment规范1997年推出了CPCI 2.0规范简言之,CPCI总线规范=PCI总线的电气规范+标准针孔连接器(IEC-1076-4-101)+欧洲卡规范(IEC297/IEEE 1011.1)78CPCI总线目前在嵌入式PC、工控计算机及高端的嵌入式系统中已经开始大量采用CPCI接口,CPCI将逐步替代VME总线CPCI总线工控机之所以被业界所青睐,是因为其既具有PCI总线的高性能又具有欧洲卡结构的高可靠性,是符合国际标准的真正工业型计算机,适合在可靠性要求较高的工业和军事设备上应用CPCI总线工控机定义了两种板卡尺寸:3U(100mm 160mm)6U(233mm 160mm)79嵌入式系统的存储器存储器结构:目前较为复杂的嵌入式系统的存储结构如图所示。
嵌入式嵌入式微处理器微处理器Cache片内片内RAM和和ROM主存:Nor Flash、SRAM、DRAM等外存:NandFlash、DOC、CF、IDE等80嵌入式系统的存储器1高速缓存Cache高速缓冲存储器中存放的是当前使用得最多的程序代码和数据,即主存中部分内容的副本在嵌入式系统中Cache全部都集成在嵌入式微处理器内可分为数据Cache、指令Cache或混合Cache不同的处理器其Cache的大小不一样一般中高档的嵌入式微处理器才内置Cache81嵌入式系统的存储器1高速缓存CacheCache命中:CPU每次读取主存时,Cache控制器都要检查CPU送出的地址,判断CPU要读取的数据是否在Cache中,如果在就称为命中Cache未命中:读取的数据不在Cache中,则对主存储器进行操作,并将有关内容置入Cache写入方法:通写(Write Through):写Cache时,Cache与对应内存内容同步更新回写(Write Back):写Cache时,只有写入Cache内容移出时才更新对应内存内容82嵌入式系统的存储器2主存 主存是处理器能直接访问的存储器,用来存放系统和用户的程序和数据。
嵌入式系统的主存可位于处理器内和处理器外,片内存储器存储容量小、速度快,片外存储器容量大可以做主存的存储器有:ROM类:Nor Flash、EPROM、PROM等RAM类:SRAM、DRAM、SDRAM等 83嵌入式系统的存储器静态随机存取存储器(SRAM)存储信息:六管基本存储电路典型芯片规格:2114(1KX4)6116(2KX8)6264(8KX8)62128(16KX8)62256(32KX8)A5A0A2A1CS-1921141810VCCA9I/O1A6A4A3A7A8I/O2I/O3WE-符符 号号引脚名引脚名 A0A9地址输入地址输入 I/01I/04数据输入数据输入/输出输出 CS-片选片选 WE-写允许写允许VCC、GND电源、地电源、地84嵌入式系统的存储器动态随机存取存储器(DRAM)存储信息的基本单元(1位)电路可采用4管、3管和单管电路需要不断刷新(为维持动态存储单元所存储的信息,必须设法使信息再生,这即所谓的刷新)与SRAM不同的是:为节省外部引脚,同样容量的DRAM外部地址线引脚是SRAM一半DRAM采用行/列地址选通,将地址通过内部分成两路DRAM控制器:解决刷新和多路85SDRAM(Synchronous RAM):CPU和RAM共享相同的时钟周期,以相同的速度同步工作基于双存储器结构,内含两个交错的存储阵列,读取效率得到成倍提高是DRAM中速度最快的一种嵌入式系统的存储器86嵌入式系统的存储器3外存 外存是处理器不能直接访问的存储器,用来存放用户的各种信息,容量大存取速度相对主存而言要慢得多,但它可用来长期保存用户信息。
在嵌入式系统中常用的外存有:NandFlash、DOC(Disk On Chip)、CF(Compact Flash)、SD(Secure Digital)、MMC(MultiMediaCard)等87嵌入式系统的存储器-电子盘 电子盘采用半导体芯片来存贮数据,具有体积小、功耗低和极强的抗震性等特点在嵌入式系统中普遍采用各种电子盘作为外存常用的电子盘有:NandFlash、DOC、DOM、CF、SM、SD、MMC等 1NandFlashNandFlash是Flash Memory的一种NandFlash可独立成为外存,也可组成其他各种类型的电子盘如USB盘、CF、SD和MMC存储卡等88Flash MemoryFlash Memory的中文称为快闪存储器或快速擦写存储器Flash Memory由Toshiba于1980年申请专利,并在1984年的国际半导体学术会议上首先发表目前在Flash Memory技术上主要发展了两种非易失性内存一种叫NOR(逻辑或),是Intel于1988年发明的另一种叫NAND(逻辑与)是Toshiba于1999年创造的89Flash MemoryNandFlash强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。
目前有能力大规模生产NandFlash的只有少数厂家:Samsung、Toshiba、Sandisk、Fujitsu等,主要厂商是Samsung和Toshiba两家NOR Flash具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存NandFlash具有容量大、回写速度快、芯片面积小等特点,主要用于外存90 NORNORNANDNAND写入写入/擦除一个块的操擦除一个块的操作时间作时间1 15s5s2 24ms4ms读性能读性能120012001500KB1500KB600600800KB800KB写性能写性能80KB80KB200200400KB400KB接口接口/总线总线SRAMSRAM接口接口/独立的地独立的地址数据总线址数据总线8 8位地址位地址/数据数据/控制总线,控制总线,I/OI/O接口复杂接口复杂读取模式读取模式随机读取随机读取串行地存取数据串行地存取数据成本成本较高较高较低,单元尺寸约为较低,单元尺寸约为NORNOR的一半,的一半,生产过程简单,同样大小的芯片生产过程简单,同样大小的芯片可以做更大的容量可以做更大的容量容量及应用场合容量及应用场合1 164MB64MB,主要用于,主要用于存储代码存储代码8MB8MB1GB1GB,主要用于存,主要用于存储数据储数据擦写次数擦写次数(耐用性耐用性)约约1010万次万次约约100100万次万次位交换位交换(bit(bit位反转位反转)少少较多,关键性数据需要错误探较多,关键性数据需要错误探测测/错误更正错误更正(EDC/ECC)(EDC/ECC)算法算法坏块处理坏块处理无,因为坏块故障率少无,因为坏块故障率少随机分布,无法修正随机分布,无法修正91DOCDisk On Chip,简称DOC,是采用NandFlash芯片作为基本存贮单元,外加一些控制芯片,通过特殊的软硬件来操作的一种模块化、系列化的电子存贮装置。
它采用了TrueFFS硬盘仿真技术对Flash进行管理,可以把Flash模拟成为硬盘也正是因为采用了TrueFFS技术对数据在Flash中的读写操作进行管理,大大提高了DOC的写操作的次数,远远超过了普通Flash的写寿命,提高了Flash的可靠性92DOMDOM是一种采用IDE接口的电子盘它可以直接插在IDE接口上,像硬盘一样方便地使用,而体积却比硬盘小很多它最大的好处就是在没有DOC插槽或CF插槽的板卡上可以非常方便地使用电子盘来替代硬盘、软盘93CompactFlash Compact Flash的诞生比较早,由最大的Flash Memory卡厂商之一美国SanDisk于1994年首次推出大小仅为43mm x 36mm x 3.3mmCompactFlash提供了完整的PCMCIA-ATA功能而且通过ATA/ATAPI-4兼容TrueIDE和68针接口的PCMCIA卡不同,同样遵从ATA协议的CompactFlash的接口只有50针94SmartMedia SmartMedia是由东芝公司Toshiba America Electronic Components(TAEC)在1995年11月发布的Flash Memory存贮卡,三星公司在1996年购买了生产和销售许可,这两家公司成为主要的SmartMedia厂商。
95最开始时SmartMedia被称为SSFDC,即Solid State Floppy Disk Card,1996年6月改名为SmartMedia,并成为东芝的注册商标SmartMedia采用了NAND型Flash Memory,因此体积做得很小:45mm x 37mm x 0.76mm,非常的薄,仅重1.8克接口方面,SmartMedia采用了22针的接口,我们在卡上看到的是遍平的金手指SmartMedia为了节省成本,存贮卡上只有Flash Memory模块和接口,并没有包括控制芯片,所以使用SmartMedia的设备必须自己装置控制机构96Memory Stick1997年7月Sony宣布开发Memory StickMemory Stick被很多人称为口香糖存贮卡,因为其尺寸确实像一条香口胶:50mm x 21.5mm x 2.8mm,重4克目前所知道的是Memory Stick也包括了控制器在内,采用10针接口,数据总线为串行,最高频率可达20MHz,电压为2.7伏到3.6伏,电流平均为45mA97MMC MMC即MultiMediaCard,由西门子公司Siemens(现在称为Infineon)和SanDisk于1997年推出。
1998年1月十四家公司联合成立了MMC协会(简称MMCA),现有超过84个成员,其中包括了Nokia、Ericsson、Motorola等巨头98MMC号称是目前世界上最小的Flash Memory存贮卡,尺寸只有32mm x 24mm x1.4mm虽然比SmartMedia厚,但整体体积却比SmartMedia小,而且也比SmartMedia轻,只有1.5克和CompactFlash一样,MMC也是把存贮单元和控制器一同做到了卡上,智能的控制器使得MMC保证兼容性和灵活性MMC是前后兼容的MMC被设计作为一种低成本的数据平台和通讯介质,接口设计非常简单:只有7针,接口成本低于0.5美元99SDSD(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会员或签定了保密协议才能获得100 SD卡数据传送和物理规范由MMC发展而来,大小和MMC差不多,尺寸为32mm x 24mm x 2.1mm长宽和MMC一样,只是厚了0.7mm,以容纳更大容量的存贮单元SD卡与MMC卡保持着向上兼容,也就是说,MMC可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取SD接口除了保留MMC的7针外,还在两边加多了2针,作为数据线101 MMCSmartMediaMemory StickSDCF体积体积 1,075 mm3 1,298 mm3 3,010 mm3 1,612 mm35,108 mm37,740 mm3厚度厚度1.4mm 0.7mm 2.8mm 2.1mm 3.5mm 5mm重量重量1.5g1.8g3.0g2.0gN/A最大容量最大容量(可买到的可买到的)64MB 128MB 128MB 128MB 1.0GB 电压电压/电流电流2.7V/27mA3.3V/40mA2.7V/35mA2.7V5V,3.3V接口接口7 pin 22 pin10 pin9 pin50 pin。