基于NIOS II 软核的NAND FLASH的驱动方法

出处:21ic 发布于:2018-08-28 14:41:50

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

  其主要特性如下:
       总容量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信号进行译码产生。
 

  //写信号
  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上,可以很好地应用在各嵌入式电子系统中。

 

关键词:驱动

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!