第1章 Camera基础概念:从光子到数字信号
做嵌入式Camera开发,第一件事不是翻datasheet,而是搞懂摄像头到底怎么工作的。我见过不少工程师,上来就调驱动、配寄存器,结果图像偏色、拖影、带宽爆了,回头才发现是基础概念没吃透。这一章,咱们把Camera的底裤扒干净。
1.1 摄像头工作原理:光信号→电信号→数字信号
说白了,摄像头就是个光电转换器。光线通过镜头,落在感光元件上,每个像素点把光子转换成电子,再经过放大、模数转换,最终变成我们看到的数字图像。
整个过程分三步:
- 光电转换:光子撞击感光二极管,产生电子-空穴对。电子数量与光强成正比。
- 电荷积累与读出:每个像素积累的电荷被转移到读出电路,转换成电压信号。
- 模数转换(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基础概念串起来。你对照着看,心里就有谱了。
1.6 本章小结
Camera基础概念,说白了就是三件事:
- 工作原理:光→电→数,三步走。
- 传感器选型:CCD还是CMOS,看场景。
- 带宽计算:分辨率×位深×帧率,留余量。