基于fpga的flash读写控制器的设计与研究【字数:7844】

摘 要FLASH闪存是一种内存器件,即使在供电中断的情况下,它依旧能够保存数据,这个特点使得FLASH存储器能够应用在各种数字设备中。本文设计了一个FLASH的读写控制器,利用SPI总线发送控制命令,完成FLASH的读写。本设计采用FPGA对FLASH进行控制,提高了整个设计的灵活性,同时能够节约成本。本文首先对FLASH存储器的发展进行了阐述,之后着重介绍了SPI的总线结构及通信原理,并使用硬件描述语言进行了ID读取、数据擦除、页编程、数据读取等功能的设计,利用Modelsim进行仿真,并下载到FPGA开发板上进行测试,从而验证了FLASH读写控制器的功能。
目 录
第一章 引言 1
1.1课题研究背景 1
1.2课题研究意义 1
1.3论文主要内容 1
第二章 FPGA与FLASH 2
2.1 FPGA芯片 2
2.2 FLASH芯片 2
2.2.1 芯片引脚介绍 2
2.2.2 FLASH芯片特点 3
第三章 基于FPGA的FLASH控制原理 5
3.1 FPGA技术简介 5
3.1.1 FPGA概述 5
3.1.2 硬件描述语言概述 5
3.2 SPI通信原理 5
3.2.1 SPI总线结构和工作原理 5
3.2.2 SPI通信协议 6
3.3 SPI寄存器 6
3.3.1 SPI控制寄存器SPCR 6
3.3.2?SPI状态控制寄存器 7
第四章 基于FPGA的FLASH控制器的设计 9
4.1系统总体设计方案 9
4.2硬件电路原理 9
4.3软件设计 9
4.3.1SPI命令 10
4.3.2 程序设计原理 12
第五章 仿真与测试 14
5.1 系统仿真 14
5.2 系统测试 15
结束语 17
致 谢 18
参考文献 19
附录 20
第一章 引言
1 *好棒文|www.hbsrm.com +Q: ¥351916072$ 
.1课题研究背景
目前的社会是一个信息化的社会,生活离开不信息,信息数据的存储至关重要。存储器从最初的ROM发展到FLASH存储器,非易失性存储器随着时代的需要在逐步发展。FLASH存储器的结构简单,并且有很高的密度,最主要的优点是在断电之后依然能保存数据,并且可以保存很长时间。FLASH不需要很高的成本,同时又具有很高的可靠性,这使得FLASH更受用户的欢迎。FLASH与传统存储器不同的是FLASH是按块擦除,按位编程,因此能以更快的速度实现快闪擦除。
FLASH存储器凭借自身的优越的性能,得到了广泛的应用。FLASH不需要电力就能够保存信息,同时它的体积更小且方便携带,因此被广泛应用到MP3等数字设备中。未来的FLASH存储器将朝着更高集成度发展,同时FLASH的价格也会不断下降。
1.2课题研究意义
随着电子技术的发展,人们不仅仅满足于电子产品现在所包括的功能,对电子产品的要求越来越高,因此需要更好的硬件资源来实现更多的功能。内嵌SPI总线接口的FLASH应运而生,和之前的接口对比,内嵌SPI总线接口的FLASH具有更少的信号线,同时协议更简单,能够更加方便的实现更多的功能。在FPGA开发中,SPI FLASH不仅体积小方便使用,还无需保持上电刷新就能保持FPGA的数据,所以了解并掌握SPI FLASH的读写对FPGA的开发至关重要。
1.3论文主要内容
本文深入研究了SPI的通信协议,完成了利用FPGA进行SPI FLASH的读写控制,使用Verilog语言编写程序,并通过Xilinx ISE联合Modelsim进行仿真验证,最后在开发板上使用逻辑分析仪进行了调试。验证了基于FPGA的FLASH实现数据读写的正确性。
第一章是引言部分,概述了FLASH存储器的优点和发展史,阐述了本课题的研究背景与意义。
第二章介绍了FPGA芯片以及FLASH芯片的引脚及特点。
第三章阐述了基于FPGA的FLASH控制原理,详细介绍了SPI总线的结构与协议内容。
第四章主要阐述了基于FPGA的FLASH读写控制器的设计,介绍了系统的总体设计方案。
第五章简要介绍了ModelSim 和Chipscope软件,进行了仿真和结果分析,并通过测试验证了设计的正确性。
第二章 FPGA与FLASH
2.1 FPGA芯片
本文选用了Spartan6中的FPGA,FPGA它的成本代价低,容量高。采用45nm低功耗敷铜技术,能够在性能上、功耗上达到平衡。Spartan6系列内部结构有双寄存器,LUT为6输入,能够支持高容量的逻辑设计。支持SPI FLASH(最多4个)和Nor FLASH配置,符合本文的配置要求。芯片特点如下:设计成本低性价比高,动静态功耗低;可实现存储器的快速读写;支持多个高速接口如Serial ATA等;逻辑资源丰富。
本设计所使用的FPGA 型号为XC6SLX452CSG324,属于Xilinx公司Spartan6系列的产品。芯片实物如图21所示。
/
图21 Spartan6系列XC6SLX45CSG324FPGA芯片
2.2 FLASH芯片
本开发板上使用的FLASH芯片为W25Q128BV,支持支持SPI、Dual SPI 和 Quad SPI三种接口方式。FLASH由65536个256byte的Page组成。W25Q128的擦除方法有三种分别为Sector 擦除、Block 擦除、Chip擦除。
2.2.1 芯片引脚介绍

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/804.html

好棒文