CN113094328B - 一种用于合成孔径雷达实时成像的多通道并行计算系统 - Google Patents

一种用于合成孔径雷达实时成像的多通道并行计算系统 Download PDF

Info

Publication number
CN113094328B
CN113094328B CN202110396890.2A CN202110396890A CN113094328B CN 113094328 B CN113094328 B CN 113094328B CN 202110396890 A CN202110396890 A CN 202110396890A CN 113094328 B CN113094328 B CN 113094328B
Authority
CN
China
Prior art keywords
ddr
fifo
access
port
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110396890.2A
Other languages
English (en)
Other versions
CN113094328A (zh
Inventor
谢宜壮
王国庆
乔婷婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110396890.2A priority Critical patent/CN113094328B/zh
Publication of CN113094328A publication Critical patent/CN113094328A/zh
Application granted granted Critical
Publication of CN113094328B publication Critical patent/CN113094328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • G01S13/90Radar or analogous systems specially adapted for specific applications for mapping or imaging using synthetic aperture techniques, e.g. synthetic aperture radar [SAR] techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multi Processors (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本申请涉及雷达实时成像处理技术领域,提供了一种用于合成孔径雷达实时成像的多通道并行计算系统,该系统包括:DDR,用于存储合成孔径雷达采集的回波数据;控制器,包括至少两组FIFO,用于通过至少两组FIFO轮换访问DDR,并通过至少两组FIFO缓存访问DDR得到的回波数据;计算模块,用于基于计算任务,对访问至少两组FIFO得到的回波数据进行处理;其中,DDR的工作时钟大于FIFO的工作时钟,DDR的数据访问宽带和至少两组FIFO的缓存数据宽带匹配,控制器和计算模块由FPGA实现。本申请实施例的技术方案通过至少两组FIFO的缓存数据宽带和DDR的数据访问宽带的匹配,同时,通过至少两组FIFO轮换访问DDR,基于FPGA对至少两个FIFO的并行处理,提高了系统的实时处理性能。

Description

一种用于合成孔径雷达实时成像的多通道并行计算系统
技术领域
本发明属于雷达实时成像处理技术领域,尤其涉及一种用于合成孔径雷达实时成像的多通道并行计算系统。
背景技术
合成孔径雷达(Synthetic Aperture Radar,SAR)是具有全天时、全天候、远距离等诸多优点的高分辨率成像雷达。基于雷达成像的理论可知,为了提高合成孔径雷达的成像能力,需要大量数据作为支撑,因此,合成孔径雷达的成像技术需要进行大量数据存储与处理。
目前,将合成孔径雷达的原始回波数据在第三代双倍速率同步动态随机存储器(Double-Data-Rate Three Synchronous Dynamic Random Access Memory,DDR3 SDRAM)(以下简称DDR3)中进行存储,通过现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)作为处理器,FPGA将原始回波数据从DDR3中读出,存储至其内的先入先出队列(First Input First Output,FIFO)中,等到数据访问完毕后再送入FPGA中的计算模块中进行处理。
但是,由于FPGA的工作时钟远低于DDR3的工作时钟,使得FPGA内的缓存数据带宽会低于DDR3的数据访问带宽,导致合成孔径雷达成像的实时处理性能相对较低。
发明内容
有鉴于此,本申请实施例提供了一种用于合成孔径雷达实时成像的多通道并行计算系统,通过至少两组FIFO的缓存数据宽带和DDR的数据访问宽带的匹配,同时,通过至少两组FIFO轮换访问DDR,基于FPGA对至少两个FIFO的并行处理,提高了系统的实时处理性能。
本申请实施例的第一方面提供了一种用于合成孔径雷达实时成像的多通道并行计算系统,包括:DDR,用于存储合成孔径雷达采集的回波数据;控制器,包括至少两组FIFO,用于通过所述至少两组FIFO轮换访问所述DDR,并通过所述至少两组FIFO缓存访问所述DDR得到的回波数据;计算模块,用于基于计算任务,对访问所述至少两组FIFO得到的回波数据进行处理;其中,所述DDR的工作时钟大于所述FIFO的工作时钟,所述DDR的数据访问宽带和所述至少两组FIFO的缓存数据宽带匹配,所述控制器和所述计算模块由FPGA实现。
本申请实施例的至少两组FIFO的数据缓存宽带和DDR的数据访问宽带匹配,同时,通过至少两组FIFO轮换访问DDR,且FPGA能够并行读取FIFO中的数据,从而提高了系统的实时处理性能。
在一种可能的实施方式中,所述控制器包括至少两个端口,所述至少两个端口和所述至少两组FIFO一一对应;所述计算模块,用于向所述控制器发送所述计算任务的任务请求信号;所述控制器,用于响应所述任务请求信号,从所述至少两个端口中,确定发出访问请求信号的至少两个请求端口,控制所述至少两个请求端口轮换访问所述DDR,并通过所述FIFO缓存其对应请求端口访问所述DDR得到的回波数据。
本申请实施例,通过端口轮换访问DDR,降低了DDR处于闲置的概率,确保系统的实时处理性能。
在一种可能的实施方式中,所述计算模块,包括至少两个计算单元,所述至少两个计算单元和所述至少两组FIFO一一对应;所述计算模块,用于从所述至少两个计算单元中,确定所述计算任务对应的至少两个目标计算单元,控制所述至少两个目标计算单元各自发送任务请求信号至所述控制器;其中,所述至少两个目标计算单元并行执行所述计算任务,所述至少两个目标计算单元对应的至少两个任务请求信号包括写数据控制信号和读数据控制信号,所述至少两个任务请求信号和所述至少两个请求端口一一对应。
本申请实施例中,一方面,通过计算单元并行执行计算任务,确保系统的实时处理性能,另一方面,不同端口可以同时执行读数据和写数据,比如,一个端口读数据,另一个端口写数据,从而使得系统能够同时进行读数据和写数据,确保系统的实时处理性能。
在一种可能的实施方式中,所述控制器,用于在所述至少两个请求端口每次访问所述DDR时,从所述至少两个请求端口中,确定最高优先级对应的访问端口,向所述访问端口发送应答信号,响应于所述应答信号,通过所述访问端口访问所述DDR。
本申请实施例中,基于优先级轮换端口,避免了其中一个或几个端口具有较高带宽而其他端口的带宽较低的现象,保证了不同端口可以平均分配带宽。
在一种可能的实施方式中,所述控制器,用于在上次访问所述DDR结束后,将上次访问对应的端口序列中位于首位的端口移动至末端得到新的端口序列,将所述新的端口序列中位于首位的端口设置为最高优先级对应的访问端口。
本申请实施例中,通过端口序列中位于首位的端口的轮换,实现了端口轮换。
在一种可能的实施方式中,所述访问端口对应的任务请求信号包括读数据控制信号;所述控制器用于根据所述访问端口对应的读数据控制信号,通过所述访问端口读取所述DDR中的回波数据至对应的FIFO。
在一种可能的实施方式中,所述访问端口对应的FIFO,还用于缓存所述计算模块发送的计算结果;所述任务请求信号包括写数据控制信号;所述控制器,用于根据所述访问端口对应的写数据控制信号,通过所述访问端口读取对应的FIFO中的计算结果,并将从所述对应的FIFO读取的计算结果写入所述DDR。
在一种可能的实施方式中,所述至少两组FIFO的缓存数据宽带相同,所述FIFO的处理字长和所述DDR的处理字长相同;所述至少两组FIFO的FIFO组数基于所述DDR的工作频率、所述DDR的数据访问效率和所述FIFO的工作频率确定。
本申请实施例中,一方面,不同组FIFO的缓存数据宽带相同,每组FIFO的处理字长和DDR的处理字长相同,确保系统的实时处理性能和稳定性,另一方面,基于DDR的工作频率、DDR的数据访问效率和FIFO的工作频率确定的FIFO组数,确保DDR的数据访问宽带和至少两组FIFO的缓存数据宽带匹配。
在一种可能的实施方式中,所述DDR为DDR3;所述计算任务包括快速傅里叶变换FFT的任务、多普勒中心频率DFC的估计任务和/或多普勒调频斜率DFR的估计任务。
本申请实施例的第二方面提供了一种用于合成孔径雷达实时成像的多通道并行计算方法,该方法包括:计算模块从至少两个计算单元中,确定计算任务对应的至少两个目标计算单元,控制所述至少两个目标计算单元各自向控制器发送任务请求信号;所述控制器响应至少两个目标计算单元各自发送的任务请求信息,从所述至少两个端口中,确定出发出访问请求信号的至少两个请求端口;所述控制器控制所述至少两个请求端口轮换访问所述DDR,并通过所述FIFO缓存其对应请求端口访问所述DDR得到的回波数据。
在一种可能的实施方式中,所述控制器在所述至少两个请求端口每次访问所述DDR时,从所述至少两个请求端口中,确定优先级最高的访问端口,向所述访问端口发送应答信号,响应于所述应答信号,通过所述访问端口访问所述DDR。
本申请实施例的第三方面提供了一种用于合成孔径雷达实时成像的多通道并行计算装置,该计算装置包括处理单元和存储单元,所述存储单元中存储有可执行代码,所述处理单元执行所述可执行代码时,实现上述任一种方法。
本申请实施例的第四方面提供了一种存储介质,所述存储介质中存储有可执行指令,计算装置执行所述存储介质中的可执行指令以实现上述任一种方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种用于合成孔径雷达实时成像的多通道并行计算系统的系统结构示意图;
图2是本申请实施例提供的一种控制器的结构示意图;
图3是本申请实施例提供的一种用于合成孔径雷达实时成像的多通道并行计算方法的流程示意图;
图4是本申请实施例提供的一种用于合成孔径雷达实时成像的多通道并行计算装置的示意图;
图5是本申请实施例提供的一种有限状态机的工作示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1为本申请实施例提供了一种用于合成孔径雷达实时成像的多通道并行计算系统的架构图。如图1所示,该计算系统包括:处理层11和存储层12。其中,所述计算系统可以为物理服务器。处理层11包括控制器和计算模块,所述控制器和所述计算模块可以由可编程的处理器实现,例如FPGA(Field-Programmable Gate Array,现场可编程门阵列),下文中将以FPGA作为示例进行描述;控制器包括至少两组FIFO(First Input First Output,先入先出队列),从而提高控制器的缓存数据宽带,在一个可能的实现方式中,每组FIFO均包括数据FIFO单元和地址FIFO单元(图1未示出),数据FIFO单元存储从DDR3读取的数据和/或计算单元发送的计算结果,地址FIFO存储从DDR3读取的数据在DDR3中的物理地址和计算结果存储在DDR3中的物理地址,本申请实施例中提到了FIFO均指的是一组FIFO;在实际应用中,FPGA基于FIFO的数据FIFO单元的数据信号和地址FIFO的地址信号建立FIFO和DDR3之间的数据链路,从而实现对DDR3的访问;计算模块包括至少两个计算单元,从而提高系统的并行性。图1中示意出3组FIFO,F1、F2、F3,和3个计算单元,C1、C2、C3;存储层12包括DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),图1中示意出一个DDR;其中,所述DDR可以是工作时钟大于FPGA的工作时钟的双倍速率同步动态随机存储器,用于存储合成孔径雷达采集的回波数据,例如可以是第三代双倍速率同步动态随机存储器DDR3,下文中将以DDR3作为示例进行描述。需要说明的是,合成孔径雷达发射出雷达信号后,会反射回回波信号,对回波信号进行模数转换后得到回波数据(即合成孔径雷达采集的回波数据),并将回波数据存储到DDR3中进行存储。
在相关技术中,一个DDR3和一组FIFO连接,由于FIFO的工作时钟远低于DDR3的工作时钟,使得FPGA的缓存数据带宽会低于DDR3的数据访问带宽,从而影响了系统的实时处理性能。
在本申请实施例中,一个DDR3和至少两组FIFO连接,DDR的数据访问宽带和至少两组FIFO的缓存数据宽带匹配,从而确保系统的实时处理性能。需要说明的是,FPGA可以读取DDR3存储的合成孔径雷达采集的回波数据,并将读取的回波数据缓存至至少两组FIFO中。其中,FIFO组数基于DDR3的工作频率、DDR3的数据访问效率和FIFO的工作频率确定。具体的,可通过如下公式(1)确定FIFO组数:
Figure BDA0003018903570000071
其中,n表征FIFO组数;floor表征向下取整函数;η表征DDR3的数据访问效率(实际工作带宽与峰值带宽的比值);fDDR表征DDR3的工作频率;fFIFO表征FIFO的工作频率。应当理解,由于DDR3是双倍速率存储器,所以DDR3的数据访问带宽为fDDR与WDDR乘积的两倍,FIFO的数据缓存宽带为fFIFO与WFIFO乘积,其中,WDDR表征DDR3的处理字长,WFIFO表征FIFO的处理字长,由于WDDR和WFIFO是相同的,因此,可以通过上述公式(1)计算FIFO组数。需要说明的是,在实际应用中,为了保证留有一定的裕量,DDR3的数据访问宽往往略大于所有组FIFO的数据缓存宽带。
本申请实施例中,计算模块的数据处理宽带和至少两组FIFO的数据缓存宽带匹配,从而确保系统的实时处理性能。如图1所示,通过一个计算单元与一组FIFO连接,实现计算模块的数据处理宽带和至少两组FIFO的数据缓存宽带的匹配,同时,也便于实现对FGPA的控制。另外,计算单元与FIFO之间直接连接。其中,计算单元与FIFO之间的连接方式基于FPGA的连接规则确定即可,需要说明的是,计算单元可从对应的FIFO中读取数据,也可将计算结果写入FIFO。
在相关技术中,一个DDR3和一组FIFO连接,由于FIFO的工作时钟远低于DDR3的工作时钟,使得FPGA的缓存数据带宽会低于DDR3的数据访问带宽,导致DDR3可能会长时间处于闲置状态。
本申请实施例中,所述控制器包括至少两个端口,所述至少两个端口和所述至少两组FIFO一一对应,通过轮换端口访问DDR3,降低DDR3闲置的概率。请参考图1,一个端口连接一组FIFO,一组FIFO连接一个计算单元,在实际应用中,在计算单元执行计算任务时,会发送一个任务请求信号至FPGA;FPGA中的计算单元对应的端口响应任务请求信号,发送访问请求信号;之后,FPGA会响应每个计算单元发送的任务请求信号,从所有端口中确定出请求端口;当请求端口的数目为1时,通过该请求端口轮换访问DDR3即可;当请求端口的数量大于等于2时,至少两个请求端口轮换访问DDR3,并通过FIFO缓存其对应请求端口访问DDR3得到的回波数据。其中,计算任务涉及到FPGA所能实现的计算功能,比如,可以是快速傅里叶变换FFT的任务、多普勒中心频率DFC的估计任务和/或多普勒调频斜率DFR的估计任务,应当理解,不同计算单元通常全部执行相同的计算任务,当然,在某些情况,也可以部分执行相同的计算任务,具体需要结合实际需求确定,本申请实施例对比不做具体限定。
然后,FPGA会将所有请求端口各自对应的FIFO缓存的回波数据同时送入对应的计算单元,使得计算单元并行执行计算任务,提高系统的并行性,确保系统的实时处理性能。
在请求端口轮换访问DDR3的过程中,针对每次访问,FPGA用于从所有请求端口中确定最高优先级对应的访问端口,向访问端口发送应答信号,响应于应答信号,通过访问端口访问DDR3。在一种可行的实现方式,FPGA用于在上次访问DDR3结束后,将上次访问对应的端口序列中位于首位的端口移动至末端得到新的端口序列,将新的端口序列中位于首位的端口设置为最高优先级对应的访问端口,这里,端口序列可以理解为上次访问中所有请求端口的排序,每次访问时,都会基于上次访问的端口序列做适应性变动,以轮换最高优先级对应的请求端口。在另一种可行的实现方式,FPGA用于在上次访问DDR3结束后,确定端口序列中上次访问对应的访问端口后方的请求端口,并将其设置为优先级最高的访问端口,如果上次访问对应的访问端口位于末端,则将端口序列中位于首位的端口设置为最高优先级对应的访问端口,这里,端口序列可以理解为所有请求端口的排序,每次访问时端口序列是不变的。当然,在实际应用中,也可能会出现增加请求端口的情况,此时,将新增加的请求端口加入到端口序列中的首位或者指定位置即可。应当理解,端口序列是按照优先级从大到小的顺序,对请求端口进行排序得到的,示例地,端口序列为P1、P2、P3,其中,P1、P2、P3的优先级依次降低。需要说明的是,在FPGA第一次访问DDR3时,端口序列可以是人为预先设置的,当然,也可以是基于请求端口的使用情况自动设置的,本申请实施例对此不做具体限定。
在实际应用中,通过有限状态机进行请求端口的优先级的仲裁,以3个端口P1、P2、P3各自的标识分别为100、010、001为例进行描述,请参考图5,当仅有一个请求端口时,有限状态机跳转到1个端口对应的响应状态ONE,然后直接跳转到该请求端口对应的响应状态,并完成该端口的数据传输。当有两个请求端口时,有限状态机跳转到2个端口对应的响应状态TWO,然后根据具体请求的两个请求端口,跳转至P1+P2,P2+P3或P1+P3状态,根据上次访问的端口的标识,确定当前具有最高优先级的访问端口,使有限状态机跳转至该访问端口并完成数据传输,比如,若有限状态机跳转至P1+P2状态,如果上次访问的端口的标识为010或001,则有限状态机确定当前具有最高优先级的访问端口为P1,如果上次访问的端口的标识为100,则有限状态机确定当前具有最高优先级的访问端口为P2;若有限状态机跳转至P2+P3状态,如果上次访问的端口的标识为100或001,则有限状态机确定当前具有最高优先级的访问端口为P2,如果上次访问的端口的标识为010,则有限状态机确定当前具有最高优先级的访问端口为P3;若有限状态机跳转至P1+P3状态,如果上次访问的端口的标识为100或010,则有限状态机确定当前具有最高优先级的访问端口为P3,如果上次访问的端口的标识为001,则有限状态机确定当前具有最高优先级的访问端口为P1。当有三个端口同时请求时,状态机跳转到3个端口对应的响应状态THREE,根据上次访问的端口的标识,确定当前具有最高优先级的访问端口,使状态机跳转至该端口并完成数据传输,比如,上次访问的端口的标识为100,则有限状态机确定当前具有最高优先级的访问端口为P2;上次访问的端口的标识为010,则有限状态机确定当前具有最高优先级的访问端口为P3;上次访问的端口的标识为001,则有限状态机确定当前具有最高优先级的访问端口为P1。每次数据传输完成后,更新上次访问的端口的标识,并重新进行上述过程,重新判断当前具有最高优先级的端口。应当理解,发出请求的端口的数量不同,有限状态机对应的优先级仲裁方法也不一样,响应状态所响应的端口数量也不一样。
在一种可能的情况,访问端口对应的任务请求信号包括读数据控制信号,控制器用于根据访问端口对应的读数据控制信号,通过访问端口读取DDR3中的回波数据至对应的FIFO中,从而实现数据读取。其中,读数据控制信号可以包括读数据的字节和从DDR3中读取的数据标识。
在另一种可能的情况,在计算单元执行计算任务时,会得到计算结果,通常需要将计算结果写入到DDR3中,则访问端口对应的FIFO,还用于缓存访问端口对应的计算单元发送的计算结果,访问端口对应的任务请求信号包括写数据控制信号,控制器,用于根据访问端口对应的写数据控制信号,通过访问端口读取对应的FIFO中的计算结果,并将从所述对应的FIFO读取的计算结果写入DDR3中。写数据控制信号可以包括写数据的字节和从FIFO中读取的计算结果的标识。
应当理解,在相关技术中,一个DDR3和一组FIFO连接,只能按照读数据-处理数据-写数据的处理流程进行处理,无法同时实现读数据和写数据。
本申请实施例中,一个端口只能读数据或写数据,但是不同端口可以同时进行读数据和写数据。例如,端口P1读数据,端口P2写数据。
在一个实施例中,图2示出了本申请实施例提供的一种控制器的结构示意图,请参考图2,控制器包括:至少两组FIFO、至少两个端口、一个仲裁模块和一个DDR控制器,仲裁模块用于在所述至少两个请求端口每次访问所述DDR3时,从所述至少两个请求端口中,确定优先级最高的访问端口,向所述访问端口发送应答信号;DDR控制模块用于响应所述应答信号,建立DDR3和FIFO之间的数据链路。
图3为本申请实施例提供的一种用于合成孔径雷达实时成像的多通道并行计算方法流程图。
下文中将以3个计算单元为C1、C2、C3,3组FIFO为F1、F2、F3,3个端口为P1、P2、P3为例进行描述。
步骤301、计算模块从至少两个计算单元中,确定计算任务对应的至少两个目标计算单元,控制所述至少两个目标计算单元各自向控制器发送任务请求信号。
假设计算任务为快速傅里叶变换FFT的任务,C1、C2、C3均为目标计算单元,C1、C2、C3各自向FPGA发送任务请求信号。
步骤302、所述控制器响应至少两个目标计算单元各自发送的任务请求信息,从所述至少两个端口中,确定出发出访问请求信号的至少两个请求端口。
假设FPGA根据C1、C2、C3各自向其发送的任务请求信号,确定P1、P2、P3均为请求端口。
步骤303、所述控制器控制所述至少两个请求端口轮换访问所述DDR,并通过FIFO缓存其对应请求端口访问所述DDR得到的回波数据。
在一个实现方式中,FPGA在至少两个请求端口每次访问DDR3时,从至少两个请求端口中,确定优先级最高的访问端口,向访问端口发送应答信号,响应于应答信号,通过访问端口访问DDR3。
具体的,FPGA在至少两个请求端口每次访问DDR3时,在上次访问DDR3结束后,将上次访问对应的端口序列中位于首位的端口移动至末端得到新的端口序列,将新的端口序列中位于首位的端口设置为最高优先级对应的访问端口。在实际应用中,FPGA可以根据有限状态机判断请求端口的优先级,保证FPGA的控制逻辑的稳定性。假设上次访问的端口序列为P1、P2、P3,则新的端口序列为P2、P3、P1,则P2为最高优先级对应的访问端口。
然后,FPGA向访问端口发送应答信号,响应于应答信号,通过访问端口访问所述DDR3。
FPGA向P2发送应答信号,此时,建立C2、F2、P2和DDR3之间的数据链路,实现对DDR3的访问。
在下次访问DDR3时,P3的优先级最高,FPGA向P3发送应答信号,此时,建立C3、F3、P3和DDR3之间的数据链路,实现对DDR3的访问。在实际应用中,数据链路的建立是由FPGA中的DDR控制器实现的。
图4示出了本申请提供的一种用于合成孔径雷达实时成像的多通道并行计算装置400的结构示意图。计算装置400可用于实现上述方法实施例中描述的任一种用于合成孔径雷达实时成像的多通道并行计算方法。该计算装置400可以是终端、服务器或者其它用于合成孔径雷达成像的设备等。
计算装置至少包括一个或多个处理器410(包括FPGA)和一个或多个存储器(包括DDR3)420,可支持计算装置实现本申请实施例中所述的用于合成孔径雷达实时成像的多通道并行计算方法。处理器410可以用于实现相应的控制和处理功能,执行软件程序,处理软件程序的数据,具体的,处理器410包括至少两个FIFO、仲裁模块、DDR控制模块和计算模块;FIFO,用于缓存访问DDR3得到的回波数据;计算模块,用于向处理器410发送计算任务的任务请求信号,并对访问所述至少两个FIFO得到的回波数据进行处理;仲裁模块,用于响应所述任务请求信号,从处理器410的至少两个端口中,确定发出访问请求信号的至少两个请求端口,在所述至少两个请求端口每次访问所述DDR3时,从所述至少两个请求端口中,确定最高优先级对应的访问端口,向所述访问端口发送应答信号;DDR控制模块用于响应所述应答信号,建立DDR3和FIFO之间的数据链路。
可选地,计算装置包括一个处理器410,处理器410为FPGA,FPGA可以由计算机对其进行配置,也可以由片外配置芯片,如可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory,EPROM)对其进行配置,使得FPGA可以执行上述方法实施例中描述的方法。
可选地,一个或多个存储器420上存有程序(也可以是指令或者代码),程序可被处理器410运行,使得处理器410执行上述方法实施例中描述的方法。其中,存储器420可以为易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)、动态随机存取存储器(Dynamic random-access memory,DRAM);所述存储器420也可以为非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)、固态硬盘(solid-state drive,SSD)、存储级内存(Storage class memory,SCM)等;所述存储器420还可以包括上述种类的存储器的组合。在实际应用中,通常DDR3不会存储上述程序(也可以是指令或者代码),因此,存储器420至少有两个,其中一个存储器420为DDR3。
本所属领域的技术人员可以清楚地了解到,本申请提供的各实施例的描述可以相互参照,为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的步骤可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参考、结合或引用。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。此外,本申请实施例中,终端和/或网络设备可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。

Claims (9)

1.一种用于合成孔径雷达实时成像的多通道并行计算系统,其特征在于,包括:
DDR,用于存储合成孔径雷达采集的回波数据;
控制器,包括至少两组FIFO,用于通过所述至少两组FIFO轮换访问所述DDR,并通过所述至少两组FIFO缓存访问所述DDR得到的回波数据;
计算模块,用于基于计算任务,对访问所述至少两组FIFO得到的回波数据进行处理;
其中,所述DDR的工作时钟大于所述FIFO的工作时钟,所述DDR的数据访问宽带和所述至少两组FIFO的数据缓存宽带匹配,所述控制器和所述计算模块由FPGA实现;所述至少两组FIFO的FIFO组数基于所述DDR的工作频率、所述DDR的数据访问效率和所述FIFO的工作频率确定;所述FIFO组数基于下述公式确定:
Figure FDA0003838987230000011
其中,n表征FIFO组数;floor表征向下取整函数;η表征DDR3的数据访问效率,即实际工作带宽与峰值带宽的比值;fDDR表征DDR3的工作频率;fFIFO表征FIFO的工作频率。
2.根据权利要求1所述的系统,其特征在于,所述控制器包括至少两个端口,所述至少两个端口和所述至少两组FIFO一一对应;
所述计算模块,用于向所述控制器发送所述计算任务的任务请求信号;
所述控制器,用于响应所述任务请求信号,从所述至少两个端口中,确定发出访问请求信号的至少两个请求端口,控制所述至少两个请求端口轮换访问所述DDR,并通过所述FIFO缓存其对应请求端口访问所述DDR得到的回波数据。
3.如权利要求2所述的系统 ,其特征在于,所述计算模块,包括至少两个计算单元,所述至少两个计算单元和所述至少两组FIFO一一对应;
所述计算模块,用于从所述至少两个计算单元中,确定所述计算任务对应的至少两个目标计算单元,控制所述至少两个目标计算单元各自发送任务请求信号至所述控制器;
其中,所述至少两个目标计算单元并行执行所述计算任务,所述至少两个目标计算单元对应的至少两个任务请求信号包括写数据控制信号和读数据控制信号,所述至少两个任务请求信号和所述至少两个请求端口一一对应。
4.根据权利要求2所述的系统,其特征在于,所述控制器,用于在所述至少两个请求端口每次访问所述DDR时,从所述至少两个请求端口中,确定最高优先级对应的访问端口,向所述访问端口发送应答信号,响应于所述应答信号,通过所述访问端口访问所述DDR。
5.根据权利要求4所述的系统,其特征在于,所述控制器,用于在上次访问所述DDR结束后,将上次访问对应的端口序列中位于首位的端口移动至末端得到新的端口序列,将所述新的端口序列中位于首位的端口设置为最高优先级对应的访问端口。
6.根据权利要求4所述的系统,其特征在于,所述访问端口对应的任务请求信号包括读数据控制信号;
所述控制器用于根据所述访问端口对应的读数据控制信号,通过所述访问端口读取所述DDR中的回波数据至对应的FIFO。
7.根据权利要求4所述的系统,其特征在于,所述访问端口对应的FIFO,还用于缓存所述计算模块发送的计算结果;
所述任务请求信号包括写数据控制信号;
所述控制器,用于根据所述访问端口对应的写数据控制信号,通过所述访问端口读取对应的FIFO中的计算结果,并将从所述对应的FIFO读取的计算结果写入所述DDR。
8.根据权利要求1至7中任一项所述的系统,其特征在于,所述至少两个FIFO的缓存数据宽带相同,所述FIFO的处理字长和所述DDR的处理字长相同。
9.根据权利要求8所述的系统,其特征在于,所述DDR为DDR3;
所述计算任务包括快速傅里叶变换FFT的任务、多普勒中心频率DFC的估计任务和/或多普勒调频斜率DFR的估计任务。
CN202110396890.2A 2021-04-13 2021-04-13 一种用于合成孔径雷达实时成像的多通道并行计算系统 Active CN113094328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110396890.2A CN113094328B (zh) 2021-04-13 2021-04-13 一种用于合成孔径雷达实时成像的多通道并行计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110396890.2A CN113094328B (zh) 2021-04-13 2021-04-13 一种用于合成孔径雷达实时成像的多通道并行计算系统

Publications (2)

Publication Number Publication Date
CN113094328A CN113094328A (zh) 2021-07-09
CN113094328B true CN113094328B (zh) 2022-11-08

Family

ID=76677003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110396890.2A Active CN113094328B (zh) 2021-04-13 2021-04-13 一种用于合成孔径雷达实时成像的多通道并行计算系统

Country Status (1)

Country Link
CN (1) CN113094328B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224482B (zh) * 2015-10-16 2018-05-25 浪潮(北京)电子信息产业有限公司 一种fpga加速卡高速存储系统
US10521390B2 (en) * 2016-11-17 2019-12-31 The United States Of America As Represented By The Secretary Of The Air Force Systems and method for mapping FIFOs to processor address space
CN109146804B (zh) * 2018-07-26 2021-03-16 南京航空航天大学 一种基于fpga的sar图像几何失真校正方法

Also Published As

Publication number Publication date
CN113094328A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US8799584B2 (en) Method and apparatus for implementing multi-processor memory coherency
US11360705B2 (en) Method and device for queuing and executing operation commands on a hard disk
CN110737536B (zh) 一种基于共享内存的消息存储方法和消息读取方法
CN114356223B (zh) 存储器的访问方法及装置、芯片、电子设备
US20180284992A1 (en) Near memory accelerator
CN110941395B (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
US11907814B2 (en) Data path for GPU machine learning training with key value SSD
WO2023124304A1 (zh) 芯片的缓存系统、数据处理方法、设备、存储介质及芯片
CN115374046B (zh) 一种多处理器数据交互方法、装置、设备及存储介质
CN115174673B (zh) 具备低延迟处理器的数据处理装置、数据处理方法及设备
CN116414735A (zh) 数据存储方法、系统、存储访问配置方法及相关设备
WO2019223383A1 (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN113094328B (zh) 一种用于合成孔径雷达实时成像的多通道并行计算系统
CN111177027B (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
CN116414743A (zh) 用于控制存储器的方法、存储器控制器及芯片
CN115878311A (zh) 一种计算节点集群、数据聚合方法和相关设备
CN111913662B (zh) Slc写性能提升方法、装置、计算机设备及存储介质
WO2021159608A1 (zh) 一种基于Protocol Buffer的镜像缓存方法
CN113220608A (zh) 一种NVMe命令处理器及其处理方法
CN116775510B (zh) 数据访问方法、装置、服务器和计算机可读存储介质
CN118363914B (zh) 数据处理方法、固态硬盘设备及主机
CN111047503B (zh) 一种顶点数组类命令的属性存储与组装优化电路
CN117389483B (zh) 一种内存管理方法、装置、电子设备及可读存储介质
CN108762666B (zh) 一种存储系统的访问方法、系统、介质及设备
CN117666936A (zh) 存储介质的迁移带宽调整方法、装置、系统以及芯片

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant