首页> 中国专利> 一种基于FPGA的高速数据采集系统

一种基于FPGA的高速数据采集系统

摘要

本发明公开了一种基于FPGA的高速数据采集系统,FPGA、USB和PC端依次连接,所述AD采集卡与FPGA连接,所述FPGA包括数据传输物理层协议IP核、解数据传输协议IP核、ADC数据处理器、总线互联IP核、XDMA控制器、FDMA控制器、时钟模块、DDR3内存、DDR3控制器、时钟缓冲器和串口模块;所述PC端包括控制信息串口配置部和数据采集部。本发明通过PC端对不同模式进行的切换,可以满足多种应用场景下系统的要求,在高速数据实时采集系统如高速通信系统中具有很好的应用价值。

著录项

说明书

技术领域

本发明属于高速数据采集领域,特别涉及一种基于FPGA的高速数据采集系统。

背景技术

随着当今电子工业技术的快速发展,人们的生活水平快速提高。同时借助于电子工业技术的快速发展,人们对信息高速化也提出了越来越高的要求。而高速数据的采集系统作为当今电子信息技术一个必不可少的环节,在多种场景下都有广泛应用,如地质勘测,生物医疗,汽车电子,故障检测等众多领域。

随着工业系统中日益提高的对精度和速度的需求,数据采集系统作为实际的模拟信号和可处理数字信号之间的桥梁,显得至关重要。而传统方案中的许多数据采集系统数据的速率,数据精度,存储深度等等参数已经很难满足当今工业环境下的使用要求。且采样率在6GSPS以上,精度高于10位的数据采集的产品基本上价格都非常昂贵。

发明内容

为了实现上述目的,本发明的技术方案如下:一种基于FPGA的高速数据采集系统,包括FPGA、USB、PC端和AD采集卡;

其中,所述FPGA、USB和PC端依次连接,所述AD采集卡与FPGA连接,所述FPGA包括数据传输物理层协议IP核、解数据传输协议IP核、ADC数据处理器、总线互联IP核、XDMA控制器、FDMA控制器、时钟模块、DDR3内存、DDR3控制器、时钟缓冲器和串口模块;所述PC端包括控制信息串口配置部和数据采集部;

所述串口模块包括总线控制器和SPI配置器,所述时钟模块为串口模块、ADC数据处理器、FDMA控制器、总线互联IP核、DDR3控制器、XDMA控制器提供参考时钟,时钟缓冲器对外界提供的时钟进行缓冲后提供给数据传输物理层协议IP核和解数据传输协议IP核,数据传输物理层协议IP核转完8b/10b码后,将八通道数据传给解数据传输协议IP核,对数据进行解析后,由AXI_stream数据流传给ADC数据处理器,处理完后的原始数据经FDMA控制器后转为总线数据,再经DDR3控制器发给DDR3内存存储,当PC端请求读取数据的时候,就从DDR3内存中将数据读取;

所述控制信息串口配置部包括AD读写配置模块和总线寄存器配置读写模块,PC端向FPGA下发指令,由FPGA处理后,通过写AD读写配置模块对AD采集卡进行模式配置,通过写总线寄存器配置读写模块对数据传输物理层协议IP核和解数据传输协议IP核进行空间配置。

优选地,还包括时钟板,所述时钟板分别与FPGA和AD采集卡连接,时钟板向AD子卡提供所需的时钟,向FPGA的数据传输物理层协议IP核提供四路锁相环QPLL的参考时钟和核时钟,向FPGA的解数据传输协议IP核提供核时钟和解协议的参考时钟。

优选地,所述时钟缓冲器对时钟板提供的时钟进行缓冲后提供给数据传输物理层协议IP核和解数据传输协议IP核。

优选地,所述AD采集卡包括ADC12DJ3200芯片。

优选地,所述数据采集部包括可选存储深度切换模块、起始地址读取模块、读取数据保存模块、波形显示模块和采集消息获取通知模块;在可选存储深度切换模块中设置存储深度,通过采样触发按钮触发一次采样动作,读取数据保存模块读取DDR3内存的数据读出到波形显示模块进行显示;如需保存单次采样的波形,由读取数据保存模块选择路径进行保存;采集消息获取通知模块获取当前通信的link状态。

优选地,所述USB包括FT232芯片。

优选地,所述FPGA与USB通过gpio口进行连接通信。

优选地,所述FPGA与PC端通过PCIe 3.0X8接口连接通信。

优选地,所述ADC处理数据器包括AXI_stream解析模块、FIFO缓存模块、通道对齐模块和格式转换模块,其中AXI_stream解析模块将解数据传输协议IP核解协议后的数据进行解析,得到波形数据,所述FIFO缓存模块接收到解析后的数据后对数据进行跨时钟域处理,处理完的数据发给通道对齐模块;所述通道对齐模块将十二位的数据通过对高四位进行补零操作完成数据位宽的对齐;所述格式转换模块完成将数据流进行格式转换,以使数据存储于DDR3内存。

本发明的有益效果至少包括:

1.本发明成本低,相较国内外高采样率仪器,价格较为低廉,理论上可以以6GSPS的采样率进行数据采集,且精度较高,可在10位以上。

2.本发明可以应用的场景较多,除了可应用在一般的高速通信系统中,其他的如汽车电子,故障检测等等应用模数转换的场景中都比较适用,既可以满足前期产品测试中对信号质量的检测和产品调试,也适用于后期产品实际运行中信号数据的采集和拓展应用。

3.使用本发明的用户可以通过PC端切换数据采集系统的模式,具体方法就是通过串口对AD芯片和IP核内部的寄存器进行重配置,以满足不同模式的切换,使得人机交互更加的简便。

4.使用本发明的用户可以通过PC端对采集的波形进行展示,同时也可以将采集到的波形以.COE文件的方式保存在主机上,导入matlab中进行数据的分析和处理,这使得对于数据信息的分析更加方便直观,同时其对数据的拓展分析性也大大加强。同时在PC端中也可以实时观察link状态,非常人性化。

附图说明

图1为本发明基于FPGA的高速数据采集系统的结构框图;

图2为本发明基于FPGA的高速数据采集系统的结构示意图;

图3为本发明基于FPGA的高速数据采集系统的控制信息串口配置部的AD读写配置模块界面图;

图4为本发明基于FPGA的高速数据采集系统的控制信息串口配置部的总线寄存器配置读写模块界面图;

图5为本发明基于FPGA的高速数据采集系统的数据采集部的界面图;

图6为本发明基于FPGA的高速数据采集系统采集的波形图;

图7为本发明基于FPGA的高速数据采集系统采集数据在Matlab中频谱分析图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

参见图1、图2,一种基于FPGA的高速数据采集系统,包括FPGA10、USB20、PC端30和AD采集卡40;

其中,FPGA10、USB20和PC端30依次连接,AD采集卡40与FPGA10连接,FPGA10包括数据传输物理层协议IP核11、解数据传输协议IP核12、ADC数据处理器13、总线互联IP核14、XDMA控制器151、FDMA控制器152、时钟模块16、DDR3内存171、DDR3控制器172、时钟缓冲器18和串口模块19;PC端30包括控制信息串口配置部31和数据采集部32;

串口模块19包括总线控制器192和SPI配置器191,时钟模块16为串口模块19、ADC数据处理器13、数据帧直接存取控制器FDMA152、总线互联IP核14、DDR3控制器172、赛灵思的内存随机访问控制器DMA/Bridge Subsystem for PCI Express的XDMA151提供参考时钟,时钟缓冲器18对外界提供的时钟进行缓冲后提供给数据传输物理层协议IP核11和解数据传输协议IP核12,数据传输物理层协议IP核11转完8b/10b码后,将八通道数据传给解数据传输协议IP核12,对数据进行解析后,由AXI_stream数据流传给ADC数据处理器13,处理完后的原始数据经FDMA控制器152后转为总线数据,再经DDR3控制器172发给DDR3内存171存储,当PC端30请求读取数据的时候,就从DDR3内存171中将数据读取;

控制信息串口配置部31包括AD读写配置模块和总线寄存器配置读写模块,PC端30向FPGA10下发指令,由FPGA10处理后,通过写AD读写配置模块对AD采集卡40进行模式配置,通过写总线寄存器配置读写模块对数据传输物理层协议IP核11和解数据传输协议IP核12进行空间配置。

AD采集卡40与SPI配置器191通过AD_SCLK、AD_SDO、AD_CSN和AD_SDI引脚连接,与数据传输物理层协议IP核11通过AD0-AD7引脚连接,

还包括时钟板50,时钟板50分别与FPGA10和AD采集卡40连接,时钟板50通过AD_SYS_CLK和AD_CLK引脚向AD采集卡40提供所需的时钟,向FPGA10的数据传输物理层协议IP核11提供四路锁相环QPLL的参考时钟和核时钟,向FPGA10的解数据传输协议IP核12提供核时钟和解协议的参考时钟。时钟缓冲器18对时钟板50提供的时钟GTY_CLK、CORE_CLK和SYSREF,进行缓冲后提供给数据传输物理层协议IP核11和解数据传输协议IP核12。

AD采集卡40包括ADC12DJ3200芯片。

数据采集部32包括可选存储深度切换模块、起始地址读取模块、读取数据保存模块、波形显示模块和采集消息获取通知模块;在可选存储深度切换模块中设置存储深度,通过采样触发按钮触发一次采样动作,读取数据保存模块读取DDR3内存171的数据读出到波形显示模块进行显示;如需保存单次采样的波形,由读取数据保存模块选择路径进行保存;采集消息获取通知模块获取当前通信的link状态。

ADC数据处理器13包括AXI_stream解析模块131、FIFO缓存模块132、通道对齐模块133和格式转换模块134,其中AXI_stream解析模块131将解数据传输协议IP核12解协议后的数据进行解析,得到波形数据,FIFO缓存模块132接收到解析后的数据后对数据进行跨时钟域处理,处理完的数据发给通道对齐模块133;通道对齐模块133将十二位的数据通过对高四位进行补零操作完成数据位宽的对齐;格式转换模块134完成将数据流进行格式转换,以使数据存储于DDR3内存171。

数据传输物理层协议IP核11采用Xilinx提供的JESD204数据传输物理层协议IP核11JESD204 PHY,解数据传输协议IP核12采用解JESD204数据传输协议的IP核JESD204,总线互联IP核14为Axi_smartconnect。

USB20采用FTDI公司生产的FT232芯片,该芯片的电压供电可选为1.8v,3.3v,5v三种选项,本发明中选择的是1.8v的供电,以配合FPGA10的gpio口的电平要求。该芯片可将不同的协议数据流转换为USB20协议。当用户需要对FPGA10或者AD采集卡40进行重新配置时,便利用PC端30经此USB20对下位机进行配置。

参见图3、图4,为本发明使用的控制信息串口配置部31的界面图。图3为AD读写配置模块的配置界面,当PC端30通过USB20对下位机下达指令的时候,为了使FPGA10可以分辨出不同的指令类型,指令中设置了偏移地址。其中为AD读写配置的时候,偏移地址为0x0001。串口一次可以传8bit的数据,32bit的数据分四次传输。图4为JESD204 PHY核和JESD204协议核的寄存器内部空间的总线配置界面,为JESD204 PHY核的寄存器内部空间时候偏移地址为0x0002,为JESD204协议核的寄存器内部空间时候偏移地址为0x0003。打开串口后,在设定相应的地址后,按下发送和获取的按钮即可读写相应地址空间的寄存器值。

参见图5,为本发明高速数据采集系统PC端30的界面图。在数据采集界面,用户首先需要进行存储深度设置,也即一次采样触发获取的波形点数,存储深度设置完成以后可以通过“采样触发”触发一次采样动作,一次新的采样完成以后,首先需要设置读取波形点数的多少,然后通过“读取”按钮将DDR3内存171的数据读出到PC端30进行显示,数据采集界面可以显示当前一次读数据的时域波形。一次数据采集得到的数据波形在FPGA10的DDR3内存171进行缓存的,如果用户需要保存单次采样的波形,可以点击“保存coe文件”按钮选择合适的路径进行保存,保存的标准coe格式文件可以通过Matlab等数据分析软件进行分析和处理。

参见图6,为本发明PC端30采集界面的实际波形采集图。该波形采集为常规模式下采集到的波形。本次测试中,其存储深度的设置为固定的2Kpts,通过“采样触发”按钮可以使FPGA10产生一次采样动作,图6为从地址0x00001000读取到的2K个存储点的时域波形。

参见图7,为本发明对采样数据在Matlab软件上的的频谱分析图。测试时将所有的存储数据保存为coe文件,利用Matlab对采样点进行FFT分析。测试结果与实际发的波形情况基本吻合。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号