我们从2011年坚守至今,只想做存粹的技术论坛,记录你的技术足迹,有空就回来看看。  由于网站在外面,点击附件后可能要20秒才弹出下载,请耐心等待,勿重复点击

 找回密码
 立即注册
搜索
查看: 822|回复: 5

[资料贡献] 大容量NAND FALSH的原理及应用

[复制链接]

该用户从未签到

126

主题

239

回帖

0

积分

二级逆天

积分
0

终身成就奖金点子奖原创先锋奖

发表于 2020-3-31 17:15:40 | 显示全部楼层 |阅读模式
1. 引言
NAND   FLASH被广泛应用于电子系统中作为数据存储。在各种高端电子系统中现场可编程门阵列(FPGA)已被广泛应用。FPGA灵活的硬件逻辑能实现对NAND  FLASH的读写操作。本文中阐述了一种基于NIOS II 软核的NAND FLASH的驱动方法。
2. VDNF2T16VP193EE4V25简介
欧比特公司的VDNF2T16VP193EE4V25是一款容量为2Tb、位宽为16位的NAND  FLASH,其内部由8片基片拓扑而成,其拓扑结构如下:

图1 VD1D8G08VS66EE8T7B拓扑结构
其主要特性如下:
Ø 总容量2Tb;
Ø 位宽:16位;
Ø SLC;
Ø 兼容ONFI2.2;
Ø 封装:PGA193;
Ø 电源:+3.3V(VCC)、+1.8V(VCCQ)。
3. VDNF2T16VP193EE4V25的控制器设计
大容量NAND FLASH控制器设计包括一个IP核设计。其基于NIOS II  的AVALON总线。AVALON总线能兼容大部分存储器接口,IP核将AVALON总线时序转接至NAND FLASH,从而对NAND  FLASH进行读写操作。
IP逻辑主要有片选信号产生、ALE、CLE、RE、WE等控制信号的转接。其中RE、WE信号可采用AVALON总线的RE、WE信号;CLE、ALE采用总线地址的低2位进行控制;片选数量较多可依据AVALON总线的byteen信号进行译码产生。

图2 控制器功能框图
//写信号
assign nand_wr_n = {avalon_wr_n,avalon_wr_n,avalon_wr_n,avalon_wr_n};
//读信号
assign nand_rd_n = {avalon_rd_n,avalon_rd_n,avalon_rd_n,avalon_rd_n};
//ALE信号,采用地址0
assign nand_ale = {avalon_add[0],avalon_add[0]};
//CLE信号,采用地址1
assign nand_cle = {avalon_add[1],avalon_add[1]};
//片选信号
assign nand_cs_n[0] = temcs[0]|avalon_byteen_n[0];
assign nand_cs_n[1] = temcs[0]|avalon_byteen_n[1];
……
IP核设计完成后采用QSYS进行硬件平台搭建,QSYS系统软核对外引出信号有EPCS、UART、NAND FLASH接口,在Quartus  II建立原理图块进行编译产生硬件信息。

采用Nios II Software Build Tools for Eclipse 对QSYS进行软件编程可实现对NAND FLASH的驱动。
//NAND FLASH数据寄存器地址定义
#define NandFlashDataReg0 (VDNF2T16_V1_0_BASE)
//NAND FLASH ALE寄存器地址定义
#define NandFlashAddReg0 (VDNF2T16_V1_0_BASE+4)
//NAND FLASH CLE寄存器地址定义
#define NandFlashCmdReg0 (VDNF2T16_V1_0_BASE+8)
……
以下为读取ID及坏块的信息:
******************************************************************
The cs=0 NAND_FLASH's ID is Right ,The ID is=0x2c881a7a9000
***********************************************************************
This cs=0 FLASH's Bank=0 have 5 BadBlocks:
The num=0 Bank LUN1's num=90 is BadBlock.
The num=0 Bank LUN1's num=91 is BadBlock.
The num=0 Bank LUN1's num=1738 is BadBlock.
The num=0 Bank LUN2's num=90 is BadBlock.
The num=0 Bank LUN2's num=91 is BadBlock.
The Number of Bank's Valid Block is Right.
……
4. 结论
本文阐述了一种通过FPGA实现对欧比特公司的大容量NAND   FLASH芯片VDNF2T16VP193EE4V25的操作方法。设计中采用ALTERA公司FPGA芯片,利用自建IP搭建硬件平台实现NAND   FLASH的驱动。该设计也可移植到其他FPGA上,可以很好地应用在各嵌入式电子系统中。
参考文献:
[1] 珠海欧比特控制工程股份有限公司. VDNF2T16VP193EE4V25使用说明书[Z]. 2016.
[2] Nios II Software Developer’s Handbook[Z].2011.
[3] Embedded Peripherals IP User Guide [Z].2011.
[4] Avalon Interface Specifications [Z].2011.[sub][/sub][sup][/sup][strike][/strike]
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-6-2 22:30
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    244

    回帖

    1246

    积分

    二级逆天

    积分
    1246

    社区居民终身成就奖特殊贡献奖

    发表于 2020-3-31 18:22:56 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    12

    主题

    7221

    回帖

    100

    积分

    游客

    积分
    100

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-3-31 21:19:51 | 显示全部楼层
              
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-6-14 16:03
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    0

    主题

    1万

    回帖

    7618

    积分

    二级逆天

    积分
    7618

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-3-31 21:38:14 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    243

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖

    发表于 2020-4-1 07:56:28 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    76

    主题

    2895

    回帖

    84

    积分

    二级逆天

    积分
    84

    终身成就奖社区居民优秀斑竹奖

    QQ
    发表于 2020-4-1 07:58:19 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表