光电效应

光电效应的现象是赫兹(频率的单位就是以他命名的)发现的,但是是爱因斯坦正确解释的。简单说,光或某一些电磁波,照射在某些光敏物质会产生电子,这就是光电效应。

这就将光变为了电,光信号的改变会带来电信号的改变,因此,人们利用这个原理,发明了感光元件。

我们熟知的感光元件有两种,一种是CCD,一种是CMOS。早期的CMOS比CCD差的非常多,但随着工艺的发展,现在CMOS的质量已经发生了质的飞跃,并且CMOS价格便宜,功耗性能好。

sensor 结构技术

传统(前照式)CMOS、背照式(Back-illuminated)CMOS、堆叠式(Stacked)CMOS

工艺差异

最大最基础的差别就在于其结构。影响最终成像效果不仅仅靠CMOS,还需要考虑镜头以及拍照算法等。其实并不是越先进的结构也一定更好,这得看用了什么工艺(比如180nm沉浸式光刻还是500nm干刻)和技术(比如索尼“Exmor”每列并列独立的模拟CDS+数模转换+数字CDS的标志性的降噪读出回路)。

优异的工艺和技术可以使得即便不使用更新结构的CMOS,同样拥有更好的量子效率、固有热噪声、增益、满阱电荷、宽容度、灵敏度等关键型指标。在相同技术和工艺下,底大一级的确压死人。人类的进步就是在不断发现问题,解决问题。背照式以及堆栈式CMOS的出现,也是为了解决之前CMOS的种种问题。

传统(前照式)CMOS

对比一下前照式和背照式的横剖对比图示:

传统的CMOS是图中左边的“前照式”结构,一般的CMOS像素都由以下几部分构成:片上透镜(microlenses)、彩色滤光片(On-chip color filters)、金属排线(电路层)、光电二极管(Photodiodes)以及基板。当光线射入像素,经过了片上透镜和彩色滤光片后,先通过金属排线层,最后光线才被光电二极管接收。

微透镜是在每个CMOS的物理像素上的极小的凸透镜,用来汇聚光线。

彩色滤光片能将入射光颜色以RGB的模式分解,我们有时听到的拜耳排列,就是这些滤镜的排列方式。如最经典的RGGB排列等。

金属排线,通常有好几层,主要是传输信号用的。

光电二极管,也就是对于CMOS,真正的发生光电效应的感光部分。

大家都知道金属是不透光的,而且还会反光。所以,在金属排线这层光线就会被部分阻挡和反射掉,由于工艺限制,光在穿过金属电路层后,到达光电二极管时只有70%或更少;而且这反射还有可能串扰旁边的像素,导致颜色失真。(目前中低档的CMOS排线层所用金属是比较廉价的铝(Al),铝对整个可见光波段(380~780nm)基本保持90%左右的反射率。)

背照式(Back-illuminated)CMOS

由于前照式有这些缺点,那么背照式(Back-Illuminated CMOS)的设计就应运而生了。它将电路层放到了光电二极管后面,这样,光线就能直接照到光电二极管上,光线几乎没有阻挡和干扰地就下到光电二极管,光线利用率极高,所以背照式CMOS传感器能更好的利用照射入的光线,在低照度环境下成像质量也就更好了。

背照式CMOS能够具有更高的光线利用效率,这样,在低照度环境下,就具有更高的灵敏度。同时,由于电路不会影响光电二极管接收光线,因此,电路层可以做得更厚,这样就能放置更多的处理电路,这有助于提高信号的处理速度。

相比起普通的前照式传感器,搭载背照式传感器的设备能够在弱光环境下,提高约30%—50%的感光能力,因此能够在弱光下拍摄更高的质量的照片或视频,噪点更小。而更丰富的处理电路,能做更大数据量的原始图像信号处理。

堆叠式(Stacked)CMOS

堆叠式CMOS最先出现在索尼推出的移动终端用CMOS上,堆叠式出现的初衷其实不是为了减少整个镜头模组的体积,这个只是其附带好处而已。

CMOS的制作和CPU的制作类似,需要特殊的光刻机对硅晶圆进行蚀刻,形成像素区域(Pixel Section)和处理回路区域(Circuit Section)。像素区域就是种植像素的地方,而处理回路是另一块整体的控制电路,用来管理这一群像素的电路。

[1]为像素区域
[2]为处理电路

在蚀刻时,会有一个问题,以索尼用于手机等的小CMOS为例,它对于像素区域的制造工艺,可以使用65nm的制程(可简单理解为制造精度),但对于处理电路的区域,65nm的制程是不够的,如果能用45nm的制程制造,那么在处理电路上的晶体管数量就能翻倍,这样,图像从像素处理出来的速度就更快,画质就能更好。但因为在同一片硅片上进行蚀刻,没法使用两个制程来制造。

所以很容易想到,如果将这两个区域分开,像素区域放在一个硅片上,用65nm制程制造,处理电路放在另一个硅片上,用45nm制程制造,再将它们堆叠拼起来,那这个矛盾就解决了。这就是堆栈式CMOS。

[1]为像素区域
[2]为处理电路
[3]为高速缓存

有了堆栈式的结构,我们能在处理电路得到更多的晶体管,拥有更快的速度,因此,原来不容易实现的HDR、升格等,现在变得很常见。读出速度也变得更快,因此果冻效应更小。而且,由于将像素区域和处理电路区域堆叠,像素区域能做得更大。

而且,使用堆栈式能带来一些特殊的技术。如我们常见的拜耳排列大多是RGGB的,画面的亮度是通过亮度方程(Y=0.299R+0.587G+0.114B),由RGB色光的值算出来的。但使用堆栈式技术,人们研究出了一种新的拜耳排列RGBW,其中,RGB对应常见的红绿蓝,W对应白,对亮度感光。这样,传感器的低光感光能力就大大提升。

堆栈式,背照式,前照式,这三个类型是单独的,不存在从属关系。我们可以使用背照式的技术,再用堆栈式的结构,发挥最大优点。

退火

为了提高像素集合光的效率,需要引入光波导管。光波导管的干刻过程中,硅晶圆和像素区域会有损伤,此时则要进行一个叫做“退火(annealing process)”的热处理步骤,让硅晶圆和像素区域从损伤中恢复回来,这时候需要将整块CMOS加热。好了,问题来了,这么一热,同在一块晶圆上的处理回路肯定有一定的损伤了,原先已经“打造”好了的电容电阻值,经过退火后肯定改变了,这种损伤必定会对电信号读出有一定影响。这么一来,处理回路躺着都中枪,像素区域的“退火”是必须的。

还有一个问题,索尼目前建有的移动终端用CMOS的制程是65纳米干刻,这个65纳米的工艺对于CMOS的像素区域的“种植”是完全足够的。但是处理回路区域的“打造”,65纳米是不够的,如果能有30纳米(实际提升至45nm制程)的工艺去打造电路,那么处理回路上的晶体管数量就几乎翻番,其对像素区域的“调教”也就会有质的飞跃,画质肯定相应变好。但因为是在同一块晶圆上制作,像素和回路区域需要在同一个制程下制作。处理回路:“怎么吃亏的总是我!” 如此鱼和熊掌不可兼得的事情,假如解决了多好!于是索尼的工程师打起了晶圆的基板 (BOSS登场)的主意。先来看这张结构图。原来处理回路是和像素区域在同一块晶圆上打造的。

那么不妨把处理回路放到那里去?

首先利用SOI和基板的热传导系数差异,通过加热将两者分开。 像素区域放到65纳米制程的机器上做,处理回路则放到制程更高(45nm)的机器上做。 然后在拼在一起,堆栈式CMOS也就这样诞生了。上边遇到的两个问题: ①像素“退火”时回路区域躺着中枪。 ②在同一块晶圆上制作时的制程限制。均迎刃而解! 堆叠式不仅继承了背照式的优点(像素区域依然是背照式),还克服了其在制作上的限制与缺陷。由于处理回路的改善和进步,摄像头也将能提供更多的功能,比如说硬件HDR,慢动作拍摄等等。像素与处理回路分家的同时,摄像头的体积也会变得更小,但功能和性能却不减,反而更佳。像素区域(CMOS的尺寸)可以相应地增大,用来种植更多或者更大的像素。处理回路也会的到相应的优化(最重要不会在“退火”中枪了)。


参考:https://www.zhihu.com/question/23295693/answer/30214135
https://www.bilibili.com/read/cv5310048/

###我的个人博客主页,欢迎访问
###我的CSDN主页,欢迎访问
###我的GitHub主页,欢迎访问

堆栈式 CMOS、背照式 CMOS 和传统 CMOS 传感器的区别的更多相关文章

  1. COGS 1944. 背驮式行走

    ★   输入文件:piggyback.in   输出文件:piggyback.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] Bessie和她妹妹Elsie白天都在牧场 ...

  2. Python的列表推导式,字典推导式,集合推导式使用方法

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...

  3. 转】C#接口-显式接口和隐式接口的实现

    [转]C#接口-显式接口和隐式接口的实现 C#中对于接口的实现方式有隐式接口和显式接口两种: 类和接口都能调用到,事实上这就是“隐式接口实现”. 那么“显示接口实现”是神马模样呢? interface ...

  4. 流式布局&固定宽度&响应式&rem

    我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局.限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法. 1.流式布局: ...

  5. Scala 深入浅出实战经典 第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

  6. 位置式PID与增量式PID算法

    位置式PID与增量式PID算法  PID控制是一个二阶线性控制器     定义:通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.     优点             ...

  7. python的各种推导式(列表推导式、字典推导式、集合推导式)

    推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...

  8. html响应式布局,css响应式布局,响应式布局入门

    html响应式布局,css响应式布局,响应式布局入门 >>>>>>>>>>>>>>>>>>& ...

  9. 阻塞式和非阻塞式IO

    有很多人把阻塞认为是同步,把非阻塞认为是异步:个人认为这样是不准确的,当然从思想上可以这样类比,但方式是完全不同的,下面说说在JAVA里面阻塞IO和非阻塞IO的区别 在JDK1.4中引入了一个NIO的 ...

  10. 共享式以太网与交换式以太网的性能比较(OPNET网络仿真实验)

      一.实验目的 比较共享式以太网和交换式以太网在不同网络规模下的性能. 二.实验方法 使用opnet来创建和模拟网络拓扑,并运行分析其性能. 三.实验内容 3.1   实验设置(网络拓扑.参数设置. ...

随机推荐

  1. Survivor

    Survivor (https://codeforces.com/group/L9GOcnr1dm/contest/422378/problem/F) 血的教训 比较有意思的一个贪心题 简单翻译一下题 ...

  2. 自定义Mybatis-plus插件(限制最大查询数量)

    自定义Mybatis-plus插件(限制最大查询数量) 需求背景 ​ 一次查询如果结果返回太多(1万或更多),往往会导致系统性能下降,有时更会内存不足,影响系统稳定性,故需要做限制. 解决思路 1.经 ...

  3. Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题

    背景:1.正常启动,xml文件放在java目录和resource目录下均正常 2.junit启动,xml文件放在resource目录下正常,放在java目录下报BindingException错误 m ...

  4. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  5. Longformer详解——从Self-Attention说开去

    1.Longformer的应用场景 为了理解Longformer的原理,我们最好首先从为何需要使用Longformer开始说起.(这里默认各位已经对Self Attention等基础知识有一定的了解) ...

  6. 推荐两个AI神器:ChatGPT只需1个标题,2分钟全自动生成PPT!

    今天给大家分享两个工具,帮助你全自动生成PPT,接下来以自动化测试为主题,教大家如何2分钟生成好PPT. 1.第一个工具:ChatGPT 1.打开ChatGPT页面,输入prompt,告诉它,让它帮你 ...

  7. Selenium Grid入门详解

    一.简介 Selenium是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器.操作系统和机器上 Selenium Grid主要使用 master-slaves或者hub-no ...

  8. 在算数运算中,能否将 bool 值 true 视作 1?

    true == 1; true + 1; If the destination type is bool, see 4.12. If the source type is bool, the valu ...

  9. SpringBoot导出Word文档的三种方式

    SpringBoot导出Word文档的三种方式 一.导出方案 1.直接在Java代码里创建Word文档,设置格式样式等,然后导出.(略) 需要的见:https://blog.csdn.net/qq_4 ...

  10. 2022-04-18:things是一个N*3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属

    2022-04-18:things是一个N3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属商 ...