ov7620怎么接线_ov7620硬件连接

电子说

1.3w人已加入

描述

  OV7620简介

  ov7620是一款CMOS摄像头器件,是彩色CMOS型图像采集集成芯片,提供高性能的单一小体积封装,该器件分辨率可以达到640X480,传输速率可以达到30帧。

  OV7620是1/3”CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664×492,帧速率为30fps;数据格式包括YUV、YCrCb、RGB三种,能够满足一般图像采集系统的要求。
 

  OV7620基本参数

  大小:33x27x24(mm)

  电源:DC+5V±5%

  扫描方式:逐行/隔行扫描

  最低照度:2.5luxatf1.4(3000k)

  信噪比:》48dB

  最大像素:(H)664x(V)492;缺省有效像素:(H)640x(V)480

  数据输出格式:

  YCrCb16bit/8bitselectable

  60Hz16BitYCrCb4:2:2-640x480

  60Hz8BitYCrCb4:2:2-640x480

  RGBRawDataDigitalOutput16Bit/8Bitselectable

  CCIR601,CCIR656,ZV端口:支持8/16位视频数据

  SCCB接口:最大速率支持400kBit/s

  YCrCB或YUV输出格式:支持TV或监视器显示

  ov7620硬件结构

  OV7620是CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664×492,帧速率为30fp8;数据格式包括YUV、YCrCb、RGB三种,能够满足一般图像采集系统的要求。

  OV7620内部可编程功能寄存器的设置有上电模式和SCCB编程模式。本系统采用SCCB编程模式,连续扫描,16位RGB数据输出。系统硬件结构框图如图1所示。

OV7620

  ARM芯片选用具有ARM7TDMI内核的LPC2210,通过LPC2210的GPIO模拟SCCB总线协议,控制OV7620的功能寄存器。使用LPC2210的3个中断引脚引入OV7620的图像输出同步信号VSYNC、HSYNC、PCLK,以中断方式同步图像数据输出。OV7620的YUV通道输出的16位并行数据通过LPC2210的高16位数据线接入。

  SST39VF160和IS61LV25616AL为扩展的Flash和SRAM,分别用作程序存储器和数据存储器。

  ov7620的具体实现

  1、OV7620的功能控制

  OV7620的控制采用SCCB(SeriaICameraControlBus)协议。SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’tcare和NA。Don’tcare位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’tcare响应信号。

  由于I2C和SCCB的一些细微差别,所以采用GPIO模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。

  OV7620功能寄存器的地址为0x00~0x7C(其中,不少是保留寄存器)。通过设置相应的寄存器,可以使OV7620工作于不同的模式。例如,设置OV7620为连续扫描、RGB原始数据16位输出方式,需要进行如下设置:

  I2CSendByte()为写寄存器函数,它的第1个参数OV7620为宏定义的芯片地址0x42,第2个参数为片内寄存器地址,第3个参数为相应的寄存器设定值。

  2、OV7620时钟同步

  OV7620有4个同步信号:VSYNC(垂直同步信号)、FODD(奇数场同步信号)、HSYNC(水平同步信号)和PCLK(像素同步信号)。当采用连续扫描方式时,只使用VSYNC和HSYNC、PCLK三个同步信号,如图l所示。时为检测OV7620扫描窗口的有效大小,还引入了HREF水平参考信号。

  LPC2210的3个外部中断引脚分别作为3个同步信号的输入,相应的中断服务程序分别为Vsync_IRQ()、Hsync_IRQ()和Pclk_IRQ()。在内存中定义一个二维数组存储图像数据,一维用变量y表示,用于水平同步信号计数;二维用变量x表示,用于像素同步信号计数。图像采集的基本流程为:当用SCCB初始化好OV7620后,使能VSYNC对应的中断,在Vsync_IRQ()中断服务程序中判断是否已取得一帧数据。若是,则在主程序的循环体中进行数据处理;若不是,则使能HSYNC对应的中断,并将y置为O。在Hsync_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则y加1,x置为O,并使能PCLK对应的中断。在Pclk_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则z增加,同时采集一个像素点的图像数据。

  3、图像数据的输出速度匹配

  在OV7620的3个同步信号中,PCLK的周期最短。当OV7620使用27MHz的系统时钟时,默认的PCLK的周期为74ns。而LPC2210的中断响应时间远远大于这个值。LPC2210的最大中断延迟时问为27个处理器指令周期,最小延迟时问为4个指令周期,再加上中断服务时间、现场恢复时间等,完成一次中断响应的时问要大于7~30个指令周期。当LPC2210使用最高系统频率60MHz时,它的中断响应时间远大于O.2~0,6μs,所以只能将OV7620的PCLK降频。通过设置时钟频率控制寄存器,可将PCLK的周期设为4μs左右。

  4、图像数据的接入

  当OV7620工作于主设备方式时,它的YUV通道将连续不断地向总线上输出数据。如果将OV7620的YUV通道直接接在LPC2210的DO~D15数据总线上,则会干扰数据总线,使LPC2210不能正常运行;如果使用74HC244等隔离,分时使用数据总线的方法,则会大大降低系统的运行速度,使得LPC2210不能及时取走总线上的数据,造成图像数据不完整。由于LPC2210的数据总线宽度为32位,而Flash和SRAM仅占用了低16位数据线D0~D15,困此可以采用图l中的方法,将空闲的高16位数据线D16~D31设为GPIO,用于采集OV7620输出的16位图像数据。

  5、图像数据的恢复

  OV7620采用16位输出方式时,Y通道和UV通道的数据输出格式如表l所列。从表l中可以看出,每一行Y通道和UV通道交替输出上一行的重复数据和本行的新数据。而在一行之内,B数据只在奇数列出现,R数据只在偶数列出现。

  下面以一个5×5的像素点阵为例,详细介绍图像数据的恢复。

  首先定义一个5×15的字节型数组,在Pclk_IRQ()中断服务程序中读取5×5个像素点的图像数据;然后对图像数据进行插值,奇数点则在数组的连续3个字节中存入B、G、0,偶数点则存入O、G、R;最后对当前行的每一个字节与下一行对应列的每一个字节求平均值,即可算出当前行的RGB值。而在每一行内,奇数点的R数据和偶数点的B数据可通过分别对其两侧的2个点的R和B数据求平均值得到。

  这样,一幅图像就恢复好了。可以直接存成二进制文件(本系统采用串口输出到PC进行显示),或者增加BMP位图文件头信息,存成biBitCouNt=24的DIB位图文件;也可用LPC2210对此图像数据进行进一步的处理,如指纹识别等。

  Ov7620硬件连接

  Ov7620共有16个引脚

  下面具体说说他们的含义

  灰度信号输出接口 Y0-Y7

  SCCB数据接口 SDA

  SCCB数据时钟 SCL

  行中断信号 HREF

  场中断信号 VSYN

  工作电压 5V vcc

  像素同步信号 PCLK(也叫 TCLK)

  工作电压 0V

  模拟信号输出接口 VTO

  这16个引脚中,你需要把”工作电压 5V”接电源的正,”工作电压 0V”接电源的地。这个一定不能反!!否则烧掉摄像头!然后把模拟信号输出接口 VTO和电源的地两根线接到电视上,可以用莲花头,或者是随便2根线接到电视的视频输入上就可以。这个时候电视就能出图像了。

  这里仅说明可能需要用到的管脚,模拟摄像头无非也就这几个信号,重要的是,模拟摄像头的信号线需要分离,这当然会给图像的采集带来本可以避免的干扰。

  其他不同的摄像头也有类似引脚都是一样的。 下面是硬件连接:

  1.注意行场中断如果接对了,系统板上的第一个小灯会每秒闪烁一次。

OV7620

  2.摄像头的vcc接5v电,gnd接地 ,千万别接错了!

  3.核心板引线ps0 接到usb转串口器上的rxd 还有一根是公地线。 好了,可以看到图像了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分