嵌入式存储器及系统结构

上传人:艾力 文档编号:49554408 上传时间:2018-07-30 格式: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型闪存的操作方式效率低,这和它的架构设计和接口设计有关,它 操作起来确实挺像硬盘(其实

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

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

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

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

9、的系统来说,Flash是非常合适的存储方案。可以 从寿命(耐用性)、位交换和坏块处理三个方面来比较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器件

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

13、出,该NorFlash采用并行地址和数据 总线, 其中,21bit地址总线,16bit数据总线。 该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程序和

14、数据的访问方法。 对NorFlash而言,程序和数据的访问如下:BYTE tmp; Far Void *p = 0x00000C000000;tmp = *p;/ 读取地址为0x00000C000000的数据Asm ljmp 0x00000D000000;/ 程序开始执行0x00000D000000的程序区对NandFlash而言,对程序和数据的访问相对比较复杂。 下图分别为NandFlash读写流程图。写数据读数据事实上,在写数据时,还要先对擦除andFlash。 在送地址和数据时,NandFlash通过/O总线依次送入地址和数据,而 且读写是以块为单位进行操作。 这样,如果要访问NandF

15、lash内的数据,必段以块中的页为单位,根据 所指定的块和页将该页的数据读入内存,然后根据内存中的相对地址 对该数据进行访问。 该原理和机的硬盘工作机理很相似。如果需要将andFlash作程序存储器,需要注意以下事项: (1)由于NandFlash出错和出现坏块的机会比NorFlash大得多,而程序出 错后的问题往往是致命的。所以必须有错误冗余校验机制和纠错机制 。 (2)由于MCU/MPU不能直接对NandFlash程序和数据进行访问,所以必 须有一个BootLoader程序将NandFlash程序映射到RAM中才可以执行 。也就是说在该单片机系统中,必须有一个ROM存储引导程序。该 引导程

16、序一般说来是很精巧的。 在该BootLoader,必须包含NandFlash读驱动程序。 需要注意的是,该处的BootLoader和我们机的Boot是有区别的,而 更像PC机的BIOS程序。 (3)用NandFlash存储程序的系统一般都用于程序量比较大,且要求带有 andFlash存储器的系统。2、嵌入式系统结构 根据应用场合的不现,嵌入式系统千差万别。小型的嵌入式系统中,有 些MCU将绝大部外围电路,如RAM、ROM、ADC等,甚至连日振都 都集成到一个MCU,基本上不需外围器件。这些器件只需要加上人机 接口电路,电源,装入程序即可构成一个嵌入式系统,如电子表等。 对于另外一些比较大一点的系统,可能需要扩展RAM、ROM、ADC以及 其它一些器件。 如我们的碟机/数码相框的系统架构图如下:上面那个系统的外围器件比较多,电路也比较复杂。 对于很多的嵌入式系统,如小型手持设备而言,出于硬件成 本、PCB板面积等因素的考虑,往往去掉其它一些器件。 比如,在自带Nand Flash的情况下,可用NandFlash代替 EEP

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

当前位置:首页 > 行业资料 > 其它行业文档

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