ov7670图像传感器_cmos图像传感器封装

ov7670图像传感器_cmos图像传感器封装注释:配置方法由其他博文复制整理而来,不是个人原创,感恩原作者 图像传感器(sensor)概述: 现在用的传感器主要有两种:一种是CCD,另一种是CMOS,现在主流的是CMOS对于CCD传感器,其输出的是带制式的模拟信号,需要经过视频解码后得到数字信号对于CMOS传感器,其直接输出数字信号,可以直接与控制器连接 像素部分 那么对于像素部分,我们常常听到30万像素,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

注释:配置方法由其他博文复制整理而来,不是个人原创,感恩原作者

 

图像传感器(sensor)概述: 

现在用的传感器主要有两种:一种是CCD,另一种是CMOS,现在主流的是CMOS

对于CCD传感器,其输出的是带制式的模拟信号,需要经过视频解码后得到数字信号

对于CMOS传感器,其直接输出数字信号,可以直接与控制器连接

 

像素部分

  那么对于像素部分,我们常常听到30万像素,120万像素等等,这些代表着什么意思呢?图37.5解释了这些名词。

wps1A3.tmp

图37.5

   那么由上面的介绍,可以得出,我们以30万像素为例, 30万像素 ~= 640 * 480 = 30_7200;可见所谓的像素数也就是一帧图像所具有的像素点数,我们可以联想图像处理的相关知识,这里的像素点数的值,也就是我们常说的灰度值。像素数越高,当然显示的图像的质量越好,图像越清晰,但相应的对存储也提出了一定的要求,在图像处理中,我们也会听到一个概念,叫做分辨率,其实这个概念应该具体化,叫做图像的空间分辨率,例如72ppi,也就是每英寸具有72个像素点,比较好的相机,能达到490ppi。

 

 

 

1、OV7725的引脚以及驱动

   OV7725的引脚很多,但本系统中用到的OV7725模块只包含以下一些引脚:

D0~D9: CMOS输出的10位数据口.本实例只用到D2~D9。

RESET: CMOS输入信号,复位引脚,低电平有效。本实例将其置空

PWDN: CMOS输入信号,休眠模式选择,0为正常模式,1为休眠模式。本实例将其置空

PCLK:  CMOS输出的像素时钟

XCLK:  CMOS输入的时钟信号,本实例采用25MHz。

HREF:   CMOS输出的行同步信号

VSYNC: CMOS输出的帧同步信号

SIOC:   CMOS寄存器的IIC时钟输入

SIOD:   CMOS寄存器的IIC数据输入/输出

因为用到的引脚数量并不多,因此我们选择用Zedboard上JA,JB两组Pmod接口与OV7725模块相连。OV7725的驱动包含两个操作:1.配置寄存器 2.根据传入的时序信号(PCLK,HREF,VSYNC),对传入数据进行拼接,组合成RGB像素。

n  配置寄存器

OV7725的正常工作需要寄存器的正确配置。寄存器的配置遵从IIC协议,在PL提供的IIC时钟驱使下,向不同功能的寄存器地址写入数据。本实例构建了一个IIC的主模块,寄存器配置指令只需要两条即可:

0x1100;//11为CLKRC寄存器,设置为00值,采用内部时钟

0x1206;//分辨率设置为VGA 640×480,像素输出格式设置为RGB565

n  拼接数据得到像素RGB565

 OV7725像素格式为RGB565时,时序图如下:

ov7670图像传感器_cmos图像传感器封装

 

当帧同步信号VSYNC出现有效边沿之后,在HREF为高电平时,第一个PCLK上升沿读取第一个byte(D7~D0)。此时要注意,这个byte并不代表第一个像素,而是第一个像素的R[4:0]以及G[5:3],第二个PCLK上升沿读取的byte则是第一个像素的G[2:0]以及B[4:0]。当第二个PCLK上升沿到来时,将这两个byte组合成一个完整的像素,就得到了第一个像素。以此类推,采集一行数据(640×2个数据),就得到640个像素值。当采集完480行的时候,就完成了一帧数据的采集。

ov7670图像传感器_cmos图像传感器封装

 

由OV7725的VGA时序可知,每一行有效时间为640×2个pclk,无效时间为144×2个pclk,每一行花费时间为784×2个PCLK时钟;而每一帧总行数是510(有效行数是480);因此采集一帧数据的时间是784*510×2个pclk的时间。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192763.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中[通俗易懂]

    html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中[通俗易懂]把表格在页面中间显示。。。分享代码。。。在这个无谓的年华,无论别人多么高高不可攀比,但小编还是选择,做一个适应自己的人。首先打开vscode编辑器,新建一个html文档,里面写入一个外层的div,再加入一行table表格:知道谢每一粒种子,每一缕清风,也知道早起播种和御风而行。然后在上方的style标签中加入css样式,设置table标签的样式,table的元素具有长度自适应性,其长度根据其内…

    2022年9月19日
    1
  • pinn求解ode_pt_pin

    pinn求解ode_pt_pin今天硕士论文开题答辩,想着学了这么长时间的PINN,七七八八也看了一些文献,一来是为了整理思路,二来可以方便以后回顾复习。使用PINN求解PDE与传统有限元、有限差分、谱方法等最大的区别是,无需做预先的假设,线性化和网格化。求解一般的偏微分方程的形式:PINN具体算法步骤如下:其中只有初边界训练数据包含u的值,内部配置点不包含u的值,只有定义域内部的点。(这一点一直迷糊,最近才理清楚)。PINN求解PDE框架图:可以通过自动微分最小化损失函数,得到神经网络最优参数,从而的到.

    2025年7月13日
    2
  • PyCharm激活码永久有效PyCharm2019.1.3激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2019.1.3激活码教程-持续更新,一步到位PyCharm激活码永久有效2019.1.3激活码教程-Windows版永久激活-持续更新,Idea激活码2019.1.3成功激活

    2022年6月19日
    105
  • java读取xml(当xml放在包里时)

    java读取xml(当xml放在包里时)

    2021年9月2日
    52
  • INTEGER PRIMARY KEY AUTOINCREMENT 和 INTEGER PRIMARY KEY 区别

    INTEGER PRIMARY KEY AUTOINCREMENT 和 INTEGER PRIMARY KEY 区别转自网络 地址不可考 谢谢原作者 如有冒犯 立即删除 Sqlite 中 INTEGERPRIMA 和 rowid INTEGERPRIMA 的使用 nbsp 在用 sqlite 设计表时 每个表都有一个自己的整形 id 值作为主键 插入后能直接得到该主键 nbsp 因为 sqlite 内部本来就会为每个表加上一个 rowid 这个 rowid 可以当成一个隐含的字段使用 nbsp 但

    2025年9月2日
    0
  • CAN总线学习笔记(3)- CAN协议错误帧

    CAN总线学习笔记(3)- CAN协议错误帧依照瑞萨公司的《CAN入门书》的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成笔记。好记性不如烂笔头,加油!1错误帧的帧结构在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。错误帧由错误标志和错误界定符两个部分组成。主动错误标志:6个连续的显性位;被动错误标志:6个连续的隐性位;…

    2022年6月28日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号