【博文连载】OV7725寄存器介绍

首先介绍一下OV7725的寄存器。OV7725总共有172个寄存器,作为CMOS Sensor的工作模式的配置。而这172个寄存器,有些只读,有些则同时支持读写功能。在传感器正常工作工作前,必须进行寄存器的初始化,不然无法得到预期,更得不到较好画质的图像。而这172个寄存器,就是我们需要通过SCCB总线接口进行配置的目标。在实现SCCB总线协议的基础上,实现寄存器的配置,以保证预期模式图像的输出。当然这172个寄存器也并非都需要配置,很多寄存器都可以采用默认的值。

关于寄存器的配置,OmniVision给出了有关于OV7725模式配置的官方手册——《OV7725 Camera Module Software Application Notes》。手册包括了时钟、阵列的配置,夜间模式的配置,白平衡的配置等。相关模式的配置可以参照此手册,以保证初始化的正确。

由于OV7725寄存器的数据之多,同时每一个寄存器都包括了多个参数的设定,Bingo无法一一进行介绍。Bingo在此主要介绍跟视频图像流、采样画质、输出格式等比较重要的几个寄存器,如下表所示:

Bingo在开发OmniVision CMOS Sensor时,花了很长时间研究OV7725的寄存器,以及所需配置的寄存器。最终Bingo通过Verilog HDL模拟I2C时序,完成OV7725寄存器的初始化,实现预期模式的视频流输出。寄存的初始化并没有严格的顺序,不过Bingo一般会将重要的一些模式配置放在配置列表前,方便参数的修改。相关模式的设计可以参考《OV7725 Camera Module Software Application Notes》,Bingo也是在现有的基础上,进行一定的修正。

为此Bingo新建I2C_OV7725_RGB565_Config.v,作为OV7725的寄存器初始化列表。在I2C总线的寄存器配置时,通过寄存器列表的查找,完成参数的初始化。I2C_OV7725_RGB565_Config相关信号列表如下所示:

接着,介绍一下OV7725寄存器的配置流程。OV7725的寄存器读写配置,在SCCB总线时序的基础上,还具有一定的流程。通过器件地址、寄存器地址,以及寄存器等参数的配置,完成寄存器的读写操作。OV7725主要有读、写寄存器2种模式,详细介绍如下:

(1)    SCCB总线寄存器的写入时序

SCCB总线在写寄存器时,先写设备地址,再写寄存器地址,最后写入寄存器的值,完成一个寄存器的配置,即 ID-Address + SUB-Address + W-Data的流程,如下图所示:

Phase 1:CMOS Sensor的唯一ID地址。OmniVision相机的设备地址为0x42,而其中最后一位是用来判断读写的,即写的时候ID地址为0x42(读的时候ID地址为0x43)。

Phase 2:针对于SCCB总线的写操作而言,我们需要关心的是Sub-address,而这个地址就是传感器需要配置的寄存器的地址。

Phase 3:即针对Phase 2所指定的寄存器地址,传输所设定的寄存器数据。

(2)    SCCB总线寄存器读取时序

相对于SCCB总线的写入时序而言,SCCB总线的读取流程稍微复杂一点,步骤上需要写入两次设备ID,如下图所示:

Phase 1:CMOS Sensor的唯一ID地址,此时为寄存器读操作的写入部分,ID为0x42。

Phase 2:写入需要读取的寄存器地址,与SCCB的寄存器地址写入一样。

Phase 3:CMOS Sensor的唯一ID地址,此时为寄存器读操作的读取部分,ID为0x43(0位置高)。

Phase 4:读取CMOS Sensor发送的指定寄存器的值。

Okay,了解了OV7725的SCCB接口,及Bingo设计的i2c_timing_ctrl驱动模块,熟悉了OV7725的寄存器内容与配置方式,掌握了OV7725的寄存器配置流程,结合I2C_OV7725_RGB565_Config模块,与i2c_timing_ctrl模块,我们完成了OV7725的寄存器初始化。

 

(0)

相关推荐

  • OV7725学习之SCCB协议(一)

    OV7725摄像头只能作为从机,通过SCCB协议配置内置的172个寄存器.因此首先要了解的就是SCCB总线 1.SCCB协议简述 SCCB协议有两线也有三线,两线为SIO_C与SIO_D,三线为SIO ...

  • 【博文连载】OV7725 Sensor介绍

    好了,废话不再多说.经过了前面几个例程,LED的驱动显示应该不在话下,VGA其实真的只是固定行场时序扫描的问题,SDRAM可以站在巨人的肩膀上,我们已经完成了基本的视频图像采集流程.如果有办法在前面加 ...

  • 【博文连载】边缘检测算法介绍

    所谓边缘是指其周围像素灰度急剧变化的那些象素的集合,它是图像最基本的特征.边缘存在于目标.背景和区域之间,所以,它是图像分割所依赖的最重要的依据.由于边缘是位置的标志,对灰度的变化不敏感,,因此,边缘 ...

  • 【博文连载】中值滤波算法的介绍

    言归正传,我们先挑一个相对最简单的滤波算法(其实均值滤波更简单,但是它对边缘的保持太差,那就稍微努力点用中值滤波吧).进行中值滤波不仅可以去除孤点噪声,而且可以保持图像的边缘特性,不会使图像产生显著的 ...

  • 【博文连载】Cypress CY7C68013 介绍

    由于现在的ARM大部分都集成了USB接口,而FPGA由于纯逻辑电路(不要拿异构FPGA比如MPSOC等说事),想要用Verilog HDL设计一个USB2.0内核难度相当大,并且还需要一个PHY,因此 ...

  • 【博文连载】SCCB(I2C)初始化时序介绍

    在正式开始OV7725视频采集实现之前,Bingo不得不先讲解一下OV7725的寄存器配置接口.OV7725上电会默认输出YUV422格式的视频流,但我们希望传感器能够按照我们预期的模式工作,我们需要 ...

  • 【博文连载】USB Camera VIP Panel功能及使用介绍

    话说,每次开发摄像头的时候,旁边都得蹲一个笨笨的VGA显示器,如上图所示.被禁锢的思想,很使劲的努力却使不出劲来--由于很多朋友没有多余的显示器,或者空间不允许这样挥霍,那么我们就得做出一些改变了. ...

  • 【博文连载】VIP Mini开发板功能介绍 1

    如上图所示,VIP Mini开发板的安装示意图以及模块定义.主控采用了Altera Cyclone IV系列FPGA,该系列FPGA在Cyclone III FPGA基础上,Altera对体系结构和硅 ...

  • 【博文连载】ARM DynamlQ架构的power介绍 (1)

    ARM的处理器,在power架构,根据cluster的架构的变化而发生了变化. 一.big-little的power架构 如下图,是big-little的power 架构,整个cluster的所有组件 ...

  • 【博文连载】cadence indago征程(一)indago系列工具介绍

    indago工具,是cadence工具,推出的一系列debug工具.在启动simvision工具时,就会弹出一个窗口,里面就提到了indago工具. 这套工具,非常的强大,但是就是网上介绍的资料不多. ...