一种基于AMBA总线的NANDFLASH控制接口电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Design of NAN D FLASH Control I nterface B ased on AMBA G eneral Bus
T ANG Yu2Guang,WANG Zhen,LING Ming
(National Engineering Research Center for ASIC System,Nanjing210096,China)
Abstract: NAND F LASH uses8I/O signallines to com plicated transmit control,address and data in formation.s o the interface is special.This design based on the ARM7T DMI core,AM BA AH B general bus,supports1bit ECC verification and1bit width conversion.The state machine consists of four state groups.C ommand state group fulfills the function of sending command to NAND F LASH.Address state group fulfills the function of sending address to NAND F LASH.Read state group fulfills reading function.Write state group fulfills writing function.A fter simulation and real chip function test,all functions accord with the NAND F LASH specification.
K ey w ords: NAND F LASH;AH B;interface m odule;ECC
EEACC: 1130B;1265B
一种基于AMBA总线的NAND FLASH控制接口电路设计
唐宇光,王 镇,凌 明
(东南大学国家专用集成电路系统工程技术研究中心,南京210096)
摘要:NAND F LASH采用8根I/O信号线复杂的传送控制、地址和数据信息,其控制逻辑需要专门设计。该接口设计基于ARM7T DMI核,AM BA AH B总线结构,支持1bit ECC校验和位宽转换。接口设计中的状态机由命令字发送状态组完成对NAND F LASH命令字发送,地址发送状态组完成写地址发送,读状态组完成读操作,写状态组完成写操作。该设计已通过仿真和芯片验证测试,功能符合NAND F LASH操作规范。
关键词:NAND F LASH;AH B;接口模块;ECC校验
中图分类号:T N79 文献标识码:A 文章编号:1005-9490(2004)02-0306-06
NAND F LASH作为主流内存,具有存储密度高,擦除和读出数据快的特点,每单位存储价格低,在嵌入式系统中适合大容量数据存储。但是应用NAND F LASH必须提供专用的接口控制时序,因此目前设计主流的嵌入式S OC芯片如果要提供对NAND F LASH的支持,就需要设计一个NAND F LASH控制模块电路。
我们设计的32bit嵌入式S OC芯片,支持ROM,SRAM,S DRAM,NOR F LASH,NAND F LASH 的读写。其中对NAND F LASH提供了一个片选。本文中将首先介绍NAND F LASH的操作方法,基于此操作方法,详细介绍该接口电路的结构,读写数据流。重点介绍了NAND F LASH的详细操作,ECC 校验原理,和状态机控制。在文章最后,将是该模块在S UN服务器上的仿真时序图。
1 NAND F LASH操作详细介绍
当前的Flash主要有三种,包括NOR F LASH, NAND F LASH,AND F LASH。其中NAND F LASH性能较之NOR F LASH,AND F LASH优越。NAND的写入速度更快,擦除速度只有4ms,读出速度稍慢。
第27卷第2期2004年6月
电 子 器 件
Chinese Journal of Electron Devices
Vol.27,No.2
June.2004
收稿日期:2004-04-06
作者简介:唐宇光(1977-),男,天津人,硕士研究生,现在东南大学国家专用集成电路系统工程中心从事数字专用集成电 路设计研究,drag on182cn@.
NAND 器件使用I/O 口来串行地存取数据,共有8
根I/O 信号线用来传送控制、地址和数据信息。读和写操作采用512byte 的块操作,称之为整页操作。在NAND 闪存中每个块的最大擦写次数是一百万次,寿命很长。同时在器件尺寸上NAND 尺寸要比NOR 器件小8倍,非常适合嵌入式系统的小型化。为了解决NAND F LASH 操作的位反转问题,通常在使用NAND 闪存的时候,同时使用E DC/ECC 算法对反转位鉴别。在NAND F LASH 的代码执行操作上,必须有内存软件支持,即所谓的MT D 技术。
下面我们用Sandisk S DT NF 2256为例子,对该256M B 的NAND F LASH 的读写波形,以及部分操作命令加以介绍。在该芯片每次操作前,必须首先发出命令字,NAND F LASH 的命令字寄存器接收到命令后,控制逻辑做出相应的操作。最常见的三种命令字:x00H 读命令字,x80H 写命令字,x10H 编程命令字。在NAND F LASH 中除了命令字寄存器,在NAND F LASH 中还包括两个主要寄存器,地址寄存
器和配置寄存器。分别用来保存操作地址和配置读写时序。
图1是NAND F LASH 的标准读时序。从图中可以看到七根信号线,还有一根WRITE PROTECT 信号线,作为写保护信号线,这就是NAND F LASH 的全部信号线。具体的读操作如下:发命令阶段,在片选信号CE 有效的情况下,首先命令允许信号C LE 有效,此时写入信号WE 有效,芯片准备好信号R/B 置高,表示准备好。同时向I/O 口发送x00H 命令,
表示是读操作。发地址阶段,此时片选有效,地址允许信号线有效,写入信号WE 保持有效,连续发送三个地址,地址N 选中存储区中的page 页,地址M 再从这个page 页中选中起始地址。三个地址全部输入NAND F LASH 后,此时R/B 信号将维持busy 状态一段时间,此后R ΠB 变为准备好状态。最
图1 NAND F LASH 读操作
后是数据输出阶段,读有效信号置低有效,每次低
有效时,将会输出一组数据。如此往复直到所有的数据输出完毕。
图2是向NAND F LASH 进行的标准写入操作
序列,该操作命令称为连续数据写入。因为波形图
和读操作的波形图相似,只给出了写操作流程图。注意到操作的最后阶段,x70H 命令是指状态读操作。每次完成写入操作后,都要进行一次状态读操作,以监测NAND F LASH 内部状态。至于写入操作的时序除了WE 在数据输入阶段低有效,RE 此时为高,其他控制信号线与读操作时的控制信号线状态相同。
图2 NAND F LASH 写操作
除了以上基本的读操作,写操作,状态读操作,我们
设计的控制模块还包括自动块擦除操作功能,但是不支持该芯片的I D 读操作。
2 设计背景和子模块划分
该NAND F LASH 控制接口电路是32bit 微处理器的外部存储器接口E MI (external mem ory interface )中的一个模块。该款32bit 微处理器的结构如图3所示,其中内核采用ARM 公司的ARM7T DMI ,总线采用32bit 高性能数据总线AH B 。支持NAND F LASH 的整页读写操作,ECC 校验,以及自刷新功能。
总线接口模块负责锁存总线来的地址,数据,控制字信号,可支持写缓存功能。S DRAM 接口模块负责S DRAM 控制读写功能,SRAM 接口模块负责SRAM ,NOR F LASH ,ROM 控制读写功能。NAND F LASH 控制模块负责NAND F LASH 控制,读写功
能。DEC 模块负责总线来的地址的译码工作,与NAND F LASH 控制模块之间的关系不大。
NAND F LASH 控制模块包括一个数据FIFO ,在总线和NAND F LASH 之间缓存数据。ECC 模块负责写数据和读数据的数据校验。状态机模块负责整个模块的状态控制,完成对NAND F LASH 的读,写,发命令字,发地址等状态控制操作。寄存器堆包括三个寄存器:配置寄存器,命令寄存器,地址寄存器。配置寄存器负责配置对NAND F LASH 控制
指令的时序配置。命令寄存器和地址寄存器分别寄存发给NAND F LASH 的命令字和地址。详细的设计图在4中分读和写作详细介绍。
E MI 总体框架如图3所示:
7
03第2期 唐宇光,王 镇等:一种基于AM BA 总线的NAND F LASH 控制接口电路设计