[11]而且数据传送速率也变得更快,能够轻松满足各个领域中对数据存储和处理的多通路、高精度、高速率、实时处理和容易操控的复杂需求,同时借助 Linux 内核,针对不同领域不同 应用,可轻松进行二次开发,将有广阔的应用前景。
1。2 国内外研究现状
1。3 本文主要工作
本文对数据存储系统进行设计,通过对数据存储系统的结构和原理,如何将数据保存在 SD 卡,以及在 Linux 系统下如何操作等进行研究,本文主要完成了以下方面的工作:
(1)数据存储系统硬件介绍。数据存储系统是基于 altera 公司的 CycloneV FPGA 系列 评估板进行设计,因此首先我们要对该评估板我们系统要用到的所有模块功能进行介绍。包 括时钟模块、FPGA 配置模块、DDR3 SDRAM 外部存储模块、SD 卡存储模块、USB 转串口(UART) 模块等[13]。以便于我们后面在进行软件设计时有一个全面直观的认识。
(2)数据存储系统软件部分设计。由于本系统直接使用 altera 公司的 Cyclone V FPGA 系列评估板,因此硬件部分不用设计,直接对软件部分进行设计。在该处理系统中,使用 Quartus Ⅱ中的 Qsys 工具对整个数据存储系统的软件部分进行设计。首先,要分析整个数据 存储系统的功能模块,并在 Qsys 中,制作相应功能模块的用户自定义 IP 核。然后,把制作 完成的 IP 核连同 Qsys 自带的 IP 核添加到 Qsys 中,根据数据流的流向逻辑关系联结各个 IP 核,在这一步一定要对关键 IP 核与 HPS 的主从关系进行理解,然后对整个 Qsys 模型进行建 立。最后在 Quartus 中对整个软件系统进行编译后下载到硬件系统中,通过 LINUX 系统下的 编程和串口终端窗口一起完成整个数据存储系统软件部分的设计与操作。
(3)数据存储系统的 SD 卡存储功能测试。首先,我们要测试硬件部分,比如评估板的 电源系统等。在电源系统能够正常工作后,对整个数据存储系统上电,测试每个功能模块。 然后,在对软件部分进行实验。利用 Quartus 里的 Qsys 工具建立软件模型,制作用户的自定 义 IP 核,再根据主从关系对各个 IP 核进行互联,选择正确的时钟等。通过 FPGA 和 ARM 之间 的通信,进行协调工作,利用 ARM 中的操作系统对 DDR3 存储模块、SD 卡存储模块进行实验。 最后,进行 Linux 系统下 SD 卡内存储数据操作实验。通过 Linux 系统操作命令,对保存在 SD 卡中的图像或 GPS 经纬度等数据信息进行操作。从而验证数据存储系统达到设计要求。
第 4 页 本科毕业设计说明书
2 基于 Cyclone V SoC 评估板系统
本章主要介绍了数据存储系统所使用的硬件系统,即 Altera 公司自行设计的 Cyclone V SoC 评估板,这章将分别介绍本系统在设计时所使用到的功能模块,下面进行具体介绍。
2。1 Cyclone V SoC 评估板
本文选用 FPGA 中内嵌 ARM 的 Cyclone V FPGA 评估板,该评估板使用了 FPGA 内嵌 ARM 的嵌入式结构,相比其他普通的 FPGA+ARM 的拥有更小的体积,可以使片上空间得到充分利用, 结构更紧凑。同时也避免了单 FPGA 结构的一些缺点,比如寻址空间不足、外部中断源有限等, 且 FPGA 与嵌入式 Linux 操作系统结合,使用起来更加方便灵活。该 FPGA 评估板中我们用到 的主要功能模块有两片 DDR3 SDRAM 模块、USB 转串口(UART)模块、SD 卡存储模块等。其中 FPGA 主要用来进行对存储的图像和 GPS 数据进行传递和时序驱动控制,ARM 主要用来运行 LINUX 操作系统和将图像和 GPS 数据存储到连接在 ARM 端的 DDR3 SDRAM 中[14]。这样结合了 FPGA 在前端的灵活驱动能力和 ARM 在后端的优良的数据处理能力,并且该芯片最大的优点是 ARM 内嵌在 FPGA 中并集成在一个芯片上,与传统的 FPGA 配合 ARM 的电路相比,能减少大量外围 电 路 从 而 减 小 了 电 路 板 的 尺 寸 和 系 统 的 体 积 , 节 省 很 多 评 估 板 上 的 空 间 资 源 。 5CSXFC6C6U23C8NES 是 Cyclone V SoC FPGA 系列之一,也是我们这次系统所使用到的评估板, 该评估板系统如图 2。1 所示。论文网