嵌入式存储器及系统结构

上传人:油条 文档编号:1272169 上传时间:2017-06-04 格式:PPT 页数:21 大小:272KB
返回 下载 相关 举报
嵌入式存储器及系统结构_第1页
第1页 / 共21页
嵌入式存储器及系统结构_第2页
第2页 / 共21页
嵌入式存储器及系统结构_第3页
第3页 / 共21页
嵌入式存储器及系统结构_第4页
第4页 / 共21页
嵌入式存储器及系统结构_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《嵌入式存储器及系统结构》由会员分享,可在线阅读,更多相关《嵌入式存储器及系统结构(21页珍藏版)》请在金锄头文库上搜索。

1、嵌入式存储器及系统结构,李 立华 2007.04.13,目录,1.嵌入式存储器简介1.1 常用存储器简介,1.嵌入式系统存储器,1.1 常用存储器简介 存储器按配置分为 内存(主存)和外存。 在嵌入式系统中,嵌入式系统中的外存一般当作外围接口部件,如USB、SD卡等。在现代嵌入式系统中,内存全部采用半导体存储器。目前,半导体存储器主要包括以下几大类:(1)RAM类RAM类包括RAM、SRAM、DRAM、SDRAM目前,我们的嵌入式系统的,一般有内置RAM和SDRAM等。其特点是具有数据读写功能。RAM一般均作内存使用。(2)ROM类型ROM主要有掩膜ROM、PROM(一次可编程)、EPROM(

2、紫外线可擦除)、EEPROM(电可擦除)和FLASH型ROM。在我们常用的嵌入式系统中,一般都是Flash型ROM。也有个别系统中,产品量产后,为了节省硬件,用掩膜ROM代替Nor Flash。在一般的MCU中,都内置有RAM和Flash ROM。 如Atmel 89C51中,自带有128 Byte的RAM和128K 的ROM。(3)半导体外存在嵌入式系统中,主要有NandFlash、I2C EEPROM、SPI Flash等。NandFlash和很多优点。后面我们将重点介绍。I2C EEPROM主要用于存储少量数据,其优点是外接电路简单。缺点是数据存取速度慢。,1.2 Flash存储器的分类

3、在嵌入式系统中,Flash包括MCU内置Flash, 独立的NorFlash、Nand Flash等。其中,MCU内置Flash ROM与NorFlash在嵌入式系统中起的作用相同,一般均用作程序存储器。在这里我们只对NorFlash和NandFlash进行讨论。NOR型与NAND型闪存的区别很大,打个比方说,NOR型闪存更像内存,有独立的地址线和数据线,但价格比较贵,容量比较小;而NAND型更像硬盘,地址线和数据线是共用的I/O线,类似硬盘的所有信息都通过一条硬盘线传送一般,而且NAND型与NOR型闪存相比,成本要低一些,而容量大得多。因此,NOR型闪存比较适合频繁随机读写的场合,通常用于存

4、储程序代码并直接在闪存内运行,手机就是使用NOR型闪存的大户,所以手机的“内存”容量通常不大;NAND型闪存主要用来存储资料,我们常用的闪存产品,如闪存盘、数码存储卡都是用NAND型闪存。 这里我们还需要端正一个概念,那就是闪存的速度其实很有限,它本身操作速度、频率就比内存低得多,而且NAND型闪存类似硬盘的操作方式效率也比内存的直接访问方式慢得多。因此,不要以为闪存盘的性能瓶颈是在接口,甚至想当然地认为闪存盘采用USB2.0接口之后会获得巨大的性能提升。 前面提到NAND型闪存的操作方式效率低,这和它的架构设计和接口设计有关,它操作起来确实挺像硬盘(其实NAND型闪存在设计之初确实考虑了与硬

5、盘的兼容性),它的性能特点也很像硬盘:小数据块操作速度很慢,而大数据块速度就很快,这种差异远比其他存储介质大的多。这种性能特点非常值得我们留意。,NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。 NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。 性能比较 flash闪存是非易失存储器,可以对称为块的

6、存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。 由于擦除NOR器件时是以64128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以832KB的块进行的,执行相同的操作最多只需要4ms。 执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,

7、设计师必须权衡以下的各项因素。 NOR的读速度比NAND稍快一些。 NAND的写入速度比NOR快很多。 NAND的4ms擦除速度远比NOR的5s快。 大多数写入操作需要先进行擦除操作。 NAND的擦除单元更小,相应的擦除电路更少。 接口差别 NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。 NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。 容量和成本

8、 NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。 NOR flash占据了容量为116MB闪存市场的大部分,而NAND flash只是用在8128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。,可*性和耐用性 采用flahs介质时一个需要重点考虑的问题是可*性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、

9、位交换和坏块处理三个方面来比较NOR和NAND的可*性。 寿命(耐用性) 在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。 位交换 所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。 一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。 当然,如果这个位真的改变了,就必

10、须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。 这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可*性。 坏块处理 NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。 NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可*的方法不能进行这项处理,将导致高故障率。 易于使用 可以非常直接地使用

11、基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。 由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。 在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏 块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。 软件支持 当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。 在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和N

12、OR器件在进行写入和擦除操作时都需要MTD。 使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。 驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。,以下是NandFlash与NorFlash典型电路图Nor Flash接原理图,从上图可以看出,该NorFlash采用并行地址和数据总线, 其中,21bit地址总线,16bit

13、数据总线。该NorFlash最大可寻址2M的地址空间。实际上,该NorFlash大小为2M。所以,NorFlash可作内存使用。MCU可直接寻址每一个存储单元。,以下为NandFlash的典型原理图。,从NandFlash的接口电路图可以看出:NandFlash没有区分地址总线和数据总线。只有一个8bit的I/O总线、6根控制线(WE、WP、ALE、CLE、CE、RE)和RB。实际上,NandFlash数据和地址均通过8bit I/O总线串行传输的。,以下分别为orFlash和andFlash程序和数据的访问方法。对NorFlash而言,程序和数据的访问如下:BYTE tmp;Far Void

14、 *p = 0x00000C000000; tmp = *p;/ 读取地址为0x00000C000000的数据Asm ljmp 0x00000D000000;/ 程序开始执行0x00000D000000的程序区对NandFlash而言,对程序和数据的访问相对比较复杂。下图分别为NandFlash读写流程图。,写数据,读数据,事实上,在写数据时,还要先对擦除andFlash。在送地址和数据时,NandFlash通过/O总线依次送入地址和数据,而且读写是以块为单位进行操作。这样,如果要访问NandFlash内的数据,必段以块中的页为单位,根据所指定的块和页将该页的数据读入内存,然后根据内存中的相对

15、地址对该数据进行访问。该原理和机的硬盘工作机理很相似。如果需要将andFlash作程序存储器,需要注意以下事项:(1)由于NandFlash出错和出现坏块的机会比NorFlash大得多,而程序出错后的问题往往是致命的。所以必须有错误冗余校验机制和纠错机制。(2)由于MCU/MPU不能直接对NandFlash程序和数据进行访问,所以必须有一个BootLoader程序将NandFlash程序映射到RAM中才可以执行。也就是说在该单片机系统中,必须有一个ROM存储引导程序。该引导程序一般说来是很精巧的。在该BootLoader,必须包含NandFlash读驱动程序。需要注意的是,该处的BootLoader和我们机的Boot是有区别的,而更像PC机的BIOS程序。(3)用NandFlash存储程序的系统一般都用于程序量比较大,且要求带有andFlash存储器的系统。,2、嵌入式系统结构根据应用场合的不现,嵌入式系统千差万别。小型的嵌入式系统中,有些MCU将绝大部外围电路,如RAM、ROM、ADC等,甚至连日振都都集成到一个MCU,基本上不需外围器件。这些器件只需要加上人机接口电路,电源,装入程序即可构成一个嵌入式系统,如电子表等。对于另外一些比较大一点的系统,可能需要扩展RAM、ROM、ADC以及其它一些器件。如我们的碟机/数码相框的系统架构图如下:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号