摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图
OV(豪威科技)已经被中国财团收购。这个昔日的大佬,最终走下神坛。
关于OVsensor的资料包括,OV7725的简介(OmniVsion_OV7725),OV7725的数据手册(OV7725_Datasheet),OV7725 SCCB的接口时序(OmniVision Serial Camera Control Bus (SCCB)
Functional Specification),OV7725 寄存器配置手册(OV7725 Camera Module Software Application Note)。

淘宝上买的一款摄像头如下:

OV7725硬件电路

上图是OV7725的驱动电路,注意sclk和sdat要接4.7K的上拉电阻,这个是因为SCCB接口本质是I2C接口,其输出端是漏极开路或集电极开路,本身只能输出低电平,所以在两个接口处必须接上拉电阻,这一点注意,否则会造成通信不成功。
I2C接口通过从机的唯一地址识别访问,可以实现对每一个器件的控制,这种传输方式,在标准模式下,可以达到100kbps,在快速模式下能达到400 kbps,高速下能达到3.4Mbps。

图1

图1主要是OV7725的内部结构,主要是由XCLK驱动时钟进行图像数据的采样。SCL和SDA是 SCCB的接口,其他接口是OV输出的信号,包括HREF,PCLK,VSYNC,还有就是数据输出接口,一共10bit。注意在DSP模块中,可以实现,镜头阴影校正,降噪,白/黑像素校正,自动白平衡等。
关于缩放功能,其中可以从VGA模式缩放到CIF模式,甚至低于CIF模式。



上图是OV可以输出的格式。
OV7725在VGA模式 下可以达到60fps。可以通过SCCB接口,实际上也就是类似于I2C接口,进行白平衡,gama,色彩校正,曝光控制,色调控制等。通过图1也可以看出相关架构。

上图是OV7725的引脚图。其中用到的引脚如下图所示:


通过上图也可以看出,对于RAW RGB数据输出10bit,若是对于其他格式的输出为8bit,取D输出的高8bit。

上图是OV的电气特性,模拟电源典型值为3.3V,数字电压典型值为1.8V,IO接口电压可以按3.3V。


上图中,驱动时钟需要24MHz,SCCB接口的时钟最高为400KHz。还需要注意一点的是对于每一个寄存器的改变,需要最大300ms时间的延迟,也就是10帧。

上图是SCCB接口的时序图,也是实现各种寄存器配置的时序图,其中SCL的时钟要求不能 超过400KHz。

RGB565格式的输出的拼接示意图。

RGB555格式的输出的拼接示意图。

上图是实现了伴随着PCLK时钟频率,在HREF有效情况下,输出数据。并实现数据的拼接。上图是对应于数据拼接示意图,实现RGB565/RGB555/RGB传输。
RGB444格式的输出的拼接示意图。
不同帧格式的时序图


注意,上述输出一帧图像时PCLK的输出时钟,在OV7725 寄存器配置手册(OV7725 Camera Module Software Application Note)中有提及,如下图所示:

摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图的更多相关文章
- 摄像头驱动0V7725学习笔记连载(三):0V7725 SCCB时序的实现
上一篇博客主要是讲解了关于需要配置的重要寄存器,那么接下来就是要通过SCCB接口实现对OV7725的配置.参考<OmniVision Serial Camera Control Bus (SCC ...
- 摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接.输出一帧图像与输出时钟PCLK有关. 上图是OV7725实现的整体框架,有点丑.FPGA描述SCC ...
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...
- Aurora学习笔记连载一:仿真平台搭建
由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图 代码工程地址: https://github.c ...
- USB学习笔记连载(十五):USB固件更新以及安装驱动
前几篇博客已经把如何更改固件程序和更改USB驱动名称,那么接下来就要把之前生成的 .iic 文件烧录到EEPROM里面去,实现USB的C2启动(笔者使用的是此类型,C2启动). 打开Cypress U ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
- 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇
驱动开发读书笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...
- 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...
随机推荐
- [na]ip数据包格式
IP Datagram Structure 字段名 解释 版本 IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6. 首部长度 IP报头的长度.固定部分的长度(20字节)和可变部分的长 ...
- 【Unity】7.4 游戏外设输入
分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 Unity可以处理摇杆.游戏手柄.方向盘等标准游戏外设的输入,使用的方法如下图所示: 虚拟按键需要在输入管理器中配置,把 ...
- 使用Karma、Mocha实现vue单元测试
Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner).该工具在Vue中的主要作用是将项目运行在各种主流Web浏览器进行测试.换句话说,它是 ...
- redis-cli 连接远程服务器
# redis-cli -h 10.11.09.10 -p 6379 #注意空格
- [AWS vs Azure] 云计算里AWS和Azure的探究(2)
Amazon EC2是Elastic Compute Cloud的简称,翻译成中文就是弹性计算云.它是Amazon云里面最基础的内容,也是发展到今天最成熟的部分,通过EC2, 你可以在Amazon的云 ...
- matlab问题集总
每次更新一点,慢慢增加 nargin nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能.通常可以用他来设定一些默认值,如下面的函数. 例子,函数test1的功能是输出a ...
- 使用JPush(极光推送)实现远程通知
使用JPush(极光推送)实现远程通知 远程推送是APP 必备的功能, 现在第三方的 SDK 已经做的非常完备了, 在 iOS10.0出来之后, 极光推送也及时更新了他的 SDK, 今天小试了一下效果 ...
- (原)docker的一个“Driver aufs failed to remove...”问题的解决
1. /var/lib/docker/aufs/mnt下的目录不能乱删! /var/lib/docker/aufs/diff下的目录删了就死了!!!!!2. 尽量不要用docker tag -f 这 ...
- Android中XML文件的序列化生成与解析
xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较 ...
- 【内核】linux2.6版本内核编译配置选项(二)
目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http ...