ov7740(摄像头模块)

输入信号: 自然景观等的模拟信号
输出信号: RGB、YUV格式的数字信号

1). 常用参数
输入信号: 自然景观等的模拟信号
输出信号:

输出格式为:RAW RGB、YUV
输出分辨率为:VGA(640*480)、QVGA(240*320)、CIF(352*288)、更小的任意大小

有效感光阵列的大小:656*488 = 320128(30W)
镜头的大小:1/5寸
像素点颗粒的大小: 4.2um * 4.2um
总结:
以上三个参数,都是用来描述感光阵列,即使同为30W像素的摄像头,如果它的
镜头尺寸大小越小,那么对应的像素点颗粒的大小就越小,从而感光性就越差,进而
拍摄的效果就越差。

输入时钟频率: 6~27MHz
即0V7740摄像头模组的工作频率范围。

扫描模式: 连续扫描(P)(一行一行,从左至右,从上至下),与之对应的还有一种隔行扫描(I)的概念

2). 内部数据的处理流程(可以查看ov7740芯片手册)
a.isc(image senser core)部分:(输出RAW RGB)
翻转、增益大小调整、黑电平校准、饱和度的控制、OTP(one time programmer)存储器(存储厂家ID、设备ID等信息)

b.isp(image senser processor)部分:
提供测试功能、镜头补偿功能、自动白平衡、RAW RGB->RGB、RGB->YUV、
窗口功能(图片裁剪)、缩小放大功能

c.ioi部分(image output interface):
RAW RGB/YUV(格式)、VGA/QVGA(分辨率)、BT601/BT656(传输方式)

问:以上这些处理过程,不需要我们人为的做任何设置,它们都能自动完成吗?
答:以上这些处理过程,只有极少部分是自动完成的,而剩余部分是需要我们设
置后,才能完成。

问:怎么对它们进行设置呢?
答:是通过IIC总线,操作OV7740的寄存器来进行设置的。

问:RAW RGB与RGB的区别是什么?
答:所谓的RAW RGB就是只有红绿蓝三种颜色的数据(其是由感光阵列输出的最初始数据,感光阵列就是一颗颗只能感应红绿蓝三色的传感器颗粒)。而RGB数据,它不仅只表示红绿蓝三种颜色,而且还能表示由红绿蓝组合成的任何一种颜色。

问:RGB、YUV又分别是什么?
答:RGB、YUV是两种完全不同的颜色空间,它们之间可以相互转换。

原理图(接口)
控制类:
IICSDA -- IIC总线的数据线
IICSCL -- IIC总线的时钟线

数据传输类:
CAMRST -- 复位CMOS摄像头模块
CAMCLK -- 摄像头模块工作的系统时钟(24MHz)
CAM_HREF -- 行同步信号
CAM_VSYNC -- 帧同步信号
CAM_PCLK -- 像素时钟
CAMDATA0~7-- 数据线

总结:
1.CMOS摄像头模块的接口分为两类:
(1).控制类
-- 初始化:对摄像头模块进行相应的初始化操作
,让摄像头模块能够正常的输出摄像头数据
-- 控制: 设置亮度、旋转、缩放等等的操作

(2).数据传输类: 与LCD的接口完全一样。

2.CMOS摄像头模块,是一个IIC设备,需要给它写符合IIC设备那套架构的
驱动,从而实现初始化和灵活的控制。

640*480、30fps、YUV、BT601(下面会来实现这些参数的CMOS应用程序,通过IIC来设置摄像头)

s3c2440摄像头控制器(CAMIF)

问:BT601与BT656的传输方式有什么区别?
答:BT601有独立的行同步信号线、帧同步信号线,而BT656是将这两种信号
内嵌到数据中的。

摄像头控制器接收到源数据后,最先通过一个窗口来截取图片,窗口的大小通过设置寄存器来设置,接着数据处理有两个分支:预览和编码;

预览通道俗称PIP(picture in picture),用于产生较小分辨率的图片,支持的最大分辨率是640*480,能对图片进行缩放和颜色空间转换(比如YUV->RGB),其有自己独有的的DMA通道(preview DMA),会把数据输出到指定内存,其只能输出RGB16或RGB24格式,能进行图片进行旋转90°的倍数;

编码通道支持的最大分辨率是4096*4096,能对图片进行缩放和编码(压缩),其有自己独有的的DMA通道(codec DMA),会把数据输出到指定内存,其只能输出YCbCr420或者YCbCr422格式,能进行图片进行旋转90°的倍数;

31、CMOS摄像头说明的更多相关文章

  1. 32、从零开始写CMOS摄像头驱动

    使用的内核:linux-3.4.2 参考源码:第32课_新内核下的I2C驱动\i2c\1th_i2c_new_device第2课第1.1.7节文档和图片(从0写USB摄像头)\myuvc 设备地址:写 ...

  2. CMOS 摄像头的Skipping 和 Binning 模式

    在通常的摄像头中,不同的resolution对应不同的帧率.想要提高帧率就要考虑是否需要缩小视野(FOV).若不希望视野缩小,就需要减少resolution. 常用的减少resolution的两种方式 ...

  3. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  4. CMOS Sensor的调试经验分享

    转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...

  5. 树莓派3 B+ 的摄像头简单使用(video-streamer)

    一.首先在某东上购买树莓派摄像头 我的买的硬件张这个样子的(CSI接口摄像头): 正视图                                                         ...

  6. CMOS Sensor的调试经验分享【转】

    转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...

  7. 基于iCamera测试模拟摄像头-TVP5150模块小结

    基于iCamera测试模拟摄像头-TVP5150模块小结 首先先认识下模拟摄像头,相信大家都不陌生, CCD模拟摄像头 CMOS模拟摄像头 可以看到,ccd摄像头电路较复杂,接口少,而cmos摄像头, ...

  8. 模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下!

    模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下! 咱们常用的摄像头,监控等,大多数都是AV信号,国内制式都是PAL,采用同轴,传输,这样的好处在于,传输距离可以很长 ...

  9. 二十四、V4L2框架主要结构体分析和虚拟摄像头驱动编写

    一.V4L2框架主要结构体分析 V4L2(video for linux version 2),是内核中视频设备的驱动框架,为上层访问视频设备提供统一接口. V4L2整体框架如下图: 图中主要包括两层 ...

随机推荐

  1. Kinect 开发 —— 近距离探测

    如何将Kinect设备作为一个近距离探测传感器.为了演示这一点,我们处理的场景可能在以前看到过.就是某一个人是否站在Kinect前面,在Kinect前面移动的是人还是什么其他的物体.当我们设置的触发器 ...

  2. AJAX与XMLHttpRequest

    XMLHttpRequest: 中文可以解释为可扩展超文本传输请求.Xml可扩展标记语言,Http超文本传输协议,Request请求.XMLHttpRequest对象可以在不向服务器提交整个页面的情况 ...

  3. CMDB学习之二数据采集

    首先也要调用插件的方式,来写采集数据插件,在src目录下创建一个插件 plugins ,然后在plugins下创建disk.py ,memory.py, network.py等等 src plugin ...

  4. 【习题 8-8 UVA - 1612】Guess

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] double千万不要用==判断相等... 而且两个保留2位有效数字的数字x,y 判断它们相等应该这样. int temp1 = ro ...

  5. js10---call方法总结

    <html> <body> <script type="text/javascript"> function Obj(x, y){ this.x ...

  6. 44.delete用法

    声明+delete:函数禁止使用.可以使一个类禁止释放

  7. C# Find() 与 FindAll()方法的使用

    Find()   :检索与指定匹配的第一个元素 FindAll()   : 检索与指定匹配的所有元素 如:List<string> strList=new List<string&g ...

  8. 免费的EmBitz可替代Keil MDK开发STM32、NXP项目

    一.背景 由于使用之前开发STM32是基于Keil MDK编译环境开发的,由于该软件是收费的,想用个免费开源的软件来替代Keil,EmBitz编译器是免费的,可以完全替代开发.下载程序支持J-Link ...

  9. Direct2D开发:向 MFC 项目添加 Direct2D 对象

    0X01 创建 MFC 应用程序: 在“文件”菜单上指向“新建”,然后单击“项目”. 在“新建项目”对话框左窗格的“已安装的模板”下,展开“Visual C++”,然后选择“MFC”. 在中间窗格中, ...

  10. windows程序生成目标平台与CLR运行执行过程

    C# 编译器提供一个选项, 该选项允许指定最终生成的程序集只能运行在32位windows版本的X86机器上使用, 只能在运行64位windows的X64机器上使用, 或者只能在32为windows R ...