nand flash操作原理

1. nand flash原理图

信号线只有LDATA[0:7],既发送命令,发送地址,还能读写数据。

nand flash引脚定义:

RnB : 状态信号

nFCE : 片选信号

CLE : 为高表示当前 LDATA上的数据是命令

ALE : 为高表示当前LDATA上的数据是地址

nFWE : 写

nFRE : 读

2.辨别NAND Flash

每个nand flash里面都有一个读ID命令,可以通过id判断nand flash型号。

再看读id的时序图:

从上面时序图看出:

读id的顺序如下:

①首先拉低CE,即选中芯片

②拉低WE,表示写, 同时把数据0x90写到总线

③CLE = 1高脉冲表示当前为命令

④ALE = 1;拉高ALE, 表示当前是地址, 发送地址0x00

⑤读id, 第一个字节0xEC

对于s3c2440来说怎么操作呢?

① 选中芯片, 即NFCONT寄存器(0x4E000004)的bit1 写 0

② NFCMMD(0x4E000008) = 0x90

③NFADDR(0x4E00000C) = 0x00

④ val = NFDATA(0x4E000010)

⑤val = NFDATA(0x4E000010)

在u-boot里面操作:

mw.l 4e000008 1          // 片选,设置4e000008 的bit1 = 0
mw.l 4E000008 90         // NFCMMD = 0x90
mw.l 4E00000C 0x00       // NFADDR = 0x00
md.b 4E000010            // read NFDATA 得到0xEC
md.b 4E000010            // read NFDATA 得到0xDA

对比datasheet里面的read id可知我的mini2440的开发板是K9F2G08X0A, 大小是256M

猜你喜欢

转载自blog.csdn.net/qq_21353001/article/details/88656635