欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 基于FPGA的ov5640摄像头图像采集(二)

基于FPGA的ov5640摄像头图像采集(二)

2024/10/25 15:17:42 来源:https://blog.csdn.net/qq_69315815/article/details/142740996  浏览:    关键词:基于FPGA的ov5640摄像头图像采集(二)

之前讲过ov5640摄像头图像采集,但是只包了的摄像头驱动与数据对齐两部分,但是由于摄像头输入的像素时钟与HDMI输出的驱动时钟并不相同,所有需要利用DDR3来将像素数据进行缓存再将像素数据从DDR3中读出,对DDR3的读写参考米联客的IP,可以高效的实现对DDR3的读写。

工程整体框架如图所示:

工程主要包括摄像头驱动模块、数据对齐模块、数据存储模块和HDMI驱动模块。

顶层模块的代码如下所示:

`timescale 1ns / 1psmodule top_ov5640_ddr3_hdmi(input                                   sysclk          ,           //系统时钟//ov5640input                                   cmos_href_i     ,           //行同步信号input                                   cmos_vsync_i    ,           //场同步信号input                                   cmos_pclk_i     ,           //输入时钟input            [7:0]                  cmos_data_i     ,           //输入像素output                                  cmos_xclk_o     ,           //摄像头驱动时钟output                                  cmos_scl        ,           //时钟总线inout                                   cmos_sda        ,           //数据总线//HDMIoutput                                  HDMI_TX_CLK_P   ,           //时钟output                                  HDMI_TX_CLK_N   ,           output           [2:0]                  HDMI_TX_P       ,           //数据output           [2:0]                  HDMI_TX_N       ,//DDR3接口信号;inout           [63 : 0]                ddr3_dq         ,           //ddr3 数据;inout           [7 : 0]                 ddr3_dqs_n      ,           //ddr3 dqs负;inout           [7 : 0]                 ddr3_dqs_p      ,           //ddr3 dqs正;output          [14 : 0]                ddr3_addr       ,           //ddr3 地址;output          [2 : 0]                 ddr3_ba         ,           //ddr3 banck地址;output                                  ddr3_ras_n      ,           //ddr3 行选择;output                                  ddr3_cas_n      ,           //ddr3 列选择;output                                  ddr3_we_n       ,           //ddr3 读写选择;output                                  ddr3_reset_n    ,           //ddr3 复位;output          [0:0]                   ddr3_ck_p       ,           //ddr3 时钟正;output          [0:0]                   ddr3_ck_n       ,           //ddr3 时钟负;output          [0:0]                   ddr3_cke        ,           //ddr3 时钟使能;output          [0:0]                   ddr3_cs_n       ,           //ddr3 片选;output          [7 : 0]                 ddr3_dm         ,           //ddr3_dm;output          [0:0]                   ddr3_odt        ,           //ddr3_odt;output                                  card_power_en               //板卡使能信号 
);

需要注意的是本次工程利用Block Design来搭建数据缓存模块,其中的ip参考自米联客具体框图如下所示:

需要注意的是利用clk_wiz ip来生成期望的时钟信号时,需要将ip核的输入时钟来源设置为Global类型,不然可能会产生如下图所示的报错。

摄像头采集图像结果如图所示:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com