一种基于fpga的红外预处理存储系统及存储方法

文档序号:6623501阅读:281来源:国知局
一种基于fpga的红外预处理存储系统及存储方法
【专利摘要】本发明提供了一种基于FPGA的红外预处理存储系统及存储方法,存储系统包括FPGA模块、用于存储输入信号和输出信号的SDRAM模块、用于接收来自信号源的输入信号并将输入信号传输给FPGA模块的信号输入模块、用于接收来自FPGA模块的输出信号并为后端的外围设备提供数据流的信号输出模块、USB模块、单片机模块、上位机模块;基于FPGA+MCU的架构,基于FPGA的红外预处理存储系统使用SDRAM作为缓存,FPGA负责图像信号的传输,而MCU负责指令的解析,FPGA和MCU分工明确,充分发挥了各自的有点,完全满足图像处理的实时性要求,并不需要高速的DDR系列存储器,大大降低系统的成本。
【专利说明】-种基于FPGA的红外预处理存储系统及存储方法

【技术领域】
[0001] 本发明属于图像处理领域,涉及中的一种基于FPGA的红外预处理存储系统及存 储方法。

【背景技术】
[0002] 在图像处理的整个过程中,图像的传输和预处理是图像处理的基础和前提,特别 是高速的图像预处理部分更是关键所在。随着近年来科学技术的高速发展,对图像的传输 和预处理的速度和图像品质提出了很高的要求,传统的图像预处理系统通常是DSP或者单 片机搭载外围存储设备的架构,但是这种架构已经无法满足现在的高速图像预处理的要 求。
[0003] 随着存储技术的发展,SDRAM因为其在容量方面、访问速度方面和价格方面的优 势,越来越被广泛应用于各种需要进行数据缓冲的设备当中,尤其是在高速图像采集和存 储系统中需要海量数据的暂时存储,即大的中间缓存,使SDRAM成为了主流的数据缓存器 件。目前,SDRAM存储器读写的模式一般都会采用突发读和突发写的操作模式,而且突发长 度有1、2、4、8和全页的方式,在突发长度较小的模式下(突发长度为1、2、4、8),SDRAM的利 用率很高,但是读写速度比较慢,而突发长度为全页方式,SDRAM读写速度快,但是其存储空 间的利用率较低。


【发明内容】

[0004] 本发明的目的在于克服现有技术缺陷,提供一种可以从SDRAM中读写任意突发长 度数据的基于FPGA的红外预处理存储系统及存储方法。
[0005] 为达到上述目的,本发明采用的技术方案是:
[0006] -种基于FPGA的红外预处理存储系统,包括FPGA模块、用于存储输入信号和输出 信号的SDRAM模块、用于接收来自信号源的输入信号并将输入信号传输给FPGA模块的信号 输入模块、用于接收来自FPGA模块的输出信号并为后端的外围设备提供数据流的信号输 出模块、USB模块、单片机模块、上位机模块;FPGA模块通过总线分别连接SDRAM模块、信号 输入模块、信号输出模块、USB模块和单片机模块,USB模块和单片机模块分别通过总线与 上位机模块相连;其中,所述FPGA模块,用于产生计数使能、SDRAM模块的地址寻址,实现输 入信号和输出信号的有序切换;所述USB模块,用于将上位机的控制信号发送给FPGA模块, 将FPGA模块的反馈信号发送给上位机;所述单片机模块,用于将上位机发送的指令传输给 FPGA模块。
[0007] 所述的FPGA模块包括输入缓冲单元、输出缓冲单元和SDRAM控制器,输入缓冲单 元和输出缓冲单元通过信号传输线与SDRAM控制器相连;其中,所述的输入缓冲单元用于 对输入信号进行缓冲,输出缓冲单元用于对输出信号进行缓冲;所述的SDRAM控制器有序 地将输入信号写入SDRAM模块和从SDRAM模块读出输出信号。
[0008] 所述的SDRAM模块包括偶数数量片数的外部SDRAM ;其中,所述的SDRAM模块中的 半数SDRAM通过总线与FPGA模块中的输入缓冲单元相连,另外半数的SDRAM通过总线与 FPGA模块中的输出缓冲单元相连。
[0009] 所述的信号输入模块为一个DVI接口和DVI编码芯片;所述的信号输出模块包括 一个DVI接口、一个VGA接口、一个LVDS接口和分别与各接口相应的解码芯片。
[0010] 一种基于FPGA的红外预处理存储方法,包括如下步骤:
[0011] (1).初始化SDRAM控制器,设置SDRAM模式寄存器,将操作模式设置为突发读突发 写模式,突发长度设置为全页模式;
[0012] (2). SDRAM控制器执行写操作
[0013] 2a) SDRAM控制器将要写入输入信号的存储空间的行进行激活;
[0014] 2b) SDRAM控制器将要写入输入信号的存储空间的列进行激活;
[0015] 2c) SDRAM控制器写入突发长度个数据;
[0016] 2d) SDRAM控制器产生一个中断信号,并记录当前的行列地址;
[0017] 2e) SDRAM控制器判断当前行剩余的存储空间是否能存储一个突发长度的数据,如 果可以,则继续写入一个突发长度的数据;如果不可以,则将突发长度个数据的一部分存储 到当前行剩余的存储空间中,SDRAM控制器激活下一行和下一行的第一列存储空间,将突发 长度个数据的剩余部分存储到下一行的存储空间中;
[0018] 2f) SDRAM控制器对SDRAM模块进行预充电,进行下一次写操作;
[0019] (3) · SDRAM控制器执行读操作
[0020] 3a) SDRAM控制器将要读出输出信号的存储空间的行进行激活;
[0021] 3b) SDRAM控制器将要读出输出信号的存储空间的列进行激活;
[0022] 3c) SDRAM控制器读出突发长度个数据;
[0023] 3d) SDRAM控制器产生一个中断信号,并记录当前的行列地址;
[0024] 3e) SDRAM控制器判断,判断当前行剩余的存储空间的数据是否有一个突发长度的 数据,如果有,则继续读出一个突发长度的数据;如果没有,则将当前行的剩余数据读出来, SDRAM控制器激活下一行和下一行的第一列存储空间,从下一行存储空间中读取突发长度 个数据的剩余部分;
[0025] 3f) SDRAM控制器对SDRAM模块进行预充电,进行下一次读操作。
[0026] 本发明与现有技术相比具有如下有点:
[0027] 1.基于目前红外探测器的分辨率和帧频普遍不高,所以采集到的红外图像的容量 不大,传输的带宽也不高,本发明基于FPGA+MCU的架构,基于FPGA的红外预处理存储系统 使用SDRAM作为缓存,FPGA负责图像信号的传输,而MCU负责指令的解析,FPGA和MCU分工 明确,充分发挥了各自的有点,完全满足图像处理的实时性要求,并不需要高速的DDR系列 存储器,大大降低系统的成本。
[0028] 2.本发明通过FPGA能够任意激活要读写的SDRAM的行和和列存储空间,可以从 SDRAM中读写任意突发长度的数据,从而在提高SDRAM读写速度的情况下避免了 SDRAM存储 空间的浪费,提高了缓存资源的利用率,该系统接口简单,操作方便,具有较高的使用价值。

【专利附图】

【附图说明】
[0029] 图1为本发明的系统结构框图;
[0030] 图2为本发明中SDRAM的控制状态图。

【具体实施方式】
[0031] 下面结合附图对本发明做进一步说明。
[0032] 如图1所示,基于FPGA的红外预处理存储系统,包括FPGA模块、SDRAM模块、信号 输入模块、信号输出模块、USB模块、单片机模块、上位机模块;FPGA模块通过总线分别连接 SDRAM模块、信号输入模块、信号输出模块、USB模块和单片机模块,USB模块和单片机模块 通过总线分别与上位机模块相连;其中,
[0033] 所述FPGA模块,用于产生计数使能、SDRAM模块的地址寻址,实现输入信号和输出 信号的有序切换;
[0034] 所述SDRAM模块,用于存储输入信号和输出信号;
[0035] 所述信号输入模块,用于接收来自信号源的输入信号,将输入信号传输给FPGA模 块;
[0036] 所述信号输出模块,用于接收来自FPGA模块的输出信号,为后端的外围设备提供 数据流;
[0037] 所述USB模块,用于将上位机的控制信号发送给FPGA模块,将FPGA模块的反馈信 号发送给上位机;
[0038] 所述单片机模块,用于将上位机的指令传输给FPGA模块;
[0039] 所述上位机模块,用于发送指令。
[0040] 根据权利要求1所述的基于FPGA的红外预处理存储系统,其特征在于,所述的 FPGA模块包括输入缓冲单元、输出缓冲单元和SDRAM控制器,输入缓冲单元和输出缓冲单 元通过信号传输线与SDRAM控制器相连;其中,
[0041] 所述的输入缓冲单元用于对输入信号进行缓冲,输出缓冲单元用于对输出信号进 行缓冲;所述的SDRAM控制器有序地将输入信号写入SDRAM模块和从SDRAM模块读出输出 信号。
[0042] 所述的SDRAM模块包括至少两片外部SDRAM,也可以是其他为偶数数量片数的 SDRAM ;其中,所述的SDRAM模块中的半数SDRAM通过总线与FPGA模块中的输入缓冲单元相 连,另外半数的SDRAM通过总线与FPGA模块中的输出缓冲单元相连。所述的信号输入模块 为一个DVI接口和DVI编码芯片。
[0043] 信号输出模块包括一个DVI接口、一个VGA接口、一个LVDS接口和其相应的解码 芯片。USB模块包括一个USB接口和一个USB2. 0芯片。
[0044] 如图2为SDRAM控制状态图,一种基于FPGA的红外预处理存储方法,包括如下步 骤:
[0045] (1).初始化SDRAM控制器,设置SDRAM模式寄存器,将操作模式设置为突发读突发 写模式,突发长度设置为全页模式;
[0046] (2). SDRAM控制器执行写操作
[0047] 2a) SDRAM控制器将要写入输入信号的存储空间的行进行激活;
[0048] 2b) SDRAM控制器将要写入输入信号的存储空间的列进行激活;
[0049] 2c) SDRAM控制器写入突发长度个数据;
[0050] 2d) SDRAM控制器产生一个中断信号,并记录当前的行列地址;
[0051] 2e) SDRAM控制器判断当前行剩余的存储空间是否能存储一个突发长度的数据,如 果可以,则继续写入一个突发长度的数据;如果不可以,则将突发长度个数据的一部分存储 到当前行剩余的存储空间中,SDRAM控制器激活下一行和下一行的第一列存储空间,将突发 长度个数据的剩余部分存储到下一行的存储空间中;
[0052] 2f) SDRAM控制器对SDRAM模块进行预充电,进行下一次写操作。
[0053] (3). SDRAM控制器执行读操作
[0054] 3a) SDRAM控制器将要读出输出信号的存储空间的行进行激活;
[0055] 3b) SDRAM控制器将要读出输出信号的存储空间的列进行激活;
[0056] 3c) SDRAM控制器读出突发长度个数据;
[0057] 3d) SDRAM控制器产生一个中断信号,并记录当前的行列地址;
[0058] 3e) SDRAM控制器判断,判断当前行剩余的存储空间的数据是否有一个突发长度的 数据,如果有,则继续读出一个突发长度的数据;如果没有,则将当前行的剩余数据读出来, SDRAM控制器激活下一行和下一行的第一列存储空间,从下一行存储空间中读取突发长度 个数据的剩余部分;
[0059] 3f) SDRAM控制器对SDRAM模块进行预充电,进行下一次读操作。
【权利要求】
1. 一种基于FPGA的红外预处理存储系统,其特征在于:包括FPGA模块、用于存储输入 信号和输出信号的SDRAM模块、用于接收来自信号源的输入信号并将输入信号传输给FPGA 模块的信号输入模块、用于接收来自FPGA模块的输出信号并为后端的外围设备提供数据 流的信号输出模块、USB模块、单片机模块、上位机模块;FPGA模块通过总线分别连接SDRAM 模块、信号输入模块、信号输出模块、USB模块和单片机模块,USB模块和单片机模块分别通 过总线与上位机模块相连;其中, 所述FPGA模块,用于产生计数使能、SDRAM模块的地址寻址,实现输入信号和输出信号 的有序切换; 所述USB模块,用于将上位机的控制信号发送给FPGA模块,将FPGA模块的反馈信号发 送给上位机; 所述单片机模块,用于将上位机发送的指令传输给FPGA模块。
2. 根据权利要求1所述的基于FPGA的红外预处理存储系统,其特征在于:所述的FPGA 模块包括输入缓冲单元、输出缓冲单元和SDRAM控制器,输入缓冲单元和输出缓冲单元通 过信号传输线与SDRAM控制器相连;其中, 所述的输入缓冲单元用于对输入信号进行缓冲,输出缓冲单元用于对输出信号进行缓 冲; 所述的SDRAM控制器有序地将输入信号写入SDRAM模块和从SDRAM模块读出输出信 号。
3. 根据权利要求2所述的基于FPGA的红外预处理存储系统,其特征在于:所述的 SDRAM模块包括偶数数量片数的外部SDRAM ;其中, 所述的SDRAM模块中的半数SDRAM通过总线与FPGA模块中的输入缓冲单元相连,另外 半数的SDRAM通过总线与FPGA模块中的输出缓冲单元相连。
4. 根据权利要求1,2或3所述的基于FPGA的红外预处理存储系统,其特征在于:所述 的信号输入模块为一个DVI接口和DVI编码芯片;所述的信号输出模块包括一个DVI接口、 一个VGA接口、一个LVDS接口和分别与各接口相应的解码芯片。
5. -种基于FPGA的红外预处理存储方法,其特征在于包括如下步骤: (1) .初始化SDRAM控制器,设置SDRAM模式寄存器,将操作模式设置为突发读突发写模 式,突发长度设置为全页模式; (2) . SDRAM控制器执行写操作 2a) SDRAM控制器将要写入输入信号的存储空间的行进行激活; 2b) SDRAM控制器将要写入输入信号的存储空间的列进行激活; 2c) SDRAM控制器写入突发长度个数据; 2d) SDRAM控制器产生一个中断信号,并记录当前的行列地址; 2e) SDRAM控制器判断当前行剩余的存储空间是否能存储一个突发长度的数据,如果可 以,则继续写入一个突发长度的数据;如果不可以,则将突发长度个数据的一部分存储到当 前行剩余的存储空间中,SDRAM控制器激活下一行和下一行的第一列存储空间,将突发长度 个数据的剩余部分存储到下一行的存储空间中; 2f) SDRAM控制器对SDRAM模块进行预充电,进行下一次写操作; (3) . SDRAM控制器执行读操作 3a) SDRAM控制器将要读出输出信号的存储空间的行进行激活; 3b) SDRAM控制器将要读出输出信号的存储空间的列进行激活; 3c) SDRAM控制器读出突发长度个数据; 3d) SDRAM控制器产生一个中断信号,并记录当前的行列地址; 3e) SDRAM控制器判断,判断当前行剩余的存储空间的数据是否有一个突发长度的数 据,如果有,则继续读出一个突发长度的数据;如果没有,则将当前行的剩余数据读出来, SDRAM控制器激活下一行和下一行的第一列存储空间,从下一行存储空间中读取突发长度 个数据的剩余部分; 3f) SDRAM控制器对SDRAM模块进行预充电,进行下一次读操作。
【文档编号】G06T1/00GK104156907SQ201410400589
【公开日】2014年11月19日 申请日期:2014年8月14日 优先权日:2014年8月14日
【发明者】何国经, 余坦秀, 王骥坤, 栗旭光, 谢世雄, 罗盘政 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1