一种用于SAR成像系统的CRC32校验方法与流程

文档序号:11064639阅读:519来源:国知局
一种用于SAR成像系统的CRC32校验方法与制造工艺

本发明属于数字信号处理领域,具体涉及一种CRC32校验方法,尤其涉及一种应用于SAR成像雷达中的CRC32校验方法。



背景技术:

数据传输系统要求数据能够准确无误地传递。常用的方法之一就是在发送端的数据后面加上循环冗余校验(CRC)码以构成帧校验序列(Fr ame Check Sequence,FCS),在接收端通过数据的CRC校验码来判断数据的有效性。

然而,随着数据传输速率的提高,CRC校验码的生成时延成为制约数据高速传输的一个瓶颈。高效、快速的CRC算法实时实现已成为高速数据传输亟待解决的问题。



技术实现要素:

针对上述问题,本发明提供一种用于SAR成像系统的CRC32校验方法,结合SAR成像系统现有硬件架构以及数据处理流程,利用主控单元数据中转高性能FPGA与控制模块DSP配合完成CRC32校验实时实现,使得CRC32校验在系统中实现流水处理。通过利用DSP内外部存储资源丰富以及SRIO总线传输速度高等特点,用于缓存大数据量SAR图像数据,利用FPGA全并行流水运行特点,结合系统数据流处理要求,合理设计流水线和处理速率,优化处理架构,大大减少了系统内部缓存的使用,同时,相对于DSP等串行器件实现该校验方法,大大提升了运行速率和效率,该方法的实现方法和设计思路可广泛应用于各种数据处理系统中。

一种用于SAR成像系统的CRC32校验方法,所述方法包括:

步骤1、数据中转模块FPGA接收处理单元传输过来的SAR图像数据,通过SRIO总线发送至控制模块DSP,并缓存至存储器DDR3中;

步骤2、控制模块DSP从存储器DDR3中读取缓存的SAR图像数据,然后将所述SAR图像数据按预定的数据帧格式打包,并将打包好的SAR图像数据以数据包的形式逐个发送给数据中转模块FPGA;

步骤3、数据中转模块FPGA检测到控制模块DSP发送的数据包后,按预定的数据发送速率向图传系统发送SAR图像数据包,用所述预定的数据发送速率3倍的速率进行CRC32校验值的计算,同时将计算得到的CRC32校验值和SAR图像数据包一起发送给图传系统;

步骤4、数据中转模块FPGA按三次重传机制向图传系统发送SAR图像数据包和CRC32校验值;所述图传系统在接收SAR图像数据包的同时,使用接收到的CRC32校验值进行CRC32校验。

进一步地,所述步骤2中,控制模块DSP按数据帧格式将SAR图像数据打包,并将打包好的SAR图像数据以数据包的形式逐个发送给数据中转模块FPGA具体如下:

控制模块DSP从缓存DDR3中读取出SAR图像数据,并按预定的数据帧格式将SAR图像数据打包,通过SRIO总线将打好包的数据按数据包的形式逐包发送给数据中转模块FPGA。

进一步地,所述步骤2还包括:数据中转模块FPGA用内部FIFO缓存所述图像数据包。

进一步地,所述步骤2还包括:数据中转模块FPGA通过外部中断的方式通知控制模块DSP是否已完成当前图像数据包的接收,以及控制模块DSP是否可以再发送数据包。

进一步地,所述步骤3还包括:数据中转模块FPGA检测到缓存FIFO为非空时,则开始读取图像数据进行CRC32校验值的计算。

进一步地,CRC32校验值的计算的具体如下:

步骤3.1、首先对CRC32校验值赋予初值0xFFFFFFFF;令i=1;

步骤3.2、读取出1个8bit图像数据与CRC32校验值按位异或得到值Ai,取出Ai的低8位作为CRC32查询表的地址,将该地址输入CRC32查询表进行查询得到值Bi;将此时的CRC32校验值右移8位,与值Bi按位异或运算得值Ci;

步骤3.3、判断此时读取出的1个8bit图像数据是否为图像数据包里面的最后一个数据;

若不是,则将值Ci的值作为CRC32校验值,令inew=i+1,i=inew;返回步骤3.2;

若是,则将值Ci的值与0xFFFFFFFF进行异或运算后得到的值作为该数据包的CRC32校验值。

进一步地,在步骤4中,数据中转模块FPGA按三次重传机制向图传系统发送图像数据和CRC32校验结果的过程步骤具体如下:

数据中转模块FPGA向图传系统发送图像数据包的同时也进行CRC32校验值的计算;数据中转模块FPGA将计算得到的CRC32校验值按预定的图像帧格式放在图像帧最后,并发送给图传系统,图传系统接收图像数据包的同时,也进行CRC32校验。

进一步地,在步骤4还包括:若校验结果与接收的校验值一致,则此图像数据包无误;若不一致,则通知数据中转模块FPGA,重传该图像数据包;若同一图像数据包重传三次,则此图像数据包传输失败,数据中转模块FPGA将此传输失败标识数据上报给中控系统。

有益效果:

本发明的技术方案通过查找表来实现任意帧数据CRC32校验实时运算,用FPGA全并行流水运行和逻辑运算能力强的特点,合理设计流水处理,优化处理架构,相对于DSP等串行执行器件,大大提升了运行速率和效率,并设计了一种三次重传机制,确保SAR图像数据传输稳定可靠,可广泛应用于各种数据处理系统中。

附图说明

图1为SAR成像系统中CRC32校验的系统框图;

图2为利用FPGA实现CRC32校验的流程图。

具体实施方式

本发明以查找表为基础,结合现有SAR成像系统硬件资源,利用DSP和FPGA配合完成一种实时的任意帧数据格式CRC32校验。该方法利用DSP外部存储资源丰富,与FPGA的SRIO总线传输速率较高等优点,用DSP缓存图像数据,并完成分包功能,利用FPGA全并行流水运行特点,合理设计流水处理,优化处理架构,相对于DSP等串行执行器件,大大提升了运行速率和效率,本发明可广泛应用于各种数据处理系统中。

本发明具体实施方式中的方法包括:步骤1:控单元数据中转模块FPGA接收到处理单元传输过来的SAR图像数据,通过SRIO发送至主控单元控制模块DSP,并缓存至DDR3中;步骤2:主控单元控制模块DSP按数据帧格式将SAR图像数据打包,并按包发送给数据中转模块FPGA,然后等待数据中转模块FPGA发送完成中断,便于发送第二包图像帧数据;步骤3:主控单元数据中转模块FPGA检测到控制模块DSP发送的图像数据后,按数据发送速率发送SAR图像数据,同时,用高于数据发送速度4倍的时钟进行CRC32校验;步骤4:主控单元数据中转模块FPGA按三次重传机制向图传系统发送图像数据和CRC32校验结果。

下面就结合图1到图2对上述方法中的各步骤进行具体介绍。

以下将参照图1-2对本发明的具体技术方案进行说明。

本发明提出了一种用于SAR成像系统的CRC32校验方法。

根据本发明提出的一种用于SAR成像系统的CRC32校验方法,实现框图如图1所示,其流程如图2所示,其具体步骤如下:

步骤1:数据中转模块FPGA接收处理单元传输过来的SAR图像数据,通过SRIO总线发送至控制模块DSP,并缓存至存储器DDR3中。

具体描述如下:

处理单元完成SAR成像处理后,将SAR图像数据通过GTX总线发送给主控单元数据中转模块FPGA(V6),数据中转模块FPGA(V6)将图像数据通过SRIO总线传输给控制模块DSP,并缓存至DDR3中。

步骤2:控制模块DSP从存储器DDR3中读取缓存的SAR图像数据,然后将所述SAR图像数据按预定的数据帧格式打包,并将打包好的SAR图像数据以数据包的形式逐个发送给数据中转模块FPGA。

具体描述如下:

主控单元控制模块DSP从DDR3中取出SAR图像数据,并按预定的数据帧格式(其中,所述预定的数据帧格式可以是本领域惯用的任何一种帧格式)将SAR图像数据打包,通过SRIO总线将打好包的数据按数据包的形式逐包发送给数据中转模块FPGA(V6)。数据中转模块FPGA用内部FIFO缓存所述图像数据包,便于进行CRC32校验和发送数据;数据中转模块FPGA(V6)通过外部中断的方式通知控制模块DSP是否已完成当前图像数据包的接收,以及控制模块DSP是否可以再发送数据包。

步骤3:数据中转模块FPGA检测到控制模块DSP发送的数据包后,按预定的数据发送速率向图传系统发送SAR图像数据包,用所述预定的数据发送速率3倍的速率进行CRC32校验值的计算,同时将计算得到的CRC32校验值和SAR图像数据包一起发送给图传系统。

其中,预定的数据发送速率范围为10MHZ-40MHZ。

具体描述如下:

数据中转模块FPGA(V6)检测到缓存FIFO为非空时,则开始读取图像数据包进行CRC32校验值的计算。

CRC32校验的具体流程如图2所示:

步骤3.1、首先对CRC32校验值赋予初值0xFFFFFFFF;令i=1;

步骤3.2、读取出1个8bit图像数据与CRC32校验值按位异或得到值Ai,取出Ai的低8位作为CRC32查询表的地址,将该地址输入CRC32查询表进行查询得到值Bi;将此时的CRC32校验值右移8位,与值Bi按位异或运算得值Ci;

步骤3.3、判断此时读取出的1个8bit图像数据是否为图像数据包里面的最后一个数据;

若不是,则将值Ci的值作为CRC32校验值,令inew=i+1,i=inew;返回步骤3.2;

若是,则将值Ci的值与0xFFFFFFFF进行异或运算后得到的值作为该数据包的CRC32校验值。

主控单元向图像数据系统发送图像数据包的同时也进行CRC32校验值的计算,且CRC32的计算速度与图像发送速度匹配,FPGA将CRC32校验值按图像帧格式要求放在图像帧最后并发送给图传系统。数据发送和CRC32计算为流水处理,可节省大量时间,保证处理的实时性。由于计算一次单个图像数据的CRC32校验值需要3个时钟周期,因此,为保证图像发送速率和CRC32校验值的计算速率相匹配,保证整个数据流水处理,减少FPGA缓存,CRC32校验值的计算速率为数据发送速率的3倍。

步骤4、数据中转模块FPGA按三次重传机制向图传系统发送SAR图像数据包和CRC32校验值;所述图传系统在接收SAR图像数据包的同时,使用接收到的CRC32校验值进行CRC32校验。

具体描述如下:

主控单元通过LVDS接口以30MByte/s的速率向图传系统发送数据包。数据中转模块FPGA将计算得到的CRC32校验值按预定的图像帧格式放在图像帧最后,并发送给图传系统,图传系统接收图像数据包的同时,也进行CRC32校验。若校验结果与接收的校验值一致,则此图像数据包无误;若不一致,则通知数据中转模块FPGA,重传该图像数据包;若同一图像数据包重传三次,则此图像数据包传输失败,数据中转模块FPGA将此传输失败标识数据上报给中控系统。

本发明涉及一种用FPGA实现CRC32校验方法,有别于常规地CRC32校验方法,该方法结合SAR成像系统现有硬件架构,充分利用FPGA和DSP的处理特点,以查找表为基础,实现了任意帧数据CRC32校验,利用DSP内外部存储资源丰富以及SRIO总线传输速度高等特点,用于缓存大数据量SAR图像数据,利用FPGA全并行流水运行特点,合理设计流水线,优化处理架构,相对于DSP等串行器件实现该校验方法,大大提升了运行速率和效率,可广泛应用于各种数据处理系统中。

上述具体实施方式仅用于解释和说明本发明的技术方案,但并不能构成对权利要求的保护范围的限定。本领域技术人员应当清楚,在本发明的技术方案的基础上做任何简单的变形或替换而得到的新的技术方案,均将落入本发明的保护范围之内。

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