*一、手机Camera的物理结构
    [[文件:GD05 SWV 002 003 003 001.png]]
     
*二、Camera的成像原理
    景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。

[[文件:GD05 SWV 002 003 003 002.png]]

图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。目前的 SENSOR 类型有两种:
    CCD(Charge Couple Device),电荷耦合器件,它是目前高像素类 sensor 中比较成熟的成像器件,是以一行为单位的电流信号。
    CMOS(Complementary Metal Oxide Semiconductor),互补金属氧化物半导体。CMOS的信号是以点为单位的电荷信号,更为敏感,速度也更快,更为省电。
    ISP 的性能是决定影像流畅的关键,JPEG encoder 的性能也是关键指标之一。而 JPEG encoder 又分为硬件 JPEG 压缩方式,和软件 RGB 压缩方式。
    DSP 控制芯片的作用是:将感光芯片获取的数据及时快速地传到 baseband 中并刷新感光芯片,因此控制芯片的好坏,直接决定画面品质(比如色彩饱和度、清晰度)与流畅度。

*三、Camera 常见的数据输出格式
常见的数据输出格式有:Rawdata 格式、YUV 格式、RGB 格式。
    RGB 格式:采用这种编码方法,每种颜色都可用三个变量来表示红色、绿色以及蓝色的强度。每一个像素有三原色 R 红色、G 绿色、B 蓝色组成。
    YUV 格式:其中“Y”表示明亮度(Luminance 或 Luma),就是灰阶值;而“U”和“V”表示色度(Chrominance 或 Chroma),是描述影像色彩及饱和度,用于指定像素的颜色。
    RAW DATA 格式:是 CCD 或 CMOS 在将光信号转换为电信号时的电平高低的原始记录,单纯地将没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。
    支持 YUV/RGB 格式的模组,一般会在模组上集成 ISP(Image Single Processor),经过A/D 转换过的原始数据经过 ISP 处理生成 YUV 标准格式传到 BB。一般来说,这种设计适用于低像素 Camera 的要求,会在主板上省去一个 DSP,可降低成本。在调试过程中,YUV/RGB 格式的摄像头,其所有参数都可在 kernel 层通过寄存器来控制。调试一般由 sensor的原厂支持。
    支持 RawData 格式的模组,由于感光区域的需求,不会再模组内集成 ISP 以最大程度的增大感光区域的面积,提高照片质量。模组把原始的数字信号传给 BB 上的 DSP 进行处理,MTK 自带的 DSP 一般包含 ISP、JPEG encoder、和 DSP 控制芯片。在调试的时候图像的效果需要 MTK 在 HAL 层的参数进行支持。

*四、阅读 Camera 的规格书(以 E168项目一供AVC模组 OV5670_Raw 为例)
    [[文件:GD05 SWV 002 003 003 003.png]]
    [[文件:GD05 SWV 002 003 003 004.png]]
    [[文件:GD05 SWV 002 003 003 005.png]]

*五、Camera 的硬件原理图及引脚(以E168项目原理图为例)
    [[文件:GD05 SWV 002 003 003 006.png]]
    从上面可看出,连接 Camera 的Pin脚可大致分为以下几类:
    1、电源部分:
        a)VCAMD 就是 DVDD 数字供电,主要给 ISP 供电,由于 RAWDATA格式的sensor其ISP是在 BB 端,所以将其引脚将其 NC。从上面的规格书上可以看出
 DVDD 是内部 BB 端供电。模组已将其 NC 掉了;
        b) VCAM_IO 就是 VDDIO 数字 IO 电源主要给 I2C 部分供电;
        c) VCAMA 就是 AVDD 模拟供电,主要给感光区和 ADC 部分供电;
        d) VCAM_AF 是对 Camera 自动对焦马达的供电。
    2、Sensor Input 部分:
        a) Reset 信号,用于复位、初始化。
        b) Standby/PowerDown 信号,用于进入待机模式,降低功耗。
        c) Mclk,即 MasterClock 信号,是由 BB 端提供。
    3、Sensor OutPut 部分:
        a)Pclk,即 PixelClock 信号,由 MCLK 分频得到,作为外部时钟控制图像传输帧率
        b) HSYNC,行同步信号,其上升沿表示新一列行图像数据的开始。
        c) VSYNC,帧同步信号,其下降沿表示新的一帧图片的开始。
        d) D0-D9 一共 10 根数据线(8/10 根等);
    4、I2C 部分:SCL,I2C 时钟信号线和 SDA,I2C 数据信号线。
     
*四、Camera 驱动工作流程
    [[文件:GD05 SWV 002 003 003 007.png]]
    从上图可以清晰的了解到 Camera 的一个工作流程主要分为这么七步:
    1.打开 Camera Power LDO,让 Camera 有能量保证。
    2.打开 IIC,设置 PDN 引脚,使 Camera 退出 Standby 模式,按照要求让 Reset 脚做一个复位动作。
    3.读一下 sensor 的版本 ID,这样可以让你确认是否连接上你想要的 sensor。
    4.对 Sensor 进行初始化下载最基本的参数让 Sensor 工作起来,可能包括软复位。
    5.下载 preview 的参数,为预览动作准备。
    6.下载 Capture 的参数,为拍照动作准备。
    7.设置 PDN 引脚,使 Sensor 进入 Standby 模式, 或者关掉 LDO 等动作,退出 Camera。

MTK平台camera小结(一)相关推荐

  1. 零基础学习MTK平台camera引脚配置

    目录 一.MTK平台的GPIO配置 1. MTK平台GPIO驱动程序提供了两个接口: 2.配置dws文件 3.配置dts文件 二.MTK平台camera模块的GPIO配置 一.MTK平台的GPIO配置 ...

  2. MTK平台Camera Dump Buffer处理

    (1)Dump Buffer的方法 在Camera调试过程中可能会遇到预览图或拍照图有花屏,竖线等各种情况,这种情况下很多时候我们不清楚这种异常画面是如何来的?此时我们就可以通过Dump Buffer ...

  3. GPS之MTK平台代码小结以及gps协议注释

            分类:             通信硬件与通讯协议              2014-10-20 09:55     337人阅读     评论(0)     收藏     举报   ...

  4. MTK平台camera的部分log及pdaf导通

    目录 文章目录 一.camera log 的整理 二.配置pdaf的步骤 1.文件的修改路径 2.pdaf的整体流程 前言 一.camera log的整理 二.配置 pdaf的步骤 1.文件的修改路径 ...

  5. MTK 平台camera如何dump image buffer大全

    [DESCRIPTION]       camera如何dump image buffer大全 [SOLUTION] MT6572/MT6589/MT6582/MT6592 Select dump b ...

  6. MTK平台camera bsp学习之android平台架构篇

    android平台架构(简单了解,都是csdn上看其他博客摘抄下来) 从上到下:分为 APP层 framework层 native层 hal层 kernel层 camera bsp侧重点:kernel ...

  7. 效果参数调用及效果参数解决方向(MTK平台Camera )

    项目场景: 此部分介绍效果参数表格的调用逻辑. 目录 项目场景: LOG介绍: LOG分析: 解决方案: LOG介绍: cam_idx_ngr.cpp query()[query][caller:ge ...

  8. mtk android tv软件架构,MTK 平台Camera 驱动架构

    Platform_driver 这个结构体包含 Probe(). Remove()等函数来完成驱动的填充. b)设备的注册: 对 platform_device 的定义通常在 BSP 的板级文件( k ...

  9. Android Camera (13)---MTK平台相机插值修改

    MTK平台相机插值修改 一.注意事项 二.HAL层修改 三.APP层修改 四.部分插值整理 五.快速编译指令 一.注意事项 Camera插值在底层已经做好,我们只需要在中间层和app层添加一个对应的p ...

最新文章

  1. 重磅丨国家发改委公布56个AI支持项目名单
  2. ubuntu 12.04/11.10 PPA 安装 Nvidia 295.59
  3. Javascript面向对象编程(二):构造函数的继承
  4. 为什么ui框架设计成单线程_评估UI设计的备忘单
  5. mybatis=<>的写法
  6. 【机器视觉学习笔记】OpenCV C++ 调用笔记本摄像头
  7. isapi mysql_Windows 2008R2以ISAPI和Fastcgi方式安装配置IIS、PHP、Mysql环境
  8. 多语言网站开发 不完全技术分析收录
  9. wpf ui框架_.NET跨平台框架Avalonia UI
  10. python爬取贴吧图片_Python爬取贴吧多页图片
  11. linux 可执行文件反编译,如何反汇编,修改,然后重新组装一个Linux可执行文件?...
  12. mysql运维监控工具排名_运维监控工具
  13. java jdk生成安卓app证书
  14. 最新版万能编辑器Visual Studio Code安装使用教程
  15. 【新书速递】Unity AR/VR 开发必知必会
  16. LayoutManager实现翻页动画
  17. 本博客通知(亓官劼)
  18. canvas-实现放大镜效果
  19. scanpy1.9.1里的文件在scanpy1.7.2无法读取问题解决
  20. Unable to locate package pcre-devel

热门文章

  1. SEO工作思路怎么写,为什么建站前要设计思路?
  2. Halcon例程分析8:投影变换矫正倾斜图像
  3. 电蚊拍 电路图 原理
  4. 【steam接入】如何将unity游戏接入steam(steamworks)
  5. Python3雷霆战机2D+双人联机+源码+解压运行(总之啥都有)
  6. 【Linux】cron 与 crontab
  7. python数据结构,快慢指针
  8. 联想t450进入bios设置按哪个键_联想pad T450用U盘做系统,读取不到硬盘该如何处理,如何进BIOS设置,...
  9. 转播小助手开启微信语音多群同步直播转播之路
  10. C++通过三点坐标,获取夹角