OV7620使用简介

前言

这里我们使用的摄像头是数字摄像头OV7620(购买于DEMOK,尽管本人认为DEMOK的技术并不是特别好),相比于以前的模拟摄像头,数字摄像头对于硬件的要求会相对少一点,不用进行信号的分离,但是数字摄像头对于单片机的速度要求较高,要实现图像的采集也是比较困难的一件事情,特别是时序上的处理,一般要经过分频、DMA、FIFO等处理来简化数据的采集。

调焦与焦距

在使用测量头之前要确认摄像头在硬件上是否完好,接着可以进行调焦。谈及调焦就要谈及焦距。由以前所学过的物理知识,光通过凸透镜将会聚于一点,这一点就是焦距,同时图像在这里所成的像也是最清晰的,所以我们调焦的目的就是要使OV7620这一Sensor处于焦距处,来拍摄到最令人满意的图像。

根据镜头的焦距不同,有3.6mm焦距、2.8mm焦距、2.5mm焦距、1.8mm焦距,分为广角镜头、超广角镜头、标准镜头、(中)长焦镜头、微距镜头等。对应的角度有100度(3.6mm),120度(2.8mm),150度(2.5mm),170度(1.8mm),170度(2.1mm)。当镜头的角度越大时,得到的图像畸变将越厉害,会造成采集的图像有较为严重的桶形效应(具体解释参见《桶形畸变与枕形畸变》),要进行图像处理时,要对采集到的图像进行一定的处理,得到较为不失真的图像。镜头的尺寸有多种多样,可以根据自己的实际需要进行选择,有较大的灵活性。

而进行调焦时,我们一般会使用视频采集卡,或是小电视来进行,这里使用的是摄像头的模拟输出端对于OV7620而言就是VTO引脚的输出,只需要两根线,一根是GND、一根是VTO分别与视频采集卡或是小电视相连接就可以实现图像的显示,而后再调整镜头,直到调节到有最清晰的图像输出,这里再用小螺丝来进行固定即可。而要进行调焦的目的也是十分明确的,只有经过了调焦,才能采集到清晰的图像,图像越是清晰,处理起来也将越是简单。

硬件检测

在判断摄像头是否是正常的,可以直接通电进行引脚波形的观察(具体的使用还是虽然对摄像头传感器芯片内部的寄存器进行操作,来达到更好的图像采集的效果。)主要进行观察的引脚有Y[0..7](数据引脚)、HREF(行中断)、VSYN(场中断)。如果这向个引脚的波形是正常的(正常波形如下三图所示),则可以判定这个摄像头是可以使用的。

 

此外还有几个引脚在这里没用到:PCLK(像素中断信号,每个周期都会输出一个像素点,频率在MHz级别)、FOOD(奇偶场中断信号,频率是场中断信号的一半,上升沿和下降沿分别表示奇、偶场)。

电气连接

对于DEMOK的OV7620而言,所参数是5V供电,输出为5V与3.3V兼容。

DEMOK OV7620引脚定义

虽然说IO兼容3.3V与5V,但其实这是一个很主观的事情,因为3.3V的输入对于5V单片机而言,也是会被认为是高电平的,采用数字口(相对于AD口)输入读取数据的话,也是会1的,所以只要输出是3.3V,就可以认为与5V单片机相兼容了。

而一般需要进行电气连接的有SDA、SCL(类似于I2C的OV公司规定的SCCB通信协议,用于对摄像头进行初始化、寄存器操作)。HREF、VSYNC、Y[7..0]。PCLK频率太高,现在单片机的速度还不足以来处理这么快的频率的输入。而FOOD在这里也不进行使用,因为为了更新多的获得数据,我们使用的时VSYNC场信号,可以得到60帧的图像进行处理。

对于智能车而言,现在使用的单片机有XS128与K60,对于XS128而言,最高的总线速度为25MHz,速度较慢还不足以来处理PCLK信号,可以通过指令执行的时间与像素PCLK周期相近来进行采集,也可以使用FIFO来进行不同步时钟的匹配。对于K60而言,由于有DMA,所以可以利用PCLK信号,采集起来也相对于XS128来得方便,占用CPU资源更少。

图像采集完成后只是完成了一小步而已,如果要得到更好的效果,必须对摄像头进行更为深入的研究,也可以自己尝试写SCCB寄存器来得到更好的采集图像的效果。当然这一部分是比较花费时间以及精力的,在学有余力时再时行这样的探究会更好。

未经允许不得转载:TacuLee » OV7620使用简介

赞 (1)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址