对Nand Flash的操作(S3C2440)

本文详细介绍了S3C2440微处理器如何操作NAND Flash,包括其工作原理、时序控制、状态判断以及通过NAND Flash控制器进行的配置。内容涵盖了NAND Flash的页、块概念,通过状态引脚RnB判断操作完成,以及NAND Flash控制器的寄存器设置,如TACLS、TWRPH0和TWRPH1。此外,还讨论了根据NAND Flash芯片时序调整控制器设置的方法,并提供了初始化函数及读写擦除操作的实现思路。
摘要由CSDN通过智能技术生成

Nand Flash的概述

nandflash主要以page(页)为单位进行读写,以block(块)为单位进行擦除。每一页中又分为main区和spare区,main区用于正常数据的存储,spare区用于存储一些附加信息,如块好坏的标记、块的逻辑地址、页内数据的ECC校验和等。
先看下电路原理图
在这里插入图片描述
从原理图可以看出:
在DATA0~DATA7上既传输数据,又传输地址,也传输命令:
当ALE为高电平时传输的是地址。
当CLE为高电平时传输的是命令。
当ALE和CLE都为低电平时传输的是数据。

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

看一下NAND的引脚:
在这里插入图片描述

根据NAND FLASH的芯片手册,一般的过程是:

  1. 发出命令
  2. 发出地址
  3. 发出数据/读数据
    相应的命令字如图:
    在这里插入图片描述
    s3c2440来说,内部集成了一个NAND FLASH控制器,CPU只需操作NAND FLASH控制器,就实现对NAND FLASH的操作。

NAND Flash控制器提供了NFCONF、NFCONT、NFCMMD、NFADDR、NFDATA、NFSTAT和其他一些寄存器。
在这里插入图片描述

NAND FLASH控制器的时序,是为了让NAND FLASH外设工作起来,假如外接不同的 NAND FLASH外设,那么它的操作时序可能就会不同,所以对Nand Flash控制器的设置也不同。
需要根据不同的nand flash,设置nand flash控制器。

看一下nand flash控制器时序:
在这里插入图片描述
由图可知,需要设置nand flash控制器的TACLS、TWRPH0、TWRPH1。
TACLS、TWRPH0、TWRPH1分别是NFCONF寄存器的某几位。

看一下nand flash芯片的时序:
图2
在这里插入图片描述
分析:
依次看这3张图
图1 ,TACLS是CLE / ALE使能之后,过多久nWE使能。就对应图2中nand flash芯片的时序中的tCLS和tALS减去tWP。再看图3,tCLS、tALS、tWP最小都为12ns;也就是TACLS可以为12-12=0。

图1,TWRPH0是nWE的使能时间。对应图2中的tWP。再看图3,为12ns。

图1,TWRPH1是nWE失能之后,过多久CLE / ALE失能。就对应图2中nand flash芯片的时序中的tCLH、tALH。再看图3ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值