一种分时复用单ddr的sar成像数据处理系统

文档序号:1920255 发布日期:2021-12-03 浏览:26次 >En<

阅读说明:本技术 一种分时复用单ddr的sar成像数据处理系统 (SAR imaging data processing system of time-sharing multiplexing single DDR ) 是由 闵锐 李晋 黄太 徐浩典 余雷 曹宗杰 崔宗勇 于 2021-09-07 设计创作,主要内容包括:本发明属于雷达成像信号处理领域,具体的说是涉及一种分时复用单DDR的SAR成像数据处理系统。本发明包括数据采集前端、第一数据处理模块、第二数据处理模块、第一异步FIFO,第二异步FIFO、第三异步FIFO、数据通道选择器、DDR总线仲裁单元、DDR驱动单元以及一片DDR3SDRAM。本发明采用单片DDR3的时分复用方式,减少了存储器的个数,节省了FPGA的IO资源,降低了开发成本。(The invention belongs to the field of radar imaging signal processing, and particularly relates to an SAR imaging data processing system of time division multiplexing single DDR. The DDR SDRAM bus interface circuit comprises a data acquisition front end, a first data processing module, a second data processing module, a first asynchronous FIFO, a second asynchronous FIFO, a third asynchronous FIFO, a data channel selector, a DDR bus arbitration unit, a DDR drive unit and a piece of DDR3 SDRAM. The invention adopts the time division multiplexing mode of the single DDR3, reduces the number of the memories, saves the IO resources of the FPGA and reduces the development cost.)

一种分时复用单DDR的SAR成像数据处理系统

技术领域

本发明属于雷达成像信号处理领域,具体的说是涉及一种分时复用单DDR的SAR成像数据处理系统。

背景技术

合成孔径雷达(Synthetic Aperture Radar,SAR)具有全天时,全天候的工作特点以及高分辨的成像精度,其已经在多云雾地区遥感测图、军事侦察、国民经济建设等方面发挥着巨大作用。近些年来,随着硬件制造水平的快速发展,基于FPGA的SAR实时成像系统设计收到越来越多的研究。而SAR成像信号处理过程中涉及到利用DDR进行大数据量的存储,因此设计一种分时复用DDR的数据读写系统能够减少所用DDR3数量,进而减少FPGA端口占用,有利于雷达小型化设计。

基于FPGA的分时复用单DDR的SAR成像数据处理系统中通过DDR总线仲裁单元控制数据采集前端、第一数据处理模块和第二数据处理模块三个不同的数据模块对于DDR3的访问权限。当数据模块获得DDR3访问权限时,DDR总线仲裁单元将数据从相应FIFO中读出并写入到DDR3中或者将数据从DDR3中读出写入到FIFO中。当数据模块没有获得DDR3 的访问权限时,数据采集前端和第一数据处理模块将数据写入到FIFO中缓存,第二数据处理模块从FIFO中读取之前DDR3写入到FIFO中缓存的数据。

在数据采集前端或者第一数据处理模块没有DDR3访问权限时,要保证以有限的FIFO 深度缓存其输出的数据;在第二数据处理模块没有DDR3访问权限时,要保证以有限的FIFO 深度缓存DDR3写入到FIFO中的数据。

在读写数据到DDR3中时,要满足上述要求,数据模块输出数据率fd、DDR访问峰值数据率fp、连续写入或读出地址数x需要满足下述关系:

在fp=1600MHz时,tck对应800M时钟的时钟周期。tbusy表示在DDR总线仲裁单元一个状态操作周期内无法将数据写入DDR3或者将数据从DDR3读出的时间,包括DDR3行激活以及换页时间、状态切换占用时间两部分。DDR3行激活以及换页时间取决于DDR3芯片型号以及运行频率,状态切换占用时间表示DDR总线仲裁单元从当前状态切换到另一状态再切换到当前状态所用时间。

为利用DDR3的突发(burst)传输技术,x需要是8的倍数;为保证单次写数据到DDR3中时不跨越DDR3内存行边界,x需要是2的整数幂次。

发明内容

本发明的实现技术方案为:

一种分时复用单DDR的SAR成像数据处理系统,本发明包括数据采集前端、第一数据处理模块、第二数据处理模块、第一异步FIFO,第二异步FIFO、第三异步FIFO、数据通道选择器、DDR总线仲裁单元、DDR驱动单元以及一片DDR3 SDRAM。

DDR3地址空间分为连续的两个存储区:DDR第一存储区、DDR第二存储区,本发明采用一组DDR分时复用的设计,按照一定的时间片段分配方式,在DDR总线仲裁单元的控制下,数据采集前端、第一数据处理模块和第二数据处理模块分时访问DDR3以完成回波数据存储和处理过程中数据的转置操作。

所述DDR总线仲裁单元通过数据通道选择器使能相应的FIFO使能控制端选通其中一路数据,并通过读写控制线、地址线控制DDR驱动单元对DDR3进行访问;DDR总线仲裁单元一共可以分为四种状态:1)第一种状态是在数据采集前端和第一数据处理模块分时复用DDR3时,控制DDR3接口将数据采集前端输出的数据写入到DDR3第一存储区;2)第二种状态是在数据采集前端和第一数据处理模块分时复用DDR3时,控制DDR3接口将第一数据处理模块输出的数据写入到DDR3第二存储区;3)第三种状态是在数据采集前端和第二数据处理模块分时复用DDR3时,控制DDR3接口将数据采集前端输出的数据写入到DDR3第一存储区;4)第四种状态是在数据采集前端和第二数据处理模块分时复用DDR3时,控制DDR3 接口将第二数据处理模块所需的数据从DDR3第二存储区读出。

数据采集前端按照设定的地址跳变顺序将数据写入DDR3第一存储区,第一数据处理模块按照设定的地址跳变顺序将数据写入DDR3第二存储区,第二数据处理模块按照设定的地址跳变顺序将雷达回波数据从DDR3第二存储区中读出;DDR3第一存储区与DDR3第二存储区的起始地址间隔为一帧数据所占地址长度。

所述数据采集前端按行输出数据,分时复用控制单元将数据按行写入DDR3第一存储区;当DDR总线仲裁单元处于第一状态和第三状态时,DDR总线仲裁单元控制DDR驱动单元将数据采集前端输出的数据写入到DDR3第一存储区;本发明中DDR3第一存储区写入的数据在当前的操作周期不被读出使用。

所述第一数据处理模块按行输出数据,分时复用控制单元产生写跳变地址将数据按行写入DDR3第二存储区。当DDR总线仲裁单元处于第二种状态时,DDR总线仲裁单元控制DDR 驱动单元将第一数据处理模块输出的数据写入到DDR3第二存储区。

所述第二数据处理模块分时复用控制单元产生读跳变地址将数据从DDR3第二存储区按列读出;当DDR总线仲裁单元处于第四种状态时,DDR总线仲裁单元控制DDR驱动单元将第二数据处理模块所需的数据从DDR3第二存储区读出,经第三异步FIFO送到第二数据处理模块中。

所述的一种分时复用单DDR的SAR成像数据处理系统,其特征在于所述第一异步FIFO 深度大于等于在第一数据处理模块或2访问DDR3时间段内的数据采集前端模块输出的数据大个数;所述第二异步FIFO深度大于等于在数据采集前端访问DDR3时间段内的第一数据处理模块输出的数据大小;所述第三异步FIFO深度大于等于DDR总线仲裁单元在第四种状态时写入到第三异步FIFO中的数据量与第二数据处理模块从第三异步FIFO中读出的数据量的差值。

本发明的有益效果为,本发明采用单片DDR3的时分复用方式,减少了存储器的个数,节省了FPGA的IO资源,降低了开发成本。

附图说明

图1是本发明一种分时复用单DDR的SAR成像数据处理系统模块架构图;

图2是本发明中数据采集前端、第一数据处理模块输出数据顺序;

图3是本发明中数据采集前端数据写入DDR第一存储区中的排布方式;

图4是本发明中第一数据处理模块输出数据写入DDR第二存储区中的排布方式;

图5是本发明中第二数据处理模块从DDR第二存储区中读出数据的顺序。

具体实施方式

下面结合附图,详细说明本发明的技术方案。

如图1所示,本发明提出的一种分时复用单DDR的SAR成像数据处理系统,包括数据采集前端、第一数据处理模块、第二数据处理模块、第一异步FIFO,第二异步FIFO、第三异步FIFO、数据通道选择器、DDR总线仲裁单元、DDR驱动单元以及一片DDR3 SDRAM。

实施例

本例中FPGA选用XILINX公司的xc7v690tffg1761-3芯片,DDR3 SDRAM芯片型号为Micron公司的MT8KTF51264HZ-1G9,突发传输长度(BL)设置为8。开发环境为XILINX 的Vivado 2018.3,DDR驱动单元使用Vivado提供的MIG核,且工作时钟为800MHz,提供的用户时钟为200MHz。

该具体实施方案中,雷达回波数据矩阵大小为8192×8192,单个数据位宽为64bits,当突发传输长度设置为8时,异步FIFO数据端口位宽需要设置为512bits,因此数据采集前端和第一数据处理模块输出数据时需要进行串并转换,第二数据处理模块读取数据时需要进行并串转换。

数据采集前端工作时钟为100MHz,该模块输出数据顺序如图2所示,该模块逐行输出每一距离向上的8192个数据经串并转换后写入到第一异步FIFO中。

DDR总线仲裁单元处于将数据采集前端输出的数据写入到DDR3中的第一种状态时,将数据从第一异步FIFO中读出并写入DDR第一存储区。

该状态下,DDR总线仲裁单元将数据从第一异步FIFO中读出并写入DDR第一存储区的排列方式如图3所示:

DDR总线仲裁单元产生的第一写地址变量起始值为0,每写入1个burst长度的数据(图 3中a1,1…a1,8)后,即512bits位宽数据,第一写地址变量加8(即从a1,1跳变至a1,9);

每写入4个burst长度数据(即a1,1…a1,32)后,DDR总线仲裁单元切换到第二种状态,将第一数据处理模块缓存到第二异步FIFO中的数据写入到DDR3第二存储区中。此时数据采集前端输出的数据缓存在第一异步FIFO中,等待下一分时复用时间段进行读取。

第一数据处理模块工作时钟为400MHz,该模块输出数据顺序如图2所示,该模块逐行输出每一距离向上的8192个数据经串并转换后写入到第一异步FIFO中。

DDR总线仲裁单元处于将第一数据处理模块输出的数据写入到DDR3中的第二种状态时,将数据从第二异步FIFO中读出并写入DDR第二存储区。

该状态下,第一数据处理模块输出数据写入到DDR3第二存储区的排列方式如图4所示:

DDR总线仲裁单元产生的第二写地址变量起始值等于一帧回波数据量大小,即为67108964。每写入1个burst长度的数据(图4中a1,1…a1,8)后,即512bits位宽数据,第二写地址变量加8(即从a1,1跳变至a1,9);

每写入16个burst长度数据(即a1,1…a1,128)后,DDR总线仲裁单元切换到第一种状态,将数据采集前端缓存到第一异步FIFO中的数据写入到DDR3中。此时第一数据处理模块输出的数据缓存在第二异步FIFO中,等待下一分时复用时间段进行读取。

上述两次写DDR过程为一个循环,该循环重复进行。下一循环相对当前循环的地址跳变规律如下:

系统处于第一种状态时,数据地址保持连续;系统处于第二种状态时,每写入16个burst 长度数据(即a1,1…a1,128)后,第二写地址变量在原有基础上加1048576,对应DDR第二存储区下一行首个地址(图4中a1,129);每写入1024个burst数据后(即a1,1…a1,8192),第二写地址变量在原有基础上减66060160,对应下一距离向的首个burst数据(即a2,1…a2,8)。

按照此规律,当第一数据处理模块首先将一帧数据全部写入到DDR3第二存储区中,DDR 总线仲裁单元在第一状态和第二状态之间切换的操作周期结束,进入到在第三种状态和第四种状态之间进行切换的操作周期。

DDR总线仲裁单元处于将数据采集前端输出的数据写入到DDR3中的第三种状态,将数据从第一异步FIFO中读出并写入DDR第一存储区。

该状态下,DDR总线仲裁单元数据将采集前端输出的数据继续写入DDR第一存储区,第一写地址变量变化规律如下:

第一写地址变量在原有基础上加8,即在第一种状态下写入数据最后一个burst数据地址基础上加8;每写入一个burst长度数据,即512bits位宽数据,第一写地址变量加8;

每写入8个burst长度数据后,DDR总线仲裁单元切换到第四种状态,将DDR3第二存储区中的数据读出到第三异步FIFO中。此时数据采集前端输出的数据缓存在第一异步FIFO中,等待下一分时复用时间段进行读取。

DDR总线仲裁单元处于第二数据处理模块将DDR3中读出的第四种状态时,将数据从 DDR第二存储区中读出,并写入第三异步FIFO。

第二数据处理模块工作时钟400MHz,由于每次从DDR3第二存储区中读取8个数据,而数据模块2每次只能处理一条方位向数据,因此在第二数据处理模块中需要使用缓存将当前未使用到的其余7个数据缓存起来。

该状态下,DDR总线仲裁单元将数据从DDR第二存储区中读出并写入第三异步FIFO中读的排列方式如图5所示:

DDR总线仲裁单元产生的读地址变量起始值等于一帧回波数据量大小,即为67108964。每读出一个burst长度数据(图5中a1,1…a1.8)后,即512bits位宽数据,读地址变量加128(即从a1,1跳变至a2,1);

每读出32个burst长度数据(即a1,1…a1,8、a2,1…a2,8、…、a32,1…a32,8)后,DDR总线仲裁单元切换到第二种状态,将数据采集前端缓存到第一异步FIFO中的数据写入到DDR3中。此时第二数据处理模块输出的数据缓存在第三异步FIFO中,等待下一分时复用时间段进行读取。

上述读写DDR过程为一个循环,该循环重复进行。下一循环向对当前循环的地址跳变规律如下:

系统处于第三种状态时,数据地址保持连续;系统处于第四种状态时,每读出32个burst 长度数据(即a1,1…a1,8、a2,1…a2,8、…、a32,1…a32,8)后,读地址变量在原有基础上加128;每读出8192 个burst数据后(即a1,1…a1,8、a2,1…a2,8、…、a8192,1…a8192,8)后,读地址变量在原有基础上减1048440 (即跳变至a1,9);每读出131072个burst数据(即a1,1…a1,128、a2,1…a2,128、…、a8192,1…a8192,128)后,读地址变量在原有基础上加8(图5中a1,129)。

按照此规律,当第二数据处理模块首先将一帧数据全部从DDR3第二存储区中读出后, DDR总线仲裁单元在第三状态和第四状态之间切换的操作周期结束,进入到数据采集前端持续访问DDR的状态;当数据采集前端将一帧数据全部写入DDR第一存储区后,标志着整个时分复用周期结束。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:雷达装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类