第1章 Camera基础概念:从光子到数字信号

做嵌入式Camera开发,第一件事不是翻datasheet,而是搞懂摄像头到底怎么工作的。我见过不少工程师,上来就调驱动、配寄存器,结果图像偏色、拖影、带宽爆了,回头才发现是基础概念没吃透。这一章,咱们把Camera的底裤扒干净。

1.1 摄像头工作原理:光信号→电信号→数字信号

说白了,摄像头就是个光电转换器。光线通过镜头,落在感光元件上,每个像素点把光子转换成电子,再经过放大、模数转换,最终变成我们看到的数字图像。

整个过程分三步:

  1. 光电转换:光子撞击感光二极管,产生电子-空穴对。电子数量与光强成正比。
  2. 电荷积累与读出:每个像素积累的电荷被转移到读出电路,转换成电压信号。
  3. 模数转换(ADC):模拟电压被量化成数字值,通常是8位、10位或12位。

关键指标:转换效率用“量子效率(QE)”衡量,单位是电子/光子。我做过一个低照度项目,选传感器时QE差了10%,最终图像噪点天差地别。

1.2 传感器类型:CCD vs CMOS

这是老生常谈,但每次选型都有人踩坑。我直接给结论:

对比项 CCD CMOS
读出方式 全局快门,逐行转移电荷 逐行/逐像素读出
噪声水平 低(电荷域读出) 较高(电压域读出)
功耗 高(多路供电) 低(单电源)
集成度 低(需外部ADC/驱动) 高(片上集成ADC/DSP)
帧率 受限(电荷转移慢) 高(并行读出)
成本 高 低
典型应用 工业相机、天文、医疗 手机、安防、车载、IoT

避坑指南:我曾经在一个高速抓拍项目里选了CCD,结果帧率死活上不去。后来换成全局快门的CMOS,问题迎刃而解。记住:CCD适合高画质、低帧率场景;CMOS适合高帧率、低功耗、低成本场景。

1.3 像素与分辨率:不是越大越好

像素就是感光单元,分辨率是像素阵列的尺寸。比如1920×1080,就是207万像素。

但像素高不等于画质好。为什么?

  • 像素尺寸:单个像素越大,感光面积越大,信噪比越高。我做过一个项目,用2μm像素的传感器,暗光下全是噪点;换成3.5μm的,画面干净多了。
  • 像素密度:同样1/2.3英寸传感器,1200万像素 vs 4800万像素,后者单个像素只有前者的1/4,暗光性能直接崩。

我的经验:选分辨率时,先算带宽。比如1080p@30fps,RAW10格式,带宽 = 1920×1080×10×30 ≈ 622 Mbps。你的处理器ISP能扛住吗?你的MIPI接口速率够吗?

1.4 帧率与带宽:嵌入式系统的命门

帧率就是每秒多少帧(fps)。带宽就是每秒传输的数据量。公式很简单:

带宽 = 水平分辨率 × 垂直分辨率 × 位深 × 帧率

举个例子:

分辨率 帧率 位深 带宽(Mbps)
640×480 30 8 73.7
1920×1080 30 10 622
3840×2160 60 12 5972

看到没?4K@60fps@12bit,带宽接近6Gbps。普通MIPI CSI-2接口(4 lane @ 1.5Gbps/lane)也就6Gbps,基本跑满。你还得留余量给控制信号、帧同步、错误重传。

我曾经踩过的坑:一个项目选了4K@30fps,没算带宽,结果MIPI接口跑不满,图像撕裂。后来降帧率到25fps才稳定。记住:带宽留20%余量是底线。

1.5 知识体系总览

下面这张图,把Camera基础概念串起来。你对照着看,心里就有谱了。

Camera基础概念知识体系 摄像头工作原理 光电转换 电荷读出 模数转换 数字输出 CCD / CMOS 像素尺寸 分辨率 帧率 & 带宽 核心思维 选型时:先算带宽 → 再定分辨率 → 最后选传感器 调试时:先看帧率 → 再查噪声 → 最后调图像质量

1.6 本章小结

Camera基础概念,说白了就是三件事:

  • 工作原理:光→电→数,三步走。
  • 传感器选型:CCD还是CMOS,看场景。
  • 带宽计算:分辨率×位深×帧率,留余量。