ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CCD与CMOS之争:从光电转换到信号链路,读懂图像传感器的核心差异

CCD与CMOS之争:从光电转换到信号链路,读懂图像传感器的核心差异 最近几年我经常被问到同一个问题CCD相机那些所谓的“胶片味”“油润感”到底是玄学还是物理为什么现在手机、相机、工业相机清一色都是CMOS图像传感器老CCD彻底凉了这个问题的答案其实不在传感器本身而在从像素把光子变成电子之后那一条完整的信号处理链路。CCD和CMOS的哲学恰恰是在这里分道扬镳的。这篇文章我尽量用工程师的思路把光电转换、读出架构、相关双采样、列并行ADC、暗电流、动态范围这些概念串成一条线一次性讲透。适合正在做传感器选型的硬件工程师、写图像处理算法的朋友也适合想弄明白“底大一级压死人”背后逻辑的摄影爱好者。1. 感光这件事先统一底层语言光子、电子和那些像素级参数聊CCD和CMOS之前得先把所有图像传感器共享的物理基础对齐。不管架构怎么变图像传感器干的都是同一件事把落在像素上的光子数转换成可以量化的电子数再变成电压、变成数字码值。这个链条的任何一环出问题后面的信号处理都救不回来。1.1 光电转换所有图像传感器的同一个起点传感器像素的核心是一个光敏二极管。光子打进硅衬底如果能量大于硅的禁带宽度就会激发出电子-空穴对。PN结耗尽区的电场会把电子和空穴分开电子被收集到电势阱里空穴被推向衬底。曝光结束以后像素里攒下的电子数量就代表了这段时间入射光子的数量。量子效率QE描述的就是这个转换过程的效率入射100个光子最后能收集到多少个电子。这里有个很容易被忽视的点硅对波长是有选择性的。可见光波段硅的响应不错但蓝紫光波长短、穿透浅容易被表面复合掉近红外光穿透深部分光子会直接穿过耗尽区跑掉。所以传感器的QE是一条随波长变化的曲线不是一条平线。做信号处理的人如果不看QE曲线只看标称的“量子效率85%”很可能在蓝光或近红外场景里把增益调错。1.2 满阱、量子效率和暗电流像素的三个硬指标像素能装多少电子叫满阱容量Full Well Capacity单位是电子数一般用ke-表示。满阱决定了一个像素的动态范围上限电子装满了再加光就溢出了溢出到相邻像素就成了高光溢出现象Blooming。量子效率前面说过它和满阱一起决定了像素的灵敏度。这里有个常用换算关系一个电子的信号在输出端能产生多少电压叫转换增益单位是µV/e-。CCD因为输出节点电容可以做得小转换增益通常不低CMOS的4T像素把浮动扩散节点做小也能把转换增益做上去代价是噪声变敏感。暗电流得单独说。即使完全没有光照硅晶格的热振动也会产生电子-空穴对这些电子被收集起来就成了暗电流。暗电流是温度的函数经验规律是温度每降低大约7度暗电流减半。这也是为什么所有科学级相机都要制冷的根本原因——常温下暗电流会淹没微弱信号制冷到零下几十度以后暗电流才能降到可以忽略的量级。1.3 光谱响应和填充因子为什么微透镜人人都要还有一个像素级参数叫填充因子Fill Factor像素总面积里真正能感光的面积占比。早期CMOS像素里晶体管、布线占了不小地方填充因子只有30%-50%大量光子实际是打在金属走线上浪费掉了。CCD因为感光区结构简单填充因子先天就高。为了补这个短板厂商在像素上面加了一层微透镜把落在整个像素面积上的光汇聚到感光区。这个招数CCD和CMOS都在用但CMOS早期的收益更大。理解了填充因子再看后面背照式BSI工艺就能明白它为什么是一次革命——它直接把金属走线挪到感光面的背面去了相当于把所有像素的填充因子一次拉满。2. CCD的读出哲学一整条传送带搬着电荷往外运CCD的全称是电荷耦合器件一个“耦合”就点破了它的本质CCD不靠金属导线把每个像素的电子单独引出来而是让电荷包在半导体内部一棒一棒地传递最后统一送到一个输出口去。2.1 电荷耦合和三相时钟信号不是被“读”出来而是被“搬”出来想象一排水桶桶底之间有可以调节高度的闸门。控制闸门高度就能让水从左边桶流进右边桶。CCD的电荷转移就是这个原理——通过改变相邻电极上的栅极电压在硅内部形成深浅不同的势阱电子包就从浅势阱倒进深势阱。日常用的多是三相时钟驱动三个电极一组按照固定的时序循环加压电荷包就像接力棒一样在电极下逐级传递。这个过程听起来简单但有一个数学现实每一次转移都会有少量电子留在了原势阱里这叫转移损失。单个转移损失率可以做到很低比如10的负5次方量级但一张几百万像素的CCD一个电荷包要从感光区一路传到水平移位寄存器再一路传到输出放大器可能要经历上千次转移。累计起来的电荷损失对微弱信号就是实打实的伤害。所以科学级CCD对转移效率CTE的要求极高这也是CCD工艺难做、价格居高不下的原因之一。2.2 片外CDS和单路ADC整幅画面共用一套模拟读出链路CCD的读出结构非常集中整块芯片只有一个或者少数几个输出放大器。每一行像素的电荷包依次被搬进水平移位寄存器再逐个被搬到输出节点变成电压然后送进片外的模拟前端AFE做处理。这里必须提一下相关双采样CDSCorrelated Double Sampling。CCD输出节点在读取每个像素前要先复位到一个已知电平这个复位动作本身会引入噪声叫复位噪声也叫kTC噪声——因为它和节点电容C、温度T、玻尔兹曼常数k直接相关。CCD读出信号时电路先采样复位电平再采样复位后信号电平两者相减就把固定不变的复位电平成分消掉了。由于两次采样时间间隔极短低频的1/f噪声也被大幅抵消。这一招是模拟信号处理里最经典的差分消噪手段理解它就理解了为什么CCD的读出噪声能做到那么低。代价是整个芯片只有一条读出通道帧率天花板很低。想提高帧率只能把电荷转移时钟跑得飞快但转移效率会随频率下降噪声也会上来。所以工业高速检测领域最早淘汰CCD不是没有理由的。2.3 CCD的优势和代价像素一致性极好但速度和功耗拖后腿CCD的优点非常突出所有像素共用一套读出链路像素之间几乎没有增益失配固定模式噪声FPN天然很小满阱容量可以做得很大暗电流经过制冷以后可以压得很低天生的全局曝光特性让它在闪光灯同步、高速运动拍摄这些场景里不会出现卷帘快门那种果冻效应。但它的短板同样致命。电荷转移需要多相高压时钟驱动整片感光区的容性负载功耗和发热都很大。速度上不去片上集成度低外围模拟链路复杂——一个CCD相机板子上要有专门的时序驱动芯片、模拟前端、片外ADC整套系统又大又贵。在消费电子对成本、体积、功耗极度敏感的市场里这条路走不下去是必然的。3. CMOS的翻身路线每个像素自报家门列并行ADC铺路CMOS图像传感器不是新东西上世纪就有但早期被CCD压着打。原因很简单CMOS像素里晶体管多填充因子低噪声大画质差。它的翻身靠的是两样东西一是工艺进步让有源像素结构成熟二是信号处理架构上的降维打击——不搞单通道串行读出改成列并行。3.1 有源像素结构每个像素里都藏着一套小号放大器现代CMOS几乎都是有源像素APS结构最常见的是4T像素光电二极管、传输管、复位管、源跟随器、行选管一个像素里塞五个晶体管。曝光结束后传输管打开把光电二极管里的电子转移到浮动扩散节点FD这个节点的电压变化会经过源跟随器放大再通过行选管接到列总线上。这里和CCD的本质区别就出来了CMOS每个像素都有自己的源跟随器信号以电压形式被“读”出来而CCD是以电荷包形式被“搬”出来。源跟随器相当于一个本地放大器但它是模拟电路不是理想器件——不同像素的源跟随器阈值电压会有失配这带来了CMOS最主要的画质问题之一固定模式噪声FPN。画面暗部出现固定的颗粒状图案根源就是它。3.2 卷帘快门与果冻效应顺序读出的时间差CMOS的读出方式是逐行进行的第一行先复位开始曝光过一段时间第二行复位等第一行曝光结束、读出数据的时候最后一行才刚刚开始曝光。这种行与行之间存在时间差的曝光方式就是卷帘快门Rolling Shutter。拍静态场景没问题但一拍高速运动的物体画面就会歪柱子倾斜、螺旋桨变成弯的、LED灯出现明暗条纹。这是算法救不了的物理现象因为每一行曝光中心时刻本来就不同。要解决就得用全局快门Global ShutterCMOS这个后面会聊。工程上不少机器视觉项目翻车就是没搞清楚自己买的是卷帘还是全局拿卷帘去拍高速传送带上的工件结果所有检测框全是斜的。3.3 列并行ADC和FPN并行换速度失配换来了竖条纹CMOS真正翻身靠的是列并行ADC。既然每个像素都通过列总线输出那就在每一列底下放一个ADC整帧图像同时由几千路ADC并行模数转换。CCD需要几十兆赫兹的高速单路ADC才能跑到的帧率CMOS用几百千赫兹的慢速列ADC就能轻松超过。功耗还更低这就是架构的胜利。可并行是一把双刃剑。几千路独立的ADC哪怕设计完全一致制造出来之后失调和增益也不可能完全相同。于是CMOS图像上常出现一种特有的竖条纹噪声——列与列之间的亮度差异。解决手段分为模拟和数字两路模拟上做列CDS把每列像素在复位态和信号态的差值取出来抵消一部分列偏移数字上在ISP里做列均值校正把暗场下每一列的平均偏差记录下来再逐列减掉。实际调试时竖条纹没消干净多半是这两步只做了其中一步。4. 用数字说话动态范围、信噪比和暗电流的实测意义纸面参数最容易骗人。CS芯片的像素数量、像素尺寸一眼就能看到但真正决定画质的是“电子学三兄弟”动态范围、信噪比、暗电流。这三项直接决定了弱光能力、宽容度和长时间曝光的表现。4.1 动态范围和信噪比怎么算动态范围定义很简单满阱容量除以读出噪声再取对数。公式是DR 20 × log10(满阱电子数 / 读出噪声电子数)若一个科学级CCD满阱100,000 e-读出噪声4 e-动态范围就是20 × log10(25000) ≈ 88 dB。而一颗手机CMOS满阱可能只有8000 e-读出噪声2 e-动态范围约72 dB差了整整四级曝光。所以“底大一级压死人”的底层原因不完全是像素物理面积而是满阱和噪声这两项的综合结果。信噪比则是信号和噪声的比值。光照充足时光子散粒噪声占主导——光子到达是泊松过程涨落等于信号电子数的平方根。N个电子对应的信噪比上限是SNR 10 × log10(N) dB满阱100,000 e-时理论上限50 dB。这个公式揭示了为什么高光部分画质好、阴影部分一塌糊涂信号越小散粒噪声占比越大。4.2 读出噪声CCD老底子 vs 现代CMOS新工艺读出噪声是指完全没有光的时候读出链路本身叠加的电子学噪声。CCD的看家本领就是把读出噪声压低科学级CCD做到3-5 e-是家常便饭配合制冷和慢速读出一些型号能逼近2 e-。CMOS以前动辄十几、几十个电子这也是它在弱光科学领域长期被嫌弃的原因。但工艺进步把差距抹平了。现代科学级sCMOS的读出噪声已经能到1-2 e-量级叠加了列并行读出的优势之后弱光应用反倒更占便宜。消费级CMOS在常规增益下读出噪声也能做到2-5 e-日常摄影根本分不清和CCD的区别。真正还在拖CMOS后腿的不是读出噪声而是暗电流和像素间均匀性。4.3 长曝光之战的胜负手暗电流和制冷长曝光比拼的核心是暗电流。CCD和CMOS都有暗电流但因为有源像素里的晶体管偏置和外围电路发热CMOS在常温下的暗电流通常比CCD明显更大。一次30秒曝光CMOS如果没做制冷画面暗部会出现密密麻麻的彩色噪点这就是暗电流和暗电流非均匀性DSNU的表现。处理思路有两个层面。第一是器件层CMOS工艺里做深耗尽光电二极管、优化隔离结构把暗电流源头压住第二是应用层科学相机普遍给传感器加TEC半导体制冷片把温度压到零下20度甚至零下60度。经验公式是每降低约7度暗电流减半从25度降到-40度暗电流大约变成原来的1/512这就能支撑几分钟甚至几十分钟的连续曝光。我试过同一颗传感器不制冷时30秒暗场全是噪点制冷到-20度之后30秒暗场干净得像没开机差距就是这么大。5. 背照式和堆栈式CMOS如何从追赶到反超CCD为何还没死透要让CMOS在科学级市场也把CCD挤走光靠读出架构优势还不够还得解决量子效率的短板。这一步靠的是两项工艺革命背照式和堆栈式。5.1 前照式的先天缺陷与背照式破解前照式FSICMOS光线要从芯片正面进来先穿过一层层金属走线和介质层。这个结构是制造工艺决定的——晶体管和互连线本来就在硅片正面。光线一路被遮挡、反射、衍射最后能到达光电二极管的可能只剩一半光强。以前CMOS填充因子低微透镜能补一部分但补不齐。背照式BSI的思路很直接做好像素和电路之后把硅片从背面机械研磨减薄到只剩几微米让光从背面直接进入光电二极管。金属走线彻底让路量子效率可以提升20%-30%尤其是蓝光响应改善非常明显。这项技术最早其实用在科学级CCD上后来被CMOS大规模量产才真正完成了画质逆转。5.2 堆栈式像素层和逻辑层分家背照式解决了感光效率堆栈式Stacked解决了集成度和速度。传统CMOS把像素和逻辑电路做在同一块硅片上像素要跟ADC、ISP抢面积。堆栈式直接用两层芯片一层只放像素一层只放逻辑电路上下用硅通孔TSV互联。像素层可以用为感光优化的工艺逻辑层可以用先进制程做高速ADC和缓存互不拖累。手机里那些支持4K 120fps、8K视频的传感器基本都是堆栈式。像素层面积利用率接近100%逻辑层又能跑很高频率——这直接让手机传感器的读出速度、对焦速度、HDR处理能力全面起飞。没有堆栈式CMOS在消费电子里的画质上限要低一大截。5.3 全局快门CMOS最后的堡垒被攻破但科学级CCD仍然活着CCD最后一个杀手锏是天然全局快门这个优势如今也被CMOS工程师想办法抹掉了。工业全局快门CMOS在像素里增加存储节点曝光结束后所有像素的电荷在极短时间内同时转移到遮蔽的存储区然后再逐个行读出。这样既保证了全帧曝光同步又没有CCD的电荷转移损耗。那CCD是不是该彻底进博物馆了并没有。在一些对噪声和线性度要求极度苛刻的场景——比如高精度光谱测量、光度测定、某些需要超大满阱的科学应用——科学级CCD的成熟稳定和像素间一致性仍然是卖点。只是它的市场从大众产品退到了高精尖仪器里。想体验CCD色彩的人现在只能去二手市场淘老数码相机了。6. 实战选型与调试经验从工业检测到天文摄影的工程心得理论讲完了落到实际。这里分享一些我做过多套相机方案之后沉淀下来的选型思路和调试经验希望能帮大家少走弯路。6.1 不同应用场景的传感器选型思路先看应用再定传感器别一上来就比像素数。机器视觉和产线检测首选全局快门CMOS不能买卷帘快门的型号。拍摄高速运动目标卷帘快门会让工件轮廓变形所有检测算法直接失效。看参数时除了分辨率重点关注帧率、全局快门效率、固定模式噪声。Sony Pregius系列、GPixel、豪威的工业线都可以考虑。科学成像与天文摄影优先考虑背照式科学级CMOS比如Sony IMX455、IMX411或者GPixel的GSENSE系列。这些传感器在低读出噪声、大满阱、高量子效率之间做了专门平衡。预算充足又追求单光子探测才考虑EMCCD预算有限就用制冷sCMOS。手机和消费相机只看厂商宣传的像素数量会踩坑。重点看单像素面积、QE、是否背照式/堆栈式、动态范围和读出噪声。同一个4800万像素四合一之后的等效像素尺寸完全不同弱光表现天差地别。顺带回答一个最近常被问的问题iToF到底用CMOS还是SPAD工艺iToF间接飞行时间测的是相位差对单光子探测能力要求不高用标准CMOS工艺就能做。只有dToF直接飞行时间需要精确记录单个光子的到达时间才需要SPAD这类单光子雪崩二极管工艺。6.2 黑电平、坏点和PRNU拿到模组先做这几件事新传感器模组拿到手别急着接镜头测清晰度先做三件事第一校准黑电平。大多数传感器边缘有被金属遮住的光学黑像素OB像素统计这些像素的平均输出就是该增益和曝光时间下的黑电平基准。但OB像素只有少数几行几列统计样本少受一行噪点干扰就会波动。我在一个项目里发现画面暗部整体发紫查了一圈就是OB区被密封胶污染导黑电平漂移。第二检查坏点并建立坏点图。坏点在高温、高增益下会变多最好在目标工作温度和最高增益下标定。标定出来的坏点用正常像素插值修复。天文领域有个坑用“亮星检测法”做动态坏点剔除时很容易把真星点当成坏点抹掉。稳妥做法是高增益下先拍几十帧暗场用统计学方法定位响应异常的坏点再做静态坏点图而不是实时动态检测。第三做PRNU校正。光响应非均匀性PRNU是像素对相同光照输出不一致造成的。CMOS的PRNU通常比CCD大高增益时尤其明显。校正方法是拍均匀面光源积分球最理想拍几十帧平均掉随机噪声得到每个像素的增益修正系数存进查找表。做完了之后再用同一光源拍一张验证均匀性要求高的场合目标是把残差压到0.5%以内。6.3 电源、时钟和PCB布线模拟信号质量的隐形杀手镜头、传感器选得再好供电和布线不行照样出画质问题。模拟供电和像素供电是CMOS的命脉几十毫伏的纹波都有可能变成图像上的横条纹或噪点。我用示波器测过一颗看起来画质正常的传感器在VDDA引脚上能看到一个几十毫伏的开关电源纹波画面里就有一条条极细的横纹不放大根本看不出来。三个经验电源用低噪声LDO而不是DC-DC直接供模拟域和数字域分开布线传感器底下要铺完整的地平面。如果非要用DC-DC一定要远离传感器并且加足够容量的去耦电容。时钟方面MCLK抖动大列ADC的采样点就会跟着抖表现为随机噪点增加。选有源晶振时别贪便宜有源晶振的相位噪声直接等效到ADC采样抖动上。我们有一次整机画面信噪比离规格差1 dB最后发现的源头居然是一颗劣质晶振换掉之后问题消失。还有一个制冷相机特有的坑传感器温度降到露点以下传感器窗口会结露甚至结冰。装TEC制冷片的同时一定要考虑密封腔体的干燥处理充氮气密封或者加干燥剂否则拍十分钟后画面就花了。这类问题在调试初期不会出现往往在连续运行几小时后才暴露验收时务必做几小时的长稳测试。我在实际调试里的体会是传感器选型本质上是把满阱、噪声、QE、暗电流、帧率、功耗这几项放在同一个表格里权衡一味追求某项参数到极致一定会牺牲另一项。CCD和CMOS之争也是如此——它从来不是简单的“谁比谁强”而是不同时代、不同工艺、不同应用约束下谁更匹配那条完整的信号处理链路。真想验证文章里的内容找个二手老CCD相机和现代CMOS相机上三脚架同样场景同样曝光时间各拍一张RAW放大看暗部噪点和质感。看完你就明白所有参数讨论最终都会落在那个“信号到底干不干净”的问题上。
返回列表