聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> Nand Flash存储结构及控制方法

Nand Flash存储结构及控制方法

时间:2014-08-28 16:55:17    下载该word文档

Nand Flash存储结构及控制方法(K9F1G08)  

2011-02-26 15:05:59|  分类: 默认分类 |  标签:mini2440  nandflash  k9f1g08   |字号 订阅

一、NAND Flash介绍和NAND Flash控制器的使用

NAND Flash在嵌入式系统中的作用,相当于PC上的硬盘

常 见的Flash有NOR Flash和NAND Flash,NOR Flash上进行读取的效率非常高,但是擦除和写操作的效率很低,容量一般比较小;NAND Flash进行擦除和写操作的效率更高,并且容量更大。一般NOR Flash用于存储程序,NAND Flash用于存储数据。

1)NAND Flash的物理结构

笔者用的开发板上NAND Flash型号是K9F1G08,大小为128M,下图为它的封装和外部引脚

I/O0-I/O7        数据输入/输出

CLE        命令锁存使能

ALE        地址锁存使能

CE        芯片使能

RE        读使能

WE        写使能

WP        写保护

R/B        就绪/忙输出信号

Vcc        电源

Vss        地

N.C        不接

 

K9F1G08功能结构图如下

 

K9F1G08内部结构有下面一些功能部件

①X-Buffers Latches & Decoders:用于行地址

②Y-Buffers Latches & Decoders:用于列地址

③Command Register:用于命令字

④Control Logic & High Voltage Generator:控制逻辑及产生Flash所需高压

⑤Nand Flash :存储部件

⑥Data Register & S/A:数据寄存器,读、写页时,数据存放此寄存器

⑦Y-Gating

⑧I/O Buffers & Latches

⑨Global Buffers

⑩Output Driver

NAND Flash 存储单元组织结构图如下:

K9F1G08容量为1056Mbit,分为65536行(页)、2112列,每一页大小为2kb,外加64字节的额外空间,这64字节的额外空间的列地址为2048-2111

命令、地址、数据都通过IO0-IO7输入/输出,写入命令、地址或数据时,需要将WE、CE信号同时拉低,数据在WE信号的上升沿被NAND FLash锁存;命令锁存信号CLE、地址锁存信号ALE用来分辨、锁存命令或地址。

K9F1G08有128MB的存储空间,需要27位地址,以字节为单位访问Flash时,需要4个地址序列

 

2)NAND Flash访问方法

NAND Flash硬件连接如下图:

 NAND Flash和S3C2440的连线包括,8个IO引脚,5个使能信号(nWE、ALE、CLE、nCE、nRE)、1个状态引脚(R/B)、1个写保护引 脚(nWP)。地址、数据和命令都是在这些使能信号的配合下,通过8个IO引脚传输。写地址、数据、命令时,nCE、nWE信号必须为低电平,它们在 nWE信号的上升沿被锁存。命令锁存使能信号CLE和地址锁存使能信号ALE用来区别IO引脚上传输的是命令还是地址。

 

命令字及操作方法

        操作NAND Flash时,先传输命令,然后传输地址,最后读写数据,这个期间要检查Flash的状态。K9F1G08容量为128MB,需要一个27位的地址,发出命令后,后面要紧跟着4个地址序列。

下图为K9F1G08的命令字

下图为K9F1G08的地址序列

K9F1G08有2112列,所以必须使用A0-A11共12位来寻址,有65535行,所以必须使用A12-A27共16位来寻址。

 

3)S3C2440 NAND Flash控制器介绍

NAND Flash的读写操作次序如下:

①设置NFCONF配置NAND Flash

②向NFCMD寄存器写入命令

③向NFADDR寄存器写入地址

④读写数据:通过寄存器NFSTAT检测NAND Flash的状态,在启动某个操作后,应该检测R/nB信号以确定该操作是否完成、是否成功。

 

下面介绍这些寄存器:

①NFCONF:配置寄存器

        用来设置NAND Flash的时序参数,设置数据位宽,设置是否支持其他大小的页等。

②NFCONT:控制寄存器

        用来使能NAND Flash控制器、使能控制引脚信号nFCE、初始化ECC,锁定NAND Flash等功能

③NFCMD:命令寄存器

        用来发送Flash操作命令

④NFADDR:地址寄存器

        用来向Flash发送地址信号

⑤NFDATA:数据寄存器

        读写此寄存器启动对NAND Flash的读写数据操作

⑥NFSTAT:状态寄存器

        0:busy,1:ready

 

二、NAND Flash控制器操作实例:读Flash

1)读NAND Flash的步骤

①设置NFCONF

        在HCLK=100Mhz的情况下,TACLS=0,TWRPH0=3,TWRPH1=0,则

        NFCONF = 0x300

        使能NAND Flash控制器、禁止控制引脚信号nFCE,初始化ECC

        NFCONT = (1<<4) | (1<<1) | (1<<0)

②操作NAND Flash前,复位

        NFCONT &= ~(1<<1)        发出片选信号

        NFCMD = 0xff        reset命令

        然后循环查询NFSTAT位0,直到等于1,处于就绪态

        最后禁止片选信号,在实际使用时再使能

        NFCONT |= 0x2        禁止NAND Flash

③发出读命令

        NFCONT &= ~(1<<1)        发出片选信号

        NFCMD = 0        读命令

④发出地址信号

⑤循环查询NFSTAT,直到等于1

⑥连续读NFDATA寄存器,得到一页数据

⑦最后禁止NAND Flash片选信号

        NFCONT |= (1<<1)

免费下载 Word文档免费下载: Nand Flash存储结构及控制方法

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服