第八章nand flash控制器

来源:互联网 发布:长三角师资招聘会 网络 编辑:程序博客网 时间:2024/05/01 17:01

第八章nand flash控制器

flash存储器的可靠性需要考虑3点:位反转、坏块、和可擦除次数

第八章nand <wbr>flash控制器
第八章nand <wbr>flash控制器

第八章nand <wbr>flash控制器
第八章nand <wbr>flash控制器
第八章nand <wbr>flash控制器
一页528字节,分为a(0~255)、b(256~511)、c区(512~527)
第八章nand <wbr>flash控制器
第八章nand <wbr>flash控制器
发出80h、4个地址序列及最多528字节数据之后,发出命令字11h,仅在第4页的最后使用10h替代11h,来启动flash内部的写操作,此时可通过71h获知这些写操作是否完成
   (7)cp-back-program:00h、8ah、10h
    先发00h,4个源地址序列,此时源页的528字节数据很快就被全部读入内部寄存器;接着发出8ah,随之发出4个目的地址序列,最后发出命令字10h启动对目的页的写操作,写的过程中,使用70h查询是否完成
    (8)cp-back-program(dummy):00h、03h、8ah、11h
      先发00h、源页地址,使得源页的528字节数据被读入所在的plane的寄存器,对于随后的plane的源页,发出03h和相应的地址将数据读入该plane寄存器;按照前述说明读出最多4页的数据到寄存器后,发出8ah、目的地址、11h,最后一页用10h代替11h以启动写操作。
    (9)block erase :60h、d0h
         此命令用于擦除nandflash块(block),发出命令字60h之后,发出block地址。

    (10)multi-plane block erase:60h---60h D0h
        此命令用于同时擦除不同plane的block块,发出命令字60h之后,紧接着发出block地址序列,最多4个block地址,最后发出命令字d0h启动擦除操作
第八章nand <wbr>flash控制器
(11)读状态命令
    1.read statues:70h
    2.read-multi-planes status:71h
第八章nand <wbr>flash控制器
8.1.4
s3c2440 nand flash 的读写操作次序:
1.设置NFCONF、NFCONT 寄存器,配置NANDlash
2.向NFCMD寄存器写入命令
3.向NFADDR寄存器写入地址
4.读/写数据:通过 寄存器NFSTAT检测NANDFLASH的状态,在启动某个操作后,应该检测r/Nb信号以确定该操作是否完成、是否成功。

nfconf
第八章nand <wbr>flash控制器
设置nandflash的时序参数tacls、twrph0、twrph1,设置数据位宽;还有一些只读位
nfcont
第八章nand <wbr>flash控制器
第八章nand <wbr>flash控制器
被用来使能/禁止nand flash 控制器、使能/禁止控制引脚信号nFCE、初始化ecC.


NFCMD
第八章nand <wbr>flash控制器
对于不同型号的flash,操作命令不同
nfaddr
写这个寄存器时,将对flash发出地址信号
nfdata
只用低8位,读、写此寄存器将启动对nand flash的读写操作
nfstat:nand flash状态寄存器
第八章nand <wbr>flash控制器
只用到位0,0:busy;1:ready
第八章nand <wbr>flash控制器

第八章nand <wbr>flash控制器
8.2.1 读nandflash 步骤
1.设置nfconf 
tacls=0,twrph0=3,twrph1=0,所以nfconf=0x300
2.设置nfcont
nfconf=(1<<4)|(1<<1)|(1<<0)
3.复位nandflash
nfcont&=(1<<1)  //发出片选信号
nfcmd=0xff(reset 命令)//reset命令
nfcont|=0x2 //禁止nand flash
4.发出读命令
nfcont&=~(1<<1)
nfcmd=0 
5.send addr 
nfaddr=addr&0xff
nfaddr=(addr>>9)&0xff
nfaddr=(addr>>14)&0xff
nfaddr=(addr>>25)0xff
6.循环查询nfstat位0,直到他等于1,这时就可以读数据了
7.连续读nfdata寄存器512次得到一页数据
8.禁止nandflash片选信号
nfcont|=(1<<1)
原创粉丝点击