曾 岩,黄文刚,马敏舒,高炜祺
(中国电子科技集团公司第二十四研究所,重庆 400060)
由于红外焦平面阵列(IRFPA)制造工艺水平和材料质量等因素的限制,使得红外焦平面阵列器件上不可避免地存在不均匀性和盲元点。不均匀性表现为在相同光源强度下,探测器电流大小不一致;盲元点表现为光电响应过低或者过高的探测单元。这些探测单元在图像上会表现为过暗或者过亮的像素点,会严重影响图像的成像质量;因此,对图像进行非均匀校正和盲元补偿具有极为重要的意义[1-3]。
通常非均匀校正和盲元补偿是ADC数据读出后在系统算法级进行处理,在非均匀校正和盲元补偿的同时往往还需要进行开窗、像素合并、背景减除、空间滤波等其他图像算法。多种算法的同时实现导致图像算法设计的难度加大、资源消耗增多、芯片面积增大[4]。
本文设计了一款像元级ADC电路,可在像元级实现非均匀校正和盲元补偿,降低了后续图像处理算法实现的难度,减少了图像处理算法消耗的资源。所提出的像元ADC基于64×64探测器阵列进行了红外焦平面读出芯片的设计,并采用40 nm CMOS工艺进行了流片。单个像元ADC面积≤30 μm×30 μm,读出芯片面积≤5 mm×5 mm。流片测试结果表示该像元ADC可实现盲元补偿与非均匀校正,非均匀校正范围可达到34 %。
本文设计的像元ADC实现的非均匀校正采用了两点校正法,包括了增益校正和零位校正。像元ADC电路通过可配置的电容阵列来调整探测器电流转换的频率大小,从而改变探测器电流到像元ADC计数结果的增益,以实现非均匀的增益校正;同时每帧图像复位时可对每个像元ADC计数器的初始值进行不同的配置,以实现非均匀的零位校正。该像元ADC电路实现的盲元补偿采用了相邻像元替代法,设计的电路架构可对每个像元ADC进行配置,选择是否将相邻像元探测器电流转换后的频率信号引入作为本像元ADC的计数器输入;若本像元为盲元时,对该像元ADC配置选择引入相邻正常像元的频率信号,则该像元ADC计数结果同相邻像元一致,实现了相邻像元替代的盲元补偿。
设计的像元ADC电路结构如图1所示,主要包括电流-频率转换器(包括充放电对称开关、单位充电电容、比较器)、分频器、18位计数器、18位寄存器等单元[4-8]。其工作流程如下:
①初始化:通过dins将初始化数据写入移位寄存器,再装载进SRAM中来配置I-to-F转换增益、盲元选择、计数器初值等;
②计数:开启I-to-F转换器和计数器,并通过数字信号控制分频比、增减计数、溢出方式等;
③数据读出:计数完成后将计数器的值装载入移位寄存器并输出,装载完成后数据读出的同时可进行下一帧图像的计数积分;
本文设计的18位SRAM中包括了用于盲元补偿的盲元使能信号badcorr和盲元选择信号badcorrdir<1:0>,用于非均匀校正的零位校正信号comdb<9:0>和增益校正信号gaincorr<2:0>。得到像元阵列的盲元和非均匀性的初始信息后,通过移位寄存器将补偿校正信号加载进SRAM<17:0>中,即可实现盲元补偿和非均匀校正。
图1 像素ADC电路结构
电流-频率转换器实际上就是一个振荡器,其电路结构如图2所示,主要由比较器、充电电容Cint、充放电开关S1及延迟单元Tdelay组成。
图2 OSC模块结构
初始状态积分电容Cint电压Vint为Vdd,比较器输出为低,开关S1断开,此时探测器电流对Cint放电,当Vint降低到Vref以下时,比较器输出翻转到高,S1闭合,Vint迅速充电到高,当Vint超过Vref时,比较器输出低,此信号经过Buffer延迟后传输到S1,这样就回到初始状态。Buffer延迟的用处是保证在这段时间内Vint电压抬升到Vdd。积分过程信号仿真结果如图3所示。
图3 OSC仿真信号波形
计数模块包含计数器、移位寄存器和sram模块,电路图见图4所示。
图4 计数模块结构
计数器功能是实现对OSC信号在系统规定的积分时间内计量个数。计数器主要由18级分频器连接方式的下降沿D触发器组成,通过add_dec_sel信号选择计数器中D触发器Q或者Qn端口输出到下一级以实现正向计数或者反向计数。
移位寄存器由18个下降沿D触发器组成,时钟下降沿触发引起数据移位,如图1所示。当系统时钟信号rclk下降沿来临时,数据dins从18位移位寄存器的reg<17>移入,reg<0>数据输出到douts,同时reg
每个像元的dins和douts都连接到周边四个像元,通过传输方向选择信号(up/down/right/left)选择数据的传输方向,以实现数据在整个阵列上的传输。
SRAM由18位锁存器实现,其结构如图5所示。SRAM的输入接移位寄存器数据端reg<17:0>,输出作为控制信号进行盲元补偿和非均匀校正。
图5 SRAM电路结构
单个锁存器电路结构如图6所示,由2个反相器和2个开关构成,保证最小的面积和功耗。
图6 latch电路结构
每次上电初始化时,首先将盲元和非均匀性控制信号通过数字控制电路打入18位移位寄存器中;然后数字电路控制wren信号产生一个脉冲;移位寄存器中的18位数据位被锁存到SRAM中;SRAM的输出信号直接控制电路进行盲元补偿和非均匀性校正。
本文提出的像元ADC的盲元补偿电路结构如图7所示。盲元补偿模块包括一个盲元使能开关S0、四个盲元补偿选择开关S1~S4及其相应的控制电路。
图7 像元ADC盲元补偿电路结构
基于该像元ADC的盲元补偿电路结构,本文设计了相应的像元阵列结构,如图8所示。本像元的clkin<3:0>由相邻四个像元的clkout提供,而本像元的clkout同时提供给相邻四个像元作为盲元补偿输入信号clkin<3:0>的其中之一。
图8 带盲元补偿模块的像素阵列结构示意图
当本像元为盲元时,SRAM将盲元使能信号badcorrn配置为高时,开关S0接节点A;由盲元选择信号badcorrdir<1:0>通过2-4译码器控制开关S1~S4,选择clkin<3:0>其中一个端口接入相邻正常像元的clkout作为最终频率信号。当本像元为正常像元时,SRAM将盲元使能信号badcorrn配置为低,开关S0接节点B;直接将本像元的电流转频率信号接入作为最终频率信号。
以图8为例,当像元(x,y)和相邻四个像元(x-1,y)、(x,y-1)、(x+1,y)、(x,y+1)、均为盲元时;相邻像元如(x-1,y)可通过(x-1,y-1)、(x-1,y+1)、(x-2,y)中的正常像元进行盲元补偿;补偿后(x-1,y)的输出信号clkout即为正常的输出频率,可用作像元(x,y)的盲元补偿输入。
由此可见,该盲元补偿结构仅仅增加了五组开关、三个锁存器、一个2-4译码器,且只需要在电路上电后对SRAM(锁存器)进行一次初始化配置,即可实现对整个像元阵列的盲元补偿,不需要集成盲元补偿图像算法,且消耗很少的面积与功耗。
非均匀校正分为零位校正和增益校正。上电后首先对SRAM的零位校正信号comdb<9:0>预设初值;然后在每一帧图像开始积分前,将SRAM的comdb<9:0>的值装载计数器中;计数器每次以一个固定初值开始计数,即实现了零位校正。
增益校正的电路结构如图9所示,gaincorr<2:0>为SRAM中存储的非均匀校正信号。gaincorr<2:0>通过开关G0~G2选择C0~C2电容是否接入Vint节点来调整该节点总电容的大小;相同的探测器电流下,Vint节点电容增大导致单个充放电周期变长,从而使得探测器电流转换的振荡频率变小,相同积分时间内计数器结果变小,即探测器电流到像元ADC输出的增益变小;Vint节点电容减小导致单个充放电周期变短,从而使得探测器电流转换的振荡频率变大,相同积分时间内计数器结果变大,即探测器电流到像元ADC输出的增益变大。本文提出的非均匀校正像元ADC电路结构仅增加了三组开关、三个电容及几组锁存器,且可通过增加电容阵列和相应开关的数量来增加非均匀校正的精度。该电路结构简单,消耗的面积和功耗小,只需要在电路上电后对SRAM进行一次初始化配置(可与盲元补偿算法同时配置)即可实现非均匀校正,不需要集成非均匀校正图像算法。
图9 非均匀校正(增益)电路结构
本文设计的像元ADC版图如图10所示,单个像元ADC面积为30 μm×30 μm。在I-F转换器等模拟电路周围以地线作为屏蔽线,以减小计数器等数字电路对模拟电路的干扰和噪声。
图10 本文设计的像元ADC版图
所提出的像元ADC基于64×64探测器阵列进行了红外焦平面读出芯片的设计,并采用40 nm CMOS工艺进行了流片,所设计的读出芯片面积约4.5 mm×4.5 mm。其测试系统如图11所示,采集的LVDS数据通过FPGA程序转换为支持cameralink通信协议的数据,然后被上位机的图像采集板进行识别,所用的图像采集卡如图12所示。
图11 测试系统
图12 图像采集卡
非均匀校正(增益)演示结果如图13所示,图13中(a)非均匀校正系数gaincorr<2:0>=3′b111,像素平均值为6.07;图13(b)中非均匀校正系数gaincorr<2:0>=3′b000,像素平均值为4.52,可知实现了非均匀校正,校正范围约34 %。
(a)非均匀校正系数gaincorr<2:0>=3′b111
(b)非均匀校正系数gaincorr<2:0>=3′b000
非均匀校正(零位)演示效果如图14所示,将Lena图像作为零位初始值载入像元阵列SRAM中,直接读出初始化的数据。
图14 非均匀校正(零位)演示结果
盲元补偿演示结果如图15所示,像素阵列(除周围一圈)均由上往下进行盲元补偿,因此每一列计数值相同,由第一行像素决定;实现盲元补偿功能,且可覆盖整个探测器像元阵列。
图15 盲元补偿演示结果
本文设计了一种可实现非均匀校正和盲元补偿的像元ADC电路。该电路依靠简单的结构、小的面积功耗在像元级实现非均匀校正和盲元补偿,降低了后续图像处理算法实现的难度,减少了图像处理算法消耗的资源。所提出的像元ADC基于64×64探测器阵列进行了红外焦平面读出芯片的设计,并采用40 nm CMOS工艺进行了流片。单个像元ADC面积≤30 μm×30 μm,读出芯片面积约4.5 mm×4.5 mm。流片测试结果表示该像元ADC可实现非均匀校正与盲元补偿,非均匀校正范围可达到34 %,盲元补偿可覆盖整个像元阵列。