一种基于FPGA的图像采集、存储与显示系统的制作方法

文档序号:20204502发布日期:2020-03-27 21:01阅读:317来源:国知局
一种基于FPGA的图像采集、存储与显示系统的制作方法

本发明涉及集成电路技术领域,尤其涉及一种基于fpga的图像采集、存储与显示系统。



背景技术:

fpga由于其高度灵活性和可支持并行运算的优点,在图像处理方面得到了越来越广泛的应用。图像的采集、存储与显示是很多图像处理方法所必须的基本步骤。能否快速的实现采集、显示与采集、存储,决定了图像处理的效率;并且图像数据采集、显示与采集、存储能否在逻辑上相互独立,也与图像处理系统的稳定性息息相关。

当前,coms图像传感器是一种性能比较高而技术相对成熟的图像采集传感器,而hdmi也是一种使用得越来越广泛的图像输出接口。通过设计一种可靠的、有效的方法:fpga采集cmos图像传感器的图像数据,并通过hdmi口显示到显示器上,同时将图像数据存入fpga的ddr中,用以其它处理过程,有其实用性和必要性。



技术实现要素:

本发明的目的是提供一种基于fpga的图像采集、存储与显示系统,以提高图像存储、显示的实时性、稳定性、安全性。

本发明的上述技术目的是通过以下技术方案得以实现的:

本发明提供了一种基于fpga的图像采集、存储与显示系统,包括摄像头控制模块、图像缓存模块、存储输出模块、显示时序控制模块、显示输出模块;

所述摄像头控制模块采集图像数据并进行图像数据的格式转换;

所述图像缓存模块接收并存储所述摄像头控制模块输出的格式转换后的图像数据;

所述存储输出模块接收所述图像缓存模块输出的图像数据,并将图像数据输送至ddr中;

所述显示输出模块接收所述图像缓存模块输出的图像数据;

所述显示时序控制模块根据预显示的分辨率来产生对应的信号,并控制所述显示输出模块输出相应分辨率的信号通过连接口输送至显示器上。

优选地,所述摄像头控制模块包括cmos时序控制器、数据格式转换、fifo和axi总线接口;

所述cmos时序控制器用于接收cmos图像传感器所采集的图像数据;

所述数据格式转换用于对cmos时序控制器所接收的图像数据进行数据格式的转换;

所述fifo用于根据所述cmos时序控制器的控制存储cmos图像传感器所采集的图像数据;

在fifo存完一帧图像数据后,开启axi总线接口,允许dma通过axi总线接口搬运fifo中一帧图像。

优选地,当一帧图像数据完全存入fifo时,fifo输出信号full,指示axi总线接口打开,待一帧图像数据已完全被dma搬运,fifo输出信号empty,指示axi总线接口关闭。

优选地,所述图像缓存模块包括axi总线接口、地址选择器、存储单元、多路选择器、axi总线接口、地址累加器a和地址累加器b;

存储单元由至少一个ram组成;

地址选择器用于形成axi总线接口与存储单元中其一ram的通路,该ram由地址累加器a选定;

地址累加器a由cmos时序控制器输出的帧开始信号cmos_pclk控制累加;

axi总线接口用于接收dma搬运的数据,并通过地址选择器形成的数据通道存入存储单元中;

多路选择器用于形成存储单元中其一ram与axi总线接口的数据通路,该ram由地址累加器b控制;

地址累加器b由cmos时序控制器输出的帧开始信号cmos_pclk控制累加,且地址累加器b选择的ram为地址累加器a所选定的上一个ram。

优选地,所述存储输出模块包括存储控制模块和dma,所述存储控制模块在cmos时序控制器输出的帧开始信号cmos_pclk上升沿允许dma将存储单元中由地址累加器b选定的ram中的一帧图像数据搬运到ddr,并在dma搬运完一帧图像的中断信号上升沿时禁止dma搬运。

优选地,每个ram数据缓存的位宽为24位,ram的数据深度depth_ram为:其中,x为cmos图像传感器采集的图像每一行的像素点个数,y为cmos图像传感器采集的图像的行数。

优选地,所述显示时序控制模块包括时钟分频模块和视频时序控制器;

所述时钟分频模块根据预显示的分辨率产生帧时钟信号、帧时钟信号的5倍频信号以及rgb2dvi模块的复位信号;

所述视频时序控制器在接收时钟分频模块产生的帧时钟信号后,根据预显示的分辨率,输出vga接口类型指示信号至显示输出模块。

优选地,所述显示输出模块包括rgb信号输出模块和rgb2dvi模块;

所述rgb信号输出模块用于接收vga接口类型指示信号,并将图像缓存模块输出的图像数据按照vga时序要求输出至rgb2dvi模块;

所述rgb2dvi模块用于将时钟分频模块输出的信号及rgb信号输出模块输出的信号转换为tmds信号。

优选地,所述rgb信号输出模块包括axi总线接口、fifo、输出同步单元和数据格式化输出模块;

axi总线接口用于接收dma通过axi总线接口从存储单元中搬运的图像数据,并存入fifo中;

输出同步单元在vga接口类型指示信号的控制下,控制fifo将图像数据输出到数据格式化输出模块。

优选地,所述rgb2dvi模块包括时钟发生器、红色信号编码器、绿色信号编码器、蓝色信号编码器、时钟信号序列化器、红色信号序列化器、绿色信号序列化器和蓝色信号序列化器;

所述时钟发生器将帧时钟信号分频为tmds时钟信号;

所述红色信号编码器、绿色信号编码器、蓝色信号编码器分别将图像数据的红色、绿色、蓝色信号按dvi1.0中规范的编码方式编码,并分别输出到红色信号序列化器、绿色信号序列化器和蓝色信号序列化器;

所述时钟信号序列化器将tmds时钟信号转换为差分时钟信号输出;

所述红色信号序列化器、绿色信号序列化器和蓝色信号序列化器分别将已编码的红色、绿色、蓝色信号从高位到低位依次差分输出。

本发明的有益效果如下:

1、本发明能够同时实现图像数据采集、存储、显示,有效提高了图像存储、显示的实时性;

2、本发明中图像存储与图像显示相对独立,图像存储或图像显示其中之一发生错误不会影响到另外的功能的实现。

附图说明

图1是根据本发明实施例提供的顶层逻辑框图;

图2是图1中rgb信号输出模块逻辑框图;

图3是图1中rgb2dvi模块逻辑框图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后…)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

如图1、图2、图3所示,本发明公开了一种基于fpga的图像采集、存储与显示系统,包括摄像头控制模块、图像缓存模块、存储输出模块、显示时序控制模块、显示输出模块,摄像头控制模块采集图像数据并进行图像数据的格式转换,图像缓存模块接收并存储摄像头控制模块输出的格式转换后的图像数据,存储输出模块接收图像缓存模块输出的图像数据,并将图像数据输送至ddr中,显示输出模块接收图像缓存模块输出的图像数据,显示时序控制模块根据显示时序控制模块根据显示时序控制模块根据预显示的分辨率来产生对应的信号,并控制显示输出模块输出相应分辨率的信号通过连接口输送至显示器上,本发明能够同时实现图像数据采集、存储、显示,有效提高了图像存储、显示的实时性;图像存储与图像显示相对独立,图像存储或图像显示其中之一发生错误不会影响到另外的功能的实现。

上述摄像头控制模块包括cmos时序控制器、数据格式转换、fifo和axi总线接口包括cmos时序控制器、数据格式转换、fifo和axi总线接口,cmos时序控制器用于接收cmos图像传感器所采集的图像数据,数据格式转换用于对cmos时序控制器所接收的图像数据进行数据格式的转换,fifo用于根据cmos时序控制器的控制存储cmos图像传感器所采集的图像数据,在fifo存完一帧图像数据后,开启axi总线接口,允许dma通过axi总线接口搬运fifo中一帧图像,当axi总线接口需要从fifo中读取数据时,给fifo反向传递指示信号;

cmos图像传感器的输出信号有:cmos_vsync、cmos_href、cmos_pclk、cmos_data[x:0],cmos时序控制器按照cmos图像传感器给定的图像数据接收时序,接收图像数据的每一像素点数据cmos_data[x:0],并通过数据格式转换器将每一像素点数据转换为cmos_data[23:0](r[23:16],g[15:8],b[7:0])。dma搬运一帧图像比接收一帧图像要快,所以需要fifo进行数据缓冲。fifo数据缓存的位宽为24位,fifo的数据深度depth为:其中,x为cmos图像传感器采集的图像每一行的像素点个数,y为cmos图像传感器采集的图像的行数,当一帧图像数据完全存入fifo,fifo输出信号full,指示axi总线接口打开;待一帧图像数据已完全被dma搬运,fifo输出信号empty,指示axi总线接口关闭。

上述图像缓存模块包括axi总线接口、地址选择器、存储单元、多路选择器、axi总线接口、地址累加器a和地址累加器b,存储单元由至少一个ram组成,地址选择器用于形成axi总线接口与存储单元中其一ram的通路,该ram由地址累加器a选定,地址累加器a由cmos时序控制器输出的帧开始信号cmos_pclk控制累加,axi总线接口用于接收dma搬运的数据,并通过地址选择器形成的数据通道存入存储单元中,多路选择器用于形成存储单元中其一ram与axi总线接口的数据通路,该ram由地址累加器b控制,地址累加器b由cmos时序控制器输出的帧开始信号cmos_pclk控制累加,且地址累加器b选择的ram为地址累加器a所选定的上一个ram;

储存单元有至少一个单口ram组成,每个ram数据缓存的位宽为24位,ram的数据深度depth_ram为:其中,x为cmos图像传感器采集的图像每一行的像素点个数,y为cmos图像传感器采集的图像的行数。

上述存储输出模块包括存储控制模块和dma,所述存储控制模块在cmos时序控制器输出的帧开始信号cmos_pclk上升沿允许dma将存储单元中由地址累加器b选定的ram中的一帧图像数据搬运到ddr,并在dma搬运完一帧图像的中断信号上升沿时禁止dma搬运;

在cmos_pclk上升沿,存储控制模块处于透明状态,dma通过axi总线接口将存储单元中地址累加器b选择的ram的图像数据搬运到ddr;在搬运完一帧图像数据后,dma输出中断信号,使存储控制模块处于截断转态,dma停止搬运数据。

上述显示时序控制模块包括时钟分频模块和视频时序控制器,时钟分频模块根据预显示的分辨率产生帧时钟信号、帧时钟信号的5倍频信号以及rgb2dvi模块的复位信号,视频时序控制器在接收时钟分频模块产生的帧时钟信号后,根据预显示的分辨率,输出vga接口类型指示信号至显示输出模块;

时钟分频模块输出图像的像时钟pclk,像时钟的5倍频pclk_5x,及复位信号reset。根据用户自定义的分辨率:pclk=(h_sync+h_back+h_act)×(v_sync+v_back+v_act)×f,其中h_sync为图像的场同步像素点的个数,h_back为图像的场后沿像素点的个数,h_act为图像的场有效像素点的个数,v_sync为图像的行同步像素点的个数,v_back为图像的行后沿像素点的个数,v_act为图像的行有效像素点的个数,f为每一秒图像的刷新次数;

视频时序控制模块的输入时钟为pclk,输出时钟包括帧活动时钟active_video、场后沿时钟信号hblank、场同步时钟信号hsync、行后沿时钟信号vblank、行同步时钟信号vsync。根据用户自定义的分辨率,场后沿时钟信号hblank在输出图像的场后沿像素点为高;场同步时钟信号hsync在输出图像的场同步像素点为高;行后沿时钟信号vblank在输出图像的行后沿时为高;行同步时钟信号vsync在输出图像的行同步时为高;帧活动时钟active_video在输出有效像素点是为高。

上述显示输出模块包括rgb信号输出模块和rgb2dvi模块,rgb信号输出模块用于接收vga接口类型指示信号,并将图像缓存模块输出的图像数据按照vga时序要求输出至rgb2dvi模块,所述rgb2dvi模块用于将时钟分频模块输出的信号及rgb信号输出模块输出的信号转换为tmds信号;

rgb信号输出模块包括axi总线接口、fifo、输出同步单元和数据格式化输出模块,axi总线接口用于接收dma通过axi总线接口从存储单元中搬运的图像数据,并存入fifo中,输出同步单元在vga接口类型指示信号的控制下,控制fifo将图像数据输出到数据格式化输出模块;

rgb2dvi模块包括时钟发生器、红色信号编码器、绿色信号编码器、蓝色信号编码器、时钟信号序列化器、红色信号序列化器、绿色信号序列化器和蓝色信号序列化器,时钟发生器将帧时钟信号分频为tmds时钟信号,红色信号编码器、绿色信号编码器、蓝色信号编码器分别将图像数据的红色、绿色、蓝色信号按dvi1.0中规范的编码方式编码,并分别输出到红色信号序列化器、绿色信号序列化器和蓝色信号序列化器,时钟信号序列化器将tmds时钟信号转换为差分时钟信号输出,红色信号序列化器、绿色信号序列化器和蓝色信号序列化器分别将已编码的红色、绿色、蓝色信号从高位到低位依次差分输出;

rgb信号输出模块、rgb2dvi模块功能为同步视频时序控制模块输出的时钟与图像数据,使图像数据与时钟信号按照tmds信号标准输出,需要分两步完成该功能,rgb信号输出模块用于同步视频时序控制模块输出的时钟与图像数据,使图像数据与时钟信号按照vga信号标准输出,rgb信号输出模块的逻辑结构如图二所示,fifo中存入一帧图像数据,输出同步单元控制fifo在帧活动时钟active_video、场后沿时钟信号hblank、场同步时钟信号hsync、行后沿时钟信号vblank、行同步时钟信号vsync均为高电平时,将以从左到右,从下到上的顺序输出图像每一像素点的数据,数据格式化输出模块用于维持信号的输出状态,在fifo输出数据时,数据格式化输出模块中的多路选择器将输出时钟与数据信号,否则,输出低电平;

rgb2dvi模块用于将vga信号转换为tmds信号,包括:时钟发生器、信号编码器与序列化器,其逻辑结构如图三所示,信号编码器将像素点中不同色素的信号进行重新编码:前8为数据由原始信号经异或运算后获得,第9位为0,第10位用来对应直流平衡。时钟发生器用于将图像的像时钟pclk分频为tmds时序的输出时钟,频率为pclk的5倍。序列化器用于将重新编码的并行数据转换为串行数据,在tmds时序输出时钟的上升沿将不用色素的从高位到地位差分输出。

以上对本发明的较佳实施进行了具体说明,当然,本发明还可以采用与上述实施方式不同的形式,熟悉本领域的技术人员在不违背本发明精神的前提下所作的等同的变换或相应的改动,都应该属于本发明的保护范围内。

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