尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

CCD图像传感器原理与应用:从MOS电容到工业巡线

CCD图像传感器原理与应用:从MOS电容到工业巡线 简介这是一份关于CCD图像传感器的专业课件PPT教案面向学习光电成像、微电子或相关课程的高校师生以及初次接触图像传感器的技术人员。资源共1个pptx文件压缩包大小725KB已有80人学习。课件共43页系统介绍了CCD的发明背景、基本结构和完整工作原理先说明由MOS电容器组成的光敏元阵列与读出移位寄存器再详细拆解信号电荷的产生、存储、传输、检测四个关键环节并通过势阱、时钟脉冲等图示直观展示电荷转移过程帮助读者从底层理解CCD如何完成光电转换与信号读出。此外课件还讨论了分辨率、灵敏度、噪声等性能评价指标并列举了科研相机、医疗成像、航天探测、数码相机等典型应用场景。整体内容层次清晰、图文并茂既适合教师直接用于课堂演示也适合学生自学入门或备考复习是一份实用的教学参考资料。1. 从嫦娥二号到工业视觉CCD图像传感器为什么还没退出舞台嫦娥二号搭载的CCD立体相机在距离月球表面15公里处拍下了分辨率达1米左右的月面图像这背后工作的核心器件就是1970年贝尔实验室发明的CCD——电荷耦合器件。半个多世纪过去数码相机市场早已被CMOS图像传感器占领但在科学探测、工业检测、医疗影像这些对噪声和动态范围极其敏感的场合CCD依然是被优先考虑的方案。原因在于它的光敏元结构天然具备低暗电流和高电荷转移效率而这两点恰恰是CMOS像素里密集放置的晶体管难以同时做到的。这份课件面向的教学场景很典型先用MOS电容器的物理模型讲清楚“电荷怎么来、怎么存、怎么走”再落到分辨率、灵敏度这些可测指标。对于已经入行的工程师真正有价值的不是“CCD是什么”而是它每一步工作过程里电极电压、时钟时序和势阱形状之间怎么配合。下面按器件结构到实际调参的顺序展开中途会给出可以直接对照硬件手册看的参数说明和一段基于Python的巡线灰度判据示例。2. MOS电容器与势阱CCD最底层的电荷存储单元2.1 CCD的基本结构光敏元阵列加上读出移位寄存器CCD芯片可以拆成两部分看待一部分是MOS光敏元阵列负责把光子转成电荷并暂时存住另一部分是读出移位寄存器负责把电荷包按顺序搬运到输出端。课件里提到的“在P型或N型硅衬底上生长约120nm二氧化硅再沉积金属或多晶硅电极”描述的就是单个MOS电容器的制造过程。这里有个容易忽略的点120nm的氧化层厚度是权衡的结果——太薄会导致隧穿漏电太厚则会降低栅极对耗尽区的控制能力常见工艺会把栅氧厚度控制在80到150nm之间具体数值取决于工作电压。每个MOS光敏元就是图像上的一个像素。面阵CCD把几十万到几千万个这样的光敏元排列成矩形线阵CCD则排成一条线配合扫描机构使用。读出移位寄存器紧贴在光敏元阵列边缘它本身也是由MOS结构组成的只是不直接受光而是接收从光敏元转移过来的电荷包。理解这个布局对后续调试很有用如果拍出来的图像出现规则的竖条纹往往不是镜头问题而是光敏元到移位寄存器之间的转移栅有电荷残留。2.1.1 MOS电容器的能带与电荷存储条件单个MOS电容器的工作状态由栅极电压UG决定。UG为零时P型硅内的空穴分布均匀没有耗尽区。当UG加上正电压但低于阈值电压Uth电极下方的空穴被电场排斥形成耗尽区UG继续增大超过Uth半导体表面进入强反型状态电子在氧化层界面附近积聚。CCD正是利用这个反型层来存储光生电子的所以严格说CCD的“像素”工作在MOS电容的深耗尽状态而不是稳态反型状态。深耗尽的意思是电子没有源源不断的来源只有光照激发的电子才能进入势阱这样电荷包的大小就和光强建立了线性关系。2.2 信号电荷的产生内光电效应与光生载流子信号电荷的产生依据的是半导体的内光电效应。入射光子进入硅衬底如果光子能量大于硅的禁带宽度室温下约1.12eV对应波长约1100nm就会激发出电子-空穴对。课件里那张MOS结构示意图画得很清楚电子向电极方向移动空穴被电场排斥进衬底。这里有一个实际工程中很关键的量——量子效率QE它表示入射光子转化为可收集电子的比例。CCD的量子效率在可见光波段通常能做到40%到80%背照式CCD可以超过90%而前照式因为多晶硅栅极遮挡了一部分入射光蓝光波段的量子效率会明显偏低这也是为什么老式CCD相机拍蓝色物体时噪点更明显。2.3 信号电荷的存储势阱与电荷包的概念当金属电极上加正电压时P型硅里的空穴被排斥进入衬底形成耗尽区。对电子而言这个耗尽区是一个势能很低的区域称为势阱。光照产生的电子会掉进势阱并被俘获势阱里积累的电子数量与照射光强成正比。课件把这描述为“势阱内吸的光子数与光强度成正比”准确的表述应该是在曝光时间内势阱收集的电子数正比于入射光子通量。每个MOS元收集的电荷包就是这个像素的原始信号。提示势阱的容量不是无限的。当收集的电子超过势阱容量时多余的电子会溢出到相邻像素造成 blooming漫溢现象——高光区域出现白色的竖线或光斑。处理办法是在传感器前面加装机械快门控制曝光时间或者在驱动时序里增加抗 blooming 结构如横向溢出漏极线阵CCD常用后者。3. 电荷在像素间“接力”三相时钟驱动与转移效率3.1 从势阱到势阱转移栅电极的布线规则电荷包从光敏元转移到输出端靠的是相邻电极上的电压变化。CCD的基本工作单元是三个相邻的转移栅电极分别标为1、2、3所有编号相同的电极连在一起各自施加时钟脉冲φ1、φ2、φ3。电极间的距离必须足够近保证硅表面的耗尽区相互耦合这样电荷包才能无障碍地从相邻势阱滑过去。课件里的MOS结构剖面图展示的正是这种三相CCD的电极排布这也是工业线阵CCD中最常见的一种结构。三相CCD的好处在于电荷转移方向是确定且单向的。电极之间距离太宽电荷会残留距离太窄电极间电容增加时钟驱动功耗上升。芯片设计时通常让电极间隙保持在0.2到0.5微米量级这个尺寸在课件对应的年代是标准工艺在今天也不算过时。3.2 时钟脉冲的时序φ1、φ2、φ3的交叠驱动电荷转移依靠的是时钟脉冲之间高低电平的配合。以三相CCD为例当时钟φ1为高电平而φ2、φ3为低电平时电荷包存储在φ1电极下方的势阱里接下来φ2变为高电平φ1保持高电平两个相邻电极下都有势阱电荷包会摊开分布在两个势阱中然后φ1降到低电平φ1下方的势阱变浅电荷包就全部转移到了φ2下方。整个过程就像接力棒传递三相时钟必须满足严格的交叠时间关系否则会出现电荷包分裂或残留。下面给出一段描述三相驱动时序的伪代码逻辑实际硬件上由CCD驱动芯片比如常见的ICX系列配套驱动IC产生t1: phi1 HIGH, phi2 LOW, phi3 LOW - 电荷包在 φ1 势阱 t2: phi1 HIGH, phi2 HIGH, phi3 LOW - 电荷包扩展到 φ1 φ2 t3: phi1 LOW, phi2 HIGH, phi3 LOW - 电荷包完全进入 φ2 t4: phi2 HIGH, phi3 HIGH, phi1 LOW - 电荷包扩展到 φ2 φ3 t5: phi2 LOW, phi3 HIGH, phi1 LOW - 电荷包完全进入 φ3这段时序的核心在于每个转移周期至少要有一个瞬间让相邻两个电极同时为高电平。如果两个高电平之间没有交叠电荷包在转移过程中会经过一个“无势阱”的中间状态部分电子会复合或进入衬底造成图像拖尾。实际驱动芯片的时序参数里上升沿和下降沿的时间通常在几十纳秒量级具体数值可以参考CCD数据手册里给出的最小交叠时间。3.3 信号电荷的检测输出电路与浮置扩散放大器电荷包到达终点后需要转换成电压才能被外部ADC读取。常见做法是把输出端的浮置扩散区FD预先复位到参考电压然后让电荷包通过输出栅进入FD区电荷注入会导致FD区电压下降下降的幅度正比于电荷包大小。这个电压变化再经过片上的源极跟随器放大输出。由于复位和读出之间存在噪声高性能CCD相机会采用相关双采样CDS电路先采样复位电平再采样信号电平两者相减可以有效去除复位噪声和1/f噪声。3.4 电荷转移效率为什么传输损耗不能忽略电荷在成百上千次转移中不可能做到百分之百传输。每次转移的残留比例称为转移损失率总转移效率是单次转移效率的N次方。一个百万像素级别的面阵CCD电荷从最远端到输出端可能要经过上千次转移即使单次转移效率高达99.99%总效率也只有约90%。这也是为什么CCD对时钟波形和电极材料如此敏感。课件在分辨率一节专门提到“传输效率”的影响实际指的就是这个——电荷没传干净等效于模糊和残影。注意判断驱动时序是否正常的最直接办法是拍一张均匀光照下的图像检查最亮行或最暗行是否有拖尾。如果存在明显的水平拖尾优先检查时钟脉冲的交叠时间尤其是φ2到φ3的交叠段。4. 分辨率、灵敏度与噪声CCD性能参数和CMOS的选型边界4.1 分辨率像素数决定清晰度传输效率决定干净度分辨率指的是CCD上有多少感光元件640乘以480等于307200约30万像素。这是衡量图像传感器的重要特性之一。但课件提醒了一个容易被忽略的点分辨率不只取决于像素数还受传输效率影响。像素数上去了单个光敏元尺寸必然缩小势阱容量变小灵敏度随之下降。这里就出现了一个平衡问题在相同芯片面积下追求高分辨率必须以牺牲满阱容量为代价。4.2 灵敏度光敏元尺寸、量子效率与满阱容量的三角关系灵敏度描述了单位光照下传感器输出信号的大小。从器件物理角度看灵敏度由三个因素共同决定有效感光面积、量子效率和电荷读出增益。光敏元尺寸减小时收集光的面积变小同时满阱容量减少弱光下信号容易被读出噪声淹没。这就是为什么科学级CCD相机宁愿用几十万像素的大靶面也不愿意用千万像素的小靶面做天文观测。参数含义对成像的影响像素尺寸单个光敏元的物理尺寸越大灵敏度越高分辨率越低量子效率光子转电子的比例越高弱光表现越好满阱容量势阱能容纳的最大电子数越大动态范围越高暗电流无光照时的热生电子越大噪底越高转移效率电荷包每次转移的完整度越低残影越明显4.3 噪声结构暗电流、复位噪声与读出噪声CCD的噪声主要来自三个层面。暗电流是半导体热激发产生的电子温度每升高约7摄氏度暗电流大约翻一倍所以科学级CCD普遍使用半导体制冷器把传感器压到零下20到零下40度。复位噪声来源于输出节点每次复位后电压的随机波动幅度约为根号下kTC典型值在几十个电子量级相关双采样可以把它压到接近零。读出噪声是片上放大器引入的宽带噪声低频段的1/f噪声可以通过CDS消除高频段的白噪声则只能靠降低读出速度来换取。4.4 与CMOS图像传感器的选型边界CMOS图像传感器把像素内的电荷转电压部分做得非常紧凑因此可以实现更高的集成度和更快的读出速度卷帘快门下的果冻效应也被全局快门方案逐渐解决。但在动态范围和暗电流这两个指标上CMOS依然落后于同级别的科学级CCD。一个在选择时可以参考的规则是如果你的信号光强很大、帧率要求高、成本敏感选CMOS如果工作在极弱光环境、需要长时间曝光、追求极低读出噪声预算也允许CCD仍是最稳的选择。近年来背照式CMOS在弱光表现上进步明显部分领域开始挤压CCD的空间但在紫外波段响应和全局快门下的电荷容量方面CCD仍有明确优势。5. 从原理到调试用Python模拟CCD巡线中的明暗判据5.1 读取图像帧并计算行灰度分布CCD在工业视觉里最常见的落地场景之一是巡线也就是从图像中识别出导航线或工件边缘。巡线算法本身不复杂核心就是把CCD输出的灰度信号转换成位置偏差。下面用OpenCV模拟这个过程读取一帧图像按行计算灰度均值找出行中间位置附近的明暗跳变点。import cv2 import numpy as np def detect_line_offset(frame, scan_row_ratio0.8, threshold128): gray cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) h, w gray.shape # 通常巡线取画面下方区域的某一行 scan_row int(h * scan_row_ratio) row_data gray[scan_row, :] # 二值化亮场为路暗场为背景可根据实际场地反相 binary np.where(row_data threshold, 255, 0).astype(np.uint8) # 找到二值化后所有亮色像素的索引区间 idx np.where(binary 255)[0] if len(idx) 0: return None # 整行都未找到目标 left, right idx[0], idx[-1] center (left right) // 2 offset center - w // 2 # 正值表示目标偏右 return offset, left, right cap cv2.VideoCapture(0) # 换成 CCD 相机的设备号 while True: ret, frame cap.read() if not ret: break result detect_line_offset(frame, scan_row_ratio0.8, threshold128) if result is not None: offset, left, right result print(fline offset: {offset} px, line width: {right - left} px) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()这段代码的核心逻辑是先把彩色帧转成单通道灰度图取画面底部80%位置那一行像素用阈值128做二值化把亮色区域看作目标路径然后计算亮色区域中心和画面中心之差输出offset作为控制量。scan_row_ratio控制扫描线的位置值越大越靠近车体底部threshold需要根据实际场景的光照条件和CCD增益进行调整亮场偏暗就降低阈值逆光造成的过曝则需要提高阈值。5.2 光照不均的处理技巧实际巡线场景中最常见的坑是光照不均。窗边跑线的亮度分布可能半边亮半边暗固定阈值很难做干净。我一般会先对整行做一次滑动平均再用原始灰度减去平滑结果得到一个去除背景光照后的差值信号。这样阈值就从绝对灰度变成了相对变化量适应性好很多。如果换了场地光源要快速重构参数可以把采样行的灰度值打印出来画成波形间隔1米左右取几个点标一标比盲调阈值要快得多。验证调参效果有个简单办法让车或相机固定手动移动目标线到视野左、中、右三个位置记录offset输出是否单调变化。如果offset在某一段区间跳变剧烈说明阈值正好落在噪声幅值附近需要把阈值往上抬或者增加一个较小的滞回区间避免单像素噪声导致转向指令来回抖动。本文还有配套的精品资源点击获取
返回列表