一种基于FPGA的单SRAM实现乒乓算法的方法及实时红外图像处理方法技术

技术编号:11872911 阅读:129 留言:0更新日期:2015-08-12 23:54
本发明专利技术公开了一种基于FPGA的单SRAM实现乒乓算法的方法以及实时红外图像处理方法,包括FPGA一片、SRAM一片;FPGA内部实例化两个处理模块:第一模块、第二模块,各模块具有独立的标志位标示是否正占用SRAM总线;SRAM地址空间等分为连续的两个地址块:第一地址块、第二地址块;算法周期由若干分时片段组成,各模块在单个分时片段内交替完成对SRAM的读写操作;当第一模块处理第二地址块的数据时,第二模块处理第二地址块的数据;在数据处理结束后交换地址块进入下一个处理周期,如此循环实现单SRAM乒乓算法。本发明专利技术采用单个SRAM实现乒乓算法,减少了存储器的个数,降低了开发成本,提高了开发效率。

【技术实现步骤摘要】

本专利技术涉及红外成像的实时矫正领域,尤其是涉及需要大面积缓存数据的实时图像处理领域。
技术介绍
.基于FPGA的实时图像处理方案,在红外图像采集过程中具有重要作用,弥补了红外探测器性能不佳的现状,增强了红外图像的可视度。.常用的图像处理算法一一例如直方图拉伸、DDE增强等,均是建立在整幅图像信息的基础上,在具体实现过程中,通常先将整幅图像数据缓存到外部存储空间,再对缓存数据进行处理、输出。.为了保持图像处理过程的连续性,防止图像处理任务对数据接收造成阻塞,常采用两片存储芯片交替工作的乒乓算法实现对图像处理过程中的数据流控制。该方案中,两片存储芯片不仅增加了生产成本,而且占用了有限的I/O 口,增大了电路设计的难度。
技术实现思路
本专利技术的目的是克服现有乒乓算法的不足,提出一种更好的适用于实时图像处理的基于FPGA的单SRAM实现乒乓算法的方法及实时红外图像处理方法。本专利技术为实现上述目的,采用如下技术方案: 一种基于FPGA的单SRAM实现乒乓算法的方法,其特征在于,包括: 步骤A:在FPGA中实例化两个处理模块:第一模块、第二模块; 步骤B:将SRAM的地址空间等分为两个连续的地址块:第一地址块、第二地址块; 步骤C:确定时间片大小; 步骤D:第一模块、第二模块在同一个时间片内分别先后完成对SRAM第一地址块或第二地址块的读/写操作; 步骤E:经过一定数量的时间片后,当前处理状态结束,第一模块、第二模块交换SRAM地址块,进入下一处理状态。其进一步特征在于:所述第一模块、第二模块均具有各自的标志位。进一步的:所述第一模块、第二模块通过FPGA的I/O 口直接和同一 SRAM相连。所述第一模块、第二模块的标志位标示自身是否正占用SRAM总线,当其中一模块占用SRAM总线时,另一模块处于等待状态。所述时间片大小不小于第一模块、第二模块均完成一次数据处理所需的时间。进一步的:不同时间片上第一模块、第二模块对SRAM的读/写操作具有周期对称关系O所述步骤E中一定数量的时间片,指第一模块、第二模块均处理完成相应地址块中的数据所需的时间,最小值由SRAM中待处理数据量的大小除以每个时间片所处理的数据量决定;所述下一处理状态和当前处理状态具有周期对称关系。一种采用上述方法的实时红外图像处理方法,其特征在于,包括下述步骤: 步骤1:一块红外阵列,以单个像素点为单位,周期性的输出采集到的红外图像; 步骤2:FPGA中实例化得第一模块,所述第一模块在接收步骤I的输出数据的同时,完成包括图像的盲元补偿、两点矫正的数据预处理工作,并将处理后的图像数据缓存到SRAM的第一地址块或第二地址块中;在处理数据的同时,所述第一模块统计图像的直方图,并在一幅图像接收完成后将直方图数据写入SRAM的同一地址块,处理结束,交换第一地址块和第二地址块对应关系,转到下一状态; 步骤3:FPGA中实例化得第二模块,所述第二模块在开始时,从SRAM相应的地址块中读取步骤2写入的图像直方图数据,并根据该数据,完成对存储在相应地址块中数据的图像处理工作; 步骤4:将步骤3中处理完成的数据以图像形式显示在监视器上。优选的:上述步骤2、3工作时间为步骤I的像素输出周期。本专利技术提出了一种基于FPGA的单SRAM实现乒乓算法的方法,以及采用该方法的实时红外图像处理方法。该方法仅需一片SRAM芯片即可满足图像处理对数据缓存的要求,实现乒乓算法的功能,在降低成本、节约资源及提高工程效率方面具有明显效果。【附图说明】图1是本专利技术的硬件结构图。图2是本专利技术的算法流程图。图3是本专利技术的实时红外图像处理方法示意图。【具体实施方式】下面将参考附图详细说明本专利技术的实施例。图1是本专利技术一种基于FPGA的单SRAM实现乒乓算法的电路图。如图1所示,该电路包括:一片FPGA 1、一片SRAM 2,并且FPGA I及SRAM 2通过I/O 口 3相连。图1中FPGAI中实例化的两个模块:第一模块4、第二模块5,两模块的作用是协调模块间对于I/o 口 3的操作,防止不同模块同时对I/O 口 3操作时产生冒险,可根据不同的使用情况,填充额外的处理函数。当标志位6置位时,第一模块4获得I/O 口 3的使用权,当标志位7置位时,第二模块5获得I/O 口 3的使用权,运行开始时标志位6、7均置零,从而保证在两模块交替占用I/O 口 3的过程中,不会出现同时访问I/O 口的危险情况发生。标志位和时间片没有必然的联系,但是在一个时间片周期内,两个标志位至少各置位一次,以保证模块的并发运行。标志位由相应模块控制,因此在模块不使用SRAM时应主动将标志位置零,让出SRAM的使用权,此时模块依然可以继续运行,当模块需要占用SRAM时需先查询另一模块标志位是否置位,仅当另一模块标志位置零时,可以重新获得SRAM使用权,并且需要立即将自身标志位置位。图1中SRAM中具有两个连续的第一地址块8和第二地址块9,根据所需空间大小,可适当调整该地址块的大小,实施例中采用等分SRAM地址空间的方法。将SRAM划分不同的地址块主要是模拟两块SRAM的功能,在大量数据处理的过程中起到数据缓存的作用,使功能模块化。图2是本专利技术一种基于FPGA的单SRAM实现乒乓算法的电路的工作流程图。如图2所示,主要包括:10状态1、11标志位1、14状态2、当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于FPGA的单SRAM实现乒乓算法的方法,其特征在于,包括:步骤A:在FPGA中实例化两个处理模块:第一模块、第二模块;步骤B:将SRAM的地址空间等分为两个连续的地址块:第一地址块、第二地址块;步骤C:确定时间片大小;步骤D:第一模块、第二模块在同一个时间片内分别先后完成对SRAM第一地址块或第二地址块的读/写操作;步骤E:经过一定数量的时间片后,当前处理状态结束,第一模块、第二模块交换SRAM地址块,进入下一处理状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘燕韦良忠连云川
申请(专利权)人:无锡艾立德智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1