Nand Flash操作原理及裸机程序分析——FLASH操作原理
来源:韦东山嵌入式专栏_ARM裸机加强版维基教程
作者:韦东山
本文字数:1056,阅读时长:10分钟
NAND_FLASH操作原理
NAND FLASH原理图NAND FLASH是一个存储芯片那么: 这样的操作很合理”读地址A的数据,把数据B写到地址A”
问1. 原理图上NAND FLASH和S3C2440之间只有数据线,怎么传输地址?
答1. 在DATA0~DATA7上既传输数据,又传输地址当ALE为高电平时传输的是地址,
那么在数据线上是不是只传输数据和只传输地址呢?
我们参考NAND FLASH的芯片手册可以知道,对NAND FLASH的操作还需要发出命令,下面有个NAND FLASH的命令表格
问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的芯片手册,一般的过程是:
发出命令
发出地址
发出数据/读数据
看上面的命令表格,不容易看,我们看一下读ID的时序图,
每个NAND FLASH都内嵌一些ID(譬如:厂家ID,设备ID),时序图从左往右看,纵向放是一列一列的看。
对于我们s3c2440来说,内部集成了一个NAND FLASH控制器,2440和外设连接的简易图,如下图所示
NAND FLASH控制器,帮我们简化了对NAND FLASH的操作,下面来分析一下不使用NAND FLASH控制器和使用NAND FLASH控制器对外设NAND FLASH的操作。
发命令:
发地址:
发数据:
读数据 :
用UBOOT来体验NAND FLASH的操作:
1.读ID
下图是读操作时序图
对于存储为256M的NAND FLASH,需要28条地址线,来表示这个地址值,根据原理图可以,只用8根地址线,所以需要4个周期的地址,为了兼容更大容量的NAND FLASH,要发出5个周期的地址:(如下图所示)
2.读数据
「新品首发」STM32MP157开发板火爆预售!首批仅300套
NAND flash 信号线的理解
上一篇我们已经讲了NAND flash的分类,这一篇介绍NAND flash 的硬件接口。例如
由NAND Flash的原理图封装,然后查看芯片手册。
由图可知:IO0-IO7:既可传送数据也可传送地址,也可以送传命令。那到底是读是写,还是擦除?怎么区分IO0-IO7传送的是数据?地址?命令? 那么就需要通过CLE与ALE的状态来区分了。
假如2440要读取A地址的数据,或将数据写入B地址。当CLE为高电平表示IO0-IO7传送的是命令;当ALE为高电平表示IO0-IO7传送的是地址;当ALE与CLE都为低电平的时候,表示IO0-IO7传送的是数据。
CE:片选。当2440要操作访问Nand的时候,首先必须选中。
RE:读信号,当RE为低的时候,表示数据由Nand流向2240;
WE:写信号,当RE为低电的时候,表示数据由2240流向Nand;
WP:写保护,只能写,不能擦除。
R/B:Ready信号,表示Nand Flash烧写完成
这些引脚具体怎么组合起来的,需要查看手册中的时序图。
发(写)命令的时序图:
首先CE发出片选信号,CLE发出高电平,IO 0-7将命令驱动出去,WE写脉冲,在写脉冲的上升沿,Nand flash在上升沿,将IO 0-7中数据读取出来。
发地址的时序图:
CE片选, ALE由低变高,IO 0-7驱动 数据,WE发出写脉冲。
输入(写)数据的时序图:
CE选中,ALE、CLE低电平,2440 IO 0-7驱动 数据,WE写信号,Nand flash根据ALE、CLE低电平,读取数据。
输出(读)数据的时序图:
CE低电平选中,RE由高变为低(Nand flash收到RE由高变低时,马上准备数据,然后在RE的上升沿将数据发送出去),Nand flash 驱动数据到IO 0-7,在上升沿,2440取数据。
2440这些引脚发出的数据,必须满足Nand flash的时序要求。需要查看2440芯片手册,查看设备哪个寄存器的某些位来控制时序
相关问答
QQ视频里放电影给对方看为何是黑屏幕呢?只有声音-ZOL问答zhongkaicongQQ聊天窗口左上角视频镜头的下拉菜单里有有用(0)回复112233a...A520是支持Flash的。有用(0)回复亲,建议卸载重装一下看看有用(0)回复...
嵌入式开发中的烧写与移植的区别? - 189****1970 的回答 - 懂得比较认同楼上说的。。。---------------------------+烧写就是固化烧到flash中移植就是让linux支持这个硬件但:视频服务器一般特指DVS,主要用于安防...
怎么用Adobe Photoshop CS6调整图片的大小-ZOL问答wuningning5001使用photoshop调整图片大小1、依次点击photoshop界面菜单栏中的“文件(F)”按钮-“打开(O)”或者快捷方式“Crtl+O”打开需要修改尺寸的图片。.....
IT都有什么专业,要学多久啊?321手机视频讲解-安卓开发教程+素材(全15讲)安卓基础视频教程+素材(全92讲)Linux环境下C语言编程入门视频教程全52讲云计算视频教程-安卓开发(全7讲)...信...
在游戏里冲突导致键盘失效怎么处理-ZOL问答玩的时候,用鼠标在FLASH上点一下,就不会跑了啊~鼠标焦点要在FLASH上才行。。有用(0)回复windos独有的粘滞键.....去控制面板把他关了就好了有用(0)回复每...
小米2s用MHL-HDMI线连接显示屏只充电无信号-ZOL问答如题,我的显示器是明基EW2440L,接上以后只能充电没有信号,求解手机小米小米...怎么样更新电脑Flash版本?4645浏览3回答ipad里qq接收的文件肿么删除8436...
600298安琪酵母这只股票属于什么板块的股票,准备现在买进,...[回答]食品行业股票:莲花味精,第一食品,承德露露,维维股份,伊利股份,光明乳业,全聚德,南宁糖业,贵糖股份,高金食品,安琪酵母600298,是属于上海股介绍如...