2.2.1 OV5640 Sensor简介

  目前市场上的摄像头产品采用的 CMOS 品牌较多,主流的要有 Hynix(海力士)、 Micron(镁光)、 OmniVision(豪威)、 PIXART(原相科技), Sansung(三星)、格科(Gcoreinc) Cisco(思科)、等, 其中前四家的市场占有率达到 90%。
  使用 Micron、 OmniVision、 Gcoreinc 的 CMOS Sensor, 这三者在成本、成像效果,以及噪声、 感光度、 帧率等特性上各有差异, 但总体上开发流程一致,只需要通过寄存器的配置,就能通过捕获, 得到配置参数的视频图像数据。
  OV5640的实物见图2 13,该摄像头主要由镜头、图像传感器、板载电路及下方的信号引脚组成。
  OV5640模组带有自动对焦功能,引脚的定义见下图。
  信号引脚功能介绍如下,介绍如下表。
  OV5640功能框图如下:


  标号①处的是OV5640的控制寄存器,它根据这些寄存器配置的参数来运行,而这些参数是由外部控制器通过SIO_C和SIO_D引脚写入的,SIO_C与SIO_D使用的通讯协议跟I2C十分类似,在FPGA中我们完全可以直接IO模拟硬件外设来控制。
  控制OV5640涉及到它很多的寄存器,可直接查询《ov5640datasheet》了解,通过这些寄存器的配置,可以控制它输出图像的分辨率大小、图像格式及图像方向等。要注意的是OV5640寄存器地址为16位。
  官方还提供了一个《OV5640_自动对焦照相模组应用指南(DVP_接口)__R2.13C.pdf》的文档,它针对不同的配置需求,提供了配置范例。
  标号②处包含了OV5640的通信、控制信号及外部时钟,其中PCLK、HREF及VSYNC分别是像素同步时钟、行同步信号以及帧同步信号,这与液晶屏控制中的信号是很类似的。RESETB引脚为低电平时,用于复位整个传感器芯片,PWDN用于控制芯片进入低功耗模式。注意最后的一个XCLK引脚,它跟PCLK是完全不同的,XCLK是用于驱动整个传感器芯片的时钟信号,是外部输入到OV5640的信号;而PCLK是OV5640输出数据时的同步信号,它是由OV5640输出的信号。XCLK可以外接晶振或由外部控制器提供,若要类比XCLK之于OV5640就相当于HSE时钟输入引脚与STM32芯片的关系,PCLK引脚可类比STM32的I2C外设的SCL引脚。
  标号③处的是感光矩阵,光信号在这里转化成电信号,经过各种处理,这些信号存储成由一个个像素点表示的数字图像。
  标号④处包含了DSP处理单元,它会根据控制寄存器的配置做一些基本的图像处理运算。这部分还包含了图像格式转换单元及压缩单元,转换出的数据最终通过Y0-Y9引脚输出,一般来说我们使用8根据数据线来传输,这时仅使用Y2-Y9引脚,OV5640与外部器件的连接方式见下图。


  标号⑤处为VCM处理单元,他会通过图像分析来实现图像的自动对焦功能。要实现自动对焦还需要下载自动对焦固件到模组,后面摄像头实验详细介绍这个功能。

2.2.2 OV5640 Sensor寄存器设置

OV5640 的上电要求

  为了让 OV5640 上电后能正常工作, OV5640 癿程序讴计中需要考虑 OV5640 的上电时序的要求。OV5640 癿上电步骤如下:
  步骤 1 : ResetB 拉低,复位 OV5640。PWDN 引脚拉高。
  步骤 2 : DOVDD 和 AVDD 两路最好同时上电, 返在模组癿电源讴计中实现。
  步骤 3 : 等电源稳定 5 毫秒后,拉低 PWDN。
  步骤 4 : PWDN 置低 1 毫秒后, 拉高 ResetB。
  步骤 5 : 20 毫秒后, 初始化 OV5640 的SCCB 寄存器设置。
  关于详细的寄存器设置,可以参考《从零开始走进OV7670世界.pdf》《OV5640_datasheet.pdf》

2.3 FPGA实现

  根据协议对寄存器的配置,输出视频流大小为1024x768,每一个像素点是16位,所以,生成如下大小的双端口BRAM。
根据写有效信号驱动写地址变化
代码2 1

1.   always @(posedge cam_pclk,negedge rst_n) begin2.     if(~rst_n) begin3.            addra<=0;4.       end else begin5.          if(wr_en) begin6.             addra<=addra+1;7.                if(addra==20'hc0000-1) addra<=0;8.         end9.     end10.    end

读地址同理实现
代码2 2

1.    always @(posedge clk_65m,negedge rst_n) begin2.      if(~rst_n) begin3.            addrb<=0;4.       end else begin5.          if(rd_en) begin6.             addrb<=addrb+1;7.                if(addrb==20'hc0000-1) addrb<=0;8.         end9.     end10.    end

更为详细的代码,大家可以参考源码,这部分代码主要是为了验证OV5640的寄存器设计的正确性。

链接: https://pan.baidu.com/s/1Ad0s3vuwda0h2xive5vwrg 提取码: mq3i

ov5640帧率配置_基于OV5640的FPGARAM HDMI显示相关推荐

  1. ov5640帧率配置_一文看懂赛博朋克2077中低配置的设置方法和能畅玩的电脑有哪些?...

    <赛博朋克2077>是12月10号上线的网络游戏.一句话,这款游戏确实很火 很火 很火.但是由于这款游戏对电脑的配置要求很高.像GTX1650.GTX1650Ti这样的显卡也只能算入门级的 ...

  2. ov5640帧率配置_逃离塔科夫怎么提升帧率 帧率优化建议_单机游戏_游戏攻略

    逃离塔科夫有着非常真实的游玩与画面表现,所以这类的多人游戏比较吃配置,那么帧率上不去会十分影响游戏体验,下面请看由"SIIYAM"带来的逃离塔科夫帧率优化建议,一起来看看吧. 帧率 ...

  3. ov5640帧率配置_玩《和平精英》为什么要开高帧数?90帧的游戏射速你体验过吗?...

    玩手游特别是玩<和平精英>.<cf手游>.<使命召唤>之类的FPS射击游戏,不同配置的手机游戏体验是完全不一样的.除了画面方面的差别,最主要是最高帧率严重影响游戏射 ...

  4. ov5640帧率配置_《使命召唤 黑色行动 冷战》详细PC配置需求公布

    发行商动视和开发者 Treyarch 和 Raven Software 发布了<使命召唤:黑色行动冷战>的官方 PC 预告片,并详细介绍了本作 PC 版的各个配置需求. 本作将于 11 月 ...

  5. ov5640帧率配置_坚果R2性能测试:四款热门游戏,帧率表现如何?

    随着苹果兴起扁平化图标后,近几年的手机图标几乎全被扁平化设计占领,不论是定制OS,还是软件开发者都朝着这一方向靠拢,不过唯有坚果一家厂商至今仍坚持着自己的审美,走着拟物的风格.近期发布的坚果R2在延续 ...

  6. ov5640帧率配置_赛博朋克2077 优化设置大全!帧数50暴涨100

    最近随着赛博朋克2077终于开始正式上线(最终还是没能跳票到2077年),不少朋友都购买了游戏,准备体验夜之城的生活.然而,游戏对配置的高要求,导致很多朋友发现买了游戏,却带不动. 甚至部分测评视频, ...

  7. HDMI系列之一:基于Nios II的HDMI显示图片

    一休哥将在本文中介绍一个基于Nios II的HDMI显示图片的工程.我将主要分三个部分来介绍这一工程,从而实现工程效果. 1. Nios II的常规使用套路 2. 自定义HDMI IP核的制作 3. ...

  8. 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟

    今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...

  9. 单片机涡轮流量传感器_基于单片机的智能涡轮流量计显示仪的设计

    基于单片机的智能涡轮流量计显示仪的设计 前言 基于单片机的智能涡轮流量计, 以轴向型涡轮流量计作为测量系 统, 采用智能流量显示仪并利用汽车电源供电. 阐述流量显示仪表的 设计,在硬件设计方面,采用了 ...

  10. h5 video 手机 显示第一帧_【图像处理二】HDMI显示(一)

    引言 做图像处理没有显示怎么能行,所以用两章来介绍HDMI的协议以及编码实现.HDMI的编码,仿真和调试会花费较长时间,特别是第一次在windows环境下部署UVM环境,对于刚刚入门UVM的我来说,这 ...

最新文章

  1. 最强去马赛克AI来了,分分钟回到无马世界,连像素风《我的世界》人物都能复原...
  2. weka源码编译步骤
  3. 15大数据技术生态体系
  4. 使用pytorch查看中间层特征矩阵以及卷积核参数
  5. 在DataTable中进行数据查询 (转)
  6. 安装SQL Server 那些事儿
  7. APK的Mokey测试
  8. 规则引擎 drools_Drools的入门初探
  9. 2011华为上机试题-Java
  10. win7定时关机命令是什么
  11. 软件工程专业的论文答辩_软件工程专业本科毕业答辩?
  12. 永磁同步电机SVPWM过调制电压重构MTPA弱磁矢量控制仿真 模型
  13. angular中uibpagination里面参数配置
  14. 90后在虚拟世界建国风园林,完美融合数字艺术与传统诗词
  15. Mac OS X 10.13.6升级到更高版本的方法
  16. 生信漫谈如何绘制蛋白序列的二级结构可视化图
  17. 2022-05-30 无法验证是否已安装所需的Microsoft更新KB2919355
  18. Addressable资源热更新疑问
  19. 微软dhcp服务器配置,附录:在 Windows DHCP Server 以外的 DHCP 服务器上配置 DHCP 选项...
  20. 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由

热门文章

  1. Linux定时器例子
  2. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(2):开发环境及相关的使用技巧
  3. 语法分析——自下而上
  4. 磁带非但没被淘汰,容量还比硬盘大了???
  5. 卡巴斯基正版半年注册码申请
  6. C语言:快速排序(详解)
  7. C#选择文件、选择文件夹、打开文件(OpenDialog,FolderBrowserDialog)
  8. PSV最实用游戏使用攻略
  9. 天正2014打开加载lisp_win10系统设置CAD2014打开自动加载天正的恢复方法
  10. 基于java SpingBoot框架的企业办公管理系统