您的位置:首页 > 其它

ARM11 S3C6410系列教程之四:NANDflash操作

2014-10-24 00:00 246 查看
摘要: ARM11 DDR NAND flash 寄存器

在本章开始之前,我们先来看下ARM11S3C6410内部结构:

本文引用地址:http://www.eepw.com.cn/article/203125.htm



  在图中,我们看到ARM11S3C6410内存部分有SRAM、SDRAM、DDRNANDflash几种类型,关于这几种内存之间的联系可参考ARM11s3c6410系列教程之三内存使用的介绍。从以上几节的介绍可以看出,若ARM11S3C6410设置为NANDflash启动,则NANDflash作为程序暂时储存的场所,我们不能不认真的理解下NANDflash的操作。

  在硬件上,使能 NAND Flash时, XSELNAND需保持为高电平,也就是AB16为高电平。

  在NAND Flash 控制器图解如下图所示:



  在图解中我们可以看出NAND Flash控制器片选信号、命令信号,地址信号,读信号、写信号、空闲/繁忙管脚和8个数据管脚组成,这大大方便了NANDflash的使用和控制。

关于NAND Flash芯片的硬件连接,我们来分析下其连接:

本文引用地址:http://www.eepw.com.cn/article/203125.htm

  首先,来看下NAND Flash芯片连接图



  在硬件连接中,可以看出NANDflash的I/O端口连接只有8位,我们不难想到数据、地址复用的情形。其实,NANDflash的操作也是这样。

  其次,我们来分析下NANDflash的操作:

  ① 通过片选信号CE1和CE2完成NANDFlash的选择;
  ② NANDFlash操作时序图如下:



  由于NANDFlash不能像内存一样直接读写,要先发出命令、再发地址、再读写数据完成相应的操作;

  ③ 关于命令,地址和数据的传送有以下规则:

  CLE = 1, data0~data7上传输的是命令;
  ALE = 1, data0~data7上传输的是地址;
  CLE/ALE都是0, data0~data7上传输的是数据, nWE = 0, 表示写;

  ④ ARM11S3C6410发出命令操作:只需要把命令写到NFCMD寄存器中即可完成;

  ⑤ ARM11S3C6410发出地址:把地址写到NFADDR寄存器;

  ⑥ ARM11S3C6410发出数据:把数据写到NFDATA寄存器;

  ⑦ ARM11S3C6410读数据操作:通过读取NFDATA寄存器即可完成数据的读取;

  ARM11S3C6410正是有了NFCON,才使对NANDFlash的操作变得更加简单。对于其他的处理器,需要用普通的GPIO按照NANDFlash的操作时序完成相应的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ARM11 DDR NAND flash 寄存器