一种基于FPGA的并行数据处理方法、装置制造方法及图纸

技术编号:21115661 阅读:29 留言:0更新日期:2019-05-16 08:58
本发明专利技术公开了一种基于FPGA并行数据处理方法、装置。基于FPGA并行数据处理方法包括:预处理来自硬件模块的多路模拟或数字信号;启动多个SRIO模块;向多个SRIO模块并行分发数据;将所述多个SRIO传输的数据并行发送至DSP计算组。本发明专利技术在FPGA与DSP之间的数据传输接口有多个SRIO传输通道,FPGA通过SRIO同时发送相同的数据帧到多个DSP计算组,FPGA按循环队列发送数据帧,DSP计算组从循环队列选取相应的数据包处理,有效提高了FPGA和DSP计算组之间的数据传输效率,减少了DDR3资源的过度浪费。

【技术实现步骤摘要】
一种基于FPGA的并行数据处理方法、装置
本专利技术涉及数字信号处理
,具体涉及一种基于FPGA的并行数据处理方法、装置、计算机设备及可读存储介质。
技术介绍
目前,数字信号处理设备已经广泛应用在语音信号处理、图像信号处理等领域,但也面临着严峻的技术挑战——更大的计算量、更多的数据交换、更复杂的信号算法、更严格的实时性要求。以SAR雷达为例。SAR回波图像距离向采样点数NRN为4096,方位向采样点数NAN为2048,每个采样点所占字节数为8(单精度复数点),合成孔径时间最大为0.5s。则有:单次信号算法所需的数据量为512M比特,FPGA与DSP计算组之间数据传输,多个DSP计算组之间的数据交换,都会占用大量的DSP计算组时间;其次,规定了SAR成像时间在500ms完成,则DSP计算组的时间更是十分宝贵。采用传统的数据分发方案,其效率明显不足,严重影响系统的整机性能。因此,对于并行数字信号处理系统,数据分发的设计方案尤为关键,大量数据通信将给系统带来超重的负荷,且消耗宝贵的DSP计算组时间,更影响数字信号处理系统的整体性能。在数字信号处理设备中,为了满足对若干路数字信号实时的并行处理,一般采用多片DSP+FPGA组成的并行信号处理架构,多片DSP之间、DSP和FPGA之间用高速总线互联。其中,FPGA模块预处理来自前端的硬件信号,DSP模块处理更复杂的信号运算及系统控制。但现有技术多片DSP+FPGA组成的并行信号处理架构中,不仅消耗了庞大的系统DDR资源、DSP计算组资源(时间),还增加了系统的耦合度、程序流程复杂度。因此,如何解决数字信号处理系统中的数据分发效率低,提高系统整体的工作性能,是数字信号处理中亟需解决的问题。
技术实现思路
本专利技术提供一种基于FPGA的并行数据处理方法、装置、计算机设备及可读存储介质,能够有效提高FPGA和DSP计算组之间的数据传输效率,几乎不消耗DSP计算组的时间,且减少了DDR3资源的过度浪费,提升了信号处理的实时运算能力、以及系统的整体性能。本专利技术实施例一方面提供一种基于FPGA的并行数据处理方法,包括:预处理来自硬件模块的多路模拟或数字信号;启动多个SRIO模块;向多个SRIO模块并行分发相同的数据;将所述多个SRIO模块传输的数据并行发送至多个DSP计算组。根据本专利技术的方法,优选的,由所述多个SRIO模块将数据帧并行的发送至多个DSP计算组,数据帧按循环队列存储在DSP计算组的DDR3协议区域,每个DSP计算组接收到完全相同的原始预处理数据帧,DSP计算组从循环队列选取相应数据帧组成的数据包进行处理。根据本专利技术的方法,优选的,所述SRIO模块为FPGA例化的独立工作模块。根据本专利技术的方法,优选的,DSP计算组对接收到的数据帧按一定规则组装成完整的数据包,组装规则具体为:通过循环队列的位置索引,计算出当前数据包的起始和结束位置;将包括起始位置与结束位置及其之间的两个或多个数据帧组装成数据包;生成的相邻数据包含有相同的一个数据帧。根据本专利技术的方法,优选的,所述数据帧通过swrite包发送给DSP计算组;所述多个SRIO模块并行发送一帧数据至多个DSP计算组后,接着发送一个Doorbell消息给相应的DSP计算组,告知DSP计算组当前的数据包状态。本专利技术实施例另一方面提供一种基于FPGA的并行数据处理装置,包括:预处理单元,用于预处理来自硬件模块的多路模拟或数字信号;启动单元,启动多个SRIO模块;数据分发单元,向多个SRIO模块并行分发相同的数据;发送单元,将所述多个SRIO模块传输的数据并行发送至多个DSP计算组。根据本专利技术的装置,优选的,由所述多个SRIO模块将数据帧并行的发送至多个DSP计算组,数据帧按循环队列存储在DSP计算组的DDR3协议区域,每个DSP计算组接收到完全相同的原始预处理数据帧,DSP计算组从循环队列选取相应数据帧组成的数据包进行处理。根据本专利技术的装置,优选的,还包括:消息发送单元,发送Doorbell消息给相应的DSP计算组,告知DSP计算组当前的数据包状态;DSP计算组对接收到的数据帧按一定规则组装成完整的数据包,组装规则具体为:通过循环队列的位置索引,计算出当前数据包的起始和结束位置,将包括起始位置与结束位置及其之间的两个或多个数据帧组装成数据包,生成的相邻数据包含有相同的一个数据帧。本专利技术实施例另一方面提供一种基于FPGA的并行数据处理装置,包括:硬件模块,输出多路模拟或数字信号给FPGA模块;FPGA模块,包括数据预处理模块和多个SRIO模块,其中数据预处理模块预处理来自硬件模块的多路模拟或数字信号,并通过启动多个SRIO模块并行分发相同的数据至多个DSP计算组;多个DSP计算组,对接收到的相同数据进行并行处理,并输出给终端模块;终端模块,接收多个DSP计算组输出的处理结果。根据本专利技术的装置,优选的,FPGA模块通过所述多个SRIO模块发送相同的数据帧,数据帧按循环队列存储在DSP的DDR3协议区域,每个DSP计算组接收到完全相同的原始预处理数据帧,DSP计算组从循环队列选取相应数据帧组成的数据包进行处理;FPGA模块在发送完一帧数据给DSP计算组之后,发送一个Doorbell消息给相应的DSP计算组,告知DSP计算组当前的数据包状态;DSP计算组对接收到的数据帧按一定规则组装成完整的数据包,组装规则具体为:通过循环队列的位置索引,计算出当前数据包的起始和结束位置,将包括起始位置与结束位置及其之间的两个或多个数据帧组装成数据包,生成的相邻数据包含有相同的一个数据帧。本专利技术另一实施例提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任意一项基于FPGA并行数据处理方法的步骤。本专利技术另一实施例提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于:所述计算机程序(指令)被处理器执行时实现如上述任意一项基于FPGA并行数据处理方法的步骤。本专利技术实施例提供的基于FPGA并行数据处理方法和装置,在FPGA与DSP之间的数据传输接口有多个SRIO传输通道,FPGA通过SRIO同时发送相同的数据帧到多个DSP计算组,FPGA按循环队列发送数据帧,DSP计算组从循环队列选取相应的数据包处理。这种灵活的数据帧组装方法,有效提高了FPGA和DSP计算组之间的数据传输效率,几乎不消耗DSP计算组的时间,且减少了DDR3资源的过度浪费。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明图1为本专利技术基于FPGA并行数据处理方法一实施例流程示意图;图2为本专利技术基于FPGA并行数据处理方法另一实施例流程示意图;图3为本专利技术实施例中SRIO模块发送数据包和数据帧示意图;图4为本专利技术实施例中数据处理系统结构示意图;图5为本专利技术实施例三基于FPGA并行数据处理装置示意图;图6为本专利技术计算机设备实施例。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描本文档来自技高网
...

【技术保护点】
1.一种基于FPGA的并行数据处理方法,其特征在于,包括:预处理来自硬件模块的多路模拟或数字信号;启动多个SRIO模块;向多个SRIO模块并行分发相同的数据;将所述多个SRIO模块传输的数据并行发送至多个DSP计算组。

【技术特征摘要】
1.一种基于FPGA的并行数据处理方法,其特征在于,包括:预处理来自硬件模块的多路模拟或数字信号;启动多个SRIO模块;向多个SRIO模块并行分发相同的数据;将所述多个SRIO模块传输的数据并行发送至多个DSP计算组。2.如权利要求1所述的并行数据处理方法,其特征在于,由所述多个SRIO模块将数据帧并行的发送至多个DSP计算组,数据帧按循环队列存储在DSP计算组的DDR3协议区域,每个DSP计算组接收到完全相同的原始预处理数据帧,DSP计算组从循环队列选取相应数据帧组成的数据包进行处理。3.如权利要求1所述的并行数据处理方法,其特征在于,所述SRIO模块为FPGA例化的独立工作模块。4.如权利要求1至3任一项所述的并行数据处理方法,其特征在于,DSP计算组对接收到的数据帧按一定规则组装成完整的数据包,组装规则具体为:通过循环队列的位置索引,计算出当前数据包的起始和结束位置;将包括起始位置与结束位置及其之间的两个或多个数据帧组装成数据包;生成的相邻数据包含有相同的一个数据帧。5.如权利要求1-3任一项所述的并行数据处理方法,其特征在于,所述数据帧通过swrite包发送给DSP计算组;所述多个SRIO模块并行发送一帧数据至多个DSP计算组后,接着发送一个Doorbell消息给相应的DSP计算组,告知DSP计算组当前的数据包状态。6.一种基于FPGA的并行数据处理装置,其特征在于,包括:预处理单元,用于预处理来自硬件模块的多路模拟或数字信号;启动单元,启动多个SRIO模块;数据分发单元,向多个SRIO模块并行分发相同的数据;发送单元,将所述多个SRIO模块传输的数据并行发送至多个DSP计算组。7.如权利要求6所述的并行数据处理装置,其特征在于,由所述多个SRIO模块将数据帧并行的发送至多个DSP计算组,数据帧按循环队列存储在D...

【专利技术属性】
技术研发人员:张重九王驰汪宗福
申请(专利权)人:成都汇蓉国科微系统技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1