1. 暗电流基础:什么是暗电流、暗电流对图像质量的影响、CCD与CMOS暗电流差异

各位工程师朋友,咱们今天聊聊暗电流。说实话,这玩意儿是图像传感器设计里最让人头疼的问题之一。我做了十几年传感器设计,每次遇到暗电流超标,都得折腾好一阵子。

1.1 什么是暗电流?

暗电流,说白了就是传感器在完全没光的情况下,像素里自己冒出来的电荷。你想想看,明明没有光照,像素却产生了信号,这不是捣乱吗?

为什么会这样?根源在于半导体材料的热激发。硅材料里的电子在室温下会获得热能,从价带跃迁到导带,形成电子-空穴对。这些额外产生的电荷被收集到像素的势阱里,就成了暗电流。

核心公式:暗电流密度 Jdark ∝ T² · exp(-Eg/kT)

其中T是温度,Eg是硅的禁带宽度,k是玻尔兹曼常数。温度每升高6-8°C,暗电流大约翻一倍。

我记得刚入行时,有个项目在高温环境下测试,暗电流直接飙到了正常值的8倍。嗯,那次教训让我深刻理解了温度对暗电流的影响有多可怕。

1.2 暗电流对图像质量的影响

暗电流带来的问题,我归纳为三个层面:

  • 固定模式噪声(FPN):每个像素的暗电流大小不一样,导致图像上出现固定的亮斑或条纹。这玩意儿最难消除,因为它跟像素的工艺偏差有关。
  • 动态范围压缩:暗电流占用了势阱的容量,能容纳的光生电荷就少了。说白了,本来能拍100dB的场景,现在只能拍80dB了。
  • 信噪比恶化:暗电流本身也是一种噪声源(散粒噪声),会叠加到信号上。长曝光时尤其明显,拍出来的照片全是噪点。

避坑指南:我曾经有个项目,客户反馈夜景照片全是白点。排查了半天,发现是暗电流校正参数没跟上温度变化。后来我养成了习惯——每次做暗电流校正,必须同时采集温度数据。

1.3 CCD与CMOS暗电流差异

CCD和CMOS的暗电流表现,差别还挺大的。我画了张图,帮你快速理解:

CCD vs CMOS 暗电流对比 CCD 图像传感器 暗电流来源: • 硅衬底热激发(主要) • 界面态陷阱(次要) 典型值: • 0.1 - 1 nA/cm² (25°C) • 温度系数:~7%/°C 特点: • 均匀性好(单芯片工艺) • 长曝光优势明显 CMOS 图像传感器 暗电流来源: • 硅衬底热激发 • 光电二极管界面态 • 晶体管漏电(额外) 典型值: • 0.5 - 5 nA/cm² (25°C) • 温度系数:~8%/°C 特点: • 像素间差异大(工艺波动) • 短曝光优势明显

从图上你能看出来,CMOS的暗电流通常比CCD大3-5倍。原因其实很简单:CMOS每个像素里都有晶体管,这些晶体管的漏电会额外贡献暗电流。

我个人的经验是:

  • CCD适合长曝光:比如天文摄影、科学成像,暗电流均匀性好,容易校正。
  • CMOS适合高速应用:虽然暗电流大,但读出速度快,短曝光下影响不大。

实战技巧:如果你在做CMOS设计,建议在像素里加一个「屏蔽像素」(optically black pixel)。这些像素被金属层挡住光,专门用来测量暗电流。我习惯用它们做实时暗电流校正,效果比查表法好得多。

1.4 暗电流的测量方法

怎么测暗电流?我常用的方法是:

  1. 把传感器完全遮光(用黑胶带或金属盖)
  2. 设置不同的曝光时间(比如1ms、10ms、100ms)
  3. 记录每个曝光时间下的输出信号
  4. 做线性拟合,斜率就是暗电流
// 暗电流测量伪代码
float measure_dark_current(sensor_t *s, float temp) {
    uint16_t *data;
    float t[] = {0.001, 0.01, 0.1};  // 曝光时间(秒)
    float signal[3];
    
    for (int i = 0; i < 3; i++) {
        set_exposure_time(s, t[i]);
        capture_frame(s);
        data = get_raw_data(s);
        signal[i] = average_pixel(data, 100, 100, 200, 200);  // 取中心区域
    }
    
    // 线性回归求斜率
    float slope = linear_regression(t, signal, 3);
    return slope;  // 单位:DN/s
}

这里要注意,测量时一定要控制温度。我吃过亏——有次在实验室测暗电流,空调突然关了,温度从25°C升到30°C,暗电流直接翻倍。后来我都在恒温箱里测。

1.5 暗电流的温度依赖性

前面提到温度每升6-8°C暗电流翻倍,这个规律在实际中非常准。我整理了个表格,方便你参考:

温度 (°C) 暗电流倍数 (相对25°C) 典型应用场景
-20 0.01x 低温科学成像
0 0.1x 户外冬季
25 1x (基准) 室内常温
50 8x 车载摄像头(夏季)
85 64x 工业高温环境

你看,85°C时暗电流是25°C的64倍!所以做车载或工业级产品时,暗电流消除是必须过的坎。

核心结论:暗电流是图像传感器的「原罪」,无法完全消除,但可以通过工艺优化、温度控制、校正算法来抑制。CCD和CMOS的暗电流特性不同,设计策略也要区别对待。

好了,这一章就聊到这儿。暗电流的基础概念搞清楚了,后面咱们再深入讲怎么消除它。


公众号:蓝海资料掘金营,微信deep3321