Nand Flash的读操作及原理

硬件原理

原理图引用上图的Nand Flash的硬件原理图,关于这些引脚的含义有如下解释:

NAND FLASH是一个存储芯片
那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A"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来判断:它为高电平表示就绪,它为低电平表示正忙
读操作

读通过上图所述的读操作时序图可以得到读操作的流程描述如下:

  • 发出命令
  • 发出地址
  • 读数据
    再结合主控芯片,具体操作步骤如下(芯片是通过NAND FLASH控制器进行读写操作的):
          NAND FLASH                      S3C2440
发命令    选中芯片                   
          CLE设为高电平                   NFCMMD=命令值     
          在DATA0~DATA7上输出命令值
          发出一个写脉冲
            
发地址    选中芯片                        NFADDR=地址值
          ALE设为高电平
          在DATA0~DATA7上输出地址值
          发出一个写脉冲
 
发数据    选中芯片                        NFDATA=数据值
          ALE,CLE设为低电平
          在DATA0~DATA7上输出数据值
          发出一个写脉冲
 
读数据    选中芯片                        val=NFDATA
          发出读脉冲
          读DATA0~DATA7的数据

需要注意的是,每次操作之前都要写选中NAND FLASH。

参考文章:https://blog.csdn.net/lee_jimmy/article/details/82084241

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值