Tiny6410学习笔记3——Nand Flash Controller

时间:2022-09-22 09:04:48

Nand Flash简介

简介

相当于pc机的硬盘,保存系统运行所必须的操作系统、应用程序、用户数据以及运行过程中产生的一系列数据。掉电后数据仍可保存。
贴上Tiny6410所用的Nand Flash芯片的引脚配置图和信息,以后会用。

引脚

引脚配置图:
Tiny6410学习笔记3——Nand Flash Controller
引脚描述:
Tiny6410学习笔记3——Nand Flash Controller

基本结构图

Tiny6410学习笔记3——Nand Flash Controller
Tiny6410学习笔记3——Nand Flash Controller
由图中可以看到,一页有2KB的空间以及64*8bit的额外空间(韦东山老师的视频教程里称之为OOB,不在Nand Flash的编址范围之内,一般情况下不用)。可以看出,一页有2112*8个cell(一个cell为1bit),一个block有64页,一个Device Register有2K个块(block)。

Nand Flash Controller

硬件连接图

Tiny6410学习笔记3——Nand Flash Controller
从图中可以看到,S3C6410只有数据总线与Nand Flash相连,而没有地址总线,这与SDRAM,SRAM,寄存器,网卡等都不相同,这也意味着Nand Flash有着另一种寻址方式,而不是由CPU统一编址。

Nand Flash访问方式

没有了地址总线,那么所有的命令、地址、数据都得由数据总线完成,如何确定是命令、地址还是数据,则是控制信号需要完成的工作。
基本访问步骤是:

发出命令(CLE引脚):

读,写,擦除
PS:读写操作都是以页为单位执行的,而擦除操作是以块为单位执行的。
Nand Flash的Command Set:
Tiny6410学习笔记3——Nand Flash Controller
对S3C6410来说,这一步简化为写NFCMMD寄存器,将所需的命令通过Command Set表映射为一个16进制数,写入该寄存器即可。

发出地址(ALE引脚):

对S3C6410来说,这一步简化为写NFADDR寄存器。

传输数据(WE,RE引脚):

对S3C6410来说,这一步简化为写NFDATA寄存器。

状态:

对S3C6410来说,这一步简化为写NFSTAT寄存器。

代码示例

明天分析。