第二章 图像传感器基础:CMOS与CCD传感器原理、关键参数与主流接口

做FPGA图像采集这些年,我接触最多的就是传感器选型。说实话,很多刚入行的朋友一上来就问我:“到底选CMOS还是CCD?”这个问题其实没有标准答案,得看你的应用场景。今天我就把这两类传感器的底细给你讲透。

2.1 CMOS与CCD传感器原理

先说说CCD。CCD的全称是电荷耦合器件,它的工作方式有点像“接力赛”。每个像素收集到的光生电荷,需要像水桶传递一样,一行一行地转移到输出端的放大器。这种结构的好处是噪声低、一致性极好。我在做工业检测项目时,用过一款高端的CCD传感器,暗电流控制得相当漂亮,拍出来的图像干净得像一汪清水。

但CCD有个硬伤——速度慢。为什么?因为所有电荷都要经过同一个放大器读出,帧率自然上不去。而且CCD的功耗也不低,我记得有一次调试一块CCD板卡,散热没做好,温度一上来,暗电流就跟着飙升。

再来看CMOS。CMOS传感器每个像素都有自己的放大器,相当于每个像素都配了一个“小喇叭”,可以独立读出信号。这种架构的好处是速度快、功耗低。我最近做的一个高速抓拍项目,用的就是CMOS传感器,轻松跑到了1000fps以上。

不过CMOS也有它的短板。每个像素的放大器参数不可能完全一致,这就导致了固定模式噪声(FPN)。说白了,就是图像上会出现一些固定的条纹或斑点。嗯,这里要注意,现在的CMOS工艺已经进步很多了,通过片上校正,FPN基本可以忽略不计。

核心区别总结:

  • CCD:电荷逐行转移,噪声低,适合低照度、高画质场景
  • CMOS:像素独立读出,速度快,适合高速、低功耗场景

2.2 关键参数:分辨率、帧率、像元尺寸

选传感器,这三个参数你必须烂熟于心。我每次做方案评估,第一件事就是看这三项。

分辨率

分辨率就是传感器能拍出多少像素。比如1920×1080,就是200万像素。但别以为分辨率越高越好。我曾经踩过一个坑:为了追求高分辨率,选了一颗5000万像素的传感器,结果FPGA端的带宽根本扛不住,最后只能降帧率用。你想想看,这多尴尬。

帧率

帧率决定了每秒能拍多少张。对于运动物体检测,帧率是关键。我做机器视觉项目时,一般要求帧率至少是物体运动速度的2倍以上,否则会出现运动模糊。

这里有个公式你要记住:

数据带宽 = 分辨率 × 帧率 × 位深

举个例子:1920×1080 @ 60fps,10bit位深,带宽就是:

1920 × 1080 × 60 × 10 ≈ 1.24 Gbps

这个带宽值直接决定了你要选什么接口。

像元尺寸

像元尺寸就是每个像素的物理大小,单位是微米(μm)。像元越大,感光面积越大,低照度性能越好。但大像元意味着分辨率做不高。这是个取舍问题。

我个人习惯:做安防监控,选大像元(5μm以上);做手机摄像头,选小像元(1μm左右)。

参数 典型范围 对系统的影响
分辨率 VGA ~ 4K/8K 决定FPGA存储和带宽需求
帧率 30fps ~ 1000fps+ 决定接口速率和FPGA处理能力
像元尺寸 1μm ~ 10μm 决定灵敏度和信噪比

2.3 主流接口:MIPI、LVDS、Sub-LVDS

接口这块,我见过不少新手搞混。其实说白了,接口就是传感器和FPGA之间的“高速公路”。

MIPI接口

MIPI是目前手机和消费电子领域的主流。它采用差分信号传输,速率可以做到每通道几Gbps。MIPI的物理层是D-PHY或C-PHY,逻辑层是CSI-2。

我在做嵌入式视觉项目时,MIPI用得最多。它的好处是线少、功耗低。但要注意,MIPI信号对PCB走线要求很高,等长、阻抗控制都得做到位。我曾经因为一根MIPI走线长了2mm,导致信号眼图闭合,折腾了两天才找到原因。

LVDS接口

LVDS是工业相机和高端成像设备的老牌接口。它也是差分信号,但速率比MIPI低一些,一般每通道几百Mbps到1Gbps。LVDS的优点是抗干扰能力强,传输距离远。

做工业检测时,我倾向于用LVDS。传感器和FPGA之间可能隔着几米的线缆,LVDS能扛得住。不过LVDS的引脚数比较多,占FPGA的IO资源也多。

Sub-LVDS接口

Sub-LVDS是LVDS的低电压版本,摆幅更小,功耗更低。它主要用于一些对功耗特别敏感的场景,比如航天、医疗内窥镜。

我记得有一次做内窥镜项目,传感器输出就是Sub-LVDS。FPGA端需要专门的接收器IP,不能直接用普通的LVDS bank去接。这个坑我踩过,分享给你。

接口选型建议:

  • 消费电子、手机:选MIPI
  • 工业相机、长距离传输:选LVDS
  • 低功耗、特殊场景:选Sub-LVDS

注意:接口速率一定要留余量。我一般按70%的利用率来设计,比如接口理论速率是1Gbps,实际只用到700Mbps。这样即使信号质量下降,系统也能稳定工作。

2.4 知识体系结构图

下面这张图,我把本章的核心知识点串起来了。你可以把它当作一个快速索引。

图像传感器知识体系 传感器类型 CCD CMOS 关键参数 分辨率 帧率 像元尺寸 主流接口 MIPI LVDS Sub-LVDS 应用场景 工业检测 安防监控 医疗成像 消费电子 FPGA硬件加速处理 图像数据输出(HDMI/以太网/USB)

这张图从传感器类型出发,连接到关键参数和主流接口,再延伸到应用场景,最后落到FPGA硬件加速处理。你顺着这个脉络走,就能把整个知识体系串起来。


好了,关于图像传感器的基础知识,我就讲到这里。记住,选型没有的对错,关键看你的项目需求。下一章我们会深入FPGA端的接口设计,到时候再细聊MIPI和LVDS的物理层实现。

可可精品资料库