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 电器特性和时序图的更多相关文章

  1. 摄像头驱动0V7725学习笔记连载(三):0V7725 SCCB时序的实现

    上一篇博客主要是讲解了关于需要配置的重要寄存器,那么接下来就是要通过SCCB接口实现对OV7725的配置.参考<OmniVision Serial Camera Control Bus (SCC ...

  2. 摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置

    上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接.输出一帧图像与输出时钟PCLK有关. 上图是OV7725实现的整体框架,有点丑.FPGA描述SCC ...

  3. 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址

    驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...

  4. Aurora学习笔记连载一:仿真平台搭建

    由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就 ...

  5. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图 代码工程地址: https://github.c ...

  6. USB学习笔记连载(十五):USB固件更新以及安装驱动

    前几篇博客已经把如何更改固件程序和更改USB驱动名称,那么接下来就要把之前生成的 .iic 文件烧录到EEPROM里面去,实现USB的C2启动(笔者使用的是此类型,C2启动). 打开Cypress U ...

  7. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  8. 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

    驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...

  9. 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

    驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...

随机推荐

  1. mysql trigger 触发器

    创建触发器: CREATE [DEFINER = {user|CURRENT_USER}] TRIGGER trigger_name trigger_time trigger_event ON tbl ...

  2. HTML5学习笔记(二十五):事件

    在浏览器或文档某个元素发生某个特定情况的瞬间,会作为一个事件进行广播,我们可以对其添加监听来处理特定的事件. 事件流 事件流描述了页面中接收事件的顺序. 整个事件流包含了三个阶段:事件捕获阶段.事件目 ...

  3. nodejs文件上传报错总结

    语法: fs.rename(oldPath,newPath,callback) 今天在使用formidable模块做图片上传处理的时候,fs.rename方法的报了一个这样的错:cross-devic ...

  4. Berkeley Packet Filter (BPF) BCC

    http://www.brendangregg.com/ebpf.html https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-b ...

  5. TCPConnectionTermination

    http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for- ...

  6. asp.net读取用户控件,自定义加载用户控件

    1.自定义加载用户控件 ceshi.aspx页面 <html> <body> <div id="divControls" runat="se ...

  7. LeetCode: Merge k Sorted Lists 解题报告

    Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...

  8. Unable to locate \.nuget\NuGet.exe 问题解决办法之一(转)

    问题出现的原因是项目下.nuget文件夹下NuGet.exe文件夹不存在导致的 解决办法: 1.右键编辑NuGet.targets文件 将下载NuGet.exe的配置节点DownloadNuGetEx ...

  9. [转]PowerDesigner表结构和字段大小写转换

    原文地址:https://blog.csdn.net/u010216641/article/details/48712503 ##PowerDesigner去除双引号## 平时经常用PowerDesi ...

  10. GridView“GridView1”激发了未处理的事件“RowDeleting”

    GridView“GridView1”激发了未处理的事件“RowDeleting”. 原因:1.模板列或者buttoncommand里的commandname=“Delete”,“Update”等关键 ...