嵌入式存储器及系统结构_第1页
嵌入式存储器及系统结构_第2页
嵌入式存储器及系统结构_第3页
嵌入式存储器及系统结构_第4页
嵌入式存储器及系统结构_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式存储器及系统结构第1页,共21页,2022年,5月20日,3点8分,星期三目录1.嵌入式存储器简介1.1 常用存储器简介第2页,共21页,2022年,5月20日,3点8分,星期三1.嵌入式系统存储器 1.1 常用存储器简介 存储器按配置分为 内存(主存)和外存。 在嵌入式系统中,嵌入式系统中的外存一般当作外围接口部件,如USB、SD卡等。在现代嵌入式系统中,内存全部采用半导体存储器。目前,半导体存储器主要包括以下几大类:(1)RAM类RAM类包括RAM、SRAM、DRAM、SDRAM目前,我们的嵌入式系统的,一般有内置RAM和SDRAM等。其特点是具有数据读写功能。RAM一般均作内存使用

2、。(2)ROM类型ROM主要有掩膜ROM、PROM(一次可编程)、EPROM(紫外线可擦除)、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主要用于存储少量数据

3、,其优点是外接电路简单。缺点是数据存取速度慢。第3页,共21页,2022年,5月20日,3点8分,星期三1.2 Flash存储器的分类在嵌入式系统中,Flash包括MCU内置Flash, 独立的NorFlash、Nand Flash等。其中,MCU内置Flash ROM与NorFlash在嵌入式系统中起的作用相同,一般均用作程序存储器。在这里我们只对NorFlash和NandFlash进行讨论。NOR型与NAND型闪存的区别很大,打个比方说,NOR型闪存更像内存,有独立的地址线和数据线,但价格比较贵,容量比较小;而NAND型更像硬盘,地址线和数据线是共用的I/O线,类似硬盘的所有信息都通过一条

4、硬盘线传送一般,而且NAND型与NOR型闪存相比,成本要低一些,而容量大得多。因此,NOR型闪存比较适合频繁随机读写的场合,通常用于存储程序代码并直接在闪存内运行,手机就是使用NOR型闪存的大户,所以手机的“内存”容量通常不大;NAND型闪存主要用来存储资料,我们常用的闪存产品,如闪存盘、数码存储卡都是用NAND型闪存。 这里我们还需要端正一个概念,那就是闪存的速度其实很有限,它本身操作速度、频率就比内存低得多,而且NAND型闪存类似硬盘的操作方式效率也比内存的直接访问方式慢得多。因此,不要以为闪存盘的性能瓶颈是在接口,甚至想当然地认为闪存盘采用USB2.0接口之后会获得巨大的性能提升。 前面

5、提到NAND型闪存的操作方式效率低,这和它的架构设计和接口设计有关,它操作起来确实挺像硬盘(其实NAND型闪存在设计之初确实考虑了与硬盘的兼容性),它的性能特点也很像硬盘:小数据块操作速度很慢,而大数据块速度就很快,这种差异远比其他存储介质大的多。这种性能特点非常值得我们留意。 第4页,共21页,2022年,5月20日,3点8分,星期三NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。 NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 NAN

6、D结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。 性能比较 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。 由于擦除NOR器件时是以64128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以832KB的块进行的,执行相同的操作最多只需要4ms。

7、 执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。 NOR的读速度比NAND稍快一些。 NAND的写入速度比NOR快很多。 NAND的4ms擦除速度远比NOR的5s快。 大多数写入操作需要先进行擦除操作。 NAND的擦除单元更小,相应的擦除电路更少。 接口差别 NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法

8、可能各不相同。8个引脚用来传送控制、地址和数据信息。 NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。 容量和成本 NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。 NOR flash占据了容量为116MB闪存市场的大部分,而NAND flash只是用在8128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Card

9、s和MMC存储卡市场上所占份额最大。 第5页,共21页,2022年,5月20日,3点8分,星期三可*性和耐用性 采用flahs介质时一个需要重点考虑的问题是可*性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可*性。 寿命(耐用性) 在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。 位交换 所有flash器件都受位交换现象的困扰。在某些

10、情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。 一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。 当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。 这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可*性。 坏块处理 NAND器件中的坏块是随

11、机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。 NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可*的方法不能进行这项处理,将导致高故障率。 易于使用 可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。 由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。 在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏 块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。 软件支持

12、当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。 在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。 使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。 驱动还用于对DiskOn

13、Chip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。第6页,共21页,2022年,5月20日,3点8分,星期三以下是NandFlash与NorFlash典型电路图Nor Flash接原理图第7页,共21页,2022年,5月20日,3点8分,星期三从上图可以看出,该NorFlash采用并行地址和数据总线, 其中,21bit地址总线,16bit数据总线。该NorFlash最大可寻址2M的地址空间。实际上,该NorFlash大小为2M。所以,NorFlash可作内存使用。MCU可直接寻址每一个存储单元。第8页,共21页,2022年,5月20日,3点8分,星期三 以下为NandFl

14、ash的典型原理图。第9页,共21页,2022年,5月20日,3点8分,星期三从NandFlash的接口电路图可以看出:NandFlash没有区分地址总线和数据总线。只有一个8bit的I/O总线、6根控制线(WE、WP、ALE、CLE、CE、RE)和RB。实际上,NandFlash数据和地址均通过8bit I/O总线串行传输的。第10页,共21页,2022年,5月20日,3点8分,星期三以下分别为orFlash和andFlash程序和数据的访问方法。对NorFlash而言,程序和数据的访问如下:BYTE tmp;Far Void *p = 0 x00000C000000; tmp = *p;/

15、 读取地址为0 x00000C000000的数据Asm ljmp 0 x00000D000000;/ 程序开始执行0 x00000D000000的程序区对NandFlash而言,对程序和数据的访问相对比较复杂。下图分别为NandFlash读写流程图。第11页,共21页,2022年,5月20日,3点8分,星期三 写数据第12页,共21页,2022年,5月20日,3点8分,星期三读数据第13页,共21页,2022年,5月20日,3点8分,星期三事实上,在写数据时,还要先对擦除andFlash。在送地址和数据时,NandFlash通过/O总线依次送入地址和数据,而且读写是以块为单位进行操作。这样,如

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

17、一般说来是很精巧的。在该BootLoader,必须包含NandFlash读驱动程序。需要注意的是,该处的BootLoader和我们机的Boot是有区别的,而更像PC机的BIOS程序。(3)用NandFlash存储程序的系统一般都用于程序量比较大,且要求带有andFlash存储器的系统。第14页,共21页,2022年,5月20日,3点8分,星期三2、嵌入式系统结构根据应用场合的不现,嵌入式系统千差万别。小型的嵌入式系统中,有些MCU将绝大部外围电路,如RAM、ROM、ADC等,甚至连日振都都集成到一个MCU,基本上不需外围器件。这些器件只需要加上人机接口电路,电源,装入程序即可构成一个嵌入式系统

18、,如电子表等。对于另外一些比较大一点的系统,可能需要扩展RAM、ROM、ADC以及其它一些器件。如我们的碟机/数码相框的系统架构图如下:第15页,共21页,2022年,5月20日,3点8分,星期三上面那个系统的外围器件比较多,电路也比较复杂。对于很多的嵌入式系统,如小型手持设备而言,出于硬件成本、PCB板面积等因素的考虑,往往去掉其它一些器件。比如,在自带Nand Flash的情况下,可用NandFlash代替EEPROM和NorFlash。如有些MCU自带USB控制器和LCD Driver、RTC等,就可以省去这些外围电路。但需要一个MCU/MPU能直接运行的Bootloader程序对存放在

19、NandFlash的程序进行引导。该BootLoader程序必须带有NandFlash驱动。对于另外一些MPU,由于自身并不带有RAM和ROM,就需要扩展相应的电路。对于某些MCU/MPU,其内置的ROM自带有Bootloader。第16页,共21页,2022年,5月20日,3点8分,星期三现在就该系统分别举我们现有的两个产品进行说明。(1)ADI平台我们的ADI MPU中,通过ROM自带有一个Bootloader(即oot ROM)。该Bootloader自带有三套驱动程序,即普通ROM(如NorFlash,实际上并不需要驱动)、8bit Flash/16 bit Flash驱动和SPI驱动

20、程序,分别对应三种方式启动程序,此外,还有一种并不需要Bootloader的启动方式。如下图所示:第17页,共21页,2022年,5月20日,3点8分,星期三但NandFlash和SPI Flash由于MCU不能直接寻址其存储单元,所以一定要先通过相关驱动程序将NandFlash或SPI Flash中的程序load到SDRAM中才能执行。对于NorFlash启动,由于MCU/MPU可以像普通ROM一样直接对NorFlash寻址,所以该引导程序通过跳转指令直接将程序指针指向NorFlash的main()函数即可。不过在我们的ADI系统中,也是先将NorFlash内的程序load到高速SDRAM中再执行。我们可以通过对oot Mode进行设置如下图所示:第18页,共21页,2022年,5月20日,3点8分,星期三(2)MTK方案:由于我们手头有关MTK的资料非常有限,所以,有关MTK的系统结构仅为猜测。不过我想,MTK的有如下特点:MTK内部无ROM。上电时,对于8032而言,P

温馨提示

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

评论

0/150

提交评论