4、读出电路(ROIC)基础:ROIC功能架构、积分方式(CTIA、SF)、像素级电路设计
好,咱们进入第四章。前面聊完了探测器怎么把光转成电信号,那这个微弱的电信号怎么才能被后端ADC(模数转换器)准确采集到?这就得靠读出电路,也就是ROIC了。
ROIC,说白了就是探测器芯片的“大脑”和“神经”。它负责把每个像素产生的光生电荷,高效、低噪声地搬运出来。我这些年调试过不少探测器,发现很多系统问题,比如图像有固定噪声、动态范围不够,根源往往不在焦平面阵列本身,而是ROIC的设计或配置没到位。
4.1 ROIC的功能架构
一个典型的ROIC,内部结构可以拆成几个核心模块。我习惯把它想象成一个“数据采集工厂”:
- 像素阵列(Pixel Array):这是工厂的“生产线”,每个像素单元负责收集和存储光生电荷。
- 行选与列选电路(Row/Column Decoder):相当于“传送带和分拣机”,按顺序把每个像素的信号引出来。
- 读出通道(Readout Chain):包含采样保持、缓冲器、增益放大器等,这是“质检和包装”环节。
- 时序控制器(Timing Controller):整个工厂的“总控台”,产生各种时钟和偏置电压。
核心要点:ROIC的设计目标,就是在给定的帧频下,把每个像素的电荷包,以最小的噪声和最大的线性度,转换成电压信号输出。
这里有个关键参数叫电荷处理容量,它决定了你能存多少电子。我见过一些初学者,只盯着像元尺寸,忽略了ROIC的电荷容量,结果在强光下图像直接饱和,一片白。
4.2 像素级电路设计:两种主流积分方式
像素级电路是ROIC的基础。目前非制冷探测器里,主流的积分方式就两种:CTIA(电容反馈跨阻放大器)和SF(源极跟随器)。它们各有各的脾气。
4.2.1 CTIA(电容反馈跨阻放大器)
CTIA结构,你可以把它理解成一个带积分电容的运算放大器。探测器电流进来,直接往电容Cint上充电,输出电压就是Vout = Q / Cint。
为什么CTIA这么受欢迎?
- 线性度极好:运放的虚短特性保证了探测器偏压恒定,积分过程非常线性。
- 注入效率高:输入阻抗极低,光生电流几乎100%流入积分电容。
- 噪声低:配合相关双采样(CDS),可以很好地抑制复位噪声和1/f噪声。
我的经验:CTIA的功耗和面积是硬伤。在5μm以下的像元里,塞进一个高性能运放非常困难。我曾经在一个项目中,为了在极小的像元里实现CTIA,不得不牺牲了一些增益,换取了更低的功耗。
4.2.2 SF(源极跟随器)
SF结构就简单多了。它本质上是一个MOS管构成的缓冲器。光生电荷先存储在像素内的电容(通常是PN结电容或MOS电容)上,然后通过源极跟随器读出电压。
SF的优缺点很明显:
- 优点:结构简单,填充系数高,功耗极低,非常适合做大面阵。
- 缺点:线性度差,增益小于1(通常0.7~0.9),而且探测器偏压会随着积分过程变化,导致非线性。
避坑指南:我曾经用SF结构做一款低成本探测器,结果发现图像有严重的“拖影”。后来排查发现,是源极跟随器的建立时间不够,导致行与行之间串扰。解决办法是优化了像素内的偏置电流,并调整了读出时序。
4.3 CTIA vs SF:怎么选?
我把这两种结构的核心差异整理成了表格,方便你对比:
| 对比项 | CTIA | SF(源极跟随器) |
|---|---|---|
| 线性度 | 极好(<0.1%) | 一般(1%~5%) |
| 输入阻抗 | 极低(虚短) | 较高(Cgd耦合) |
| 噪声性能 | 优秀(可CDS) | 中等(KTC噪声大) |
| 功耗 | 高(运放静态电流) | 低(仅缓冲器) |
| 像元面积 | 大(需要运放+电容) | 小(3~4个MOS管) |
| 典型应用 | 高灵敏度、科研级 | 低成本、大面阵 |
怎么选?我个人习惯是:如果追求极致性能,比如做气体泄漏检测或高温测量,我会毫不犹豫选CTIA。但如果做安防监控或车载夜视,对成本敏感,SF结构配合好的数字校正算法,完全够用。
4.4 像素级电路设计实例:一个简单的CTIA像素
咱们来看一个最基础的CTIA像素电路。它通常包含:一个运算放大器(OTA)、一个积分电容(Cint)、一个复位开关(RST),以及一个读出开关(SEL)。
// 像素级CTIA电路描述(Verilog-A行为级模型)
module ctia_pixel (Vdet, Vref, RST, SEL, Vout);
input Vdet, Vref, RST, SEL;
output Vout;
electrical Vdet, Vref, RST, SEL, Vout;
parameter real Cint = 1e-12; // 积分电容 1pF
real Qint; // 积分电荷
analog begin
// 复位阶段:RST为高,电容短路
if (V(RST) > 2.5) begin
Qint = 0;
end
// 积分阶段:RST为低,电流对电容充电
else begin
// 假设探测器电流 I_det = (V(Vdet) - V(Vref)) / R_det
// 这里简化处理,直接积分
Qint = Qint + idt( I(Vdet) , 0 );
end
// 读出阶段:SEL为高,输出电压
V(Vout) <+ transition( V(Vref) - Qint / Cint , 1e-9, 1e-9);
end
endmodule
这段代码虽然简单,但把CTIA的核心行为说清楚了。复位时清空电荷,积分时累积,读出时转换成电压。实际芯片里,运放的增益、带宽、摆率都会影响最终性能。
4.5 知识结构图:ROIC核心逻辑
为了让你更直观地理解ROIC的架构和信号流向,我画了一张图:
从这张图你可以看到,信号从像素阵列产生后,经过行选和列选的“调度”,进入读出通道进行调理,最终输出给ADC。整个过程由时序控制器统一协调。
4.6 小结与避坑
ROIC是连接探测器和后端图像处理的桥梁。选型时,我建议你重点关注三个参数:电荷处理容量、读出噪声和帧频。它们直接决定了你最终图像的信噪比和动态范围。
最后提醒一句:不要迷信仿真结果。ROIC的寄生参数、工艺偏差、温度漂移,都会让实际性能比仿真差一截。我习惯在流片前,多留一些可调偏置和增益的余量,这样回来调试时才有回旋余地。