返回主站 | 设为首页 | 加入收藏      
   
 
  首页 关于我们 产品展示 方案设计 技术分享 行业资讯 联系我们  
 
马达驱动IC/步进电机控制芯片
三相直流无刷BLDC电机驱动IC
单相直流无刷电机驱动芯片
直流无刷电机驱动IC
有刷直流电机驱动IC
步进电机驱动芯片(并行接口)
步进电机驱动芯片(步进/方向接口&串行接口)
静音步进电机驱动芯片
功放IC
电源管理IC
马达驱动IC/步进电机控制芯片
数模(DAC)/模数(ADC)转换芯片
智能处理器
音量控制IC
模拟开关IC
电容式触摸感应IC
RGB LED呼吸趣味灯驱动IC
音频CODEC IC
方案设计
电压电平转换器IC
运算放大器
I/O扩展器IC
 
名称:
种类:
类别:

业务洽谈:

联系人:张顺平 
手机:17727550196(微信同号) 
QQ:3003262363
EMAIL:zsp2018@szczkjgs.com

联系人:鄢先辉 
手机:17727552449 (微信同号)
QQ:2850985542
EMAIL:yanxianhui@szczkjgs.com

负责人联络方式:
手机:13713728695(微信同号) 
QQ:3003207580 
EMAIL:panbo@szczkjgs.com
联系人:潘波

 
当前位置:首页 -> 方案设计
大容量NAND FALSH的原理及应用
文章来源:永阜康科技 更新时间:2017/9/14 14:56:00

摘要

VDNF2T16VP193EE4V25是珠海欧比特公司自主研发的一款大容量(2Tb)NAND FLASH,文中介绍了该芯片的结构和原理,并针对基于FPGA的应用进行了说明。

1.引言

NAND FLASH被广泛应用于电子系统中作为数据存储。在各种高端电子系统中现场可编程门阵列(FPGA)已被广泛应用。FPGA灵活的硬件逻辑能实现对NAND FLASH的读写操作。本文中阐述了一种基于NIOS II 软核的NAND FLASH的驱动方法。

2.VDNF2T16VP193EE4V25简介

欧比特公司的VDNF2T16VP193EE4V25是一款容量为2Tb、位宽为16位的NAND FLASH,其内部由8片基片拓扑而成,其拓扑结构如下:

图1 VD1D8G08VS66EE8T7B拓扑结构

图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 控制器功能框图

图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建立原理图块进行编译产生硬件信息。

3

采用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.


 
 
 
    相关产品  
 
深圳市永阜康科技有限公司 粤ICP备17113496号  服务热线:0755-82863877 手机:13242913995