摄像头OV7670与OV7620对比

来源:互联网 发布:dlp数据加密技术 编辑:程序博客网 时间:2024/04/28 16:26

ov7725代码编程 使用
淘宝一:7725
资料:淘盘资料下载:https://pan.baidu.com/s/1kVLrcHp
淘宝购买

淘宝二:7670
资料:http://pan.baidu.com/s/1sj8Q6Pv
淘宝购买

ov7620 代码编程 使用
淘宝三:7620
购买链接
带不带,fifo自己问客服。
如今,市场上提到可以应用在智能车上的摄像头,多如牛毛。到底那一款最适合用在智能车上呢,这里DEMOK选取了2款典型的摄像头OV7670与OV7620,从其特性和性能等角度,剖析摄像头的特点,为大家揭开迷雾。
我们开门见山,先讲其最主要的不同点。我们都知道,OV7670和OV7620都是彩色摄像头,其感光像素为640*480的数字摄像头。他们之间有很多相似的参数,但是最大的不同就是,OV7670的像素输出格式为RGB565,而OV7620的像素输出格式为YUV422,这个不同点直接决定了其在智能车摄像头中的地位。在继续进行分析之前,我们先了解一点摄像头的小知识。

【摄像头小知识】RGB565与YUV422的区别
1.什么是RGB565
众所周知,RGB是组成彩色的三基色,要想显示一个像素的颜色,每个像素都需要3个BYTE数据的R、G、B来表示,那一副320*240的彩色图像,就需要320*240*3=230400B=225KB的数据来存储,这样看来,存储图像的空间开销是极大的。而在一个像素RGB中,G分量的比重是最大的,R和B的比重相对小一些,因此人们又想出了用R:G:B=5:6:5的比例关系,来表示一个像素,这样一来,一个像素仅仅需要2个BYTE就可以表示其彩色信息(这个2个BYTE中,R占5bit,G占6bit,B占5bit),320*240的彩色图像的存储空间也由225KB减小到150KB。
2.RGB565是怎么存储的
摄像头的数据是在每一个PCLK的上升沿去读取的。若摄像头默认输出的格式为RGB565,那么摄像头在上电之后,每触发2个PCLK,读取2个字节,才是一个像素。在这个像素中,RGB的分布如下图所示:在第一个字节(First BYTE)中,Y[7..3]为R[4..0],Y[2..0]为G[5..3];在第二个字节(Second BYTE)中,Y[7..5]为G[2..0],Y[4..0]为B[4..0]
2.什么是YUV4:2:2
人的眼睛对低频信号比对高频信号具有更高的敏感度,事实上,人的眼睛对明视度的改变比对色彩的改变要敏感的多。因此,人们将RGB三色信号改为YUV来表示,其中Y为灰度,UV为色差。如果是表示一副彩色图像,同样的道理,YUV444是无损的存储方式,但是需要3个字节,存储空间开销很大。由于Y分量比UV分量重要的多,因此人们用YUV422来表示。这样一来图像被压缩了很多,一个字节就可以表示其彩色的信息。

回归到OV7670和OV7620的对比中来。
刚才从小知识中,了解到OV7670是RGB输出,而OV7620是YUV输出,虽然理论上明白了,但是大家可能还不知道实际对应摄像头是怎么输出的。
对于OV7670,由于它只有一组并行的数据口Y[7:0],所有的像素数据都从这个数据口出,因此每次读取一次数据口,可以读一个字节(BYTE)。下图给出了k个像素(2K个字节)输出的格式。
对于OV7620,它有2组并行的数据口Y[7..0]和UV[7..0],其中对于数据口Y[7..0],输出的是灰度值Y,对于UV[7..0]输出的色度信号UV。下图给出了k个像素(K个字节)输出的格式。
上面2个图已经非常明了的说明了两者输出格式的不同,现在对其优劣性做一下总结。
对于智能车竞赛,赛道是白底黑线,因此我们只关心图像的灰度值,并不是需要他们的彩色值。由此看来,对于OV7670,它只有一组数据口,默认输出RGB彩色图像,对我们来说并不是想要的;而对于OV7620,它有两组数据口,一组数据口输出的正是灰度值Y,我们无需去管UV引脚输出的信号,只采集Y口的数据,就能完美地体现出赛道的信息来。对于全白的赛道背景,采集回来的数据是255,对于黑色的赛道,采集回来的数据是0,这样就能很好的区别开赛道与背景。
由此可以总结,OV7620更适合做智能车摄像头。


不带FIFO的摄像头和带FIFO摄像头的区别:

带FIFO的摄像头比不带的多了个3M的缓存,可将采集的数据暂存在这个缓存中,使用时读取缓存中的图像数据即可,因此可减少对单片机采集图像数据时对MCU速度的要求。(例程以RGB565方式存放图像数据)
CMOS摄像头相比其它传感器而言,有难度,涉及东西较多,请在购买和使用前,多做评估和调研,再行决定
OV7670 FIFO摄像头,将图像传感器和图像缓冲器件AL422B有机结合,解决了低端单片机图像采集的速度瓶颈问题。基本使用原理如图:
用户只需要按上图中fifo读取数据的时序,控制相关的引脚,可以直接由MCU的IO口读取数据后,将数据放入内存或者送入屏内存显示,可以由低速MCU操作控制,并可对数据进行简单处理,如黑白识别等。
FIFO摄像头出厂前检测,目的是保证质量,以防止出现问题给双方带来各种麻烦。
OV7670带FIFO模块介绍
1.简介:
OV7670带FIFO模块,是针对慢速的MCU能够实现图像采集控制推出的带有缓冲存储空间的一种模块。这种模块增加了一个FIFO(先进先出)存储芯片,同样包含30w像素的CMOS图像感光芯片,3.6mm焦距的镜头和镜头座,板载CMOS芯片所需要的各种不同电源(电源要求详见芯片的数据文件),板子同时引出控制管脚和数据管脚,方便操作和使用。

如图,控制传感器所需的管脚定义如下:
这里写图片描述

3V3—–输入电源电压(推荐使用3.3,5V也可,但不推荐)

GDN—–接地点

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

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

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

HREF—-行同步信号(输出信号,一般可以不适用,特殊情况使用)

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

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

PWDN—-功耗选择模式(正常使用拉低)

STROBE—拍照闪光控制端口(正常使用可以不需要)

FIFO_RCK—FIFO内存读取时钟控制端

FIFO_WR_CTR—-FIFO写控制端(1为允许CMOS写入到FIFO,0为禁止)

FIFO_OE—-FIFO关断控制

FIFO_WRST—FIFO写指针复位端

FIFO_RRST—FIFO读指针复位端

3.控制方式说明

由于采用了FIFO 做为数据缓冲,数据采集大大简便,用户只需要关心是如何读取即可,不需要关心具体数据是如何采集到的,这样可减小甚至不用关心CMOS的控制以及时序关系,就能够实现图像的采集。
这里写图片描述
这里写图片描述