一种FPGA水声信号处理方法及装置与流程

文档序号:14863737发布日期:2018-07-04 09:31阅读:306来源:国知局
一种FPGA水声信号处理方法及装置与流程

本发明属于水下航行器信号处理领域,特别是涉及一种fpga水声信号处理方法及装置。



背景技术:

fpga又称为可编程门阵列,是一种可编程逻辑器件,可作为专用集成电路领域中的一种半定制电路使用。具有可重复修改设计、运行速度快等优点。

对水声信号频率的检测与估计,是水下信号处理中的一项重要技术。目前常用的信号检测方法主要分为以快速傅里叶(fft)算法为代表的经典信号检测方法和以小波分析为代表的现代信号检测方法。以上两种方法各有优缺点:经典信号检测方法具有分析频带宽、运算量少、实时性高及适用范围广等优点,但存在频率分辨率低的缺点;现代信号检测方法具有频率分辨率高、能同时获取突变信号在时域和频域特征等优点,但存在分析频带窄、运算量大、实时性低及对硬件要求高等缺点。

目前水下航行器大部分采用以快速傅里叶(fft)算法为基础、以数字信号处理芯片(dsp)和大规模可编程逻辑阵列(fpga)为硬件运行环境的实时信号检测方法,分别由一块高频数字信号电路和一块低频数字信号处理电路完成不同信号的处理。但随着现代水中信号检测技术的发展,所检测信号的运算量大幅增加,对频率分辨率的要求越来越高,现代信号检测方法的运用越来越多,以往的硬件运行环境逐渐无法适应新算法对硬件资源的要求。

如图1所示,目前的数字信号电路,fpga每接收一个数据便产生一个中断信号发送给dsp,并通过数据/地址总线将数据发送给dsp,dsp将收到的数据存入数据处理芯片,当dsp收到的数据个数满足fft对数据量的要求时,dsp开始运算,当检测到信号时,dsp从片外数据存储器中读出数据,并控制数据的输出。此类硬件设计方案存在dsp执行fft检测运算时,频繁被中断信号打断去执行数据读取等控制任务,极大影响dsp执行算法的效率。

在基于fpga的系统中,可利用fpga来管理多个外部中断。一般可采用基于优先级安排中断一次进行的方法,如发明专利cn103049323a一种在fpga中实现的多中断均衡管理方法中公开了一种管理多个外部中断的方法,避免了因中断响应不均衡带来的数据出错。但这种方法没有解决fpga频繁被中断信号打断影响dsp运算效率的问题。

如何对现有数字信号处理电路的功能进行整合优化,解决dsp与fpga、片外数据存储芯片在大量交换数据时,频繁被中断信号打断影响dsp运算效率的问题,使数字信号处理电路能适应新的信号检测方法对信号实时检测的要求是亟待解决的问题。



技术实现要素:

本发明要解决的技术问题是通过提供一种减少中断的fpga水声信号处理方法及装置,以解决dsp与fpga、片外数据存储芯片在大量交换数据时,频繁被中断信号打断影响dsp运算效率的问题。

本发明提供一种fpga水声信号处理方法,包括:

(1)检测输入信号,fpga进行电路控制并接收数据;

(2)fpga判断接收的数据量满足预定的fft要求时,向dsp产生中断信号,并通过link接口建立通信关系,将接收的数据传输给dsp,并且fpga将接收的数据存储至通过数据/地址总线存到数据存储芯片;

(3)当dsp从接收的数据中检测到有效信号时,fpga将数据存储芯片中的数据输出到下一级电路。

在本发明的实施例中,通过link接口建立通信关系后,数据交互在不需要dsp指令单元控制的情况下进行。

本发明提供一种fpga水声信号处理装置,包括:fpga芯片、dsp芯片、数据存储芯片;

fpga芯片与数据存储芯片通过数据/地址总线;

fpga芯片与dsp芯片通过link接口传递数据,通过中断线进行中断请求;

其中,fpga芯片被设置为接收数据,并且在判断接收的数据量满足预定的fft要求时,向dsp芯片产生中断信号,并通过link接口建立通信关系,将接收的数据传输给dsp芯片,并且fpga芯片将接收的数据存储至通过数据/地址总线存到数据存储芯片;

dsp芯片被配置为从接收的数据中检测到有效信号时,控制fpga芯片将数据存储芯片中的数据输出到下一级电路。

在本发明的实施例中,dsp芯片是ts-201数字信号处理芯片。

在采用此设计方案,利用高速link口代替了fpga芯片与dsp芯片之间传统的数据/地址总线,建立一个独立的高速数据通信口,不需要dsp指令单元控制,完成fpga芯片与dsp芯片的数据交互,无需等待dsp指令单元控制,提高了数据传输效率。并将dsp设置为运算单元,fpga设置为控制单元,将dsp被中断信号打断流水线运算fft的次数降到最低。另外,由fpga控制数据的输入和输出,可进一步使dsp集中资源进行信号检测运算。

采用“dsp主运算、fpga主控制”的设计思路,通过改变传统信号数字信号处理电路dsp、fpga和数据存储器的接口关系和数据交换模式,使dsp在执行流水线运算时较少被中断信号和其他控制任务打断,极大提升了dsp将资源用于复杂检测运算的利用率。

附图说明

图1是传统的fpga水声信号处理方案示意图。

图2是减少中断的fpga水声信号处理方案示意图。

具体实施方式

下面结合说明书附图和实施例对本发明做进一步描述。

如图2所示,一种减少中断的fpga水声信号处理装置,包括fpga芯片、dsp芯片、数据存储芯片、高速link口和数据/地址总线单元。该装置可以运行一种步骤减少中断的fpga水声信号处理方法,包括以下步骤:

步骤1:有信号输入时,将整个电路的控制任务划分给fpga完成,当fpga判断接收的数据量满足fft要求时,产生中断信号,并通过高速link口建立通信关系,通过link口将数据一次传给dsp;

步骤2:fpga直接将数据通过数据/地址总线存到数据存储芯片,当接收到dsp检测到信号时,控制dsp芯片中的数据输出到下一级电路;

步骤3:高速link口建立通信关系后,在步骤1、2数据传输过程中不等待dsp指令单元控制,自动完成数据存储交互。

本发明的硬件方案主要是利用dsp和fpga的link口通信过程不需消耗dsp指令操作的优点,来避免dsp和fpga大量的数据交换,造成dsp执行检测运算效率下降的问题;并将对数据存储及控制输出的操作任务,由dsp交给fpga完成,进一步减少dsp执行其他控制任务造成运算效率下降的风险。对于供电电源、上电复位等其他硬件部分的设计方法,可沿用水声信号处理领域中现有的成熟技术。

本发明的方案达到的具体效果,与具体dsp、fpga芯片的型号相关,如果采用最新的ts-201数字信号处理芯片和高速的fpga芯片。以目前某种数字信号处理电路为例,和本发明采用的硬件方案进行对比分析:

目前数字信号处理电路采用滑动窗口技术,每收到256个数据进行一次1024点的fft运算,这意味着dsp在进行一次完整的fft运算时,至少会被中断256次,而每次中断都要执行入栈和出栈对寄存器的保护操作,执行对数据存储芯片的操作指令和其他条件判断指令等。过多的中断常常打断dsp的流水线运算指令,降低了dsp用于信号检测运算的效率。而采用本发明方案,dsp在进行一次完整的fft运算过程中,不会被外部中断指令打断,当和fpga的link口建立数据交换关系后,dsp就专心进行流水线运算,除将检测到信号的相关信息传送给fpga外,不用执行其他操作,大大提高了硬件的信号处理效率。

以上,仅为本发明优选的实施方式,但本发明的保护范围不仅限于此,任何熟悉本技术领域的技术人员在本发明所公开的技术范围内,容易想到的变换都应涵盖在本发明的保护范围之内。

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