3.1 Sonsor工作原理
由第2章可知sensor上分布着pixel,每个pixel其实就是一个光电二极管,它的作用是将光信号转换成电信号。
3.1.1 普通二极管工作原理
我们知道,一个普通的二极管工作原理是施加正向电压导通,反向电压截至。下面先介绍下它具有这种特性的原因。
由化学知识可知,硅(Si)原子最外层有4个电子,磷(P)原子最外层5个电子,硼(B)原子最外层3个电子。当硅材料中参杂磷后,因为要形成原子最外层的8个电子稳定结构,这时候会多出来一个电子,形成自由电子。这种材料带负电,称为N型(Negative)半导体。
当硅材料中参杂硼后,因为要形成原子最外层的8个电子稳定结构,硼原子的周围形成空穴吸引电子,可以认为这种材料带正电,称为P型(Positive)半导体。
当P和N材料在一起时,电子从浓度高的N区向浓度低的P区扩散成为负离子,空穴从浓度高的P区向浓度低的N区扩散成为正离子,最终在接触的区域形成了一个相当于一个自建电场的小电池,称为PN结。因为小电池的正极和P区的空穴互斥,负极和N区电子互斥,所以PN节的存在阻止了扩散运动,最终形成稳定状态。
当外界施加电压后,分两种情况:
a.正向电压。
内电场和外电场的方向相反,导致内电场削弱,PN节变窄,这就加速了N区电子更多的向P区移动,形成了电流,也就是二极管的正向导通。
b.反向电压。
内电场和外电场的方向相同,导致内电场增强,PN节变宽,更加阻止了电子扩散运动,无法形成电流,也就是二极管的反向截止。
3.1.2 光电二极管工作原理
Pixel中的PN结在常态无光照时施加反向电压处于截止状态,光具有粒子性,当开始曝光时PN结的共价键被电离。这会产生空穴-电子对,受PN结内电场的影响,电子会流向PN结的N端,空穴会流向PN结的P端,从而产生光电流。曝光后的PN结电压会降低。该电压与原PN结电压之间的差值正比于PN结接受到的光子数。
3.1.3 Sensor工作过程
Sensor工作过程分为三步:充电、曝光、放电,整个过程完成光子到电压的转换。
a.充电
Reset,就是给二极管加反向电压的时候,就是相当于给二极管充电。
b.曝光
当有光子进来的时候,光电二极管就会发生光电效应,外来的电子激发额外的电子空穴对
产生光电流。
c.放电
额外的电子空穴对于原来的电子空穴对融合的过程对于二极管来说是放电过程。这些电荷会转移到一个叫FD(floating diffusion,浮动扩散节点)的地方,它等效是一个积累电荷的电容,此时电容充电。由于V=Q/
,最后完成了从电荷到电压的转换。
3.2 Senor常见的指标
下面介绍一些常见的sensor基础知识。
1.QE(Quantum Efficiency)
QE(Quantum Efficiency)量子效率,它指在sensor里面,经过Color Filter投射过来的光子转变成为电荷的效率。
一个光子的能量计算方式为:
E=hc/λ (h 是普朗克常数,c 是真空中的光速、λ是波长)
我们可以简单地认为可见光是由RGB三种光组成,这RGB光线由于频率的不同,每个光子所载有的能量是不同的。一束光的能量总和就是光里每个RGB光子能量相加。
假设3个光子产生了1个电荷e,那么
QE=1/3=33.33%
2.FWC(Full Well Capacity)
下面是光转化电荷的示意图:
光电二极管工作在电荷积分模式下进行的,因此只有有限的电荷储存能力。
随着光线的进入,电荷(e)会不断增加,累加到一定程度就会溢出, 到什么程度这个阱能满是衡量这个感光器件感光能力的一个指标,当然这个阱越深越好,这样就能感受更多的光,但这个与成本、工艺都有关系。
Full Well Capacity,满阱容,指一个pixel里的最多能够容纳多少个电荷,不同厂家的像素工艺可以相差很大,较先进的工艺平均每μm2可以容纳近1000个电子,而普通的工艺每μm2只能容纳不到400个电子。
图中还有几个概念需要说明。
(1)Noise Floor
阱中暗电荷表示在完全没有光的情况下,阱里也有一部分电荷,这是由半导体缺陷导致的,无法避免,暗电荷会形成暗电流,成为noise floor(底噪)。
(2)Fill Factor=阱的面积(感光的部分)/ PCB的面积
Fill Factor越大越好,工艺越好的厂家感光的部分占的面积就越大,感光的部分越大,这个阱就越深,能够装的电荷数就越多。
3.Sensitivity
Sensor灵敏度,它是指sensor在特定标准测试环境中,光子能量转化成电压的能力。高sensitivity意味着在低光场景可以获得更好的质量。
4.CG
我们先进一步分析pixel里的电路,实际中光转换成电荷后,这些电荷会转移到一个叫FD(floating diffusion,浮动扩散节点)的地方,它等效是一个积累电荷的电容,值为CFD
,那么此时CG(Conversion Gain,转换增益)表示一个电荷q能产生的电压值。
CG=q/
5.Linearity
理想状态下,sensor对于光能量转化成电压是正比例函数线性关系,但实际中在完全无光情况下,会有输出暗电流,达到一定曝光时间后会进入饱和状态,这些情况都会使sensor进入非线性的工作状态。所以要保证sensor在线性区内工作。
6.SNR和DR
在数学上,SNR(Signal to Rate,信噪比)和DR(Dynamic Range,动态范围)分别为:
由上面FWC知识可知,当pixel开始进入饱和状态时,阱电压为V,电容为CFD,
单个电荷为q,FWC表示满阱时最大存储电荷数量,那么FWC=Q/q=(V x CFD
)/q,可以作为Max值。
暗电荷表示在完全没有光的情况下,阱里也有一部分电荷,所以noise foor可以作为Min值。则
一般sensor SNR在pixel开始进入饱和状态时达到最大值,此时FWC可以作为Signal值,
总noise是noise floor加上其它shot(散粒)noise的和,因为noise floor比shot noise小很多,所以总noise 近似等于shot noise。在数学上short noise符合泊松分布,所以它的值(也就是标准差)约为FWC
,则
在实际应用中,除了sensor原厂有一系列的设备可以精确测量FWC等数据,大部分的模组厂或手机厂商是没办法精准测量的。他们更多是是利用sensor成像后的图片进行评估,方法如下。
图片的SNR:
在特定的标准光源测试环境,sensor进行曝光,拍照,然后对这张图片进行数学处理。这时
Signal--信号,是先对每个pixel的value(亮度值)进行求和,然后取平均值作为信号;
Noise--噪点,统计出数学上的标准差作为噪点;
则SNR(Signal to Noise Rate,信噪比)为
SNR=20 log(S/N) dB
Sensor的SNR:
当sensor刚刚到达饱和状态时,按照此时图片SNR的计算方法,得到的值就可以作为衡量sensor 的SNR水平指标。
值得注意的是,SNR是衡量某一时刻sensor输出图片的质量,DR更多的是衡量一个sensor本身的最大能力,它们的物理意义差别还是很大的。如下图对比,
3.3 Senor Noise3.3.1 Noise的来源
Sensor noise主要来源以下地方:
1当完全无光的情况,暗电流会带来noise,当温度升高时会带来更多的noise。
2当sensor正常曝光后,我们通过进一步分析pixel完整电路如下:
(1)由于光的粒子性,光照阶段,光子和暗电荷都会产生shot noise(散粒噪声)。
(2)浮动扩散节点电容将电荷转化为电压时,充电,放电和复位也会带来noise。这个复位噪声因为和电容和温度有关,所以也叫“kTC噪声”。
(3)电压经过GA(Gain Amplifier)信号和noise会一起放大。
(4)ADC(Analog to Digital Converter)模拟信号采样成数字信号是个量化过程,肯定不完美而带来noise。
至此ADC出来的noise 就是叫read noise。
3. 由于生产工艺等因素导致pixel有缺陷,成为“坏点”。它又分为亮坏点和暗坏点。
4.当强光照射时,sensor达到饱和状态后,电荷溢出到旁边的阱,造成拖尾高亮噪声。
3.3.2 Sensor noise的分类
常见的sensor noise分类方法是,按是否和时间有关系,分为FPN(fixed-pattern noise,固定模式噪声)和TN (temporal noise,暂态噪音)。
Temporal noise是随时间变化,在低光下录制的视频中不断变化的细小信号就是temporal noise。
Fix pattern noise 与时间无关,表现上看就是噪声幅度不随时间变化,在图像行或者列存在的一条条的噪声.
当将sensor对一个均匀(各处亮度一致)的场景拍照时,因为各种原因,并不是每个pixel的亮度值都相同,这种个体之间的差异被称为“非均匀性”。由此FPN可以分为两种:
(1)DSNU(Dark Signal Non-Uniformity)因不同pixel的暗信号不同,称为暗信号非均匀性。
即:全暗环境,pixel的灰度值不一致。
(2)PRNU(Photo Response Non-Uniformity)因不同pixel的灵敏度不同,称为光响应非均匀性。
即:对着均匀场景,调整整个光强,每个pixel的灰度变化值不一致。
下面是sensor noise的分类总结。
3.3.3 Sensor noise数学模型
以上我们已经了解到noise可分为FPN(fixed-pattern noise,固定模式噪声)和TN (temporal noise,暂态噪音)。实际的应用中,我们需要用数学上的算法消除这些noise,因此要对noise建立数学模型。
a.泊松分布模型
光具有粒子性,一束光照射到sensor上的过程,就像你手里抓了一把绿豆(类比光子)洒向带有很多格子(类比pixel)的围棋盘(类比sensor),由光子的不确定性原理可知,不可能同时精确确定一个光子落在sensor上的具体精确位置和动量。因此从一个pixel的角度来看,它在单位时间t内得到的光子数量是随机的,可能是0,1,2,3,4等等。
在数学上,泊松分布常用于描述单位时间内随机事件(一个pixel 收到的光子数量)的发生次数和概率的关系。
在公式中,
λ参数,表示单位时间内事件发生的平均次数,泊松分布的均值和方差都是λ.
k 是事件发生的次数。
P(X=k)表示事件发生k次的概率。
举个例子,一个pixel在1s内平均接收到的光子数量是2.5,那么λ=2.5,则1s内,它分别接收到光子数量为0个,1个,2个,3个的概率是
此时,标准差1.58就是光子的散粒噪声(shot noise)。在实际的temporal noise中,shot noise是占主导地位的,所以可以认为temporal noise服从泊松分布数学模型。
那么,光子到达sensor的泊松分布过程是如何影响图像?下图显示了一组模拟的图像,其中指定了每个pixel接收到的的平均光子数。 这表明对于低数量的光子,noise占主导地位,会使照片的视觉细节失真,但是随着光子数量的增加,图像结构变得更加明显。
b.高斯分布模型
一个理想的pixel亮度值(signal)不随时间t变化,恒为μ ,但实际中它会受到多种原因的干扰信号影响,使得原始信号出现了围绕值为μ 的上下随机“抖动”。这种随机抖动的范围符合数学上的高斯(正态)分布。这些抖动所形成的噪声,就叫高斯噪声。
其中,μ 表示均值,σ 表示标准差,也就是噪声。FPN符合高斯噪声模型。
到这里我们可以总结出sensor noise 就是这两种数学模型的叠加,也就是说符合“泊松-高斯”模型。
3.4 Senor接口电路常见的sensor外围接口电路示意图如下:
一 电源部分:
1 DOVDD 数字 IO 电源主要给 I2C 部分和GPIO供电
2 AVDD 模拟供电,主要给感光区和 ADC 部分供电
3 DVDD 数字供电,主要给 sensor 内部ISP 供电
二 sensor输入部分
1 PWDN为sensor的使能管脚。当sensor处于PWD模式时,一切对sensor的操作都是无效的。因此,在RESET之前,一定要将PWDN管脚置为normal模式。
2 RESET为sensor的复位管脚。此方式为硬复位模式,一般管脚置为低,sensor处于硬复位状态,sensor的各个IO口恢复到出厂默认状态。只有在XCLK开启后,将RESET置为低,硬复位才有效,否则复位无效。
3 XCLK为sensor工作时钟管脚。此管脚为host芯片提供sensor的工作时钟。
4 I2C总线(SCL,SDA)是host芯片与sensor的通信总线,用于host芯片修改控制sensor的寄存器。
三 sensor输出部分
1 PCLK为pixcel同步信号管脚。一个PCLK信号结束表示一个pixel数据已经输出完毕。
2 HSYNC为sensor行同步信号管脚。pixel在sensor内是一个阵列分布,一个HSYNC信号结束表示一行的数据已经输出完毕。
3 VSYNC为sensor的帧同步信号管脚。一个VYSNC信号结束表示一帧(即一个画面)的数据已经输出完毕。
4 DATA为sensor的数据管脚。它是MIPI接口,此数据脚可以输出的格式有RAW,YUV、RGB、JPEG。