基于ZYNQ平台的信号处理架构移植方法与流程

文档序号:17396814发布日期:2019-04-13 00:53阅读:747来源:国知局
基于ZYNQ平台的信号处理架构移植方法与流程

本发明涉及一种基于zynq平台(xilinx公司推出的行业第一个可扩展处理平台)的信号处理架构移植方法,具体是指一种将dsp+fpga(数字信号处理+现场可编程门阵列)信号处理架构向低功耗的zynq平台的移植方法,属于信号处理技术领域。



背景技术:

zynq7000系列芯片是xilinx(赛灵思)公司基于artix-7(z-7010、z-7015、z-7020)、kintex-7(z-7030、z-7035、z-7045、z-7100)系列的fpga推出的一种全可编程soc芯片(系统级芯片),内嵌双核armcortex-a9mpcore硬核处理器,支持最高主频1ghz。在fpga中嵌入cpu(中央处理器)是目前解决软硬件全可编程的主要途径,另一家fpga主要提供商altera也在最新推出的fpga中嵌入了arm系列cpu。软硬件全可编程代表了目前可编程逻辑器件的发展方向。

zynq芯片首先是一片fpga,其在fpga内部嵌入了arm的硬核,并通过高速互联内部总线结合高效的开发工具,使得arm核与fpga资源无缝链接,使之成为一个自成一体的信号处理系统。所以,zynq芯片的使用,相当于替换了原有dsp+fpga的信号处理架构,精简了一片dsp芯片,也相应的简化了外围电路设计,降低了对器件用户管脚、高速互联接口等的需求,同时功耗方面也得到了有效降低。

目前,多数信号处理平台的架构均采用的是dsp+fpga模式。由于进口dsp停产等原因,原有的信号处理架构面临信号处理平台的移植工作。基于此,找出一种将原有的dsp+fpga的信号处理架构向低功耗的zynq平台移植的方法,是目前亟需解决的且有较高价值的技术问题。

专利申请号201610270543.4《将microblaze平台的嵌入式代码向cortex-a9处理器移植的方法》中,公开了通过分析microblaze平台的处理器与cortex-a9处理器架构的不同之处,实现了嵌入式代码的移植方法。专利申请号201710085729.7《一种基于zynq架构的gnss接收机板卡》中,公开了针对现有gnss板卡的功耗大、体积大、成本高的问题,提出利用zynq架构实现gnss板卡功能。专利申请号201711328653.2《一种基于zynq的远程升级系统及其实现方法》公开了针对远程升级多个fpga所需的接口和存储空间需求,提供的一种基于zynq的远程升级系统及其实现方法。但是,上述专利文献中,均没有涉及dsp+fpga信号处理架构的移植问题。

在2013年9月召开的全国无线及移动通信学术大会论文集中的《基于可编程soczynq-7000智能加密通信系统的设计与实现》,介绍了基于最新可编程soczynq-7000的智能加密通信系统的设计方法和软硬件实现过程,提出多加密算法的混合加密策略,但该方法未针对新旧平台替换提出可行的方案。在2013年10月召开的第七届全国信号和智能信息处理与应用学术会议会刊中的《fpga实现智能化嵌入式系统》,介绍了zynq-7000系列fpga芯片的各种性能,实现了更加智能的嵌入式系统,但文中没有涉及新旧平台替换的相关问题。

综上所述,本发明提出一种基于zynq平台的dsp+fpga信号处理架构的移植方法,以解决现有技术中存在的问题和限制。



技术实现要素:

本发明的目的是提供一种基于zynq平台的信号处理架构移植方法,实现信号处理架构的等效替代,解决平台移植的问题;普适性高,适合工程实现。

为实现上述目的,本发明提供一种基于zynq平台的信号处理架构移植方法,针对2dsp+fpga的原信号处理架构,包含以下步骤:

s1、总结两个dsp之间的接口交互,总结两个dsp分别与fpga之间的接口交互;

s2、将两个dsp的代码分别移植到zynq平台的ps端的双核内,将fpga的代码移植到zynq平台的pl端;

s3、利用zynq平台的ps端双核间的共享存储器,完成两个dsp之间的接口交互;

s4、利用zynq平台的ps端与pl端间的gp总线,完成两个dsp分别与fpga之间的接口交互;

s5、利用zynq平台的pl端的直接存储存取器以及傅里叶变换模块的ip核,完成对傅里叶变换模块的硬件加速。

所述的s1中,两个dsp之间的接口交互包括数据交互与控制信号交互;两个dsp分别与fpga之间的接口交互包括数据交互、控制信号交互与中断信号交互。

所述的s2中,将两个原dsp的代码移植到zynq平台的ps端的步骤中,还包括:根据ps端中的arm核库函数,修改对应的dsp代码中涉及库函数的部分。

所述的s3中,具体包含以下步骤:

s31、共享存储器ocm中设置:

第一标志位寄存器,表示ps端的第二核心读取的第一核心的使能标志位;

第一地址段,存放ps端的第一核心写到第二核心的数据的地址段;

第二标志位寄存器,表示ps端的第一核心读取的第二核心的使能标志位;

第二地址段,存放ps端的第二核心写到第一核心的数据的地址段;

s32、第一核心读取第一标志位寄存器的值,当读取到的值为第一标志值时,第一核心将数据写入第一地址段中,并将第一标志位寄存器的值置为第二标志值;

s33、第二核心读取第一标志位寄存器的值,当读取到的值为第二标志值时,第二核心读取第一地址段中的数据,并将第一标志位寄存器的值置为第一标志值;

s34、第二核心读取第二标志位寄存器的值,当读取到的值为第一标志值时,第二核心将数据写入第二地址段中,并将第二标志位寄存器的值置为第二标志值;

s35、第一核心读取第二标志位寄存器的值,当读取到的值为第二标志值时,第一核心读取第二地址段中的数据,并将第二标志位寄存器的值置为第一标志值。

所述的s4中,具体包含以下步骤:

s41、pl端中设置:第一随机存储器,存储ps端写到pl端的数据与交互信息;第二随机存储器,存储pl端写到ps端的数据与交互信息;

s42、将第一随机存储器和第二随机存储器连接到gp总线上;

s43、ps端通过gp总线将数据写到第一随机存储器,并通过gpio通知pl端读取数据;pl端更新第二随机存储器的数据,并通过gpio通知ps端读取数据。

所述的s5中,具体包含以下步骤:

s51、ps端通过gp总线对直接存储存取器进行配置,并启动直接存储存取器的ip核;

s52、直接存储存取器通过hp总线将傅里叶变换模块的输入数据传输到傅里叶变换模块的ip核,并通过hp总线将傅里叶变换模块的输出数据传输到ps端。

综上所述,本发明所提供的基于zynq平台的信号处理架构移植方法,通过将原dsp与fpga的代码相对应的移植到zynq平台的ps与pl端,实现了信号处理架构的等效替代,解决了平台移植的问题。该方法普适性较高,适合工程实现。

附图说明

图1为本发明中的基于zynq平台的信号处理架构移植方法的流程图;

图2为本发明中的具体实施例的zynq平台的具体架构功能模块图。

具体实施方式

以下结合图1~图2,通过优选实施例对本发明的技术内容、构造特征、所达成目的及功效予以详细说明。根据下述说明,本发明的优点和特征将更清楚。并且需要说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。

如图1所示,为本发明所提供的基于zynq平台的信号处理架构移植方法;如图2所示,以zynq7045为例,详细介绍将2dsp+fpga的信号处理架构向zynq7045移植的方法,包含以下步骤:

s1、在2dsp+fpga的原信号处理架构下,总结两个dsp之间的接口交互,以及总结两个dsp分别与fpga之间的接口交互;

s2、将两个dsp的代码分别移植到zynq平台的ps(处理系统)端的双核内,将fpga的代码移植到zynq平台的pl(可编程逻辑)端;

s3、利用zynq平台的ps端双核间的共享存储器ocm,完成两个dsp之间的接口交互;

s4、利用zynq平台的ps端与pl端间的gp(通用端口)总线,完成两个dsp分别与fpga之间的接口交互;

s5、利用zynq平台的pl端的直接存储存取器axi-dma以及傅里叶变换模块fft的ip核,完成对傅里叶变换模块fft的硬件加速。

如图2所示,对于zynq7045,ps端的两个arm核心之间通过共享存储器ocm进行数据交互,ps端与pl端之间通过gp总线以及设置在pl端上的随机存储器ram进行数据交互。

所述的s1中,两个dsp之间的接口交互包括数据交互与控制信号交互;两个dsp分别与fpga之间的接口交互包括数据交互、控制信号交互与中断信号交互。

所述的s2中,将两个原dsp的代码移植到zynq平台的ps端的步骤中,还包括:根据ps端中的arm核库函数,修改对应的dsp代码中涉及库函数的部分,包括math函数。

所述的s3中,具体包含以下步骤:

s31、共享存储器ocm中设置4个地址段,分别为:

第一标志位寄存器a_flag,表示ps端的第二核心arm1读取的第一核心arm0的使能标志位;

第一地址段a,存放ps端的第一核心arm0写到第二核心arm1的数据的地址段;

第二标志位寄存器b_flag,表示ps端的第一核心arm0读取的第二核心arm1的使能标志位;

第二地址段b,存放ps端的第二核心arm1写到第一核心arm0的数据的地址段;

s32、第一核心arm0读取第一标志位寄存器a_flag的值,当读取到的a_flag的值为0x12341234(这是一个预先设定的标志值)时,第一核心arm0将数据写入第一地址段a中,并将第一标志位寄存器a_flag的值置为0x43214321(这也是一个预先设定的标志值);

s33、第二核心arm1读取第一标志位寄存器a_flag的值,当读取到的a_flag的值为0x43214321时,第二核心arm1读取第一地址段a中的数据,并将第一标志位寄存器a_flag的值置为0x12341234;

s34、第二核心arm1读取第二标志位寄存器b_flag的值,当读取到的b_flag的值为0x12341234时,第二核心arm1将数据写入第二地址段b中,并将第二标志位寄存器b_flag的值置为0x43214321;

s35、第一核心arm0读取第二标志位寄存器b_flag的值,当读取到的b_flag的值为0x43214321时,第一核心arm0读取第二地址段b中的数据,并将第二标志位寄存器b_flag的值置为0x12341234。

所述的s4中,具体包含以下步骤:

s41、pl端中设置两个随机存储器,第一随机存储器ram_a存储ps端写到pl端的数据与交互信息,第二随机存储器ram_b存储pl端写到ps端的数据与交互信息;

s42、将第一随机存储器ram_a和第二随机存储器ram_b连接到gp总线上;

s43、ps端通过gp总线将数据写到第一随机存储器ram_a,并通过gpio(通用输入/输出)通知pl端读取数据;pl端更新第二随机存储器ram_b的数据,并通过gpio通知ps端读取数据。

如图2所示,所述的s5中,具体包含以下步骤:

s51、ps端通过gp总线对直接存储存取器axi-dma进行配置,并启动axi-dma的ip核;

s52、直接存储存取器axi-dma通过hp(高性能端口)总线将傅里叶变换模块fft的输入数据传输到fft的ip核,并通过hp总线将傅里叶变换模块fft的输出数据传输到ps端。

在本发明的一个优选实施例中,所述的基于zynq平台的信号处理架构移植方法被成功试验于某在研重点型号的信号处理机信处板平台更换上,并在半实物仿真试验和外场挂飞试验中得到了验证。从试验结果上看,移植前与移植后的信号处理架构的功能一致,实现了信号处理机平台的有效替代。通过应用本发明的基于zynq平台的信号处理架构移植方法,有效解决了芯片停产或其他原因导致的信号处理架构需要更换的问题。

综上所述,本发明所提供的基于zynq平台的信号处理架构移植方法,通过将原dsp与fpga的代码相对应的移植到zynq平台的ps与pl端,实现了信号处理架构的等效替代,解决了平台移植的问题。该方法普适性较高,适合工程实现。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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