基于FPGA的ov5640摄像头简易图像采集装置详解

设计简介

本设计使用ov5640摄像头和FPGA开发板进行开发,能够将摄像头采集到的信息实时输出到HDMI显示器上。本设计的结构图如下:
图1 设计结构图

摄像头I2C配置模块

该模块采用网络上的开源设计(详见设计文件title),将OV5640配置成如下模式:
1. 分辨率:1024 * 768
2. 刷新率:60hz
3. 像素时钟频率:48mhz
4. xclk: 24m
以上列举了一些和verilog设计相关性较大的配置参数,其它细节可以结合OV5640手册和设计源代码进行深入理解。

摄像头数据采集模块

该模块同样采用网络上的开源设计(详见设计文件title),功能是将摄像头回传的RGB数据打包并按照帧格式回传。其在例化时的接口如下所示:

//CMOS图像数据采集模块
cmos_capture_data u_cmos_capture_data(  //系统初始化完成之后再开始采集数据
    .rst_n              (rst_n & cam_init_done), 
        
    .cam_pclk           (cam_pclk),
    .cam_vsync          (cam_vsync),
    .cam_href           (cam_href),
    .cam_data           (cam_data),
    
    .cmos_wr_req        (cmos_wr_req),  //帧开始信号
    .cmos_frame_vsync   (),
    .cmos_frame_href    (),
    .cmos_frame_valid   (wr_en),       //数据有效使能信号
    .cmos_frame_data    (wr_data)      //有效数据 
    );

其中四个cam_xxx信号直接由GPIO输入即可,我们要重点关注的是cmos_wr_req、cmos_frame_valid、cmos_frame_data 三个信号。

cmos_wr_req信号的作用是向流模式DDR控制器发起一次完整的帧数据传输请求。在接到该信号后,流模式DDR控制器将会处理此次请求,为即将到来的一帧数据对MIG进行配置。总而言之,cmos_wr_req信号用于通知DDR控制器即将有一帧数据到来,做好接收准备。

cmos_frame_valid信号的作用是数据有效信号,每次到来一个有效的16位像素数据时,该信号将拉高。

cmos_frame_data信号即一个像素点的16位信号,比较好理解。

流模式DDR(本体 + 控制器)

该模块由两部分构成,一个是流模式DDR模块(ddr3_axi),一个是流模式DDR控制模块(ddr3_stream)。为了节省您的阅读时间,更快的让您抓住重点,这里将重点介绍流模式DDR控制模块,而流模式DDR模块本体

  • 31
    点赞
  • 182
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值