4. CCD读出电路架构:串行读出与并行读出、水平与垂直移位寄存器、输出放大器设计
CCD的读出电路,说白了就是怎么把感光区攒下来的电荷包,一个不落、规规矩矩地送到放大器门口。我早年刚接触CCD时,总觉得读出不就是“把电荷倒出来”嘛,后来被一个低速拖影问题折腾了两周,才明白读出架构里的门道有多深。
4.1 读出架构的两条路:串行 vs 并行
CCD读出有两种基本思路。你想想看,像素阵列是一个二维矩阵,你要把每个像素的电荷取出来,怎么走?
- 串行读出:一行一行地挪,每行像素逐个送到输出端。结构简单,但帧率受限于像素数量和移位时钟频率。
- 并行读出:多路同时输出,比如把阵列分成左右两半,或者四象限同时读出。帧率翻倍,但芯片面积和功耗也翻倍。
我在一个高速工业相机项目里用过四通道并行读出。当时客户要求1000fps,单通道串行死活跑不到。换成并行后,每个通道的时钟频率降下来了,噪声反而好控制一些。嗯,这里要注意:并行读出对匹配性要求极高,通道间增益不一致,图像上就会出现明显的“拼接缝”。
| 参数 | 串行读出 | 并行读出 |
|---|---|---|
| 帧率 | 低(受限于单通道速率) | 高(多通道并行) |
| 芯片面积 | 小 | 大(多路输出放大器) |
| 功耗 | 低 | 高 |
| 通道匹配要求 | 无 | 高(否则出现固定图案噪声) |
| 典型应用 | 中低端相机、科学成像 | 高速摄影、高端工业检测 |
4.2 水平与垂直移位寄存器
CCD的电荷转移靠的是移位寄存器。垂直方向(列)和水平方向(行)各有一套,分工明确。
4.2.1 垂直移位寄存器(VCCD)
垂直移位寄存器负责把每一列的电荷包,从上往下(或从下往上)逐行挪到水平读出寄存器里。每个像素对应一个垂直移位寄存器的“级”。
- 三相时钟:最常见的驱动方式。三个时钟相位交替,像接力赛一样把电荷包传下去。我习惯用三相,因为电荷转移效率高,而且对时钟重叠时间的要求没那么苛刻。
- 四相时钟:可以做到双向转移,灵活性更高。但布线复杂,驱动功耗也大。
- 两相时钟:结构最简单,但电荷存储容量小,容易漏电。我一般只在低分辨率、低成本方案里用。
4.2.2 水平移位寄存器(HCCD)
水平移位寄存器接收从垂直寄存器送来的整行电荷,然后一个像素一个像素地往输出放大器送。水平寄存器的时钟频率通常比垂直高得多——垂直可能是几兆赫,水平可能要跑到几十甚至上百兆赫。
水平寄存器的设计有几个关键点:
- 电荷容量:水平寄存器要能装下整行像素的总电荷量。如果容量不够,电荷会溢出到相邻像素,造成“ blooming”。
- 转移效率:高频下,电荷转移效率会下降。我记得有一次仿真做到100MHz,转移效率掉到了99.9%以下,最后不得不调整了栅极氧化层厚度。
- 时钟馈通:高频时钟会通过寄生电容耦合到信号路径上,引入固定图案噪声。我一般会在版图里加屏蔽,或者在时序上做“先开后关”的补偿。
4.3 输出放大器设计
电荷包最终要变成电压信号,这个活交给输出放大器。CCD的输出放大器几乎清一色是浮置扩散放大器(FDA),也叫“源极跟随器 + 复位晶体管”结构。
4.3.1 基本结构
一个典型的CCD输出放大器包含:
- 浮置扩散节点(FD):一个高阻节点,电荷包注入后引起电压变化。ΔV = ΔQ / C_FD。
- 源极跟随器(SF):把FD节点的高阻抗电压信号,转换成低阻抗输出。增益略小于1。
- 复位晶体管(RST):每读完一个像素,把FD节点复位到参考电压,准备接收下一个电荷包。
我习惯把FD节点的电容做得尽量小——电容越小,同样的电荷量产生的电压摆幅越大,增益就越高。但电容太小又容易受噪声干扰,这是个 trade-off。
4.3.2 噪声优化
输出放大器是CCD读出噪声的主要来源之一。主要有三类噪声:
- 复位噪声(kTC噪声):复位晶体管关断时,FD节点上的热噪声被“冻结”。大小是 sqrt(kT/C_FD)。
- 1/f噪声:源极跟随器的沟道噪声,低频段尤其明显。
- 散粒噪声:电荷包本身的统计涨落,跟信号大小有关。
怎么压噪声?我常用的几招:
- 相关双采样(CDS):对复位电平信号电平各采一次,相减后kTC噪声被抵消。这是最经典、最有效的方法。
- 增大FD电容:虽然会降低增益,但能压低kTC噪声。我一般在低噪声科学CCD里把C_FD做到0.1pF以上。
- 优化源极跟随器尺寸:宽长比大一点,1/f噪声会小一些。但面积和功耗也会涨。
4.3.3 输出放大器设计流程
我一般按这个步骤来:
- 根据像素电荷容量和满阱电压,确定FD节点的目标电容。
- 设计源极跟随器的尺寸,保证增益 > 0.9,带宽 > 3倍水平时钟频率。
- 仿真复位噪声和1/f噪声,调整器件参数。
- 版图设计:FD节点要尽量远离时钟走线,减少耦合。
- 后仿真验证,确保寄生参数没把噪声指标拉垮。
4.4 读出时序与CDS配合
读出时序决定了电荷怎么走、噪声怎么消。我常用的时序是:
- 垂直转移:一行的电荷从垂直寄存器挪到水平寄存器。
- 水平转移:水平寄存器里的像素逐个送到输出放大器。
- 每个像素周期内:先采样复位电平(参考电平),再采样信号电平,CDS做差。
这里有个细节:复位电平的采样时机要避开复位晶体管关断时的“振铃”。我一般会在复位脉冲结束后等几十纳秒再采样,等FD节点稳定下来。
4.5 不同应用场景的架构选择
| 应用场景 | 推荐架构 | 理由 |
|---|---|---|
| 科学成像(天文、荧光) | 串行读出 + 大电容FD + 深制冷 | 极致低噪声,帧率不重要 |
| 工业高速检测 | 并行读出(4通道以上) | 帧率优先,通道匹配靠校准 |
| 安防监控 | 串行读出 + 中等增益 | 成本敏感,噪声可接受 |
| 医疗X射线 | 并行读出 + 大像素 | 高动态范围,大电荷容量 |
嗯,差不多就这些。CCD读出电路的设计,说到底就是电荷转移效率和噪声之间的博弈。你只要把垂直/水平寄存器的时钟设计扎实,输出放大器的噪声压下去,再配上合适的CDS,基本就能拿到一张干净的图像了。