基于PCIe接口的高速数据采集系统

基于PCIe接口的高速数据采集系统
安息香缩合罗义军;陈松
【摘 要】为了提高数据采集系统采样率和数据传输速率以及通用性,设计了一种基于PCIe接口的光传输高速数据采集系统.FPGA控制不同AD子板进行高速数据采集后,数据通过光传输Aurora协议实现光口和SSD进行大量数据传输和缓存.最后通过PCIe接口将数据上传至上位机.该系统能够稳定、长时间采集数据,能够实现最大传输速率为2 GB/s、最大数据存储量为60 GB的数据传输与存储功能.
【期刊名称】《仪表技术与传感器》
【年(卷),期】2019(000)005
max232【总页数】5页(P91-95)
office 97【关键词】高速数据采样;ADC;FPGA;光口;Aurora;PCIe
【作 者】罗义军;陈松
【作者单位】武汉大学电子信息学院,湖北武汉 430072;武汉大学电子信息学院,湖北武汉 430072
【正文语种】中 文
【中图分类】TP274
0 引言
超高速数据采集技术广泛应用在雷达测试、卫星导航、激光、高速数据记录回放、宽带无线网络通讯、频率捷变无线通讯等多个领域[1-2]。传统高速信号采集存储系统主要分为基于PCIe总线计算机采集存储系统、VPX架构的SATA采集存储系统和嵌入式采集存储系统。本设计为基于PCIe总线计算机采集存储系统,在已有的系统架构基础上,实现了具有更加通用化、集成化、可扩展的硬件架构,更加高速、高精度、可定制的多通道同步采集系统,最终能实现最高达2 GB/s的传输速率和60 GB的数据存储量,且具有非常稳定的性能。
1 系统整体设计
温州民房倒塌
根据功能需求,整个系统架构包括FPGA控制载板、AD数据采集子板和外部存储板。其中FPGA控制载板包含AD数据采集模块、数据处理模快、DDR3数据缓存控制模块、PCIe接口控制模块、光口传输控制模块。AD采集子板通过FMC接口与FPGA载板相连,外部存储板通过光口与FPGA载板相连。系统整体组成如图1所示。
图1 整体系统架构图
dawson cd
整个数据采集存储系统的基本工作流程为:采集子板上的ADC将采集到的信号转换成数字信号高速传输到FPGA,FPGA完成数据接收和处理,并根据需要采集的数据量将数据传输至DDR3缓存模块进行缓存,以备PCIe进行少量采集数据上传;或者通过光口传输至大容量SSD缓存模块进行缓存,上位机PC在数据缓存完毕后可按需通过PCIe接口将大容量SSD缓存模块缓存的数据回传到FPGA中再进行上传[3]。
氮AD采集子板通过FMC(FPGA mezzanine card)与FPGA载板相连。FMC不仅简化了I/O接口模块设计,同时还能最大化载卡的重复使用率,支持高达10 Gb/s 的信号传输速率,夹层卡和载卡之间潜在总带宽达40 Gb/s。FMC标准有助于将现有的 FPGA载卡设计重新用到新的 I/O 上,而这只需更换 FMC 模块并对 FPGA 设计略作调整即可[4]。这样,同一个FPG
A载板可以通过子板的设计实现不同的扩展功能,整个系统的应用更加灵活。
2 硬件电路设计
2.1 AD数据采样模块
系统设计为可定制扩展的模式,即针对不同采样信号选用不同AD芯片设计的数据采集子板,以满足信号带宽、通道数、量化位数的要求,兼顾系统的兼容性和通用性。 AD芯片基本参数见表1。
2.2 FPGA控制和数据传输模块设计
模拟输入信号经AD采样后送到FPGA,经FPGA内部FIFO后写入DDR3缓存。上述4种种信号中的前3种采样信号数据缓存结束后,控制相应DDR3数据读出。DDR3读出数据进行片内FIFO缓存后,经PCIe控制模块的控制,由PCIe接口送到上位机。第四种采样数据由于数据量大,采样率高,无法将数据缓存在DDR3中,采样的数据直接经过FIFO和光口缓存到外部存储板中,当缓存完毕之后,上位机下发命令上传数据,再经过光口将缓存的数据经过FIFO和PCIe接口送到上位机。以AD芯片为ADS54J60的采集子板为例,整个数据采
集、传输、存储的实现机制流程图如图2。
表1 AD芯片基本参数A/D转换器型号最大采样率SPS采样位数/bit输入通道信噪比SNR/dBENOB/bitsAD9653125MSPS16476.512.4AD9680500MSPS14 261.49.0ADC10d15001是500MSPS10257.09.0ADS54J601 000MSPS16270.011.6
图2 总体流程图
2.2.1 DDR3读写模块设计
当需要的数据量较少,在DDR3的存储内存大小范围内时,直接使用DDR3作为缓存。在DDR3的前级和后级各加一个FIFO,做到当数据来时,且前级WR_FIFO缓存到达一定程度,DDR3可以自动将WR_FIFO的数据读出并写入DDR3,当DDR3检测到后级RD_FIFO无数据为空并且DDR3的读指针在写指针后面时,DDR3能自动读出DDR3的一帧数据并写入到RD_FIFO中供后续模块使用。DDR3读写数据的控制流程如图3所示。
图3 DDR3读写控制
无论是写入数据到DDR3还是从DDR3读取数据,均由上位机通过PCIe下行命令控制起止时刻。在存储ADC采集数据至DDR3时,上位机会先设定好本次需要存储至DDR3的数据个数,然后开始将ADC的数据写入WR_FIFO,直到DDR3存储够了该个数的数据后,停止存储。当需要将数据从DDR3读取至PCIe时,不需要指定上传数据个数,仅需要将DDR3读空即可,DDR3读空后,便停止数据上传至PCIe,完成本次数据上传。当然,FIFO的控制过程中还会遇到写满和读空的情况,需要进一步地进行控制。
2.2.2 PCIe接口设计
本文设计的高速数据采集板为3U PCIe板卡,因此在数字信号处理载板与工控机的交互使用PCIe接口。PCIe是高速串行计算机扩展总线标准,使用端到端的连接方式,可以进行高速串行点对地的双通道高带宽传输。PCle接口模块是本系统设计中的关键模块,用来实现采集板和上位机之间的高速数据传输和命令传输。

本文发布于:2024-09-21 22:49:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/8926.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   采集   缓存   模块   系统   控制   设计
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议