摄像头模块(OV7620为例)

摄像头模块

   CCD与CMOS传感器是被普遍采用的两种图像传感器,两者都是利用感光二极管(photodiode)进行光电转换,将图像转换为数字数据,而其主要差异是数字数据传送的方式不同。

 CCD:电荷藕合器件图像传感器CCD(Charge Coupled Device),它使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯片转换成数字信号,数字信号经过压缩以后由相机内部的闪速存储器或内置硬盘卡保存,因而可以轻而易举地把数据传输给计算机,并借助于计算机的处理手段,根据需要和想像来修改图像。CCD由许多感光单位组成,通常以百万像素为单位。当CCD表面受到光线照射时,每个感光单位会将电荷反映在组件上,所有的感光单位所产生的信号加在一起,就构成了一幅完整的画面。

 CMOS:互补性氧化金属半导体CMOS(Complementary Metal-Oxide Semiconductor)主要是利用硅和锗这两种元素所做成的半导体,使其在CMOS上共存着带N(带–电) 和 P(带+电)级的半导体,这两个互补效应所产生的电流即可被处理芯片纪录和解读成影像。然而,CMOS的缺点就是太容易出现杂点, 这主要是因为早期的设计使CMOS在处理快速变化的影像时,由于电流变化过于频繁而会产生过热的现象。

    CCD传感器在灵敏度、分辨率、噪声控制等方面都优于CMOS传感器,而CMOS传感器则具有低成本、低功耗、以及高整合度的特点。

    对于数码相机来说,影像感光器件成像的因素主要有两个方面:一是感光器件的面积;二是感光器件的色彩深度。感光器件面积越大,成像较大,相同条件下,能记录更多的图像细节,各像素间的干扰也小,成像质量越好。除了面积之外,感光器件还有一个重要指标,就是色彩深度,也就是色彩位,就是用多少位的二进制数字来记录三种原色。

    光学变焦:光学变焦英文名称为Optical Zoom,数码相机依靠光学镜头结构来实现变焦。数码相机的光学变焦方式与传统35mm相机差不多,就是通过镜片移动来放大与缩小需要拍摄的景物,光学变焦倍数越大,能拍摄的景物就越远。

 数字变焦:数字变焦也称为数码变焦,英文名称为Digital Zoom,数码变焦是通过数码相机内的处理器,把图片内的每个象素面积增大,从而达到放大目的。这种手法如同用图像处理软件把图片的面积改大,不过程序在数码相机内进行,把原来影像感应器上的一部份像素使用"插值"处理手段做放大,将影像感应器上的像素用插值算法将画面放大到整个画面。与光学变焦不同,数码变焦是在感光器件垂直方向向上的变化,而给人以变焦效果的。在感光器件上的面积越小,那么视觉上就会让用户只看见景物的局部。但是由于焦距没有变化,所以,图像质量是相对于正常情况下较差。通过数码变焦,拍摄的景物放大了,但它的清晰度会有一定程度的下降,所以数码变焦并没有太大的实际意义。

    自动白平衡:白平衡英文名称为White Balance。物体颜色会因投射光线颜色产生改变,在不同光线的场合下拍摄出的照片会有不同的色温。  白平衡就是无论环境光线如何,让数码相机默认“白色”,就是让他能认出白色,而平衡其他颜色在有色光线下的色调。颜色实质上就是对光线的解释,在正常光线下看起来是白颜色的东西在较暗的光线下看起来可能就不是白色,还有荧光灯下的"白"也是"非白"。对于这一切如果能调整白平衡,则在所得到的照片中就能正确地以"白"为基色来还原其他颜色。现在大多数的商用级数码相机均提供白平衡调节功能。正如前面提到的白平衡与周围光线密切相关,因而,启动白平衡功能时闪光灯的使用就要受到限制,否则环境光的变化会使得白平衡失效或干扰正常的白平衡。

 

 OV7602简介

OV7620是一个高度集成的高分辨率(640x480)数字隔行/逐行扫描CMOS彩色/ 黑白视频摄像头芯片。VGA与QVGA两种图像格式,最高像素为664×492,数据格式包括YUV、YCrCb、RGB三种,传输速率可以达到30帧每秒。

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

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

    常用的Camera数据输出格式:

    RGB格式,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。

16位摄像头中,经常使用RGB565和RGB555两种数据输出模式,其中RGB565使用16位表示一个像素,这16位中的5位用于R,6位用于G,5位用于B;RGB555是另一种16位的RGB格式,RGB分量都用5位表示(剩下的1位不用)。

 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是通过RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面—色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。  采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。

摄像头主要的采样格式有YCbCr 4:2:2(Y0 U0 Y1 V1 Y2 U2 Y3 V3 )、YCbCr 4:2:0(一行是4:2:0的话,下一行是4:0:2)、YCbCr 4:1:1(水平方向上对色度进行4:1抽样)和 YCbCr 4:4:4(三个分量信息完整)。

 

管脚信息:

数字信号输出Y0...Y7(亮度),

数字信号输出UV0...UV7(色度),

像素同步信号PCLK,

场中断信号VSYNC(每一帧的开始),

行中断信号HREF(每一行的开始),

SCCB读写引脚SCL、SDA(类I2C),

奇偶场信号FODD(隔行扫描),

芯片复位引脚RST,

模拟信号输出VTO(用于调试对焦),

电源引脚VCC(+5V)、GND

 

OV7620数据输出时序图(默认YUV模式):

参考数据读取示例代码:
   while(isVSYNdown);
   while(isVSYNup);
   while(isHREFup); 
   while(isHREFdown);
   for(j=0;j<640;j++)
   {
           while(isPCLKup);
           while(isPCLKdown);
           buffer[j]=PINB;
   }
 
以上程序是采集一行图像的代码。

你可能感兴趣的:(常用外围模块,图像处理,照片,buffer,算法,c,存储)