图像传感器基础:CCD与CMOS传感器原理、关键参数与接口
做图像传感器调试这些年,我接触过各种各样的 sensor。从早期的 CCD 到如今主流的 CMOS,从并行接口到 MIPI,每个阶段都有不少坑。今天咱们就把这些基础概念捋一遍。
说实话,很多刚入行的工程师容易忽略这些底层原理。他们觉得直接调效果就行。但真遇到问题——比如图像有竖条纹、帧率上不去、动态范围不够——最后都得回到传感器原理上找原因。
CCD 与 CMOS:两种主流传感器架构
先说说 CCD 和 CMOS 的区别。这俩都是光电转换器件,但工作方式完全不同。
CCD 传感器
CCD(电荷耦合器件)的工作原理,说白了就是:光生电荷 → 逐行转移 → 统一读出。
每个像素收集到的光生电荷,不能单独读出。它们像传送带一样,一行一行地转移到边缘的读出寄存器,再统一放大、模数转换。
CCD 的核心特点:
- 电荷逐行转移,噪声低
- 填充因子高,感光面积大
- 全局快门(Global Shutter)天然支持
- 功耗高,工艺复杂,成本高
我记得早年做安防摄像头时,用的就是 CCD sensor。图像质量确实好,暗光下噪点少。但功耗大得吓人,发热严重,散热设计很头疼。
CMOS 传感器
CMOS(互补金属氧化物半导体)就灵活多了。每个像素旁边都集成了放大器和读出电路。每个像素可以独立寻址、独立读出。
你想想看,这就像每个像素都有自己的小处理器。好处是速度快、功耗低、集成度高。坏处呢?像素内晶体管占用了感光面积,填充因子下降,噪声也相对大一些。
我的经验:早期 CMOS sensor 画质确实不如 CCD。但最近十年,背照式(BSI)和堆叠式(Stacked)技术让 CMOS 的感光性能和噪声水平大幅提升。现在消费电子领域基本全是 CMOS 的天下了。
CCD vs CMOS 对比
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 逐行转移,统一读出 | 像素独立寻址读出 |
| 噪声水平 | 低(统一放大) | 较高(像素级放大差异) |
| 功耗 | 高(5V~15V 多电压) | 低(单电压 1.8V~3.3V) |
| 帧率 | 较低(逐行转移限制) | 高(随机访问,可开窗) |
| 集成度 | 低(需外部驱动芯片) | 高(可集成 ISP、ADC) |
| 成本 | 高 | 低 |
| 适用场景 | 科研、医疗、高端工业 | 手机、车载、安防、消费电子 |
关键参数:像素、帧率、动态范围
调试 sensor 时,这三个参数是绕不开的。我建议你先把它们吃透。
像素(Pixel)
像素是传感器的最小感光单元。像素大小直接影响感光能力和分辨率。
- 像素尺寸:常见的有 1.4μm、1.8μm、2.0μm 等。尺寸越大,进光量越多,暗光性能越好。
- 分辨率:水平像素数 × 垂直像素数。比如 1920×1080 就是 200 万像素。
- 像素排列:Bayer 阵列最常见(RGGB),也有 RYYB、RGBW 等变种。
避坑指南:我曾经在一个项目中,选了一颗 1.0μm 的小像素 sensor,想着分辨率高。结果暗光下全是噪点,怎么调 ISP 都救不回来。后来换了 1.8μm 的 sensor,问题迎刃而解。像素尺寸这个坑,踩一次就记住了。
帧率(Frame Rate)
帧率就是一秒钟能输出多少帧图像。单位是 fps(frames per second)。
帧率受几个因素限制:
- 像素时钟:sensor 内部读出的时钟频率
- 分辨率:像素越多,读出时间越长
- 接口带宽:MIPI 的 Lane 数、LVDS 的通道数
- 曝光时间:曝光时间太长,帧率自然上不去
举个例子。一个 1080P 的 sensor,像素时钟 74.25MHz,MIPI 4-lane,理论上可以跑到 60fps。但如果你把曝光时间设成 30ms,那帧率最多也就 33fps。曝光和帧率是矛盾的,你得根据场景取舍。
动态范围(Dynamic Range)
动态范围是传感器能同时记录的最亮和最暗区域的比值。单位是 dB。
公式很简单:DR = 20 × log10(满阱容量 / 读出噪声)
满阱容量越大,读出噪声越小,动态范围就越高。
我调试车载摄像头时,动态范围是个硬指标。隧道出入口那种场景,亮的地方过曝,暗的地方死黑,动态范围不够根本不行。后来用了 HDR(高动态范围)模式——多帧合成或者大像素分割——才把这个问题解决。
典型动态范围参考:
- 普通 CMOS sensor:60~70 dB
- 专业 CMOS sensor:70~80 dB
- HDR 模式:100~120 dB
- 人眼:约 120~140 dB
传感器接口:MIPI、LVDS、并行
接口是 sensor 和主控芯片之间的桥梁。选错接口,驱动开发会非常痛苦。
MIPI(Mobile Industry Processor Interface)
MIPI 是目前最主流的 sensor 接口。它采用差分信号传输,速度快、抗干扰强。
- CSI-2:摄像头专用协议,支持 1~4 Lane
- 每 Lane 速率:从 500 Mbps 到 2.5 Gbps 不等
- 优势:引脚少、功耗低、支持长距离传输
我个人习惯在 MIPI 调试时,先用示波器看 Lane 的眼图。眼图张开不够,说明信号质量有问题。曾经有一次,我调了三天帧率上不去,最后发现是 PCB 走线等长没做好,导致 Lane 之间 skew 太大。
LVDS(Low-Voltage Differential Signaling)
LVDS 也是差分信号,但比 MIPI 出现得更早。工业相机和车载领域用得比较多。
- 特点:抗干扰强,传输距离远(可达 10 米以上)
- 速率:每通道 100 Mbps~1 Gbps
- 缺点:引脚多,功耗比 MIPI 高
并行接口(Parallel Interface)
并行接口是早期的方案。数据线多(8 位、10 位、12 位),加上行同步、场同步、像素时钟,一大堆信号线。
- 优点:协议简单,调试方便
- 缺点:引脚多、速率低、抗干扰差
嗯,现在基本只有低分辨率或者老平台还在用并行接口。新项目我建议直接上 MIPI。
接口对比
| 接口类型 | 信号方式 | 最大速率 | 引脚数 | 传输距离 | 典型应用 |
|---|---|---|---|---|---|
| MIPI CSI-2 | 差分 | ~10 Gbps(4-lane) | 少(4~10 根) | ~30 cm | 手机、平板、车载 |
| LVDS | 差分 | ~1 Gbps/通道 | 中等 | ~10 m | 工业相机、车载 |
| 并行 | 单端 | ~100 Mbps | 多(20+ 根) | ~10 cm | 低端摄像头、老平台 |
知识体系总览
下面这张图把本章的核心知识点串起来了。你可以把它当作 sensor 调试的思维导图。
我的建议:刚开始学 sensor 调试,别急着上手调效果。先把 sensor 的 datasheet 啃一遍,搞清楚它是 CCD 还是 CMOS,像素多大,接口是什么。这些基础信息决定了你后续的调试策略。我曾经带过一个新人,上来就调 ISP 参数,结果 sensor 的帧率配置都是错的——白忙活了两天。