0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于NAND FLASH存储器实现在系统中的读写和控制

电子设计 来源:现代电子技术 作者:夏涛 2020-05-20 08:57 次阅读

1、 NAND FLASH

NAND写回速度快、芯片面积小,特别是大容量使其优势明显。页是NAND中的基本存贮单元,一页一般为512 B(也有2 kB每页的large page NAND FLASH),多个页面组成块。不同存储器内的块内页面数不尽相同,通常以16页或32页比较常见。块容量计算公式比较简单,就是页面容量与块内页面数的乘积。根据FLASH Memory容量大小,不同存储器中的块、页大小可能不同,块内页面数也不同。例如:8 MB存储器,页大小常为512 B、块大小为8 kB,块内页面数为16。而2 MB的存储器的页大小为256 B、块大小为4 kB,块内页面数也是16。NAND存储器由多个块串行排列组成。实际上,NAND型的FLASHMemory可认为是顺序读取的设备,他仅用8 b的I/O端口就可以存取按页为单位的数据。NAND在读和擦写文件、特别是连续的大文件时,速度相当快。

2、 NAND FLASH与NOR FLASH比较

NOR的特点是可在芯片内执行,这样程序应该可以直接在FLASH内存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,但写入和读出速度较低。而NAND结构能提供极高的单元密度,并且写入和擦除的速度也很快,是高数据存储密度的最佳选择。

这两种结构性能上的异同主要为:NOR的读速度比NAND快;NAND的写入速度比NOR快很多;NAND的擦除速度远比NOR快;NAND的擦除单元更小,相应的擦除电路也更加简单;NAND的实际应用方式要比NOR复杂得多;NOR可以直接使用,并在上面直接运行代码,而NAND需要I/O接口,因此使用时需要驱动程序。

3、NAND FLASH在系统中的控制

在没有NAND FLASH硬件接口的环境中,通过软体控制CPU时序和硬件特殊接线方式实现仿真NANDFLASH接口,进而实现在嵌入式系统中脱离NANDFLASH专用硬件接口进行对NAND FLASH读、写、擦除等操作的实现方法。

本方法主要工作在以下两个方面:

软件方面:针对特殊硬件线路的软体设计和严格的CPU时序控制;

硬件方面:硬件的线路设计,利用NOR FLASH专用硬件接口控制NAND FLASH。

首先建立的开发平台如图1所示。

基于NAND FLASH存储器实现在系统中的读写和控制

本平台使用Intel的PXA270 Processor,无内建NAND FLASH Controller,使用NOR FLASH Controller控制NAND FLASH,具体的线路连接方式如图2所示。

NAND FLASH的I/O0~I/07引脚用于对FLASH发送操作命令和收发数据,ALE用于指示FLASH当前数据为地址信息,CLE用于指示当前数据为操作命令信息,当两者都无效时,为数据信息。CE引脚用于FLASH片选。RE和WE分别为FLASH读、写控制,R/B指示FLASH命令是否已经完成。逭里选用的是CE don‘t care的NAND FLASH。

NAND FLASH的读写操作以page方式进行,一次读写均为一个page,erase方式以block方式进行。这种方式,使其读写速度大大提高。

在时序方面,以读操作为例,其时序如图3所示。

操作过程主要分为以下几个步骤:

(1)发送读操作命令

CE有效,CLE有效,WE有效,I/O0~I/O8上面数据为command代码数据。

(2)发送地址数据(需要读取的FLASH地址)

CE有效,ALE有效,WE有效,I/O0~I/O8上面为所需地址数据。由于地址数据较多,所以需要分几次依次发送。每次发送都需要产生WE信号以将其写入NANDFLASH芯片。

(3)等待R/B信号,最后读出数据

在最后一个地址数据写入FLASH之后,R/B信号即变低。等待芯片完成整个page数据读取之后,R/B信号变高。此时,CE有效,ALE,CLE均拉低,依次产生RE信号,从I/O0~I/O8读取出所需数据。

对于写操作和擦除操作,其基本原理相同,只是信号顺序略有改变,就不再赘述。

由于使用了CPU地址线A1,A2连接CLE,ALE引脚,对CPU低2、3位地址的读写操作就意味着对NANDFLASH进行读写命令/数据操作。如果此程序工作在OS

上的application层的话,MMU已经屏蔽程序对底层硬件

的直接访问,所以需要对MMU进行设定,为NANDFLASH开辟一块。Memory映像区域,这样就可以通过OS对底层的NAND FLASH进行操作。以该系统为例,使用CPU的CS1引脚控制NAND FLASH的CE信号,先将其映像为0x24000000地址,此时,对0x24000000地址读写即对NAND FLASH芯片进行数据读写,而对Ox24000002地址写数据,使CPU的A1地址引脚为高,即对NAND FLASH发送command命令,同样,对0x24000004地址写数据,即对NAND FLASH发送address数据。

在对NAND FLASH发送命令/数据之后,由于程序运行速度比FLASH芯片快很多,需要在每一次操作之后插入若干等待周期,并利用CPU的GPIO检测芯片R/B信号。直至芯片完成本次操作再进行下一步操作。

需要注意的是,在对FLASH发送命令数据过程中的等待,没有反馈信号可以检测,只能通过反复调试确定其所需等待时间。

在设计中采用CPU的CS1信号对NAND FLASH进行CE(片选)控制。此处不能采用CPU的GPIO进行控制,因为在嵌入式设备的ARM CPU中,CPU本身采用了指令、数据自动预读的高速缓存技术和流水线技术。因此,当程序在NOR FLASH里面直接运行的时候(目前绝大多数嵌入式系统采用的方式),在运行任何两段相连的代码中间,CPU都有可能对NOR FLASH进行指令或数据的预读操作,从而产生大量的RE,OE信号和地址信号。如果使用GPIO控制NAND FLASH的CE信号则无法避免这种影响。CPU的CS1信号是由CPU内部自动产生,因此在CPU预读期间,CS1信号可以有效屏蔽NANDFLASH芯片。并且,由于NAND FLASH芯片支持CEdon’t care模式,在CE无效的情况下,芯片本身的工作状态并不会被干扰,由此保证了NOR FLASH和NANDFLASH在同一CPU界面中互不干扰的稳定运行。对于CS1信号的宽度等参数,也需要在实验中进行调节,才能保证整个系统快速稳定的运行。

4 、NAND FLASH在系统中的读写速度

经过测试在该系统平台中,OS为Palm OS 5.4;CPU使用PXA270 312 MHz;SDRAM使用Samsung的16 bdata width HYB25L256160AF-7.5@104 MHz;NANDFLASH选用Samsung 128 MB 8 b I/O NAND FLASHK9F1G08U0A达到在文件系统下面的读/写的速度为3 MB/s,擦除的速度为65 MB/s,在手持式设备中运用性能已经够了。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NAND
    +关注

    关注

    16

    文章

    1546

    浏览量

    134819
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162011
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1322

    浏览量

    113710
收藏 人收藏

    评论

    相关推荐

    NAND Flash非易失存储器简介

    NAND Flash是一种非易失存储器,也就是掉电不丢失类型,现在我们常见的存储设备基本都是NAND
    发表于 11-10 17:08 1747次阅读
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>非易失<b class='flag-5'>存储器</b>简介

    Flash存储芯片:NOR FlashNAND Flash、UFS和eMMC的比较与解析

    和数据读取。而NAND Flash的数据读取速度相对较慢,需要先通过控制器将数据读取到缓存再进行处理。   密度 NAND
    发表于 04-03 12:05

    如何通过单片机控制 Nand Flash

    ;但是由于该MCU没有USB接口,为了缩短数据上传的时间,计划加一个 nand flash 控制器(通常控制器都带USB接口),专门用来读取nand
    发表于 09-24 14:09

    请问单片机如何控制nand flash

    ;但是由于该MCU没有USB接口,为了缩短数据上传的时间,计划加一个 nand flash 控制器(通常控制器都带USB接口),专门用来读取nand
    发表于 08-29 09:40

    NAND Flash的储存结构与接口设计

    Nand flashflash存储器的其中一种,Nand flash其内部采用非线性宏单元模式
    发表于 11-05 09:18

    单板硬件设计:存储器NAND FLASH)

    flash运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand
    发表于 05-19 15:59

    NAND FLASH在WINCENET系统中的应用设计

    和 WINCE 系统NAND Flash 驱动的设计与实现 并且详细描述了 如何调整处理器存储控制
    发表于 03-14 16:01 2次下载

    flash存储器读写原理及次数

    程序)、PDA(个人数字助理)、数码相机中保存资料等。本文将探讨FLASH存储器读写原理及次数。 FLASH存储器
    发表于 10-13 16:34 2.1w次阅读

    DRAM、NAND FLASH、NOR FLASH三大存储器分析

    存储器内的信息仍然存在,主要是闪存(Nand FLASH 和 NOR FLASH),NOR 主要应用于代码存储介质中,而
    的头像 发表于 04-09 15:45 11w次阅读

    基于EPG3231和NAND Flash存储器实现声音播放器设计

    目前在技术上,声音的存储大都使用大容量的NAND Flash,但一般按照文件系统的方式存储,这对学生有一定的难度。本声音播放器的声音文件采用
    的头像 发表于 12-31 11:29 2922次阅读
    基于EPG3231和<b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b><b class='flag-5'>存储器</b><b class='flag-5'>实现</b>声音播放器设计

    NAND Flash存储结构以及NAND Flash的接口控制设计

    Nand flashflash存储器的其中一种,Nand flash其内部采用非线性宏单元模式
    发表于 11-03 16:12 3924次阅读
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b> 的<b class='flag-5'>存储</b>结构以及<b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>的接口<b class='flag-5'>控制</b>设计

    NAND Flash和NOR Flash存储器的区别

    摘要:本文主要对两种常见的非易失性存储器——NAND Flash和NOR Flash进行了详细的比较分析。从存储容量、性能、成本等方面进行了
    发表于 09-27 17:46 583次阅读

    NAND Flash存储器的基础知识

    随着信息技术的飞速发展,数据存储需求日益增长。作为一种新型的非易失性存储器NAND Flash因其高容量、低功耗、高密度等优势,在各个领域得到了广泛应用。本文将对
    发表于 09-27 18:26 1750次阅读

    为什么Nor Flash可以实现XIP,而Nand flash就不行呢?

    为什么Nor Flash可以实现XIP,而Nand flash就不行呢? Flash存储器是一种
    的头像 发表于 10-29 16:32 797次阅读

    什么是NANDFlash 存储器

    前言 NAND Flash 和 NOR Flash现在市场上两种主要的闪存技术。Intel于1988年首先开发出 NOR Flash 技术
    的头像 发表于 03-01 17:08 234次阅读
    什么是<b class='flag-5'>NAND</b> 型 <b class='flag-5'>Flash</b> <b class='flag-5'>存储器</b>?