02-硬件设计-NANDflash电路

硬件设计-NANDflash电路


NAND Flash 在嵌入式系统中的地位与PC机上的硬盘是类似的。用于保存系统运行所必需的操作系统,应用程序,用户数据,运行过程中产生的各类数据,系统掉电后数据不会丢失。
读写是以页为单位的,擦除是以块为单位的。对于Nand的写操作,只能由1变成0,而不能由0变成1。所以必须先对nand执行erase操作,即将0变成1,然后再写(使对应的1变成0)。
数据、地址采用同一总线,实现串行读取,随机读取速度慢且不能按字节随机编程。

1.引脚说明

MT29F2G08ABAEAWP-IT为例,这个是属于镁光的一颗NANDflash芯片,256MB的存储(256*8=2Gbit的空间)。
命名规则:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
引脚分类:
ALE:地址锁存是能引脚,I/O[7:0]加载地址到NAND
CE#:片选是能
CLE:命令锁存是能,I/O[7:0]加载命令到NAND
LOCK:
RE#:读使能
WE#:写是能
WP#:写保护
I/O[7:0]:数据引脚
R/B#:开漏输出引脚,准备好/忙提示引脚
VCC:核心电源
VSS:GND
NC:不要连接
DNU:不要使用
在这里插入图片描述
在这里插入图片描述

内部逻辑图:
也分为行列地址进行寻址。
在这里插入图片描述
可以看到该芯片一个device有2个plane大小,每个plane有1024个block,每个blocks有64个page,每个page可以存放2KB的数据。
通过以上计算2102464*2048=268435456B=2Gbit
包含了2112个字节的cache的存储
包好了2112个字节的数据寄存器。
在这里插入图片描述

2.时序说明

nand flash的8个I/O(IO0 - IO7是复用的,也就是说可以传数据,也可以传地址,也可以传命令。为了进行区分,引入了CLE(Command Latch Enable)、ALE(Address Latch Enable)两个管脚。
控制逻辑为
先加载命令->在加载地址->在加载数据
命令(CLE有效, ALE无效)
地址(ALE有效, CE无效)
数据(CLE/ALE都无效)

在读数据时需要发送5个字节,如下表所示,CA0-CA11表示列地址,根据NOTE显示如果CA11为1时,CA[10:6]必须为0,那么就可以表示0b10000011111个列地址就等于2112(应为会读取到cache和数据寄存器,实际读取数据时最大为2048个block),正好是每个plane的大小,PA0-PA5表示页地址,最大为64,每个block正好是64个page;BA[16:6],最大表示为2048,表示每页有2048个字节。那么正好是2048642048=2Gbit的寻址范围。
在这里插入图片描述
由下表可以看出,
在命令输入时,片选信号CE#为低电平,CLE命令引脚为高电平有效,ALE地址引脚为低电平失能,WE#写命令引脚上升沿写入命令;RE#读使能失效;IO传送命令,WP#写保护关闭。
在地址输入时,片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为高电平是能,WE#写命令引脚上升沿写入地址;RE#高电平读使能失效;IO传送地址,WP#写保护关闭。
在数据输入时,片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为低电平失能,WE#写命令引脚上升沿写入数据;RE#高电平读使能失效;IO传送数据,WP#写保护关闭。
在数据输出时,片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为低电平失能,WE#写引脚高电平失能;RE#下降沿读出数据;IO传送数据,WP#写保护关闭。
写保护时WP#引脚低电平是能

在这里插入图片描述
下面是一个典型的命令时序图:
片选信号CE#为低电平,CLE命令引脚为高电平有效,ALE地址引脚为低电平失能,WE#写命令引脚上升沿写入命令;RE#读使能失效;IO传送命令,WP#写保护关闭。
在这里插入图片描述
下面是一个加载地址的时序图:
片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为高电平使能,WE#写命令引脚上升沿写入地址;RE#高电平读使能失效;IO传送地址,WP#写保护关闭。
在这里我们可以看到实际上他是发送了5个BYTE的数据。才能正确的寻址。

在这里插入图片描述
下面是一个数据输入的时序图:
片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为低电平失能,WE#写命令引脚上升沿写入数据;RE#高电平读使能失效;IO传送数据,WP#写保护关闭。
在这里插入图片描述
片选信号CE#为低电平,CLE命令引脚为低电平失效,ALE地址引脚为低电平失能,WE#写引脚高电平失能;RE#下降沿读出数据;IO传送数据,WP#写保护关闭。(这里有一个疑问,就是RE#引脚的上升沿还是下降沿读出数据)
在这里插入图片描述
下面是控制命令:
FFh:复位命令
90h:读取芯片ID
06h-E0h:数据读取
00h-30h:读取页2K字节的数据
在这里插入图片描述
60h-D0h:块擦除
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.硬件设计要点

布局:

  1. NAND 应靠近主控摆放;
  2. 去耦电容均靠近 NAND 摆放;
  3. RE、 WE、 DQS 信号串接电阻靠近主控摆放,串阻与主控连接走线距离≤300mil;
  4. R/B和CE引脚要接上拉电阻。
    信号线走线要求:
  5. NAND 与主控走线间走线≤2000mil;
  6. 走线阻抗 50 欧;
  7. 线间距≥2 倍线宽;
  8. D0~D7、 RE、 WE 相对于 DQS 做等长,控制≤300mil;
  9. D0~D7 上使用过孔的数量尽量相同;
  10. 务必保证走线参考平面完整;
  11. 走线尽量避开高频信号;
  12. VCC线宽不小于12mil,或直接使用敷铜代替电源走线;电源线上如有过孔,则过孔数量不少于 2 个,避免过孔限流影响供电。
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值