
ov6620ov7670ov7620各自优点.docx
5页ov6620 与普通模拟摄像头需要 9~12V 供电不同,OV6620 仅需 5V 供电,因飞思卡尔智能车比赛提供的电池电压是 7.2~8.2V,所以用 OV6620 省去了做升压电路这一环节,仅仅需要做一个5V 供电就可以,可以采用 7805 芯片或 2940 芯片,电路简单OV6620 采用 PAL 制式(国内的普通电视机制式) ,每秒 25 帧,分辨率为 356*292,内部集成了 AD 转换模块和视频分离模块,省去了 1881 视频分离芯片当然,也可以当模拟摄像头来使用,比如调焦时,这时可以将视频信号端接至 OV6620 的 VTO 端即可OV6620 的优点:供电电压低,简化电路;内部集成 AD 和视频分离模块,简化电路,并且使得采集程序简单,采集质量高;视频信号转换在内部进行,减轻单片机负担OV6620 共有 32 个引脚,但我们真正能用到的不多我在做智能车时仅仅用到 13 个引脚,其他引脚并未使用,但是其他学校也有使用其他引脚的现在把常用的引脚列出来:Y0~Y7(数据输出端,接单片机 IO 口) 、VSYNC (场中断信号端) 、HREF(行中断信号端) 、VCC(接 5V) 、GND(接地) 、 VTO(接视频采集卡调焦) ,其他可能会使用到的引脚:PCLK(像素同步信号端) 、FODD(奇偶场信号端) 。
摄像头的工作原理在这里不在进行说明,但需要说明的是:因为 OV6620 场中断上升沿时间很短,单片机可能捕捉不到上升沿中断,所以判断 OV6620 一场是否开始选择使用下降沿判断;行中断使用上升沿判断,而且采集的有效点都是在上升沿范围内,下降沿则表示已经进入行消隐区,此时采集的都是废数据(在使用 OV6620 采集时都为 0X10) 利用这个可以通过测试判断一行所能采集到的有效点个数关于中断触发,行中断(HREF)接单片机的 T0 口,场中断(VSYNC)接单片机的 T1 口,保证图像采集不会被打断市场上提到可以应用在智能车上的摄像头,多如牛毛到底那一款最适合用在智能车上呢,这里 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 减小到 150KB2.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 个字节)输出的格式对于智能车竞赛,赛道是白底黑线,因此我们只关心图像的灰度值,并不是需要他们的彩色值。
由此看来,对于 OV7670,它只有一组数据口,默认输出RGB 彩色图像,对我们来说并不是想要的;而对于 OV7620,它有两组数据口,一组数据口输出的正是灰度值 Y,我们无需去管 UV 引脚输出的信号,只采集 Y口的数据,就能完美地体现出赛道的信息来对于全白的赛道背景,采集回来的数据是 255,对于黑色的赛道,采集回来的数据是 0,这样就能很好的区别开赛道与背景由此可以总结,OV7620 更适合做智能车摄像头1 什么是 P 制,什么是 N 制当前在智能车竞赛中,我们用到的摄像头,基本只有 2 种制式 P(PAL)制和 N(NTSC)制PAL 制式和 NTSC 制式有很多区别,其中最主要的两个区别就是 P 制标准的摄像头,每秒输出 25 帧图像;N 制标准的摄像头,每秒输出 30 帧图像智能车摄像头中的例子:PAL 制式摄像头:OV6620、sonyCCD、LG CCD OV5116 等NTSC 制式摄像头:OV7620、OV7640 等2 视频是如何形成的由于人眼看到的图像大于等于 24Hz 时人才不会觉得图像闪烁,所以 PAL 制式输出的图像是 25Hz,每秒钟有 25 幅画面,即每秒 25 帧;NTSC 制式的图像是 30Hz,每秒钟有30 副画面,即每秒 30 帧。
不同制式的摄像头,在这种规范下输出,人眼看到的图像也就形成了视频3 逐行扫描与隔行扫描所谓逐行扫描,即摄像头的像素自左向右、自上而下,一行紧接一行扫描输出(点击查看动态图);而隔行扫描,就是在每行扫描点数不变的前提下,将图像分成 2 场进行传送,这两场分别称为奇场和偶场奇数场传送 1、3、l 5、…奇数行;偶数场传送 2、4 、6、…偶数行(点击查看动态图)智能车摄像头中的例子:逐行扫描:OV6620、OV7640 等隔行扫描:OV7620 等4 什么是消隐信号消隐区的出现,在电视机原理上,是因为电子束结束一行扫描,从一行尾换到另一行头,期间的空闲期,这叫做行消隐信号;同理,从一场尾换到另一场尾,期间也会有空闲期,这叫做场消隐信号OV7620 数字摄像头是一款非常适合用在智能车寻迹的一款摄像头, 经过这么多届的历练,OV7620 越发显得稳定和成熟 OV7620 之所以为这么多人所采纳,原因是有几大优点:第一,OV7620 的电平兼容 3.3V 和 5V目前智能车用户用到的处理器基本上可以分为XS128 和 K60 两种控制器,而这两种控制器的工作电平分别是 5V 和 3.3VOV7620 可以完全适应这两种电平,XS128 和 K60 可以随性切换,无需做电平匹配。
第二,OV7620 的帧率是 60 帧/s新手学习摄像头的时候,误以为摄像头帧率越快越好,其实不然就拿 OV7620 来说,其 PCLK(像素中断)的周期是 73ns,该频率下的 PCLK 很容易被 K60 的 IO 捕捉,如果帧率更快的摄像头,其 PCLK 的周期就会更小,该频率下PCLK 不易被 K60 的 IO 捕捉到第三:OV7620 的分辨率也是非常合适的,在第三篇也提到 OV7620 是隔行扫描,采集VSYN 的话,其输出分辨率是 640*240如果改为 QVGA 格式,默认输出分辨率是320*120,该分辨率下非常适合采集赛道,数据容量有限又不会失真图像在分析了 OV7620 的几大优势以后,下面开始本篇重点:OV7620 时序分析对于 OV7620,我们只关心场中断信号 VSYN、行中断信号 HREF、像素中断信号 PCLK的波形用示波器去监控这三个波形,可以看到一下关系VSYN 的周期是 16.64ms,高电平时间为换场时间,约 80us;低电平时间内像素输出我们在采集 VSYN 脉冲时,既可以采集上升沿,也可以采集下降沿,采集下降沿更准确些,这也是一场的开始从 VSYN 的周期可以算出,1s/16.64ms=60 帧,OV7620 的帧率是60 帧/s。
HREF 的周期 63.6us,高电平时间为像素输出时间,约 47us;低电平时间为换行时间,因此采集 HREF 一定要采集其上升沿,下降沿后的数据是无效的从 HREF 的周期可以算出,16.64ms/63.6us≈261,除去期间的间隙时间,可以算出每场图像有 240 行PCLK 的周期是 73ns,高电平输出像素,低电平像素无效PCLK 是一直输出的,因此一定要在触发 VSYN 并且触发 HREF 以后,再去捕捉 PCLK 才能捕捉到像素数据从 PCLK的周期可以算出,47us/73ns≈640,可以算出每行图像中有 640 个像素点其实数字摄像头的时序非常简单,我们分析的目的也是为了从时序中得出摄像头的一些参数,至此,大家是不是对 OV7620 的时序以及 OV7620 的一些特点更加了解了呢。
