基于DDR3的动态乒乓堆栈式数据重排实现方法与流程

阅读: 评论:0


基于ddr3的动态乒乓堆栈数据重排实现方法
技术领域
1.本发明属于雷达信号处理中的数字信号处理领域,涉及雷达信号处理的动目标检测处理(mtd)。脉冲压缩之后的数据是按照距离维顺序排列的,而mtd处理是依次对同一距离单元、同一波束的不同脉冲内的数据进行多普勒滤波,即按照多普勒维的顺序进行处理,涉及到二维数据矩阵转置的过程,即数据重排。


背景技术:



2.动目标检测(mtd)是一种利用相参积累来提高信噪比,从而提高雷达在杂波背景下检测动目标能力的技术,该技术广泛应用于雷达信号处理系统中。mtd是相参处理,需要缓存大量的脉冲回波信号。fpga处理速度快,数据吞吐量大,但是fpga内部的存储容量有限,不能满足mtd存储需求,因此必须外接存储芯片。ddr3-sdram具有速度快、功耗更低、效能更高以及信号质量更好等优点,对于解决高速系统设计中存储器处理速度和带宽所产生的瓶颈提供了更好的解决方案。由此将ddr3存储器用于数据重排过程中的数据存储,对于大型相控阵雷达来说具有重大的应用前景。
3.雷达系统为了同时兼顾远近区目标,需要设置远近区波驻,且波驻时间(相参积累间隔cpi)区别较大,远区波驻时间长,近区短。在远近切换时,需要在近区波驻时间内把远区波驻的数据全部处理完,近区波驻时间内的瞬间数据率和处理能力需要提升5~10倍,导致系统无法在短时间内完成数据的重排处理。传统处理方法以波驻脉冲cpi为节拍进行乒乓读写操作,长波驻切换到短波驻时,需要增加短波驻的时间,或者压缩远波驻的数据量,同时数据和系统的时序耦合紧密,这样不仅浪费系统宝贵的时间资源,而且降低了系统指标和系统稳定性。


技术实现要素:



4.要解决的技术问题
5.为了避免现有技术的不足之处,本发明提出了一种乒乓堆栈架构的数据重排方法,利用两片ddr3存储器进行乒乓操作,通过动态堆栈管理单片存储器,采用数据流驱动的方式实现了数据和时序的松耦合,同时平衡了瞬时大动态,解决了瞬时大数据量无法处理的问题,具有通用性强,动态资源调度能力强,瞬时大动态平衡灵活的特点,可广泛应用于雷达信号处理器产品领域。
6.技术方案
7.一种基于ddr3的动态乒乓堆栈式数据重排实现方法,其特征在于步骤如下:
8.步骤1:配置堆栈深度为k,均匀划分每片存储器,使得每片的堆栈深度分别为k块,保证块的大小能够满足系统最大波驻数据量存储要求;单片内各块读写为动态数据驱动的循环读写模式;
9.步骤2:仲裁模块产生乒乓时间片,控制a片进入写状态,b片进入读状态;对于第一个波驻,b片的读完成为高,首先写a1块,当a1块写完后,产生写完成脉冲,此时切换a、b的时
间片,启动对a1块的读和b1块的写;
10.步骤3:b片写完b1块后,仲裁模块判断a片是否读完成,如果a片未读完a1块,则a、b的时间片保持,b片继续写b2块,b片每写完一块,就判断一次a片的读完成,一直到a片读完a1块为止,此时切换a、b片的读写时间片,a片进入写状态,b片进入读状态;
11.步骤4:b片读完b1块后,读写控制模块判断本片内的堆栈读写指针是否相等,如果不相等,则表明本片内还有未读完的块,保持a、b时间片,b片继续进行读操作,直到堆栈读写指针相等为止,此时产生读完成脉冲;a片写完a2块后,仲裁模块判断b片是否读完成,如果b片未读完,则a片继续进行a3块写操作,a片写完一个块就判断一次,一直到b片读完成后,仲裁模块切换a、b片的读写时间片,控制a片进入读状态、b片进入写状态;
12.步骤5:重复步骤2~步骤4,即可实现动态乒乓堆栈式数据重排。
13.一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
14.一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法。
15.一种计算机程序,其特征在于包括计算机可执行指令,所述指令在被执行时用于实现上述的方法。
16.有益效果
17.本发明提出的一种基于ddr3的动态乒乓堆栈式数据重排实现方法。在远近切换时,远区波驻时间长、数据量大,近区时间短,近区波驻时间内需要把远区波驻的全部数据进行重排处理,近区波驻时间内的瞬间数据率和处理能力需要提升5~10倍,导致系统无法在短时间内完成数据的重排处理。本发明通过单片ddr3存储器动态堆栈管理、两片存储器乒乓操作,采用数据流驱动的方式平衡了瞬时大动态,解决了短时大数据量重排处理的问题。与现有技术相比较,具有以下优点:
18.1、短波驻时间内能处理完长波驻时间的大数据量,且不需要增加系统时间资源,不损失系统指标;
19.2、瞬时大动态平衡能力灵活,数据处理动态范围大,实时动态资源调度能力强;
20.3、平衡了多波驻间的处理时间,系统响应实时性更强。
21.4、数据流驱动方式实现了数据和时序的松耦合。
附图说明
22.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
23.图1为本发明方法之流程图;
24.图2为重排处理原理图;
25.图3为堆栈架构示意图;
26.图4为乒乓堆栈仲裁原理图;
27.图5为读写控制流程图。
具体实施方式
28.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
29.本发明是利用fpga平台对外挂的两簇ddr3存储器进行读写来实现的。配置相干处理间隔(cpi)内的脉冲重复个数为n,单个脉冲重复周期(prt)内的波束个数为l,单个脉冲重复周期内的距离单元个数为m。
30.数据重排原理如图2所示,以单个波束数据为例,将cpi内的n个prt的同一个波束的所有距离单元数据进行缓存,经过数据重排以后变成一个二维的矩阵,其中行向量对应的是不同prt的同一波束的距离单元数据,列向量对应的是同一距离单元同一波束的不同prt的数据。图2中的x(n,m)表示某一个波束的第n个prt内的第m个距离单元的回波数据。图1中所示的二次重排是为了提高ddr3存储器的读效率而设置的,读操作采取跳地址读的方式,每个prt内读一段数据,送入二次重排模块,二次重排只需要进行简单的寻址读操作即可实现整个数据的重排,这里不做过多阐述。本发明基于两簇ddr3存储器来实现动态乒乓堆栈式的数据重排,具体实现方法如下:
31.1.配置堆栈深度,为了动态堆栈管理简单,将a、b两片存储器分别均匀划分为k块,保证每一块的存储空间能够满足系统最大波驻数据量存储要求。如图3所示,堆栈读写是分别对两片存储器的堆栈块进行循环读写。两片存储器的读写控制逻辑完全一致,两片存储器的读写控制模块在仲裁模块控制下进行分时读写,实现动态数据驱动。
32.2.仲裁模块首先给a片产生写时间片控制信号,根据乒乓规则,给b片的时间片为读时间片,单片内的读写控制模块根据读写时间片,分别控制a片进入写状态,b片进入读状态。每当a、b两片读、写完成后,立即产生各自的读、写完成脉冲,并送给仲裁模块。第一个波驻到来时,a片进行a1堆栈块的写操作,此时b片的读完成脉冲为高。当a片的a1堆栈块写完后,读写控制模块立即产生一个写完成脉冲给仲裁模块,此时仲裁模块对b片的读完成脉冲进行判断,如果b片读完成为高,也就是b片的读操作已经完成,则仲裁模块切换a、b的时间片,a片的读写控制模块控制a片从写状态进入读状态,并启动对a1堆栈块的读操作,b片的读写控制模块控制b片从读状态进入写状态,启动对b1堆栈块的写操作,如图4所示。
33.3.b片处于写时间片,如图4所示,b片在写时间片的控制下,当波驻数据到来后,b片开始写b1堆栈块,写完b1堆栈块后立即产生写完成脉冲,仲裁模块判断a片的读完成脉冲是否为高,如果a片读完成脉冲为低,即a片未读完a1堆栈块,仲裁模块给a、b片的时间片继续保持,当新的波驻数据到来时,b片继续进行写b2堆栈块,b片每写完一个堆栈块,仲裁模块就对a片的读完成信号判断一次,一直到仲裁模块收到a片读完a1堆栈块的读完成脉冲,此时切换a、b片的读写时间片,a片进入写状态,b片进入读状态。
34.4.b片处于读时间片,仲裁模块需要对b片的读完成脉冲进行判断,当b片读完b1堆栈块后,读写控制模块判断本片内的堆栈读写指针是否相等,如果不相等,则表明还有未读完的堆栈块,此时b片继续进行读操作,依次读出下一个堆栈块,直到本片写入数据的所有堆栈块读完为止,也即堆栈读写指针相等时,当本片内写入数据的所有堆栈块读写完毕,b片的读写控制模块立即产生b片的读完成脉冲信号给仲裁模块。a片写完a2堆栈块后,仲裁
模块此时对b片是否读完进行判断,如果b片未读完,则a片继续保持写状态,当数据到来时继续进行写a3堆栈块,a片写完一个堆栈块,仲裁模块就判断一次,一直到b片读完成脉冲为高后,仲裁模块切换a、b片的读写时间片,控制a片进入读状态、b片进入写状态。
35.5.两片存储器的读写控制逻辑完全一致,读写控制模块需要根据读写时间片控制本片的读写状态,同时实时监控本片的读写状态,产生本片读写完成脉冲给仲裁模块,如图5所示。
36.对于写操作,每一个波驻的数据到达时,写指针进行循环自加操作,保证对堆栈块的循环写。同时将该波驻工作参数缓存到参数堆栈中。该波驻的工作参数包括:脉冲重复个数n,距离单元m、波束个数l,当写本片存储器的写地址为m*n*l时,表示本波驻的数据已经全部写入本片的对应堆栈块中,此时产生一个写成脉冲给仲裁单元。
37.对于读操作,当本片进入读操作时,判断读写指针的值,如果写指针大于读指针,表示本片内写入数据的所有堆栈块有未进行读出的堆栈块,此时产生一个读启动脉冲,并对读指针进行循环自加操作,同时利用读指针去寻址参数堆栈,读出对应帧的参数信息:脉冲重复个数n1,距离单元m1、波束个数l1等参数。当读本片存储器的读地址为m1*n1*l1时,认为这个波驻的数据全部读出。继续比较读写指针的值,如果写指针依然大于读指针,则本片仍然有未读完的堆栈块,继续产生一个读启动脉冲,循环读操作的过程,直到读写指针相等时,本片内的所有数据读完,此时产生一个读完成脉冲给仲裁模块。
38.6.重复步骤2~步骤4,即可实现动态乒乓堆栈式数据重排。
39.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

技术特征:


1.一种基于ddr3的动态乒乓堆栈式数据重排实现方法,其特征在于步骤如下:步骤1:配置堆栈深度为k,均匀划分每片存储器,使得每片的堆栈深度分别为k块,保证块的大小能够满足系统最大波驻数据量存储要求;单片内各块读写为动态数据驱动的循环读写模式;步骤2:仲裁模块产生乒乓时间片,控制a片进入写状态,b片进入读状态;对于第一个波驻,b片的读完成为高,首先写a1块,当a1块写完后,产生写完成脉冲,此时切换a、b的时间片,启动对a1块的读和b1块的写;步骤3:b片写完b1块后,仲裁模块判断a片是否读完成,如果a片未读完a1块,则a、b的时间片保持,b片继续写b2块,b片每写完一块,就判断一次a片的读完成,一直到a片读完a1块为止,此时切换a、b片的读写时间片,a片进入写状态,b片进入读状态;步骤4:b片读完b1块后,读写控制模块判断本片内的堆栈读写指针是否相等,如果不相等,则表明本片内还有未读完的块,保持a、b时间片,b片继续进行读操作,直到堆栈读写指针相等为止,此时产生读完成脉冲;a片写完a2块后,仲裁模块判断b片是否读完成,如果b片未读完,则a片继续进行a3块写操作,a片写完一个块就判断一次,一直到b片读完成后,仲裁模块切换a、b片的读写时间片,控制a片进入读状态、b片进入写状态;步骤5:重复步骤2~步骤4,即可实现动态乒乓堆栈式数据重排。2.一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1所述的方法。3.一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1所述的方法。4.一种计算机程序,其特征在于包括计算机可执行指令,所述指令在被执行时用于实现权利要求1所述的方法。

技术总结


本发明涉及一种基于DDR3的动态乒乓堆栈式数据重排实现方法,属于雷达信号处理中的数字信号处理领域。针对远近波驻切换导致近区波驻瞬时动态处理能力要求高的场景,该方法通过对单片DDR3存储器进行动态堆栈管理、对两片DDR3存储器进行乒乓控制,采用数据流驱动的方式实现了数据和时序的松耦合,平衡了瞬时大动态,解决了瞬时大数据量无法处理的问题,特别适用于强实时资源调度、大动态数据处理的雷达信号处理系统,具有动态资源调度能力强,瞬时大动态平衡灵活等特点。大动态平衡灵活等特点。大动态平衡灵活等特点。


技术研发人员:

王辉辉 姜洋 宋思盛 袁子乔 赵博

受保护的技术使用者:

西安电子工程研究所

技术研发日:

2021.09.09

技术公布日:

2022/3/1

本文发布于:2022-11-26 06:55:34,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/4443.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:堆栈   数据   脉冲   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图