嵌入式技术及应用-3g_第1页
嵌入式技术及应用-3g_第2页
嵌入式技术及应用-3g_第3页
嵌入式技术及应用-3g_第4页
嵌入式技术及应用-3g_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式技术及应用嵌入式系统的存储体系

存储器系统概述

存储器的物理实质是一组或多组具备数据输入输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。计算机系统的存储器结构

存储器系统的层次结构计算机系统的存储器被组织成一个6个层次的金字塔形的层次结构,层次结构的最顶部是S0层,最底部是S5:S0层为CPU内部寄存器S1层为芯片内部的高速缓存(cache)内存S2层为芯片外的高速缓存(SRAM、DRAM、DDRAM)S3层为主存储器(Flash、PROM、EPROM、EEPROM)S4层为外部存储器(磁盘、光盘、CF、SD卡)S5层为远程二级存储(分布式文件系统、Web服务器)存储器的分类ROM(ReadonlyMemory)只读存储器RAM(RandomaccessMemory)随机存取存储器PROM(programmableROM)可编程只读存储器EPROM(ErasableProgrammable)可改写只读存储器EEPROM(ElectricallyErasableProgrammable)电可改写只读存储器SRAM(StaticRAM)DRAM(DynamicRAM)SDRAM(SynchronizationDynamicRAM)存储器的分类存储器种类易失性可写擦除大小擦除周期相对价格相对速度SRAM是是字节无限制昂贵快DRAM是是字节无限制适中适中掩膜ROM否否无无不贵快PROM否用编程器可写一次无无适中快EPROM否是,利用编程器整个芯片有限制适中快EEPROM否是字节有限制昂贵快,读取快写入慢快闪存储器否是扇区有限制适中读取快写入慢NVRAM否是字节无昂贵快4.3存储器的分类存储器的组织模型存储体引线信号:地址线、数据线、控制线(读、写)、片选线、辅助线(时钟、复位、编程等)存储器地址线数据线读写片选复位时钟readymn嵌入式存储器子系统的设计考虑嵌入式系统的存储器子系统通常设计成模块结构,包括ROM子系统、RAM子系统等,每个子系统占用一定的存储空间。一体化设计与分离式设计:嵌入式系统的存储器通常与系统主板设计在一起,而不设计成所谓“内存条”形式,原因是一方面嵌入式系统的内存通常是固定大小的;另一方面,一体结构可以提高系统的可靠性,因为嵌入式系统通常工作在恶劣环境、移动环境中。关于嵌入式处理器的中断向量表,有两种设计方案:一种方案是中断向量或中断处理程序的入口地址设置在ROM空间,一旦设置,运行中不再更改,如大多数小规模的嵌入式处理器/控制器采取这种方式;另外,也可以把中断向量设计在RAM空间,RAM存储器

RAM从工艺原理上划分,可分为单极型和双极型:双极型工作速率高,但是集成度不如单极型的高,目前,由于工艺水平的不断提高,单极型RAM的速率已经可以和双极型RAM相比,而且单极型RAM具有功耗低的优点。单极型RAM又可分为静态RAM与动态RAM:静态RAM是用MOS管触发器来存储代码,所用MOS管较多、集成度低、功耗也较大。动态RAM是用栅极分布电容保存信息,它的存储单元所需要的MOS管较少,因此集成度高、功耗也小。RAM存储器的结构1、静态随机存储器(SRAM)RAM随机存储器静态RAM的存储元由双稳电路构成,存储信息稳定。由于静态RAM的基本存储电路中管子数目较多,故集成度较低。

右图是一个6管结构的静态存储器的存储单元电路。工作原理

动态随机存储器(DRAM)动态RAM有4管动态RAM,3管动态RAM和单管动态RAM。图6.5是单管DRAM的存储单元的线路。它由一个晶体管和一个电容组成。为了节省面积,单管存储器电荷的电容不可能做得很大,一般比数据线上的分布电容Cd小,因此每次读出后,存储内容就被破坏,必须采取刷新技术恢复原来的信息。DRAM芯片模型CE*:片选端R/W*读写控制端,R/W*=1,执行读操作,R/W*=0,执行写操作。RAS*行地址选通信号,通常接地址的高位部分。CAS*列地址选通信号,通常接地址的低位部分。Adrs:地址线的输入。Data:数据线,双向。DRAM需要不断的刷新,才能保存数据,SRAM则不需要刷新电路。DRAM使用简单的单管单元作为存储单元,因此,每片存储容量大,约是SRAM的4倍。DRAM的行列地址通常是复用的,所以其引脚数比SRAM要少很多,封装尺寸也比较小。DRAM的价格比较便宜,大约只有SRAM的1/4,由于使用动态元件,DRAM功耗也只有SRAM的1/6。因此,DRAM得到了广泛的使用,它的存取速度和存储容量正在不断地改进提高。

SRAM与DRAM比较ROM存储器的结构PROM的内部结构EPROM存储器和EEPROM存储器Flash存储器的原理与种类使用浮栅隧道氧化层MOS管Flotox(FloatinggateTunnelOxide)可以达到更高的要求。其特点是:浮栅与漏区间的氧化物层极薄(20纳米以下),称为隧道区。当隧道区场大于规定值时隧道区双向导通。当隧道区的等效电容极小时,加在控制栅和漏极间的电压大部分降在隧道区,有利于隧道区导通非易失闪存NorFlash和NandFlashIntel于1988年首先开发出NORflash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。NOR的特点是芯片内执行(XIP,eXecuteInPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。1989年,东芝公司发表了NANDflash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。NOR与NAND内部结构比较NANDFLASH和NORFLASH的比较

NorFlash和NandFlash比较flash闪存对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,NOR则要求在进行擦除前先要将目标块内所有的位都写为0。擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。NorFlash和NandFlash比较-2对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。NOR的读速度比NAND稍快一些。NAND的写入速度比NOR快很多。NAND的4ms擦除速度远比NOR的5s快。大多数写入操作需要先进行擦除操作。NAND的擦除单元更小,相应的擦除电路更少。NorFlash和NandFlash比较-3接口差别NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。容量和成本NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。NORflash占据了容量为1~16MB闪存市场的大部分,而NANDflash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、SecureDigital、PCCards和MMC存储卡市场上所占份额最大。NorFlash和NandFlash比较-4可靠性和耐用性:寿命(耐用性)在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。位交换所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。坏块处理NAND器件中的坏块是随机分布的。NAND器件需要对介质进行初始化扫描以发现坏块并将坏块标记为不可用。NorFlash和NandFlash比较-5易于使用可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。NorFlash和NandFlash比较-6软件支持 区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等厂商所采用。驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。ARM9嵌入式系统的存储系统NorFlash4.4ARM9的存储系统4.3NORFlash接口电路4.3.1NORFlash存储器Am29LV160DAm29LV160D是AMD公司的一款NORFlash存储器,存储容量为2M×8Bit/1M×16Bit,接口与CMOSI/O兼容,工作电压为2.7~3.6V,读操作电流为9mA,编程和擦除操作电流为20mA,待机电流为200nA。采用FBGA-48、TSOP-48、SO-44三种封装形式。Am29LV160D仅需3.3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除,以及其他操作。以16位(字模式)数据宽度的方式工作。更多的内容请登录www.AMD.com,查找资料“Am29LV160D16Megabit(2M×8-Bit/1M×16-Bit)CMOS3.0Volt-onlyBootSectorFlashMemory”。Am29LV160D的逻辑框图如图4.3.1所示,引脚端功能如表4.3.1所示。引脚类型功能A19~A0输入地址输入。提供存储器地址DQ14~DQ0输入/输出数据输入/输出DQ15/A-1输入/输出在字模式,DQ15为数据输入/输出;在字节模式,A-1为LSB地址输入BYTE#输入选择8bit或者16bit模式CE#输入片选。当CE#为低电平时,芯片有效OE#输入输出使能。当OE#为低电平时,输出有效WE#输入写使能,低电平有效,控制写操作RESET#输入硬件复位引脚端,低电平有效RY/BY#输出就绪/忙标志信号输出,SO-44封装无此引脚端VCC电源3V电源电压输入VSS地器件地NC未连接。空脚Am29LV160D的逻辑框图Am29LV160D引脚端功能S3C2410A与NORFlash存储器的接口电路S3C2410A与Am29LV160D的接口电路如图4.3.2所示。Flash存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行,因此,应将存有程序代码的Flash存储器配置到Bank0,即将S3C2410A的nGCS0接至Am29LV160D的CE#(nCE)端。Am29LV160D的OE#(nOE)端接S3C2410X的nOE;WE#(nXE)端S3C2410X的nWE相连;地址总线A19~A0与S3C2410X的地址总线ADDR20~ADDR1(A20~A1)相连;16位数据总线DQ15~DQ0与S3C2410X的低16位数据总线DATA15~DATA0(D15~D0)相连。注意:此时应将BWSCON中的DW0设置为01,即选择16位总线方式。如果需要更大的NORFlash存储容量,可以采用容量更大的NORFlash存储器芯片,如28F128J3A、28F640J3A等。S3C2410A与Am29LV160D的接口电路S3C2410A与28F128J3A的接口电路。S3C2410X的nGCS0接至28F128J3A的CE0#(nCE)端。28F128J3A的OE#(nOE)端接S3C2410X的nOE;WE#(nWE)端S3C2410X的nWE相连;地址总线A24~A1与S3C2410X的地址总线ADDR24~ADDR1(A24~A1)相连,A0直接接地;16位数据总线DQ15~DQ0与S3C2410X的低16位数据总线DATA15~DATA0(D15~D0)相连。S3C2410A与28F128J3A的接口电路与两片8位ROM连接与两片8位ROM连接与一片16位ROM相连与1片16位ROM连接与两片16位ROM相连NANDFlash接口电路S3C2410ANANDFlash控制器S3C2410ANANDFlash控制器特性S3C2410A可以在一个外部NANDFlash存储器上执行启动代码,用来实现这一想法。为了支持NANDFlash的启动装载(bootloader),S3C2410A配置了一个叫做“Steppingstone”的内部SRAM缓冲器。当系统启动时,NANDFlash存储器的前4KB将被自动加载到Steppingstone中,然后系统自动执行这些载入的启动代码。在一般情况下,启动代码将复制NANDFlash的内容到SDRAM中。使用S3C2410A内部硬件ECC功能可以对NANDFlash的数据的有效性进行检查。在复制完成后,将在SDRAM中执行主程序。NANDFlash控制器具有以下特性。NANDFlash模式:支持读/擦除/编程NANDFlash存储器。●自动启动模式:复位后,启动代码被传送到Steppingstone中。传送完毕后,启动代码在Steppingstone中执行。●具有硬件ECC产生模块(硬件生成校验码和通过软件校验)。●在NANDFlash启动后,Steppingstone4KB内部SRAM缓冲器可以作为其他用途使用。●NANDFlash控制器不能通过DMA访问,可以使用LDM/STM指令来代替DMA操作。NANDFlash控制器内部结构方框图NANDFlash的操作模式自动启动模式的时序如下:(1)完成复位;(2)当自动启动模式使能时,首先将NANDFlash存储器的前4KB内容自动复制到Steppingstone4KB内部缓冲器中;(3)Steppingstone映射到nGCSO;(4)CPU开始执行在Steppingstone4KB内部缓冲器中的启动代码。注意:在自动启动模式,不进行ECC检测。因此,应确保NANDFlash的前4KB不能有位错误。NANDFlash模式配置:(1)利用NFCONF寄存器设置NANDFlash配置;(2)写NANDFlash命令到NFCMD寄存器;(3)写NANDFlash地址到NFADDR寄存器;(4)在检查NANDFlash状态时,利用NFSTAT寄存器读/写数据。在读操作之前或者编程操作之后应该检查R/nB信号。NANDFlash存储器的时序如图所示。NANDFlash存储器的时序(TACLS=0,TWRPH0=1,TWRPH1=0)NANDFlash控制器的引脚配置如表所列。表NANDFlash控制器的引脚配置引脚配置D[7:0]数据/命令/地址输入/输出端口(用数据总线分派)CLE命令锁存使能(输出)ALE地址锁存使能(输出)nFCENANDFlash芯片使能(输出)nFRENANDFlash读使能(输出)nFWENANDFlash写使能(输出)R/nBNANDFlash准备就绪/忙使能(输出)BOOT(启动)和NANDFlash配置如下:(1)OM[1:0]=00b:使能NANDFlash控制器为自动启动模式;(2)NANDFlash存储器的页面大小应该为512字节;(3)NCON:NANDFlash存储器寻址步选择。0为3步寻址;1为4步寻址。512字节ECC奇偶校验码分配表如表所示。512字节ECC奇偶校验码分配表在写/读操作期间,S3C2410A自动生成512字节的ECC奇偶校验码。每个512字节数据的ECC奇偶校验码由3字节组成。24位ECC奇偶校验码=18位行奇偶+6位列奇偶ECC生成模块执行以下操作:(1)当MCU写数据到NAND时,ECC生成模块产生ECC代码。(2)当MCU从NAND读数据时,ECC生成模块产生ECC代码,同时用户程序将它与先前写入的ECC代码进行比较。S3C2410A与NANDFlash存储器的接口电路与NORFlash存储器相比,NANDFlash的接口相对比较复杂。一些嵌入式处理器芯片内部配置了专门的NANDFlash控制器,如S3C2410A。S3C2410A与NANDFlash存储器K9F1208UDM-YCB0接口电路如图所示。K9F1208UDM-YCB0的存储容量为64M字节,数据总线宽度为8位,工作电压为2.7V~3.6V,采用TSOP-48封装。仅需单3.3V电压即可完成在系统的编程与擦除操作,引脚端功能如表4.4.3所示。更多的内容请登录,查找资料“K9F1208U0M-YCB0,K9F1208U0M-YIB064M×8BitNANDFlashMemory”。表K9F1208UDM的引脚功能引脚类型功能I/O7~I/O0输入/输出数据输入输出、控制命令和地址的输入CLE输入命令锁存信号ALE输入地址锁存信号/CE输入芯片使能信号/RE输入读有效信号/WE输入写有效信号/WP输入写保护信号R/nB输出就绪/忙标志信号输出Vcc电源电源电压2.7V~3.3VVss接地器件地K9F1208UDM的I/O口既可接收和发送数据,也可接收地址信息和控制命令。在CLE有效时,锁存在I/O口上的是控制命令字;在ALE有效时,锁存在I/O口上的是地址;/RE或/WE有效时,锁存的是数据。这种一口多用的方式可以大大减少总线的数目,只是控制方式略微有些复杂。利用S3C2410X处理器的NANDFlash控制器可以解决这个问题。在图中,K9F1208UDM的ALE和CLE端分别与S3C2410A的ALE和CLE端连接,8位的I/O7~I/O0与S3C2410A低8位数据总线DATA7~DATA0相连,/WE、/RE和/CE分别与S3C2410A的nFWE、nFRE和nFCE相连,R/B与RnB相连,为增加稳定性R/nB端口连接了一个上拉电阻。同时,S3C2410A的NCON配置端口必须连接一个上拉电阻,ARM9嵌入式系统的存储系统NandFlash4.4ARM9的存储系统只读存储器的编程与设备擦除器编程器编程器的输入文件intel16进制格式motorola格式二进制型JEDEC:PLD使用在线编程JTAG编程器monitor方式现场软件编程-便于系统的维护CF(CompactFlash)卡存储器CF卡的访问模式

引脚I/O模式存储器模式TrueIDE模式A10~A0地址线同I/O仅A0~A2选择任务寄存器CE1,CE2用于选择奇偶字节同I/O用于选择任务寄存器,或者选择控制、状态寄存器D0~D15数据线同I/O同I/OIORD未用I/O读信号同MEMORYIOWR未用I/O写信号同MEMORYOE读信号读CIS寄存器接地WE写信号写结构寄存器VCCREG0为特片寄存器

1为普通内存在读写时应为低VCCReset高电平有效同I/O低电平有效VCC3.3V同I/O同I/OGND地同I/O同I/O图4.6.1CF卡接口电路IO模式下CF卡的使用方法IO模式下的使用方法Memory模式下的使用方法SD卡的使用针脚名称类型描述1CDDAT3I/O/PP卡监测数据位32CMDPP命令/回复3VssS地4VccS供电电压5CLKI时钟6Css2S地7DAT0I/O/PP数据位08DAT1I/O/PP数据位19DAT2I/O/PP数据位2SD卡的引脚结构图4.7.1SD卡的外形和接口图4.7.2SD卡原理图图4.7.2S3C2410A的SD卡接口电路S3C2410A内部集成了SD模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论