摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图

2024-06-07 23:08

本文主要是介绍摄像头驱动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)。

image

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

  image image

  OV7725硬件电路

wps2CCD.tmp

  上图是OV7725的驱动电路,注意sclk和sdat要接4.7K的上拉电阻,这个是因为SCCB接口本质是I2C接口,其输出端是漏极开路或集电极开路,本身只能输出低电平,所以在两个接口处必须接上拉电阻,这一点注意,否则会造成通信不成功。

   I2C接口通过从机的唯一地址识别访问,可以实现对每一个器件的控制,这种传输方式,在标准模式下,可以达到100kbps,在快速模式下能达到400 kbps,高速下能达到3.4Mbps。

image

图1

image

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

  关于缩放功能,其中可以从VGA模式缩放到CIF模式,甚至低于CIF模式。

image

wpsA608.tmp

wpsA618.tmp

  上图是OV可以输出的格式。

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

image

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

image

image

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

wpsE213.tmp

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

wpsE224.tmp

wpsE225.tmp

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

image

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

image

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

wps1390.tmp

 

 

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

image

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

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

image不同帧格式的时序图

image

image

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

image

这篇关于摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040561

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1