一种基于FPGA的高速数据采集板卡的制作方法

文档序号:17441970发布日期:2019-04-17 04:53阅读:184来源:国知局
一种基于FPGA的高速数据采集板卡的制作方法

本发明涉及数据采集领域,具体是一种基于fpga的高速数据采集板卡。



背景技术:

近年来随着数据采样技术的不断发展,采样速度越来越快。

在高速采样频率的背景下,对用于接收数据的板卡的要求越来越高,比如是否方便扩展、是否能够充分利用数据传输带宽等。而现有技术中用于接收数据的板卡,通常对数据传输带宽的利用率相对较低。此为现有技术的不足之处。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术的不足,提供一种基于fpga的高速数据采集板卡,用于提高对数据传输带宽的利用率。

为解决上述技术问题,本发明提供了一种基于fpga的高速数据采集板卡,包括fpga板卡,所述fpga板卡上集成有高速数据接收单元、第二缓存器、内存读写切换控制模块、第一ddr内存阵列、第二ddr内存阵列和dma控制器;

所述的高速数据接收单元与所述的第二缓存器相连,所述的第二缓存器与所述的内存读写切换控制模块相连,所述的内存读写切换控制模块与所述的第一ddr内存阵列、第二ddr内存阵列以及所述的dma控制器分别相连,所述的dma控制器配设有用于通过pcie总线连接用于采集高速数据的外界计算机的pcie接口单元;

其中所述的内存读写切换控制模块,用于基于预先设定的乒乓迁移策略,乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列。

其中,所述的高速数据接收单元包括一组高速数据接收接口和一组第一缓存器和一个调度模块,所述的高速数据接收接口和所述的第一缓存器数量相等且一一对应,各高速数据接收接口分别与其各自对应的第一缓存器相连;

所述的调度模块,与第二缓存器及各第一缓存器分别相连,用于实时监测各第一缓存器中缓存的数据,并用于将监测到其内存在缓存数据的第一缓存器中缓存的数据迁移并缓存至第二缓存器。

其中,所述的调度模块采用fpga芯片。

其中,各所述的高速数据接收接口均采用光纤接口。

其中,所述高速数据接收接口的数量为4个。

其中,所述的内存读写切换控制模块采用fpga芯片。

其中,所述第一ddr内存阵列中ddr的规格为ddr4。

其中,所述第二ddr内存阵列中ddr的规格为ddr4。

其中,所述内存读写切换控制模块基于预先设定的乒乓迁移策略乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列的方法包括步骤:

s1、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前缓存的数据迁移到第一ddr内存阵列,直至监测到第一ddr内存阵列内迁入的数据总量达到预先设定的数据量阈值;之后继续执行步骤s2;

s2、调用所述的dma控制器,将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机;并在当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,执行步骤s3;

s3、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前缓存的数据对应迁移到第二ddr内存阵列;并在完成当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程后,继续执行步骤s4;

s4、调用所述的dma控制器,将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机;并在当前次将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,继续执行步骤s5;

s5、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前已缓存的数据迁移到第一ddr内存阵列;并在完成当前次将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程后,继续执行步骤s6;

s6、通过所述的dma控制器,再次将第一ddr内存阵列中当前缓存的数据迁移至所述的外界计算机;并在当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,转而执行步骤s3。

与现有技术相比,本发明的优点在于:

本发明所述的基于fpga的高速数据采集板卡,其内存读写切换控制模块能够基于预先设定的乒乓迁移策略,乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列,可见本发明可在一定程度上提高板卡对数据传输带宽的利用率,从而在一定程度上提高高速数据信号采集速率。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

图1为本发明所述基于fpga的高速数据采集板卡的结构示意图。

图2为本发明所述内存读写切换控制模块基于预先设定的乒乓迁移策略乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列的方法的方法流程示意图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。

图1和图2为本发明所述基于fpga的高速数据采集板卡的一种具体实施方式。在本实施方式中,该基于fpga的高速数据采集板卡,包括fpga板卡,所述fpga板卡上集成有高速数据接收单元、第二缓存器、内存读写切换控制模块、第一ddr内存阵列、第二ddr内存阵列和dma控制器。所述的高速数据接收单元与所述的第二缓存器相连,所述的第二缓存器与所述的内存读写切换控制模块相连,所述的内存读写切换控制模块与所述的第一ddr内存阵列、第二ddr内存阵列以及所述的dma控制器分别相连。所述的dma控制器配设有用于通过pcie总线连接用于采集高速数据的外界计算机的pcie接口单元,可见本发明采用pcie接口作为本发明所述基于fpga的高速数据采集板卡与所述外界计算机之间的连接接口,易于扩展,并便于通过pcie总线接入上述外界计算机的主板上,使用方便。所述的内存读写切换控制模块,用于基于预先设定的乒乓迁移策略,乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列。

在本实施方式中,所述的高速数据接收单元包括一组高速数据接收接口和一组第一缓存器和一个调度模块,所述的高速数据接收接口和所述的第一缓存器数量相等且一一对应,各高速数据接收接口分别与其各自对应的第一缓存器相连;所述的调度模块,与第二缓存器及各第一缓存器分别相连,用于实时监测各第一缓存器中缓存的数据,并用于将监测到其内存在缓存数据的第一缓存器中缓存的数据迁移并缓存至第二缓存器。

参见图2,在本实施方式中,所述内存读写切换控制模块基于预先设定的乒乓迁移策略乒乓操作所述的第一ddr内存阵列和第二ddr内存阵列的方法包括以下步骤s1-s6:

步骤s1、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前缓存的数据迁移到第一ddr内存阵列,直至监测到第一ddr内存阵列内迁入的数据总量达到预先设定的数据量阈值;之后继续执行步骤s2。

步骤s2、调用所述的dma控制器,将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机;并在当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,执行步骤s3。

步骤s3、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前缓存的数据对应迁移到第二ddr内存阵列;并在完成当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程后,继续执行步骤s4。

步骤s4、调用所述的dma控制器,将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机;并在当前次将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,继续执行步骤s5。

步骤s5、实时监测第二缓存器中当前是否存在缓存数据,并在每次监测到第二缓存器中当前存在缓存数据时,分别将第二缓存器中当前已缓存的数据迁移到第一ddr内存阵列;并在完成当前次将第二ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程后,继续执行步骤s6。

步骤s6、通过所述的dma控制器,再次将第一ddr内存阵列中当前缓存的数据迁移至所述的外界计算机;并在当前次将第一ddr内存阵列中缓存的数据迁移至所述的外界计算机的过程中,转而执行步骤s3。

在本实施方式中,所述的fpga板卡、调度模块和内存读写切换控制模块均采用xilinxultrascale系列fpga,处理速度快,并行度高。

在本实施方式中,所述的高速数据接收接口的数量为4个,各所述的高速数据接收接口均采用光纤接口。

在本实施方式中,所述第一ddr内存阵列中ddr的规格为ddr4,所述第二ddr内存阵列中ddr的规格为ddr4。

综上,可见本发明使用时,高速数据信号经相应光纤接口输入fpga并进入相应第一缓存器中暂存,调度模块实时监测各第一缓存器中是否存在缓存数据,对于其内存在缓存数据的通道(即第一缓存器中),则将数据搬移至第二缓存器;内存读写切换控制模块基于所述的乒乓迁移策略,先将第二缓存器中的数据搬移至第一ddr内存阵列,待第一ddr内存阵列中缓存足够数据(即达到如上所述的预先设定的数据量阈值),通过dma控制器将第一ddr内存阵列中数据搬移至所述外界计算机;并且在上述将第一ddr内存阵列中数据搬移至所述外界计算机内存的过程中,内存读写切换控制模块将第二缓存器中当前缓存的数据转而缓存至第二ddr内存阵列,等待dma控制器在将第一ddr内存阵列中的数据全部搬移至所述外界计算机后搬运;并且,在将第二ddr内存阵列中缓存的数据搬移至所述外界计算机内存的过程中,内存读写切换控制模块将第二缓存器中当前缓存的数据转而缓存至第一ddr内存阵列内,等待dma控制器在将第二ddr内存阵列中的数据全部搬移至所述外界计算机后搬运。可见本发明能够交替读写第一ddr内存阵列和第二ddr内存阵列(直至数据采集结束),并实现了如下乒乓操作:内存读写切换控制模块在写第一ddr内存阵列时,读第二ddr内存阵列中的缓存数据、并将当前所读取到的缓存数据通过dma控制器迁移至所述的外界计算机;内存读写切换控制模块在写第二ddr内存阵列时,读第一ddr内存阵列中缓存的数据、并将当前所读取到的缓存数据通过dma控制器迁移至所述的外界计算机。可见本发明在一定程度上充分利用了数据传输带宽,提高了对高速数据读写的速率。

以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1