1 / 16
文档名称:

nand flash驱动程序设计.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

nand flash驱动程序设计.doc

上传人:cdsqbyl 2015/9/8 文件大小:0 KB

下载得到文件列表

nand flash驱动程序设计.doc

相关文档

文档介绍

文档介绍:当前各类嵌入式系统开发设计中,存储模块设计是不可或缺的重要方面。NOR和 NAND是目前市场上两种主要的非易失闪存技术。NOR Flash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常用于程序代码的存储。与NOR相比,NAND闪存的优点是容量大,但其速度较慢,因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。NAND型Flash具有极高的单元密度,容量可以比较大,价格相对便宜。
本文以三星公司的 K9F2808UOB芯片为例,介绍了NAND Flash的接口电路与驱动的设计方法。文中介绍了开发NAND Flash驱动基本原理,意在简化嵌入式系统开发过程。
1  NAND Flash工作原理
S3C2410板的NAND Flash支持由两部分组成:集成在S3C2410 CPU上的NAND Flash控制器
和NAND Flash存储芯片。要访问NAND Flash中的数据,必须通过NAND Flash控制器发送命令才能完成。所以, NAND Flash相当于S3C2410的一个外设,并不位于它的内存地址区。
  芯片内部存储布局及存储操作特点
一片NAND Flash为一个设备, 其数据存储分层为:1设备=4 096块;1块=32页;1页=528字节=数据块大小(512字节)+OOB块大小(16字节)。在每一页中,最后16字节(又称OOB,Out?of?Band)用于NAND Flash命令执行完后设置状态用,剩余512字节又分为前半部分和后半部分。可以通过NAND Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位,通过NAND Flash内置的指针指向各自的首地址。
存储操作特点有: 擦除操作的最小单位是块;NAND Flash芯片每一位只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前一定要将相应块擦除(擦除即是将相应块的位全部变为1);OOB
部分的第6字节(即517字节)标志是否是坏块,值为FF时不是坏块,否则为坏块。除OOB第6字节外,通常至少把OOB的前3字节用来存放NAND 码。
  NAND Flash接口电路
首先介绍开发板的硬件设计,图1为NAND Flash接口电路。其中开关SW的1、2连接时R/B表示准备好/忙,2、3连接时nWAIT可用于增加读/写访问的额外等待周期。在S3C2410处理器中已经集成了NAND Flash控制器,图2为微控制器与NAND Flash连接的方式。
图1  NAND Flash接口电路
  控制器工作原理
NAND Flash控制器在其专用寄存器区(SFR)地址空间中映射有属于自己的特殊功能寄存器,就是通过将NAND Flash芯片的内设命令写到其特殊功能寄存器中,从而实现对NAND Flash芯片读、检验和编程控制。特殊功能寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、。
图2  NAND Flash与S3C2410连接电路
2  Flash烧写程序原理及结构
基本原理:将在SDRAM中的一段存储区域中的数据写到NAND Flash存储空间中。烧写程序在纵向上分三层完成。第一层
: 主烧写函数,将SDRAM中一段存储区域的数据写到NAND Flash存储空间中。第二层: 该层提供对NAND Flash进行操作的页读、写及块擦除等函数。第三层:为第二层提供具体NAND Flash控制器中对特殊功能寄存器进行操作的核心函数,该层也是真正将数据在SDRAM和NAND Flash之间实现传送的函数。其中第二层为驱动程序的设计关键所在,下面对该层的读、写(又称编程)、擦除功能编码进行详细介绍。
  NAND Flash Read
功能:读数据操作以页为单位,读数据时首先写入读数据命令00H,然后输入要读取页的地址,接着从数据寄存器中读取数据,校验。
参数说明:block,块号;page,页号;buffer,指向将要读取到内存中的起始位置;返回值1,读成功,返回值0:读失败。
static int NF_ReadPage(unsigned int block, unsigned int page, unsigned char *buffer){
(); /* 初始化 ECC */
NF_nFCE_L(); /* 片选NAND Flash芯片*/
NF_CMD(0x00); /* 从A区开始读*//* A0~A7(列地址) */
NF_ADDR(0); /* A9A16(页地址) */
NF_ADDR(blockPage&0xff); /*

最近更新

2024年弘扬传统文化作文 12页

昌化江流域上游人工林种植对天然林保护影响的.. 2页

2024年开展爱国卫生的活动总结 25页

2024年开展推普周的活动总结15篇 22页

2024年开展主题团日活动总结 24页

无限阶矩阵李代数余伴随表示的刻画的开题报告.. 2页

2024年开学第一课活动方案:安全教育 9页

2024年开学第一课主题班会(精选38篇) 70页

无线移动网络中位置管理研究与实现的开题报告.. 2页

无线多媒体传感器网络中的资源调度与管理的开.. 2页

2024年开学文案(精选200句) 15页

冶炼设备安全防护技术创新 31页

2024年开学啦学生作文八篇-关于开学的作文 9页

2024年开学了日记700字 3页

夏洛特的网读后感(20篇) 18页

大一学生寒假社会实践心得体会(30篇) 67页

大学大一新生代表发言稿范文(34篇) 63页

大学竞选部长的演讲稿(10篇) 21页

2024年建设用地租赁合同 41页

好人好事模范事迹材料(30篇) 41页

生物质环转气化技术 33页

小学一年级数学同步练习题 数阵图之谜 2页

2024年建设工程合同[优] 63页

2024年建设单位年度工作总结 19页

新能源汽车用直线压缩机高效控制方法研究的开.. 2页

2024西城初三一模数学试题(WORD版) 8页

2024年朝阳中考一模数学试题及答案 14页

变电所工程冬季施工方案 15页

连续油管作业问题及对策ppt课件 41页

高速公路养护统计管理办法 4页