一种fft协处理器与主处理器通信方法

xiaoxiao2020-7-22  15

一种fft协处理器与主处理器通信方法
【专利摘要】本发明提供一种FFT协处理器与主处理器通信方法,该方法包括如下步骤:将CPU和DMA控制器均连接到AHB总线;DMA控制器集成AHB总线到APB总线的桥;FFT协处理器集成APB总线的从控制器;FFT协处理器发出中断请求;CPU响应所述中断请求;DMA控制器将FFT的运算结果搬移到系统内存;通信结束。通过本发明提供的方法,解决了慢速FFT协处理器和主处理器数据交换的问题;根据FFT协处理器所需要传输的数据的特点采用DMA进行FFT协处理器与主处理器的数据交换,提高了CPU和总线的利用率。
【专利说明】一种FFT协处理器与主处理器通信方法
【技术领域】
[0001]本发明涉及集成电路领域通信方法,具体涉及一种FFT协处理器与主处理器通信方法。
【背景技术】
[0002]傅里叶变换是对信号进行频域分析得到信号频域特性的最常用的分析方法。离散傅里叶变换的提出给数字信号的频域分析提供了理论基础。然而直接进行离散傅里叶变换,运算量极高,在快速傅里叶变换(FFT)被提出之前应用并不广泛。FFT的提出极大的缩减了傅里叶变换的运算量,让傅里叶变换应用于实时系统成为可能,此时信号的傅里叶分析才开始广泛应用起来。
[0003]FFT可以通过通用DSP,FPGA和专用ASIC实现。专用普通的处理器也能够通过软件配置实现FFT的功能,但由于普通处理器并不像DSP —样有专门针对复杂运算优化的总线结构和运算单元,使用普通处理器进FFT运算时,FFT大量的乘法和加法运算会极大的占用CPU资源,导致功很高而效率很低。所以一般不会使用通用的CPU来进行FFT运算。随着集成电路的发展,单个芯片上集成多个功能模块成为一个发展趋势,这种芯片被称作SOC (System On Chip)。对于特定的应用,FFT也可以被设计成单独的专用模块和CPU集成到一块芯片上作为该CPU的协处理器辅助CPU实习FFT的功能。而CPU只负责简单的控制,就能够得到FFT的分析结果。从而CPU可以从大量的运算中解脱出来去做擅长的控制工作,以达到提高效率,降低功耗的目的。
[0004]FFT协处理器中一般含有一块嵌入式的RAM(Random-Access Memory)用于暂存FFT的中间运算结果和最终运算结果。由于FFT协处理器实时处理ADC送进来的数据,最终的运算结果不能够长久保存,必须在下一次的运算结果输入进来之前搬移到系统内存。

【发明内容】

[0005]为了克服上述现有技术的不足,本发明提供一种FFT协处理器通过DMA和CPU进行通信的方法,实现FFT协处理器和CPU的高效数据通信。
[0006]为了实现上述发明目的,本发明采取如下技术方案:
[0007]一种FFT协处理器与主处理器通信方法,其特征在于,所述方法包括如下步骤:
[0008]A.将CPU和DMA控制器均连接到AHB总线;
[0009]B.DMA控制器集成AHB总线到APB总线的桥;
[0010]C.FFT协处理器集成APB总线的从控制器;
[0011]D.FFT协处理器发出中断请求;
[0012]E.CPU响应所述中断请求;
[0013]F.DMA控制器将FFT的运算结果搬移到系统内存;
[0014]G.通信结束。
[0015]优选地,步骤A包括:通过选择器控制所述AHB总线的控制权;于DMA控制器上设置AHB总线的主控制器和从控制器,主控制器和从控制器从AHB总线上接收数据,并在获得总线控制权后发送数据到所述AHB总线。
[0016]优选地,步骤B中,AHB总线到APB总线的桥完成AHB数据到APB数据的协议转换功能。
[0017]优选地,步骤C中,所述APB总线的从控制器与外界交换数据;DMA上的APB控制器连接FFT协处理器,实现基于APB协议的数据通路。
[0018]优选地,步骤D中,所述FFT协处理器发出中断请求包括:当FFT协处理器有数据运算完成时,FFT协处理器向CPU发出中断请求,请求CPU搬移本次FFT运算得到的数据。
[0019]优选地,步骤E中,CPU响应所述中断请求包括:CPU根据中断向量调用中断处理程序;中断处理程序将需要搬移的数据的起始地址、结束地址和搬移模式通过AHB总线配置到DMA控制器中的寄存器中。
[0020]优选地,步骤F包括:CPU完成配置后释放AHB总线的控制权,DMA控制器获得AHB总线的控制权,并根据CPU的配置将FFT对应地址内存储的FFT的运算结果搬移到系统内存中。
[0021]优选地,步骤G包括:DMA控制器完成数据搬移工作后,发出中断;CPU接收中断得知工作完成,通信过程结束。
[0022]与现有技术相比,本发明的有益效果在于:
[0023]本发明的FFT协处理器是针对电网信号进行FFT分析的专用的模块,可以直接分析模数转换器(ADC)将外界模拟信号转换得到的数字信号;将该信号进行FFT分析之后通过DMA (Direct Memory Access)控制器传送到系统内存中;
[0024]本专利解决了慢速FFT协处理器和主处理器数据交换的问题;
[0025]本专利根据FFT协处理器所需要传输的数据的特点采用DMA进行FFT协处理器与主处理器的数据交换。通过使用DMA控制器,CPU将DMA进行简单的配置即可实现将FFT产生的数据直接搬移到内存当中,降低了 CPU的数据搬移负载,提高了 CPU和总线的利用率。
【专利附图】

【附图说明】
[0026]图1是本发明实施例中通信系统结构图。
【具体实施方式】
[0027]下面结合附图对本发明作进一步详细说明。
[0028]本发明提供的方法包括如下步骤:
[0029]1、CPU和DMA控制器均连接到高速的AHB总线上,通过更高一级的选择器来控制谁对总线有控制权。DMA控制器上有AHB总线的主控制器和从控制器,可以从AHB总线上接收数据也可以获得总线控制权后发送数据到AHB总线。
[0030]2、DMA上直接集成AHB总线到APB总线的桥,完成AHB数据到APB数据的协议转
换功能。
[0031]3、FFT协处理器集成APB的从控制器以实现与外界的数据交换。DMA上的APB控制器直接连接到FFT协处理器上,实现一条专用的基于APB协议的数据通路,实现FFT协处理器与DMA的直接通信。[0032]4、当FFT有数据运算完成时向主处理器发出中断请求,请求主处理器来搬移本次FFT运算得到的数据。
[0033]5、主处理器响应FFT模块的中断请求,根据相应的中断向量调用中断处理程序。中断处理程序将需要搬移的数据的起始地址,结束地址,搬移模式通过AHB总线配置到DMA控制器中的相关寄存器中。
[0034]6、CPU完成配置后释放去做其他工作,DMA控制器获得AHB总线的控制权,根据CPU的配置将FFT对应地址内存储的FFT的运算结果搬移到系统内存中。
[0035]7、DMA完成数据搬移工作后,发出中断,CPU接收中断得知工作完成。实施例一如下:
[0036]电网频率很低(50Hz或者60Hz),对电网进行谐波分析一般需要到50到100次谐波左右。若要得到较高的频域分辨率,和较高的精度,FFT输出的信号所需要的存储空间约为10-20k。例如,当电网频率为50Hz时,要求能够分析到100次谐波,则信号带宽至少为5000,为方便实现,取每周波采样256个点,则奈奎斯特采样率为12.8k。一般采用插值滤波FFT的方法来在较低的FFT的分析的点数上达到较高的分析精度。本应用做4096点FFT分析,输出信号为复数,位宽取24比特,则一共需要的存储空间为4k*2*24/8 = 24kB。因此,每次FFT分析将会产生24kB的数据。
[0037]参考图1,当FFT协处理器完成一次FFT运算时,数据全部暂存在FFT协处理器的一块输出RAM上。这时,FFT协处理器向CPU提起中断请求。CPU收到中断请求,找到对应的中断向量,跳到对应的中断地址,执行相应中断处理程序。该程序控制处理器通过AHB总线将配置数据写入到DMA中的寄存器中。其中配置数据包括待搬移的数据的原始地址和长度,待搬移数据的目标地址的起始地址,搬移方式。
[0038]处理器将DMA中的寄存器配置完成后,释放AHB总线的控制权,去完成其他工作。此时DMA控制器按照CPU的配置获得AHB总线的控制权。同时,DMA控制器通过与FFT协处理器相连的专用APB总线按照APB协议的规定读取FFT协处理器中的数据。读到的数据经过DMA控制器的协议转换后通过AHB总线写入到系统内存中。数据完成传送后DMA向处理器提起中断。
[0039]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种FFT协处理器与主处理器通信方法,其特征在于,所述方法包括如下步骤: A.将CPU和DMA控制器均连接到AHB总线; B.DMA控制器集成AHB总线到APB总线的桥; C.FFT协处理器集成APB总线的从控制器; D.FFT协处理器发出中断请求; E.CPU响应所述中断请求; F.DMA控制器将FFT的运算结果搬移到系统内存; G.通信结束。
2.如权利要求1所述的方法,其特征在于,步骤A包括:通过选择器控制所述AHB总线的控制权;于DMA控制器上设置AHB总线的主控制器和从控制器,主控制器和从控制器从AHB总线上接收数据,并在获得总线控制权后发送数据到所述AHB总线。
3.如权利要求1所述的方法,其特征在于:步骤B中,AHB总线到APB总线的桥完成AHB数据到APB数据的协议转换功能。
4.如权利要求1所述的方法,其特征在于:步骤C中,所述APB总线的从控制器与外界交换数据;DMA上的APB控制器连接FFT协处理器,实现基于APB协议的数据通路。
5.如权利要求1所述的方法,其特征在于,步骤D中,所述FFT协处理器发出中断请求包括:当FFT协处理器有数据运算完成时,FFT协处理器向CPU发出中断请求,请求CPU搬移本次FFT运算得到的数据。
6.如权利要求1所述的方法,其特征在于,步骤E中,CPU响应所述中断请求包括:CPU根据中断向量调用中断处理程序;中断处理程序将需要搬移的数据的起始地址、结束地址和搬移模式通过AHB总线配置到DMA控制器中的寄存器中。
7.如权利要求1所述的方法,其特征在于,步骤F包括:CPU完成配置后释放AHB总线的控制权,DMA控制器获得AHB总线的控制权,并根据CPU的配置将FFT对应地址内存储的FFT的运算结果搬移到系统内存中。
8.如权利要求1所述的方法,其特征在于,步骤G包括:DMA控制器完成数据搬移工作后,发出中断;CPU接收中断得知工作完成,通信过程结束。
【文档编号】G06F15/163GK103970709SQ201410177438
【公开日】2014年8月6日 申请日期:2014年4月29日 优先权日:2014年4月29日
【发明者】骆树萌, 袁玉湘, 于坤山, 姜学平 申请人:国家电网公司, 国网智能电网研究院

最新回复(0)