ov7740硬件原理
一.OV7740常用参数
输入信号:自然景观等模拟信号
输出信号:RAW RGB,RGB,YUV格式的数字信号
1.RAW RGB与RGB的区别是什么?
RAW RGB就是只有红绿蓝三种颜色的数据,而RGB可以表示红绿蓝组合而成的任何一种颜色。
2.RGB YUV是什么?
两种不同的颜色空间,可以进行相互转换,转换公式为
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
由芯片手册可知,输出分辨率为:VGA(640x480),QVGA(2400x320),CIF(352x288),或者更小的大小
- 有效感光阵列大小:656 * 488 = 320128
- 镜头大小1/5寸
- 像素点颗粒的大小(pixel size): 4.2um * 4.2um
以上三个参数,都是用来描述感光阵列,即使同为30W像素的摄像头,如果它的镜头尺寸大小越小,那么对应的像素点颗粒的大小就越小,从而感光性就越差,进而拍摄的效果就越差。
- 输入时钟频率6~27Mhz,即0V7740摄像头模组的工作频率范围。
- 扫描模式:连续扫描
二.OV7740的内部处理过程
从图中我们可以看出数据处理流程主要分为三个部分:
2.1 isc
图像翻转,增益大小控制,黑电平校准,饱和度控制,OTP存储器
2.2 isp
提供测试功能(将第一部分采集到的数据屏蔽掉),镜头补偿功能,自动白平衡功能,颜色空间转换功能(RAW RGB->RGB、RGB->YUV),窗口功能(将原始部分进行裁剪),缩小放大功能
2.3 ioi 图像输出接口
觉得摄像头输出什么格式的数据(RAW RGB/YUV),图片大小(VGA/QVGA),数据传输(BT601/BT656),BT601有独立的行同步信号线、帧同步信号线,而BT656是将这两种信号 内嵌到数据中的。
以上这些处理过程,只有极少部分是自动完成的,而剩余部分是需要我们设置后才能完成。通过IIC总线,操作OV7740的寄存器来进行设置
控制类:
IICSDA IIC总线数据线
IICSCL IIC总线时钟线
数据传输类:
CAMRST 复位CMOS摄像头模块
CAMCLK 摄像头模块工作的系统时钟(24MHZ)
CAM_VSYNC -- 帧同步信号
CAM_PCLK -- 像素时钟
CAMDATA0~7-- 数据线
总结:CMOS摄像头模块的接口分为两个部分
(1)控制类:
初始化:对摄像头进行相应的初始化操作,让摄像头模块正常输出摄像头数据
控制:设置亮度,旋转,缩放等等的操作
(2)数据传输类:与LCD接口完全一样
2.CMOS摄像头模块本身就是一个IIC设备,需要符合IIC驱动框架,从而实现初始化和灵活的控制
640*480 30fps,YUV(输出格式),BT601
将缓存中的数据拷贝到LCD的显存就可以在LCD上显示摄像头数据了
每采取到一帧数据就可以进入一次中断处理函数,可以在中断处理函数中读取摄像头数据
本文使用 mdnice 排版