nandflash原理及硬件操作

原创 2017年03月24日 19:18:15

我们先看下nandflash的布线


有data0 到data7 八根数据线


nandflash是个存储芯片,那我提出请求:读地址a的数据,把数据b写到a地址上去

那么我们看原理图只看到data0-data7,没有看到地址引脚,那怎么把地址传给我们的开发板

复用,这几个引脚即传数据也传地址

怎么分别是数据还是地址呢,有个ALE信号,当ALE是高电平时,传输的是地址

但是它不仅只传输地址和数据,还传输命令,在nand flash芯片手册可知,要操作nandflash要先发出命令,只有八条数据线,怎么传输命令呢???

当CLE为高电平的时候传输的就是命令,当ALE和CLE都为低电平的时候传输的是数据。

这个data0 有的开发板不仅仅只接nandflash,还有的接norflash等等非常多的地方

数据线 地址线等即接到nandflash,也接到norflash,还接到sdram,DM9000等等。怎么避免干扰,比如说我访问nandflash的时候,norflash就不要给我提供数据

你就要相当与没接一样,怎么避免干扰呢???

就是通过这些设备要访问之前,必须选中,什么叫选中呢,他们都有片选信号,就要我们的片选引脚变为低电平选中,就是cs引脚,没有选中的芯片不会工作,相当于没接一样


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


we和re就是读写信号..


怎么操作nandflash

根据nandflash的芯片手册,一般过程是:发出命令,发出地址,读写数据。

nandflash的命令表格如下


我们往下看,拿个例子来看,读ID这个例子的时序图


每个nandflash都会内嵌ID,比如厂家ID啊等等。

时序图 横轴是时间,时序图怎么看呢 ,从左往右看。纵向方向就是一列一列 来看

然后可以看到发出命令 90,怎么知道的 ,在数据线上发出90这个值,怎么知道它是命令的,就是CLE是高电平。然后给它一个写脉冲。这个写信号的上升沿nandflash就会把数据存进来,它就知道了我是一个命令。

然后接着发出一个0地址,然后就可以读数据了


对于我们芯片来说里面集成了一个nandflash控制器,内部接线。它帮我们简化了这些操作,


nandflash 芯片(rus5pv210)

选中芯片

发命令的操作 CLE变为高电平 把命令值写到NFCMD寄存器里就可以了

在data0-data7输出命令值

提供一个写脉冲


选中芯片

发地址 ALE输出高电平

在data0-data7输出地址值 把地址写入NFADDR寄存器里就可以了

提供一个写脉冲

选中芯片

发数据 ALE,CLE输出低电平

在data0-data7输出数据的值 把地址写入NFDATA寄存器里就可以了

提供一个写脉冲


选中芯片

读数据 发出一个读脉冲

读data0-data7的数据



我们可以用uboot体验nandflash的操作


1.读ID,时序图在上面

选中

发出0x90命令

发出地址0x00

读第一个数据会得到0xEC

读第二个数据得到device code


选中的话芯片手册的nand flash章节 可以知道


选为0为选中


发出命令就是把命令写到下面这个寄存器里面去


同理 地址和数据也是一样寄存器如下



但是在uboot里面怎么操作呢

uboot里面有命令可以读内存的

md.w 0xB0E0_0004 1 这命令表示读 0xb0e00004 读一次

mw.w 是写命令




md 内存显示 b是以字节为单位,w是以2字为单位,l是以四字节为单位



读ID命令流程如图



读出dc

我们验证一下  nandflash里面读ID下面就有这张图 


结束读ID的命令 就是NFCMD 寄存器等于0xff 就是命令的reset


2.读数据

我们可以根据uboot的nand dump 0命令读取0地址的数据



我们来一下nandflash读操作的时序图


为什么中间有五个地址

看容量


读00数据命令如下


跟上面的输出是一样的 



















学前班-怎么看原理图之协议类接口之NAND Flash

NAND Flash原理图: 由NAND Flash的原理图可以看出,做为一个存储芯片,只有I/O引脚,并没有地址引脚,怎么传地址?遵循一定的规范,先通过LDATA把地址传出去,再传数据。具体的需要...
  • PZ0605
  • PZ0605
  • 2016年11月18日 15:17
  • 1463

NAND Flash 读、写、擦除原理

以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。 1. 概述         MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来传输数据、地址、指令...

NAND FLASH ECC校验原理与实现

参考文档: http://blogimg.chinaunix.net/blog/upfile2/080702112233.pdfNAND FLASH ECC校验原理与实现ECC简介  由于NAND F...
  • nhczp
  • nhczp
  • 2007年07月20日 10:28
  • 21547

Nand Flash介绍和Nand Flash控制器使用

一、Flash介绍     常用的flash类型有NOR Flash 和Nand Flash 两种;     (1)Nor Flash     1、Nor Flash的接口和RAM完全相同,可以随机访...

NAND Flash控制器的一些小知识

NOR Flash存储器具有速度快、数据不易失等特点,在嵌入式系统中可作为存储并执行启动代码和应用程序的存储器。但是由于NOR Flash存储器的价格比较昂贵,而SDRAM和NAND Flash存储器...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

NAND与NOR FLASH的原理与异同

一、存储数据的原理 两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的 电流消耗极小,不同的是场效应管为单栅极...

NAND Flash硬件原理

  一、存储数据的原理 两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

NAND Flash 读、写、擦除原理

以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。 1. 概述         MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来传输数据、地址、指令...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nandflash原理及硬件操作
举报原因:
原因补充:

(最多只允许输入30个字)