初识Nand Flash
? ? ? ? ?Nand Flash在嵌入式中的地位和PC的硬盘类似,用于保存系统运行所需的操作系统、应用程序、用户数据、运行中所产生的各种数据,以内存不同,掉电后Nand Flash中的数据永久保存。 ? ? ? ? ? ? ? 常用的Flash有两种类型,Nand Flash和Nor Flash,Nor Flash支持XIP,即代码可以在Nor Flash上直接运行,无需复制到内存中,这是由于Nor Flash的接口与RAM完全相同,可以随机访问到任意地址的数据。在Nor Flash上读操作的效率非常高,但写操作和擦出操作效率很低,且容量较小,而Nand Flash的接口是I/O接口,没有单独的数据线和地址线,进行读写数据时需要复杂的时序,Nand Flash进行写和擦除操作的效率比较高,且容量较大,所以一般用于存储数据。 1、Nand Flash的物理结构 ? ? ? ?命令,地址,数据都是通过8个I/O口输入输出,这种形式减少了芯片的引脚数,同时易于扩展容量。在读写数据时,通过各个锁存器和引脚的状态来区别是地址还是命令或是数据,所以时序复杂,不像Nor Flash。 2、Nand Flash的访问方法 Nand Flash的硬件连线: Nand Flash与s3c2440的连线比较少:8个I/O引脚,5个使能信号(ALE、CLE、nCE、nRE、nWE),一个状态引脚(R/nB),一个写保护引脚(nWP),地址,数据,命令都是在这些引脚信号的配合下通过8个I/O引脚进行传输。写地址、命令、数据时,nCE,nWE必须是低电平,他们在nWE的上升沿被所存。命令使能所存信号CLE和地址所存信号ALE用来区分I/O上传输的是命令还是地址。 操作Nand Flash时,先传输命令,然后传输地址,最后读/写数据,期间要检查Flash的状态。 Nand Flash的操作次序如下: 1)设置NFCONF和NFCONT寄存器配置Nand Flash。 2)向NFCMD寄存器写入命令。 3)向NFADDR寄存器写入地址。 4)读/写数据:通过NFSTAT寄存器检测Nand Flash的状态,启动某个操作后,应该检测R/nB信号以确定该操作是否完成和成功。 Nand Flash的寄存器介绍: 1)NFCONF:Nand Flash的配置寄存器。 用来使能/禁止Nand Flash控制器、控制引脚信号nFCE,初始化ECC,设置Nand Flash的时序参数等。 2)NFCONT:Nand Flash控制寄存器 其功能和NFCONF类似。 3)NFCMD:Nand Flash的命令寄存器。 4)NFADDR:Nand Flash地址寄存器。 当写这个寄存器时,他将对Flash发出地址信息。 5)NFDATA:Nand Flash的数据寄存器。 只用到低8位,读写此寄存器将启动Nand Flash的读数据和写数据操作。 6)NFSTAT:Nand Flash状态寄存器。 只用到0位:0是busy ?1是ready。 初始化Nand Flash: 读Nand Flash的函数: 可以看出,读Nand Flash的操作可分为6步: 1)选择芯片 2)发出读命令 3)发出地址 4)等待数据就绪 5)读取数据 6)结束后,取消片选信号。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |