论文部分内容阅读
随着信息产生的越来越多,对于信息采集系统处理数据的要求也越来越严苛,FPGA能够对数据进行实时采集与处理并且可以根据需求进行剪裁而不改变硬件电路,具有灵活性的特点。为了满足恶劣条件下数据传输的高速性和实时性,完成信息采集系统的国产化需要,本文基于龙芯平台,采用VME总线架构,使用FPGA构建的硬件系统设计并开发了一套高速信息采集系统,具有良好的可靠性和实时性。在此需求下,本文采用了Intel的Stratix IV系列FPGA作为采集芯片,宿主机处理器选用的CPU型号是龙芯3A2000,并基于PCIe总线架构构建的硬件系统,在满足高速信息采集的情况下,通过VME机械架构提高设备的可靠性。本文设计的高速传输系统基于PCIe总线,采用FPGA作为控制芯片,使用VME机械架构,在高速传输的基础上增加了稳定性,首先研究了PCIE总线协议,重点了解PCIE的TLP分包处理以及配置空间的分配,接着硬件系统部分,给出了整个系统的互联情况,主要是对FPGA进行设计实现,使用片上存储器,PCIE IP硬核以及分散/聚集DMA软核构建了SOPC系统,根据系统各模块的连接情况手动分派各个模块和接口的基址以及重要寄存器的分配。软件系统的开发基于中标麒麟操作系统,内核版本是3.12.11,根据需求分析,设计出相应的设备驱动程序,首先对驱动开发过程中遇到的难点进行设计,分散/聚集DMA对应的驱动实现,包括数据结构设计和DMA流程设计,然后给出了中断结构的设计与说明,最后针对DMA传输过程中数据丢失的情况,使用环形队列的方式来解决,延长了数据处理的时间,减少了数据缺失的现象。在驱动的实现部分,采用PCIE设备驱动的实现流程,并使用字符设备进行注册用来实现对设备的相关操作,重点对涉及DMA操作的中断流程进行说明,实现宏观上4个FIFO并行的数据传输,最后将与设备相关的操作的API封装成动态链接库,方便用户调用的同时保证了访问设备的安全性,并通过开发QT测试界面程序来测试系统吞吐量。经测试分析数据,与理论吞吐率基本相符,在实际应用中的峰值速率下可以完成采集工作。