>>Power线介绍
a>AVDD为camera的模拟电压。
b>DOVDD为camera的GPIO口数字电压。
c>DVDD为camera的核工作电压。
一般来说,要求先提供sensor的GPIO口电压,接着提供模拟电压,最后提供工作电压。时序如下图:
(7)、FPC柔性电路板(柔性PCB) 简称"软板", 又称"柔性线路板",连接芯片和手机。起到电信号传输作用。 (8)、ISP、DSP、基带芯片的区别和联系 几篇文章中出现的术语,这里做个专门的补充。 >>常见基带处理器或者基带芯片负责数据处理与储存,相当于一个 协处理器,主要组件为DSP、微控制器、内存(如SRAM、Flash)等单元,主要功能为基带编码/译码、声音编码及语音编码 等。目前主流基带架构:DSP+ARM。可分为五个子块:CPU处理器、信道编码器、DSP、调制解调器和接口模块。 基带芯片是用来合成即将的发射的基带信号,或对接收到的基带信号进行解码。具体地说,就是:发射时,把音频信号编译成用来发射的基带码;接收时,把收到的基带码解译为音频信号。同时,也负责地址信息(手机号、网站地址)、文字信息(短讯文字、网站文字)、图片信息的编译。 >>ISP,Image Signal Processor,图像信号处理器;DSP,Data Signal Processor,数字信号处理器。 ISP一般用来处理Image Sensor(图像传感器)的输出数据,如进行:AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Gamma校正、祛除坏点、Auto Black Level、Auto White Level 等等功能的处理。 >>而DSP功能就比较多了,它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号了。可以认为ISP是一类特殊的处理图像信号的DSP。 在这篇文章中,可以将基带芯片当做开发板上的控制芯片,ISP和DSP可以对等,都是对Raw Data进行处理。这里尊重原文作者的说法,并没有统一。 还有要注意的是,在摄像头这部分,要看清楚ISP表示的是什么,是Image Signal Processor(图像信号处理器),还是Image Sensor Processor(图像传感器处理器)。像上面的OV2665里面的ISP就是Image Sensor Processor,相当于Sensor模块中的一部分,由DSP做处理器。而下面的GC0308,则正好相反,是Image Signal Processor,是一个真正的处理器,所以在看到ISP的时候要根据语境看指的是一个具体的处理器还是模块的组成部分而非实指。 3、CCM组装方式 (1)、定焦CCM组装 CCM分为定焦模组和自动变焦模组,其中定焦模组主要由镜头、镜座、感光集成电路、软性线路板、补强和钢片装配而成,其装配图如下: (2)、自动变焦模组组装 主要是镜头下面装了一个VCM音圈马达 (3)、3D模组 多台摄像头拍摄图像,然后组合: 4、摄像头的一些技术指标 (1)、图像解析度/分辨率(resolution) QSIF/QQVGA160 x 12019200 QCIF 176 x 14425344 SIF/QVGA320 x 240 76800 CIF352 x 288 101376 10万像素VGA 640 x 48030720030万像素(35万是指648X488)SVGA800 x 60048000050万像素XGA1024 x 76878643880万像素SXGA 1280 x 1024 1310720 130万像素UXGA1600 x 12001920000 200万像素QXGA 2048 x 15363145728 300万像素(320W)QSXGA2592 x 19445038848500万像素 2816 x 21122947392600万像素 3072 x 2304 7077888700万像素 3200 x 24007680000770万像素 3264 x 2448 7990272 800万像素 3876 x 2584100155841000万像素(2)、sensor输出的图像格式 >>YUV:luma(Y)+chroma(UV)格式(亮度、色度),一般情况下sensor支持YUV422格式,即Y-U-Y-V次序输出数据。 >>RGB:传统的红绿蓝格式,比如RGB565,5bit R + 6bit G + 5bit B,G多一位是因为人眼对绿色比较敏感。 >>RAW RGB:sensor的每一像素对应一个彩色滤光片,滤光片按Bayer Pattern(拜耳模板)分布,将每一个像素的数据直接输出,即Raw RGB Data。 >>JPEG:有些sensor,特别是低分辨率的,其自带JPEG engine,可以直接输出压缩后的jpg格式的数据。 注意: a>YUV一个像素占2B,如果像素太大,在高时钟下基带芯片处理不过来,JPEG数据量就要小很多,因为基带芯片对输出数据的速率有要求,所以基带芯片低时钟下使用YUV sensor,高时钟下使用JPEG sensor。 b>如果直接输出RGB,对于LCD显示是最方便的,但是大多数基带芯片都是要求输出为YUV格式的数据再进行,这是因为,YUV输出数据的亮度信号没有任何损失,而色偏信号人眼并不是特别敏感,RGB565输出格式是R5G3 G3B5,会丢失很多原始信息,所以YUV图像质量和稳定性要比RGB565好的多。因此,很低端的基带芯片上才会输出RGB565格式。 Raw和JPEG的区别: Raw优点: 1>Raw格式文件本质上是一个没有经过任何图像处理的源文件,它能原原本本地记录相机拍摄的信息,没有经过图像处理(锐化、色彩对比增强)和压缩而造成的信息丢失。相比之下,JPEG格式的数据经过压缩处理,无法完整的保存原图形的所有数据。 2>Raw是一种专业摄影师常用的格式,因为它能原原本本地保存信息,让用户能大幅度进行后期制作,并且无论怎么操作,照片都能无损的恢复到最初状态;但是JPEG就弱了些,虽然因为PS等技术的发展,也可以在JPEG上进行后期制作,但是如果做大幅度的调整还是Raw文件比较合适。 3>可以用专门的软件修正摄像机的不足,比如佳能DPP软件可以修正镜头失光、变形等。 Raw缺点: 1>存储数据量太大,JPEG就小很多 2>需要专门的软件来打开,JPEG几乎所有的PC都可以直接打开 3>打开速度较慢,JPEG较快 4>不同的软件有不同的方式去演绎RAW文件,所以在不同的软件上会有细微的差别。 5>厂商卖的专用软件价格较高,而这方面JPEG几乎无成本 (3)、自动白平衡调整(AWB)
定义:要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。 (4)、图像压缩方式 JPEG:(joint photo graphicexpert group)静态图像压缩方式。一种有损图像的压缩方式。压缩比越大,图像质量也就越差。当图像精度要求不高存储空间有限时,可以选择这种格式。目前大部分数码相机都使用JPEG格式。 (5)、彩色深度(色彩位数) 反映对色彩的识别能力和成像的色彩表现能力,实际就是A/D转换器的量化精度,是指将信号分成多少个等级。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。现在市场上的摄像头均已达到24位,有的甚至是32位(原文) (6)、图像噪音 指的是图像中的杂点干挠。表现为图像中有固定的彩色杂点。 (7)、视角 与人的眼睛成像是相同原理,简单说就是成像范围。 (8)、输出/输入接口 串行接口(RS232/422):传输速率慢,为115kbit/s 并行接口(PP):速率可以达到1Mbit/s 红外接口(IrDA):速率也是115kbit/s,一般笔记本电脑有此接口 通用串行总线USB:即插即用的接口标准,支持热插拔。USB1.1速率可达12Mbit/s,USB2.0可达480Mbit/s IEEE1394(火线)接口(亦称ilink):其传输速率可达100M~400Mbit/s
(9)、CAMIF, Camera Interface
下面这张图,没看懂,暂时放在这里:
(10)、FIME,Fully Interactive Moblio Camera 摄像头采集的数据CPU无法直接处理,所以,主动芯片里面集成了 Camera控制器,即FIMC。摄像头需要先将图像数九传送给控制器,经过控制器处理(裁剪拉升后直接预览或者编码)之后交给CPU处理。MCLK就是由FIMC提供的。 CAMMCLK给摄像头提供时钟,CAMRST是复位线,PWD在摄像头工作时应该始终为敌。HREF是行参考信号,PCLK是像素始终,VSYNC是场同步信号,一旦给摄像头提供了时钟,并且复位了摄像头,摄像头就开始工作了。 FIMC信号定义如下所示(YCbCr模式)
Signal
I/O
Description
Type
HREF
I
行同步信号
PCLK
I
像素时钟
DATA[7:0]
I
像素数据
FIELD
O
FIELD信号
MCLKO
系统时钟信号
(11)、camera时钟域 每个摄像头都有三个时钟域,第一个是系统总线时钟域;第二个是摄像头像素时钟域PCLK;第三个是内部始终MCLK。 系统总线时钟必须高于PCLK,CAM_MCLK必须固定频率发呢拼比,如:PLL时钟。 二、摄像头工作原理 1、手册中内容扫盲: 首先,我们要明白,一旦给摄像头提供了时钟,并且复位了摄像头,摄像头就可以工作了,通过PCLK、HSYNC、VSYNC听不传输数字图像信号。 摄像头的驱动需要完成三大步: >>摄像头的上电、时钟这些基本条件 >>IIC保证摄像头的初始化 >>摄像头工作后传回数据到主控 原图有误,已经修改,红色圈圈部分。 控制部分是摄像头上电、IIC控制接口;数据输出是摄像头拍摄的图像数据传到主控芯片,所以,需要有Data、行场同步时钟(告诉主控芯片哪些数据是一行,哪些是一帧)、以及时钟(PCLK,像素时钟,告诉主控芯片哪些数据是一个像素点)。 (1)、MCLK 摄像头要 工作,必须要有个时钟进行同步,这个时钟就是MCLK,必须要有,否则摄像头就是一个死物,这个时钟由主控芯片提供,确切的说是有主控芯片的控制器提供,下面会提到。 (2)、RESET 复位信号,上面有提 (3)、SDA、SCL IIC总线,主要作用就是为主控芯片配置或者读取摄像头的寄存器提供通道。mini2440音频模块中的L3协议,也是这个作用。不要看见协议就怕,协议就是一条路,数据传输的路,有规定的数据传输的道路。 (4)、Configuration Register 配置寄存器,控制器(在主控芯片中)通过IIC来设置,相当于告诉摄像头如何工作等。 (5)、Timing Control 时序控制,主要是根据主控芯片提供的MCLK时钟来控制行场同步、自动曝光AEC等。因为这些都需要时钟的配合。 (6)、Pixel Array gc0308物理上的阵列是648H*492V,实际采样阵列是648H*488V,也是有效阵列。实际取像的阵列是640H*480V。如下图所示: (7)、CDS Correlated Double Sampling,相关双联取样电路。CCD传感器的每个像素点输出波形只在一部分时间内是图像信号,其余时间是复位电平和干扰,为了提取图像信号并消除干扰,就要采用取样保持电路。 (8)、Analog Processing、10bit ADC 主要是将sensor得到的电信号转换为数字信号,方便ISP或者DSP处理。 (9)、Image Signal Processing 图像信号处理器,可以理解为DSP的一种,主要是对sensor经过ADC处理后的Raw Data进行处理,主要有自动白平衡AWB、插值计算(Bayer interpolation主要是对Raw Data进行格式转换,转为YUV /RGB等)、去噪、gamaa修正、色彩修正、边缘增强等。这些都是由寄存器决定,寄存器又是通过IIC总线来设置的。 (10)、Output Mode & Sync Control 输出接口,从光线进入镜头、过滤、光感应、ADC,然后到图像数据处理,最终数据到达外部接口。摄像头取一幅图像的整个工作完成,摄像头本质上还是一个终端节点,所以需要将采集好的图像数据传递给主控芯片,所以要有数据引脚,图形格式补在是Raw Data,而是YUV或者RGB数据。进行数据传输,肯定需要时钟进行同步,所以需要PCLK,告诉主控芯片,哪个数据代表了一个像素点;VSYNC负责告诉芯片哪些是一帧数据,HSYNC则同步行数据。 (11)、设备地址 百科上的定义,在数据通信中,可以发送或接受数据的任何设备标识。 操作系统课程上面有讲到,系统为了管理外部设备而进行的编码。不知道这个地址是不是这个意思。 反正写入的时候指定0x42,读取的时候指定0x43, (12)、IIC通信 IIC通信是一个交互的过程,需要等待对方的确认信号,并不是一次性完成的。首先,主机需要做两个事情: 一个是,提供启动、结束信号;一个是提供IIC时钟信号。图示很明白了,不在啰嗦。 (13)、时序 Timing 帧时间(Ft,Frame time)=帧时钟不活动时间(Bt,Blank time)+启动时间(St,Start time)+有效行时间(Vt,Valid line time)+结束时间(Et,End time)+8 空白无效行时间(Vblank/Dummy line)=Bt+St+Et。 首先要明白,物理上492行,但是实际感应光线的只有488行,4行是Dark Row,黑暗行;但是这488有数据的行中只有480行是有效行。然后推导公式,首先分析小公式——空白行时间,空白时间包括无效的帧同步时间,这里就是VSYNC处于高电平的无效时间;开始数据采集之前需要有几个时钟周期的缓冲,然后才开始采集行数据,所以这个时间,也就是启动时间也要算在空白行时间里面,同理,480行有效数据采集完成后,也需要几个时钟周期表示数据采集结束,结束时间也要包括在空白行时间里面。 一帧图像所需要的时间,首先包括空白行时间Bt,还有有效行时间Vt,然后加上8。这个8应该是代表那8行无效数据(不确定),欢迎留言! exp_time应该是曝光时间,当曝光时间小于488行数据采集时间+空白行时间,这帧时间由所有行采集的时间+空白行时间控制,那么VSYNC无效电平的时间=行空白时间-启动时间-结束时间。 如果曝光时间超过win_height+VB,也就是在曝光没有在正常的一帧时间内完成,那么肯定需要继续曝光,帧时间由曝光时间确定。帧同步无效时间=曝光时间-win_height-启动时间-结束时间。 (修订一,未完待续,分享自我的为知笔记)