nandflash的操作方法

来源:互联网 发布:欧洲工商管理学院 知乎 编辑:程序博客网 时间:2024/06/07 15:22

                                                         nandflash的操作方法

写nand flash驱动程序须知:

问1. 原理图上NAND FLASH和S3C2440之间只有数据线,
     怎么传输地址?
答1.在DATA0~DATA7上既传输数据,又传输地址
     当ALE为高电平时传输的是地址。

问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令
     怎么传入命令?
答2.在DATA0~DATA7上既传输数据,又传输地址,也传输命令
     当ALE为高电平时传输的是地址,
     当CLE为高电平时传输的是命令
     当ALE和CLE都为低电平时传输的是数据

问3. 数据线既接到NAND FLASH,也接到NOR FLASH,还接到SDRAM、DM9000等等
     那么怎么避免干扰?
答3. 这些设备,要访问之必须"选中",
     没有选中的芯片不会工作,相当于没接一样

问4. 假设烧写NAND FLASH,把命令、地址、数据发给它之后,
     NAND FLASH肯定不可能瞬间完成烧写的,
     怎么判断烧写完成?
答4. 通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平表示正忙


问5. 怎么操作NAND FLASH呢?
答5. 根据NAND FLASH的芯片手册,一般的过程是:
     发出命令
     发出地址
     发出数据/读数据


                NAND FLASH                      S3C2440
发命令    选中芯片                   
               CLE设为高电平                   NFCMMD=命令值     
              在DATA0~DATA7上输出命令值
              发出一个写脉冲
            
发地址    选中芯片                        NFADDR=地址值
          ALE设为高电平
          在DATA0~DATA7上输出地址值
          发出一个写脉冲


发数据    选中芯片                        NFDATA=数据值
               ALE,CLE设为低电平
               在DATA0~DATA7上输出数据值
               发出一个写脉冲


读数据    选中芯片                        val=NFDATA
                发出读脉冲
                读DATA0~DATA7的数据

原创粉丝点击