2013年(7)
分类: Android平台
2013-05-19 14:18:27
原文地址:android下camera的分析 作者:huabinbin00
主控: Samsung Cortex ARM A8 smdkc110 1G
Camera: OV5640(500W)
系统: android 2.3
一、Camera 工作原理介绍
1. 结构 .
一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC 集成 了 DSP,有的没有集成,但也需要外部 DSP 处理。细分的来讲,camera 设备由下边几部 分构成:
1) lens(镜头) 一般 camera 的镜头结构是有几片透镜组成,分有塑胶透镜(Plastic)和玻璃透 镜(Glass) ,通常镜头结构有:1P,2P,1G1P,1G3P,2G2P,4G 等。附:镜头的好坏会影响到成像的质量主要包括两个方面:镜头的透孔的宽度和镜头的高度,当然镜头越好,成像更清晰,价格也更高
2) sensor(图像传感器) Senor 是一种半导体芯片,有两种类型:CCD 和 CMOS。Sensor 将从 lens 上传导过来的光线转换为电信号, 再通过内部的 AD 转换为数字信号。 由于 Sensor 的每个 pixel 只能感光 R 光或者 B 光或者 G 光, 因此每个像素此时存贮的是单色的, 我们称之为 RAW DATA 数据。 要想将每个像素的 RAW DATA 数据还原成三基色,就需要 ISP 来处理。附:sensors的焦距会影响到远景的效果,500W的话焦距一般设置到1.8-2.5M
3)ISP(图像信号处理) 主要完成数字图像的处理工作,把 sensor 采集到的原始数据转换为显示支持 的格式,目前在像素越来越高端情况下,信号处理一般移交给主控操作,sensors直接扔出原始数据
4)CAMIF(camera 控制器) 芯片上的 camera 接口电路,对设备进行控制,接收 sensor 采集的数据交给 CPU,并送入 LCD 进行显示。
2. 工作原理
外部光线穿过 lens 后, 经过 color filter 滤波后照射到 Sensor 面上, Sensor 将从 lens 上传导过来的光线转换为电信号,再通过内部的 AD 转换为数字信号。如果 Sensor 没有集 成 DSP(现在高像素一般是不需要sensors集成的DSP的),则通过 DVP 的方式传输到 baseband,此时的数据格式是 RAW DATA。如果集成 了 DSP, RAW DATA 数据经过 AWB、 则 color matrix、 lens shading、 gamma、 sharpness、 AE 和 de-noise 处理,后输出 YUV 或者 RGB 格式的数据。
最后会由 CPU 送到 framebuffer 中进行显示,这样我们就看到 camera 拍摄到的景象
了。
3. YUV 与 YCbCr .
YUV 和 RGB 一样,是色彩空间中常用的色彩模型之一,两者可以相互转换。YUV 中 得 Y 表示亮度,U 和 V 表示色度。与 RGB 相比,它的优点在于占用更少的空间。 YCbCr 则是在世界数字组织视频标准研制过程中作为 ITU - R BT601 建议的一部分, 其实是 YUV 经过缩放和偏移的翻版。 其中 Y 与 YUV 中的 Y 含义一致, Cb , Cr 同样都指色 彩, 只是在表示方法上不同而已。在 YUV 家族中, YCbCr 是在计算机系统中应用最多的成 员, 其应用领域很广泛,JPEG、 MPEG 均采用此格式。 一般人们所讲的 YUV 大多是指 YCbCr。 YCbCr 有许多取样格式, 如 4∶4∶4 , 4∶2∶2 , 4∶1∶1 和 4∶2∶0。
二、 硬件原理图分析
POWER:
VDD_CAMA28 ----2.8v camera的模拟电压
VDD_CAMD28 ----1.5v camera的工作电压
VDD_CAMIO28 ----2.8v camera的GPIO口数字电压
OUTPUT:
CAM_DATA: camera的数据管脚。此数据脚可以输出的格式有YUV、RGB、JPEG
CAM_VSYNC: camera的帧同步信号管脚。一个VYSNC信号结束表示一帧(即一个画面)的数据已经输出完毕
CAM_HSYNC: camera行同步信号管脚。一个HSYNC信号结束表示一行的数据已经输出完毕
CAM_PCLK: 像素同步信号管脚。一个PCLK信号结束表示一个数据已经输出完毕
INPUT:
CAM_PWDN: camera的使能管脚,当camera处于PWDN模式时,一切对camera的操作都是无效的,因此,在RST之前,一定要将PWDN管脚置为normal模式
CAM_RST: camera的复位管脚。此方式为硬复位模式,一般管脚置为低,camera处于硬复位状态,camera的各个IO口恢复到出厂默认状态。只有在XCLK开启后,将RESET置为低,硬复位才有效,否则复位无效。
CAM_MCLK: camera工作时钟管脚。此管脚为主控提供camera的工作时钟
CAM_I2C: camera与主控的通信管脚
附:
在走PCB板的时候可以尽量让电源线走短一点,线也可以稍微粗一点,设计电源的时候可以加上0.47uf 、0.1uf的电容,高频、低频可以很好的控制
三、 软件驱动分析
1、 上电顺序、下电顺序(基于OV5640)
这一步我就忽略不描述了,参照sensors的时序图就可以了
2、配置 OV5640相关信息
点击(此处)折叠或打开
点击(此处)折叠或打开