CN110569204A - 基于fpga和ddr3 sdram的可配置图像数据缓存系统 - Google Patents

基于fpga和ddr3 sdram的可配置图像数据缓存系统 Download PDF

Info

Publication number
CN110569204A
CN110569204A CN201910666661.0A CN201910666661A CN110569204A CN 110569204 A CN110569204 A CN 110569204A CN 201910666661 A CN201910666661 A CN 201910666661A CN 110569204 A CN110569204 A CN 110569204A
Authority
CN
China
Prior art keywords
data
module
cache
control module
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910666661.0A
Other languages
English (en)
Other versions
CN110569204B (zh
Inventor
黄宏敏
熊晓明
胡恩
张明森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201910666661.0A priority Critical patent/CN110569204B/zh
Publication of CN110569204A publication Critical patent/CN110569204A/zh
Application granted granted Critical
Publication of CN110569204B publication Critical patent/CN110569204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1012Design facilitation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/464Multimedia object, e.g. image, video

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Input (AREA)

Abstract

本发明公开了一种基于FPGA和DDR3SDRAM的可配置图像数据缓存系统,包括外部存储模块、存储控制模块、第一缓存模块、第二缓存模块以及缓存控制模块,视频图像数据和时钟信号从缓存控制模块写入到第一缓存模块进行第一级缓存;存储控制模块再控制从第一缓存模块读取数据储存到外部存储模块;然后存储控制模块控制从外部存储模块读出储存的数据,写入到第二缓存模块进行第二级缓存;接着,缓存控制模块控制从第二缓存模块读取出数据到缓存控制模块,缓存控制模块将图像数据进行调整并产生对应的读有效信号,将这些配置数据输出给外界。本发明可以缓存更大的数据传输,达到数据传输的实时性、稳定性的效果;封装后的系统只有少许的端口,配置更加便捷。

Description

基于FPGA和DDR3 SDRAM的可配置图像数据缓存系统
技术领域
本发明涉及数据存储和图像传输技术领域,具体涉及一种基于FPGA和DDR3 SDRAM的可配置图像数据缓存系统。
背景技术
目前,视频图像技术的发展越来越快,图像的分辨率也随之越来越高,高帧频图像的使用也越来越频繁,为了达到实时的效果,我们需要对采集的数据进行缓存,而且它们需要的缓存容量也越来越大。所以对对高分辨率、高帧频图像数据进行高速、大容量、实时处理的要求越来越高。特别是在数据缓存的技术上,在占用宝贵的内存情况下,数据缓存提供了可以快速访问数据,加快了响应速度。但是缓存太小会导致额外的没有益处的开销,缓存过大可能会导致数据的溢出。所以,选择合适的缓存数据大小也是很重要的。
对高速、实时视频数据采集与缓存的需求,现在已经出现了各种各样的DDR(Double Data Rate,即双倍速率)缓存方案,双倍速率存取即为数据在工作时钟的上升沿和下降沿都会进行采样,有效地提升了存储速率。DDR3 SDRAM(Synchronous DynamicRandom Access Memory,下面简称DDR3)成为当前最常用的高效的方案,较DDR和DDR2在容量、速率和兼容性方面有很大提高,而且DDR3具有高带宽、高可靠性、低功耗和低成本的特点。由于DDR3引脚过多,使用起来过于繁琐,而且DDR不能直接像FIFO(First Input FirstOutput)那样对外界设置的读写操作来完成对采集的数据的缓存,需要自己设置读写操作控制模块控制DDR的数据缓存,这样将大大增加开发的时间和成本。已有的方案由于数据传输速率慢、操作复杂、开发周期长及可移植性差等等缺点,满足不了高分辨率、高帧频的视频实时的需求。而且,已有的方案只能针对一类的数据进行缓存,可配置性差。
发明内容
本发明的目的是提供基于一种FPGA和DDR3 SDRAM的可配置图像数据缓存系统,以克服现有技术中存在的数据传输速率慢、操作复杂、开发周期长、可配置性差等缺陷。
为了实现上述任务,本发明采用以下技术方案:
基于FPGA和DDR3 SDRAM的可配置图像数据缓存系统,包括外部存储模块、存储控制模块、第一缓存模块、第二缓存模块以及缓存控制模块,其中:
所述的外部存储模块用于存储图像数据;
所述的存储控制模块用于接收外界发送来的图像数据、时钟信号、写使能信号,并利用第一缓存模块、外部存储模块、第二缓存模块进行数据的缓存;
所述的第一缓存模块用于对图像数据进行一级缓存;
所述的第二缓存模块用于对图像数据进行二级缓存;
所述的缓存控制模块用于从第二缓存模块中读取二级缓存的数据并经调整后输出给外界;
所述的系统的工作过程包括:
存储控制模块从外界接收图像数据、时钟信号和写使能信号并将这些数据进行调整后写入到第一缓存模块;第一缓存模块对写入存储控制模块的数据进行一级缓存;在外部存储模块准备好之后,存储控制模块从第一缓存模块中读取数据并存储到外部存储模块中;
外界需要读取图像数据时,存储控制模块首先从外部存储模块读取存储的数据,并将数据写入到第二缓存模块中进行二级缓存;当缓存控制模块接收到外界的读使能信号和时钟信号时,缓存控制模块从第二缓存模块中读取数据,并将数据中的图像数据进行调整并产生与其对应的读有效信号,将调整后的图像数据和读有效信号输出给外界。
进一步地,所述的存储控制模块从外界接收图像数据、时钟信号和写使能信号并将这些数据进行调整,包括:
根据第一缓存模块的写入数据位宽,对连续的图像数据进行拼接,使拼接后的图像数据的位宽与第一缓存模块的写入数据位宽相同;与此同时,对时钟信号进行同样数据位宽的调整;其中,写使能信号控制着存储控制模块对数据处理的开始。
进一步地,所述的当缓存控制模块接收到外界的读使能信号和时钟信号时,缓存控制模块从第二缓存模块中读取数据,包括:
外界输入读使能信号和时钟信号给缓存控制模块,缓存控制模块编写读取第二缓存模块中数据的使能命令以及时钟信号,控制从第二缓存模块中读取数据到缓存控制模块中;
对从第二缓存模块中读取的数据进行拆分调整为所需的位宽,在输出调整后的图像数据的同时产生与其对应的读有效信号。
进一步地,所述的外部存储模块采用DDR3 SDRAM,第一缓存模块、第二缓存模块均采用异步FIFO。
本发明具有以下技术特点:
1.本方案综合了DDR3和FIFO的优点,1GB的DDR3缓存容量,加上1600MT/s传输速度,可以缓存更大的数据传输,达到数据传输的实时性、稳定性的效果;加入FIFO可以通过识别外界设置的读写使能来完成对数据的缓存。
2.由于DDR3引脚过多,使用起来过于繁琐,所以本方案将其与FIFO模块、FIFO控制模块等封装起来,避免需要去研究使用DDR3众多的引脚;封装后的系统只有少许的端口,配置更加便捷,且是可配置的,使得适合的场合更多,可以配置想要的缓存数据大小。
附图说明
图1为本发明系统的结构框图;
图2为DDR3控制器结构图;
图3为异步FIFO的结构图;
图4为FPGA设计流程图;
图5为本发明系统封装后端口的示意图。
具体实施方式
如图1所示,本发明公开了基于FPGA和DDR3 SDRAM的可配置图像数据缓存系统,该系统建立在FPGA平台上,包括外部存储模块、存储控制模块、第一缓存模块、第二缓存模块以及缓存控制模块,其中:
外部存储模块用于存储图像数据。
本实施例中,外部存储模块采用DDR3 SDRAM,DDR3具有高带宽、高可靠性、低功耗和低成本的特点,其由8颗128MB颗粒组成,内存为1GB。每颗存储颗粒的数据位宽是8bit,8颗放在一起组成了数据位宽是64bit的存储条,再加上设置其突发长度为8,所以每次读写的数据位宽可以达到512bit,很大程度上提高了DDR3的读写效率。DDR3可在800MHz的接口频率工作,传输速度可达1 600MT/s。本专利使用DDR3作为外部存储模块,相比RAM(RandomAccess Memory)、FIIFO等模块的缓存,缓存容量得到了很大的提升。如图2所示,由于DDR3的引脚过多,如果每个方案都要去研究它的引脚,将会耗费大量时间和精力,所以减少这些时间和精力也是本方案的另一个目的。外部存储模块的数据的读写都是由存储控制模块控制完成,外部存储模块缓存经过存储控制模块写入的数据,同时存储控制模块又控制读出缓存的数据。
所述的存储控制模块用于接收外界发送来的图像数据、时钟信号、写使能信号,并利用第一缓存模块、外部存储模块、第二缓存模块进行数据的缓存。
存储控制模块作为连接片上数据到外部存储模块的桥梁,产生读写外部存储模块的命令与储存数据的地址。存储控制模块(DDR3控制器)利用Xilinx官方的MIG IP核(Memory Interface Generator),内部端口结构图如图2所示。只需要根据MIG核用户接口协议编写用户逻辑,根据自己的需求产生读写命令、地址、数据信息。外部存储模块的读写命令是由存储控制模块控制产生,存储控制模块编写状态机完成所有的功能。当外部存储模块初始化成功后,存储控制模块的状态机会编写DDR3读写数据控制命令。当外部存储模块写入数据时,存储控制模块控制从第一缓存模块读出端读出数据写入到外部存储模块进行缓存;当外部存储模块读出数据时,存储控制模块读出外部存储模块中缓存的数据,然后传输到第二缓存模块。
所述的第一缓存模块用于对图像数据进行一级缓存。
第一缓存模块WR_FIFO采用Xilinx FPGA的异步FIFO(如图3所示)标准IP来实现。由于第一缓存模块的引脚过多,而本方案不需要太多的引脚,只需要其中的一部分,因此对其进行选择设置。由于本方案采用的DDR3读写数据的位宽为512bit,所以本方案采用了异步FIFO作为第一缓存模块来转换连接数据。如果WR_FIFO需要读出512bit数据传输到外部存储模块,那么必须写入大于或等于64bit的数据,所以写入WR_FIFO的数据设置为64bit,读数据位宽设置为512bit,数据深度设置为512。WR_FIFO模块会从缓存控制模块得到64bit写入数据和时钟控制信号,经过WR_FIFO短暂缓存后,当外部存储模块准备好(初始化完成)后,存储控制模块控制从WR_FIFO读出端读出512bit的数据写入到外部存储模块进行缓存。WR_FIFO的复位信号和外部存储模块用户时钟相同,即高电平复位,低电平工作,它的写时钟由存储控制模块控制,读时钟和外部存储模块的用户时钟相同;它的读使能由存储控制模块控制,第一缓存模块内部剩余储存容量由其内置计数器提供。
所述的第二缓存模块用于对图像数据进行二级缓存。
第二缓存模块RD_FIFO的工作原理与第一缓存模块类似,均采用异步FIFO;因为本实施例中外部存储模块读出数据位宽为512bit,所以RD_FIFO的写数据位宽也设置为对应的512bit。RD_FIFO写入512bit数据时,读出数据的位宽大于或等于64bit,所以RD_FIFO的读出数据位宽设置为64bit,而数据深度设置为512。RD_FIFO写时钟和外部存储模块的用户时钟相同,同理它的写使能也由存储控制模块控制,读时钟由缓存控制模块控制,当存储控制模块状态机跳转到读时,将RD_FIFO的写使能拉高。RD_FIFO会缓存数据写入的512bit,然后缓存控制模块控制从RD_FIFO读出64bit的数据,然后根据外部的需要,设置不同的数据位宽参数,将64bit的数据转化为所需要的位宽数据,读出到外部处理。同时,读出数据对应的时钟信号也会做出对应的调整以适应读出数据。
所述的缓存控制模块用于从第二缓存模块中读取二级缓存的数据并经调整后输出给外界。
缓存控制模块作为数据的写入与读出模块,它接收外界的数据写入,再将写入的数据进行调整,它通过编写状态机完成需要的功能。当缓存控制模块接收图像数据的写入,就会将图像数据转化为64bit的数据,例如写入的图像像素数据为16bit或24bit的数据等等,在缓存控制模块就将几个连续的数据通过转化和拼接的方式组成64bit的数据。同时由于多个数据拼接后,为了避免数据传输的混乱,它们的时钟信号也要随着做出相应变化,我们在缓存控制模块调整时钟信号对应重组的64bit数据。最后将重组后的图像数据和及其对应的时钟信号同时传输给WR_FIFO模块。当缓存控制模块读出图像数据时,将产生读出数据信号控制从RD_FIFO模块读出64bit的图像数据到缓存控制模块,再经过数据拆分、重组等操作得到所需的不同位宽的数据,最后读写到外界。同时,缓存控制模块也对读出时钟进行对应的调整。为了适应不同位宽的图像数据的写入和读出,本方案在封装后会设置数据位宽参数可调,可以通过设置数据位宽参数来适应图像数据的写入和读出,例如需要写入16bit或24bit的图像数据,我们就可以调节参数来实现。
在上述技术方案的基础上,如图5所示,本发明的基于FPGA和DDR3SDRAM的可配置图像数据缓存系统工作过程为:
步骤1,存储控制模块从外界接收图像数据、时钟信号和写使能信号并将这些数据进行调整后写入到第一缓存模块。
该步骤中,缓存控制模块会接收外界传输来的图像数据input_data、写时钟信号wr_clk和写使能信号wr_en,但写入的图像数据可能有着不同的位宽,例如RGB24数据的位宽为24bit,RGB565的位宽为16bit,还有RGB555、RGB32等等,所以需要对它们进行调整以适合第一缓存模块WR_FIFO写入数据的位宽。
本方案中,由于需要可配置,所以可以设置需要的数据位宽,达到写入数据的要求。由于本实施例中WR_FIFO的写入数据位宽为64bit,而外界写入的图像数据达不到这么大,所以将几个连续的图像数据进行拼接,形成64bit的数据,同时写入WR_FIFO时钟也需要进行相应倍数的调整。例如外界写入24bit的图像数据,首先将其转化为32bit的数据,再将相邻的两个图像数据拼接成64bit,同时写数据时钟扩大为原来的两倍。写使能信号wr_en控制着缓存控制模块对图像数据的处理的开始。缓存控制模块写命令控制重组后的数据、时钟信号和使能信号传输到WR_FIFO,控制在WR_FIFO缓存,以便后期的异步时钟读数据操作。同时,满信号full=1会提醒外界,此时WR_FIFO写满了,停止往缓存系统写入数据;空信号empty=1表示缓存系统可以写入数据。
步骤2,第一缓存模块对写入存储控制模块的数据进行一级缓存;在外部存储模块准备好之后,存储控制模块从第一缓存模块中读取数据并存储到外部存储模块中。
第一缓存模块WR_FIFO将对缓存控制模块写入的数据进行缓存,为了适合外部存储模块写入512bit数据,WR_FIFO模块使用的是异步FIFO,本方案直接调用Xilinx FPGA已有的FIFO IP模块,设置写入数据位宽为64bit、读出数据位宽为512bit。当外部存储模块初始化完成后,开始接收写入数据,存储控制模块产生读WR_FIFO数据的命令,读出的数据直接储存到外部存储模块中。存储控制模块作为连接第一缓存模块和外部存储模块的桥梁有着至关重要的作用,控制着外部存储模块的数据的读写。当WR_FIFO模块写入的数据量达到读出的要求,WR_FIFO会产生可读信号给存储控制模块,存储控制模块状态机会产生读WR_FIFO的使能信号和读时钟信号,从而控制从WR_FIFO读出数据。而且,外部存储模块写数据的时钟信号和WR_FIFO的读数据的时钟信号是相同的频率。
步骤3,外界需要读取图像数据时,存储控制模块首先从外部存储模块读取存储的数据,并将数据写入到第二缓存模块中进行二级缓存。
第二缓存模块RD_FIFO使用的也是异步FIFO,直接调用Xilinx FPGA已有的FIFOIP模块,设置写入数据位宽为512bit、读出数据位宽为64bit。外部存储模块储存数据之后给存储控制模块一个可读信号,存储控制模块将产生读外部存储模块的使能信号和读时钟信号,同时产生写入RD_FIFO的使能信号,读出的数据为512bit,直接写入到RD_FIFO进行缓存。缓存在RD_FIFO等待缓存控制模块对其进行读操作。外部存储模块读数据的时钟信号和RD_FIFO的写数据的时钟信号是相同的频率。
步骤4,当缓存控制模块接收到外界的读使能信号和时钟信号时,缓存控制模块从第二缓存模块中读取数据,并将数据中的图像数据进行调整并产生与其对应的读有效信号,将调整后的图像数据和读有效信号输出给外界。
数据缓存到第二缓存模块中之后,当外界输入读使能信号rd_en、时钟信号rd_clk,缓存控制模块编写读第二缓存模块RD_FIFO数据的使能命令和时钟信号,控制从RD_FIFO缓存模块读取出数据到缓存控制模块。
因为本实施例中设置RD_FIFO的读出数据的位宽为64bit,缓存控制模块将从RD_FIFO读出64bit的数据。由于后期的数据处理需要的数据位宽不同,所以需要对度读出的64bit数据进行拆分调整,转化为所需要的位宽。缓存控制模块对RD_FIFO读出的图像数据调整需要对应步骤1写入WR_FIFO模块的图像数据调整,例如步骤1写入WR_FIFO的64bit由两个24bit的图像数据转化成32bit后拼接组成的,所以RD_FIFO读出的64bit图像数据也会对应着两个图像数据,根据需求对它们进行拆分或重组。读RD_FIFO的时钟信号和写WR_FIFO的时钟信号是相同的频率。缓存控制模块输出调整后的图像数据的同时也会产生与调整后的数据对应的读有效信号rd_valid,图像数据与读有效信号一同输出到外界。如果缓存系统为空时,empty输出为1。
综上所述,视频图像数据和时钟信号从缓存控制模块写入到WR_FIFO模块进行第一级缓存;存储控制模块再控制从WR_FIFO模块读取数据储存到外部存储模块;然后存储控制模块控制从外部存储模块读出储存的数据,写入到RD_FIFO进行第二级缓存;接着,缓存控制模块控制从RD_FIFO缓存模块读取出数据到缓存控制模块,缓存控制模块将图像数据进行调整并产生对应的读有效信号,将这些配置数据输出给外界。
以上的实现都是基于FPGA采用vivado、ise等硬件平台工具进行设计,FPGA设计流程如图4所示。本方案使用硬件平台工具将以上的功能模块全部封装起来,成为一个大容量的缓存系统。由于采用的是1GB的DDR3芯片,所以封装后的系统的容量达到1GB比普通的FIFO、RAM等等的内存更大,可以缓存更高的分辨率、帧频的视频数据。在封装模块中进行参数设计,封装后的模块可以根据自己需要进行设置参数,达到可配置的效果。输出端口如图5所示。没有了繁琐的端口,极大缩小了开发的工作量。

Claims (4)

1.基于FPGA和DDR3SDRAM的可配置图像数据缓存系统,其特征在于,包括外部存储模块、存储控制模块、第一缓存模块、第二缓存模块以及缓存控制模块,其中:
所述的外部存储模块用于存储图像数据;
所述的存储控制模块用于接收外界发送来的图像数据、时钟信号、写使能信号,并利用第一缓存模块、外部存储模块、第二缓存模块进行数据的缓存;
所述的第一缓存模块用于对图像数据进行一级缓存;
所述的第二缓存模块用于对图像数据进行二级缓存;
所述的缓存控制模块用于从第二缓存模块中读取二级缓存的数据并经调整后输出给外界;
所述的系统的工作过程包括:
存储控制模块从外界接收图像数据、时钟信号和写使能信号并将这些数据进行调整后写入到第一缓存模块;第一缓存模块对写入存储控制模块的数据进行一级缓存;在外部存储模块准备好之后,存储控制模块从第一缓存模块中读取数据并存储到外部存储模块中;
外界需要读取图像数据时,存储控制模块首先从外部存储模块读取存储的数据,并将数据写入到第二缓存模块中进行二级缓存;当缓存控制模块接收到外界的读使能信号和时钟信号时,缓存控制模块从第二缓存模块中读取数据,并将数据中的图像数据进行调整并产生与其对应的读有效信号,将调整后的图像数据和读有效信号输出给外界。
2.如权利要求1所述的基于FPGA和DDR3SDRAM的可配置图像数据缓存系统,其特征在于,所述的存储控制模块从外界接收图像数据、时钟信号和写使能信号并将这些数据进行调整,包括:
根据第一缓存模块的写入数据位宽,对连续的图像数据进行拼接,使拼接后的图像数据的位宽与第一缓存模块的写入数据位宽相同;与此同时,对时钟信号进行同样数据位宽的调整;其中,写使能信号控制着存储控制模块对数据处理的开始。
3.如权利要求1所述的基于FPGA和DDR3SDRAM的可配置图像数据缓存系统,其特征在于,所述的当缓存控制模块接收到外界的读使能信号和时钟信号时,缓存控制模块从第二缓存模块中读取数据,包括:
外界输入读使能信号和时钟信号给缓存控制模块,缓存控制模块编写读取第二缓存模块中数据的使能命令以及时钟信号,控制从第二缓存模块中读取数据到缓存控制模块中;
对从第二缓存模块中读取的数据进行拆分调整为所需的位宽,在输出调整后的图像数据的同时产生与其对应的读有效信号。
4.如权利要求1所述的基于FPGA和DDR3SDRAM的可配置图像数据缓存系统,其特征在于,所述的外部存储模块采用DDR3SDRAM,第一缓存模块、第二缓存模块均采用异步FIFO。
CN201910666661.0A 2019-07-23 2019-07-23 基于fpga和ddr3 sdram的可配置图像数据缓存系统 Active CN110569204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910666661.0A CN110569204B (zh) 2019-07-23 2019-07-23 基于fpga和ddr3 sdram的可配置图像数据缓存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910666661.0A CN110569204B (zh) 2019-07-23 2019-07-23 基于fpga和ddr3 sdram的可配置图像数据缓存系统

Publications (2)

Publication Number Publication Date
CN110569204A true CN110569204A (zh) 2019-12-13
CN110569204B CN110569204B (zh) 2023-01-20

Family

ID=68773178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666661.0A Active CN110569204B (zh) 2019-07-23 2019-07-23 基于fpga和ddr3 sdram的可配置图像数据缓存系统

Country Status (1)

Country Link
CN (1) CN110569204B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723027A (zh) * 2020-05-14 2020-09-29 江苏方天电力技术有限公司 一种基于电力边缘网关的动态存储缓冲区读取控制方法
CN111935416A (zh) * 2020-01-14 2020-11-13 南京信息工程大学 一种基于fpga的缩放后图像存储方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法
CN112148667A (zh) * 2020-09-04 2020-12-29 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN113254387A (zh) * 2021-05-24 2021-08-13 珠海市一微半导体有限公司 数据缓存器、芯片、机器人、数据缓存方法
CN113630565A (zh) * 2021-07-09 2021-11-09 中国科学院西安光学精密机械研究所 具备机内实时图像处理功能的scmos成像电路及方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN114327298A (zh) * 2022-01-28 2022-04-12 中科亿海微电子科技(苏州)有限公司 一种基于fpga模拟ssm配置接口的方法及ssm配置接口

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129215A1 (en) * 2001-03-06 2002-09-12 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
CN1961295A (zh) * 2004-07-14 2007-05-09 奥普提克斯晶硅有限公司 高速缓冲存储器管理系统和方法
US20110264845A1 (en) * 2010-04-27 2011-10-27 Samsung Electronics Co., Ltd Nonvolatile memory device having operation mode change function and operation mode change method
US20140250260A1 (en) * 2013-03-04 2014-09-04 Sandisk 3D Llc Asynchronous fifo buffer for memory access
CN104798032A (zh) * 2012-09-28 2015-07-22 英特尔公司 用于缩短缓存的清空时间的设备和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129215A1 (en) * 2001-03-06 2002-09-12 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
CN1961295A (zh) * 2004-07-14 2007-05-09 奥普提克斯晶硅有限公司 高速缓冲存储器管理系统和方法
US20110264845A1 (en) * 2010-04-27 2011-10-27 Samsung Electronics Co., Ltd Nonvolatile memory device having operation mode change function and operation mode change method
CN104798032A (zh) * 2012-09-28 2015-07-22 英特尔公司 用于缩短缓存的清空时间的设备和方法
US20140250260A1 (en) * 2013-03-04 2014-09-04 Sandisk 3D Llc Asynchronous fifo buffer for memory access

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡小龙 等: "基于FPGA的图像输入缓存机制研究", 《微计算机信息》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935416A (zh) * 2020-01-14 2020-11-13 南京信息工程大学 一种基于fpga的缩放后图像存储方法
CN111723027A (zh) * 2020-05-14 2020-09-29 江苏方天电力技术有限公司 一种基于电力边缘网关的动态存储缓冲区读取控制方法
CN111723027B (zh) * 2020-05-14 2022-06-24 江苏方天电力技术有限公司 一种基于电力边缘网关的动态存储缓冲区读取控制方法
CN111949577A (zh) * 2020-07-30 2020-11-17 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法
CN111949577B (zh) * 2020-07-30 2023-03-14 电子科技大学 一种高速高精度采样数据大容量存储快速传输方法
CN112148667A (zh) * 2020-09-04 2020-12-29 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN112148667B (zh) * 2020-09-04 2023-12-19 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN113254387B (zh) * 2021-05-24 2022-05-10 珠海一微半导体股份有限公司 数据缓存器、芯片、机器人、数据缓存方法
CN113254387A (zh) * 2021-05-24 2021-08-13 珠海市一微半导体有限公司 数据缓存器、芯片、机器人、数据缓存方法
CN113630565A (zh) * 2021-07-09 2021-11-09 中国科学院西安光学精密机械研究所 具备机内实时图像处理功能的scmos成像电路及方法
CN113760820B (zh) * 2021-09-15 2022-04-22 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN113760820A (zh) * 2021-09-15 2021-12-07 北京中科胜芯科技有限公司 一种超大规模fpga芯片的数据配置和回读方法
CN114327298A (zh) * 2022-01-28 2022-04-12 中科亿海微电子科技(苏州)有限公司 一种基于fpga模拟ssm配置接口的方法及ssm配置接口

Also Published As

Publication number Publication date
CN110569204B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
CN110569204B (zh) 基于fpga和ddr3 sdram的可配置图像数据缓存系统
CN108958800B (zh) 一种基于fpga硬件加速的ddr管理控制系统
CN209842608U (zh) 一种基于fpga fifo模块的ddr3存储器控制
CN111009272B (zh) 输入输出逻辑电路、物理层接口模块及fpga芯片、存储系统
CN111314641B (zh) 一种高帧频图像的采集存储显示系统及方法
WO2023197507A1 (zh) 视频数据处理方法、系统、装置及计算机可读存储介质
CN104702860A (zh) 基于fpga的视频图像切换系统
CN105577985B (zh) 一种数字图像处理系统
US20240021239A1 (en) Hardware Acceleration System for Data Processing, and Chip
CN102789424B (zh) 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器
CN108134912B (zh) 一种视频流转换方法
CN111966628B (zh) 一种多核组合式大容量数据同步存储方法
CN113986192A (zh) 一种CoaXPress接口数据和Cameralink接口数据互相转换的方法
CN209881907U (zh) 一种基于fpga的图像采集设备
CN116431539A (zh) 一种基于fdma ddr存储器读写设计
CN104156907A (zh) 一种基于fpga的红外预处理存储系统及存储方法
US20070143534A1 (en) Nonvolatile-memory-access control apparatus and nonvolatile-memory control system
CN111639046B (zh) 远紫外极光成像仪数据的缓存与实时传输系统及方法
Gong et al. Design of high-speed real-time sensor image processing based on FPGA and DDR3
CN112100098B (zh) Ddr控制系统及ddr存储系统
CN103500564A (zh) 图像显示控制装置、方法和图像显示系统
JP2004127305A (ja) メモリ制御装置
CN102750244A (zh) 分级缓冲的dma传送装置及传送方法
CN112153355A (zh) 一种基于fpga的数字图像像素转换系统及方法
US9990142B2 (en) Mass storage system and method of storing mass data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant