OV7670摄像头模块的使用

OV7670摄像头模块介绍

OV7670 CAMERACHIPTM 图像传感器,体积小、 工作电压低,提供单片 VGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率 8 位影响数据。该产 品 VGA 图像最高达到 30 帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过 SCCB 接口编程。OmmiVision 图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清 晰的稳定的彩色图像。
模块功能有:

1、高灵敏度适合低照度应用,低电压适合嵌入式应用 ;

2、标准的 SCCB 接口,兼容 I 2 C 接口;

3、RawRGB,RGB(GRB4:2:2,RGB565/555/444),YUV (4:2:2)和 YCbCr(4:2:2)输出格式;

4、支持 VGA,CIF和从 CIF 到 40x30 的各种尺寸;

5、VarioPixel 子采样方式;

6、ISP 具有消除噪声和坏点补偿功能;

7、支持闪光灯、 图像缩放;

8、50/60Hz 自动检测;

9、饱和度(UV 调整)、边缘增强、降噪自动调节,以及镜头失光补偿;

10、支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹、自动黑电平校准等自动控制功能。同时支持色饱和度、色相、伽马、锐度等设置;
功能框如图所示:
在这里插入图片描述

一、管脚定义

3V3——输入电源电压;GND——接地;

SIO_C——SCCB接口控制时钟(注意:部分低级单片机需要上拉控制,和I2C接口类似);

SIO_D——SCCB接口串行数据输入/出端(注意:部分低级单片机需要上拉控制,和I2C接口类似);

VSYNC——帧同步信号(输出信号);

HREF——行同步信号(输出信号);

PCLK——像素时钟(输出信号);

XCLCK——时钟信号(输入信号);

D0-D7——数据端口(输出信号);

RESTE——复位端口(正常使能拉高);

PWDN——功耗选择模式(正常使能拉低);

二、控制方式

1.SCCB通讯时序,作用是设置芯片内部寄存器,控制图像各种所需功能。
在这里插入图片描述
2.行输出时序,用于控制一行像素的输出情况,HREF即一行输出的开始和结束信号,同时在像素时钟同步下,输出8位像素信号。
在这里插入图片描述
3.全帧输出下的时序情况(以VGA为例),该图显示的是一幅图像输出情况下,各控制信号和数据信号的输出。图中,VGA=640X480大小情况下,帧同步信号,行同步信号(HREF或HSYNC,注:HSYNC在其它场合下使用,COMS可以设置,更多时候用HREF即可)。
在这里插入图片描述
4.采集图像的基本方法
(1)单片机直接采集
在这里插入图片描述
这种方法最简单,最直接,但是最不好实现的方法,原因是多数的CMOS芯片(如OV7670)的时钟速度可以高达24M,一般单片机的IO口速度根本达不到。当然,高级的MCU,如ARM9以上或者DSP图像处理芯片等,本身处理速度快,内存大而且有的还带有camera接口,可以直接使用,但人家价格也高啊~
不过也不是不是完全没有办法在低速上实现采集,方法也很简单,那么就是降低CMOS 的输出速度,不过这需要靠外部的晶振和内部的PLL 电路以及像素时钟速度,帧速等多个寄存器共同设置,并且要和MCU 的IO 速度匹配才可实现。但不建议这么做,原因是:这种寄存器设置将带来更多的学习困难和理解困难,并导致硬件图像的采集速度可能下降到0.5 帧以下,同时带来图像失真的可能。
注:部分CMOS 时钟速度不快,可以单片机直接采集,如OV7660,但该芯片已经停产。

(2)DMA方式的采集方法
这种方法一般需要具有DMA功能的16位以上的高级单片机来实现,通过DMA方式直接从总线或者IO口采集数据送入内存,内存中数据可以存储,计算,保留,或者供显示使用。

(3)间接采集并显示的方法
这种方法最容易实现,能够直接看到采集的图像内容。实现采集就显示功能,这种方法具有较高帧速,一般QVGA可保证在30帧左右速度。将CMOS输出的数据直接送到显示屏进行显示,数据不经过MCU,因此可达到较高的帧速。

猜你喜欢

转载自blog.csdn.net/qq_42250136/article/details/131808704