论文部分内容阅读
随着科学技术的发展,装备面临的信号环境越来越复杂,研制周期也越来越短。在这些系统的研制和测试阶段,一种能够在试验过程中将电磁信号实时、高精度记录下来的大容量存储系统就变得十分必要。通过存储系统记录的数据,可以进行事后分析、研究改进算法或设计。为满足试验的需求,这种存储系统必须具备高带宽、大容量的特点。在项目需求背景下,本文分析各种要求指标,给出系统的总体设计方案。以SSD固态盘为存储载体,通过使用多块SSD盘并行读写的方式,实现高带宽传输、大容量存储的目标;以Xilinx公司Virtex-5系列FPGA为开发平台,实现SATA接口的固态盘存储控制器,并通过例化多个SATA控制器的方式来实现简单的RAID0磁盘阵列形式;使用FPGA提供的Rocket IO高速收发器硬核来实现数据的高速串行传输,一方面完成系统与采集模块的外部接口,另一方面完成系统与固态盘之间的数据通信;采用DDR2 SDRAM存储器作为系统的高速缓存,解决数据传输速度不匹配的问题。论文主要工作如下:1.分析研究了Rocket IO高速收发器的结构、特性,各模块的功能与工作方式;设计实现高速数据传输功能,并完成Virtex-5 FPGA与数据采集端的Virtex-6 FPGA的通信测试。2.基于SATA2.0协议,设计了由应用层、传输层、链路层和物理层组成的SATA控制器架构。物理层在基于Rocket IO高速串行收发器通信基础上,使用VHDL硬件描述语言实现OOB信号模块和状态控制模块,并通过OOB信号与固态盘建立通信链接;设计实现链路层中的CRC校验模块、扰码模块和收发控制模块,实现了帧收发的CRC校验、扰码与解扰以及通过原语交互的控制功能;设计实现传输层的帧封装、帧解析以及状态控制模块,完成数据及命令的帧组装与帧解析功能;分析研究了嵌入式总线PLB总线,通过给SATA控制器配置PLB总线接口,使之成为基于FPGA的嵌入式系统中用户IP核,可以灵活被调用;介绍了嵌入式处理器PowerPC,通过高级语言实现命令发送的应用层。3.通过MIG工具对设计的DDR2 SDRAM存储器高速缓存进行了测试,验证了设计的正确性。最终的存储系统中使用MPMC对DDR2 SDRAM进行控制。设计测试了外部接口模块,对多路RocketIO收发器接收到的数据采集端数据进行缓存,完成数据拼接、位宽转换等功能,最后通过NPI接口实现了对MPMC的访问。4.最后,在对SATA控制器、NPI控制器、高速缓存模块等各子模块功能进行了单项测试的基础上,使用EDK工具建立基于FPGA的嵌入式存储系统,测试了对由多块SSD盘组成的磁盘阵列的读写控制性能,测试结果表明,本论文所设计的基于高速串行传输的大容量固态存储系统工作稳定,性能优良,满足系统需求中提出的指标要求。