从零开始写CMOS摄像头驱动(一)

先给自己打个广告,本人的微信公众号正式上线了,搜索:张笑生的地盘,主要关注嵌入式软件开发,股票基金定投,足球等等,希望大家多多关注,有问题可以直接留言给我,一定尽心尽力回答大家的问题,二维码如下:
在这里插入图片描述

一 why

本篇文章主要以OV7740 cmos摄像头以及s3c2440芯片为例,介绍CMOS摄像头,以及SoC芯片内部CMOS控制器部分的基础知识。
最终需要实现的目的是,在LCD上实时显示摄像头采集到的数据

二 what

  1. 显示摄像头采集的基本流程
    自然景观 --> 摄像头模块 --> 接口 --> S3C2440摄像头控制器
  2. OV7740 cmos摄像头模块的组成
    a. lens镜头
    b. 普通马达
    c. sensor传感器OV7740
  3. 先介绍OV7740摄像头模块
    A. 工作原理以及基本参数
    输入信号: 自然景观模拟信号
    输出信号:输出格式为RAW RGB、YUV格式的数字信号,输出分辨率:VGA(640x480)、QVGA(240x320)、CIF(352x288)或者更小的大小,输出接口为BT601或者BT656
    有效感光阵列大小:656x488
    镜头大小:1/5寸
    像素点颗粒大小:4.2um x 4.2um
    其中有效感光阵列、镜头大小、像素点颗粒大小都是用来描述感光阵列的
    输入时钟:6~27MHz
    扫描模式:连续扫描§
    B. OV7740内部数据的处理流程
    阅读OV7740的数据手册,发现OV7740从内部硬件功能模块上主要分为如下三个部分:
    (1). ISC,image sensor core:翻转、增益大小调整、黑电平校准、饱和度控制、OTP存储器
    (2). ISP,image sensor process:提供测试功能、镜头补偿功能、自动白平衡、RAW RGB -> RGB、RGB -> YUV、窗口功能、缩放功能
    (3). IOI,image output interface:RAW RGB/YUV、VGA/QVGA、BT601/BT656
    那么,我们如何设置OV7740的这些功能呢?显然根据我们设置其他芯片的经验,OV7740必然有一个控制访问接口,我们的SoC芯片通过这个控制访问接口,对OV7740进行初始化设置,根据查看原理图或者数据手册可知,SoC芯片通过I2C总线来访问OV7740。
    设置好OV7740的工作模式之后,显然OV7740会有图像数据输出接口,通过这些接口将图像数据传输到SoC,OV7740支持BT601或者BT656接口传输数据。
  4. S3C2440摄像头CMOS控制器
    这部分内容在数据手册的第23章内容,这里不做详细介绍,只介绍一个粗略部分。
    显然,OV7740的输出信号通过BT601或者BT656接口送到了S3C2440,SoC需要支持这些接口,以及对这些数据做正确处理的功能。
    S3C2440支持BT601或者BT656接口输入,最大支持的分辨率是4096x4096,输入的数据格式必须是8bit YUV;内部图像处理模块支持预览和编码功能,所谓预览就是现实画中画,编码就是对采集到的数据进行编码操作。
    S3C2440每次处理完一帧图像之后,都会产生一个IRQ信号
  5. s3c2440和ov7740 模组之间的接口
    a. 控制类
    s3c2440通过I2C总线控制ov7740模组的初始化设置
    b. 数据传输类
CAMRST     --> 复位cmos摄像头模块
CAMCLK     --> 摄像头模块供祖宗的系统时钟(24MHz)
CAM_HREF   --> 行同步信号
CAM_VSYNC  --> 帧同步信号
CAM_PCLK   --> 像素时钟
CAMDATA0~7 --> 数据线
  1. 一些基础概念
    a. RAW RGB和RGB的区别是什么?
    RAW RGB就是只有红绿蓝三种颜色的数据,自然景观经过感光阵列输出后的数字信号就是RAW RGB(感光阵列只支持R、G、B三种)。
    而RGB数据不仅表示红绿蓝三种颜色,而且还能表示由红绿蓝组合成的任何一种颜色
    b. RGB和YUV分别是什么
    两者是完全不同的颜色空间,它们之间可以相互转换
    c. YCrCr420和YCbCr422的区别是什么?
    d. BT601/和BT656传送方式有什么区别
    BT601有独立的行同步信号线、帧同步信号线,而BT656是将这两种信号线内嵌到数据中的

三 how

本篇暂时不涉及如何去设置访问模组,只做基础知识介绍,想要知道如何写一个cmos摄像头的驱动,请参照接下来的文章

  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值