曾 巖,黃文剛,馬敏舒,高煒祺
(中國電子科技集團(tuán)公司第二十四研究所,重慶 400060)
由于紅外焦平面陣列(IRFPA)制造工藝水平和材料質(zhì)量等因素的限制,使得紅外焦平面陣列器件上不可避免地存在不均勻性和盲元點(diǎn)。不均勻性表現(xiàn)為在相同光源強(qiáng)度下,探測器電流大小不一致;盲元點(diǎn)表現(xiàn)為光電響應(yīng)過低或者過高的探測單元。這些探測單元在圖像上會表現(xiàn)為過暗或者過亮的像素點(diǎn),會嚴(yán)重影響圖像的成像質(zhì)量;因此,對圖像進(jìn)行非均勻校正和盲元補(bǔ)償具有極為重要的意義[1-3]。
通常非均勻校正和盲元補(bǔ)償是ADC數(shù)據(jù)讀出后在系統(tǒng)算法級進(jìn)行處理,在非均勻校正和盲元補(bǔ)償?shù)耐瑫r往往還需要進(jìn)行開窗、像素合并、背景減除、空間濾波等其他圖像算法。多種算法的同時實現(xiàn)導(dǎo)致圖像算法設(shè)計的難度加大、資源消耗增多、芯片面積增大[4]。
本文設(shè)計了一款像元級ADC電路,可在像元級實現(xiàn)非均勻校正和盲元補(bǔ)償,降低了后續(xù)圖像處理算法實現(xiàn)的難度,減少了圖像處理算法消耗的資源。所提出的像元ADC基于64×64探測器陣列進(jìn)行了紅外焦平面讀出芯片的設(shè)計,并采用40 nm CMOS工藝進(jìn)行了流片。單個像元ADC面積≤30 μm×30 μm,讀出芯片面積≤5 mm×5 mm。流片測試結(jié)果表示該像元ADC可實現(xiàn)盲元補(bǔ)償與非均勻校正,非均勻校正范圍可達(dá)到34 %。
本文設(shè)計的像元ADC實現(xiàn)的非均勻校正采用了兩點(diǎn)校正法,包括了增益校正和零位校正。像元ADC電路通過可配置的電容陣列來調(diào)整探測器電流轉(zhuǎn)換的頻率大小,從而改變探測器電流到像元ADC計數(shù)結(jié)果的增益,以實現(xiàn)非均勻的增益校正;同時每幀圖像復(fù)位時可對每個像元ADC計數(shù)器的初始值進(jìn)行不同的配置,以實現(xiàn)非均勻的零位校正。該像元ADC電路實現(xiàn)的盲元補(bǔ)償采用了相鄰像元替代法,設(shè)計的電路架構(gòu)可對每個像元ADC進(jìn)行配置,選擇是否將相鄰像元探測器電流轉(zhuǎn)換后的頻率信號引入作為本像元ADC的計數(shù)器輸入;若本像元為盲元時,對該像元ADC配置選擇引入相鄰正常像元的頻率信號,則該像元ADC計數(shù)結(jié)果同相鄰像元一致,實現(xiàn)了相鄰像元替代的盲元補(bǔ)償。
設(shè)計的像元ADC電路結(jié)構(gòu)如圖1所示,主要包括電流-頻率轉(zhuǎn)換器(包括充放電對稱開關(guān)、單位充電電容、比較器)、分頻器、18位計數(shù)器、18位寄存器等單元[4-8]。其工作流程如下:
①初始化:通過dins將初始化數(shù)據(jù)寫入移位寄存器,再裝載進(jìn)SRAM中來配置I-to-F轉(zhuǎn)換增益、盲元選擇、計數(shù)器初值等;
②計數(shù):開啟I-to-F轉(zhuǎn)換器和計數(shù)器,并通過數(shù)字信號控制分頻比、增減計數(shù)、溢出方式等;
③數(shù)據(jù)讀出:計數(shù)完成后將計數(shù)器的值裝載入移位寄存器并輸出,裝載完成后數(shù)據(jù)讀出的同時可進(jìn)行下一幀圖像的計數(shù)積分;
本文設(shè)計的18位SRAM中包括了用于盲元補(bǔ)償?shù)拿ぴ鼓苄盘朾adcorr和盲元選擇信號badcorrdir<1:0>,用于非均勻校正的零位校正信號comdb<9:0>和增益校正信號gaincorr<2:0>。得到像元陣列的盲元和非均勻性的初始信息后,通過移位寄存器將補(bǔ)償校正信號加載進(jìn)SRAM<17:0>中,即可實現(xiàn)盲元補(bǔ)償和非均勻校正。
圖1 像素ADC電路結(jié)構(gòu)
電流-頻率轉(zhuǎn)換器實際上就是一個振蕩器,其電路結(jié)構(gòu)如圖2所示,主要由比較器、充電電容Cint、充放電開關(guān)S1及延遲單元Tdelay組成。
圖2 OSC模塊結(jié)構(gòu)
初始狀態(tài)積分電容Cint電壓Vint為Vdd,比較器輸出為低,開關(guān)S1斷開,此時探測器電流對Cint放電,當(dāng)Vint降低到Vref以下時,比較器輸出翻轉(zhuǎn)到高,S1閉合,Vint迅速充電到高,當(dāng)Vint超過Vref時,比較器輸出低,此信號經(jīng)過Buffer延遲后傳輸?shù)絊1,這樣就回到初始狀態(tài)。Buffer延遲的用處是保證在這段時間內(nèi)Vint電壓抬升到Vdd。積分過程信號仿真結(jié)果如圖3所示。
圖3 OSC仿真信號波形
計數(shù)模塊包含計數(shù)器、移位寄存器和sram模塊,電路圖見圖4所示。
圖4 計數(shù)模塊結(jié)構(gòu)
計數(shù)器功能是實現(xiàn)對OSC信號在系統(tǒng)規(guī)定的積分時間內(nèi)計量個數(shù)。計數(shù)器主要由18級分頻器連接方式的下降沿D觸發(fā)器組成,通過add_dec_sel信號選擇計數(shù)器中D觸發(fā)器Q或者Qn端口輸出到下一級以實現(xiàn)正向計數(shù)或者反向計數(shù)。
移位寄存器由18個下降沿D觸發(fā)器組成,時鐘下降沿觸發(fā)引起數(shù)據(jù)移位,如圖1所示。當(dāng)系統(tǒng)時鐘信號rclk下降沿來臨時,數(shù)據(jù)dins從18位移位寄存器的reg<17>移入,reg<0>數(shù)據(jù)輸出到douts,同時reg
每個像元的dins和douts都連接到周邊四個像元,通過傳輸方向選擇信號(up/down/right/left)選擇數(shù)據(jù)的傳輸方向,以實現(xiàn)數(shù)據(jù)在整個陣列上的傳輸。
SRAM由18位鎖存器實現(xiàn),其結(jié)構(gòu)如圖5所示。SRAM的輸入接移位寄存器數(shù)據(jù)端reg<17:0>,輸出作為控制信號進(jìn)行盲元補(bǔ)償和非均勻校正。
圖5 SRAM電路結(jié)構(gòu)
單個鎖存器電路結(jié)構(gòu)如圖6所示,由2個反相器和2個開關(guān)構(gòu)成,保證最小的面積和功耗。
圖6 latch電路結(jié)構(gòu)
每次上電初始化時,首先將盲元和非均勻性控制信號通過數(shù)字控制電路打入18位移位寄存器中;然后數(shù)字電路控制wren信號產(chǎn)生一個脈沖;移位寄存器中的18位數(shù)據(jù)位被鎖存到SRAM中;SRAM的輸出信號直接控制電路進(jìn)行盲元補(bǔ)償和非均勻性校正。
本文提出的像元ADC的盲元補(bǔ)償電路結(jié)構(gòu)如圖7所示。盲元補(bǔ)償模塊包括一個盲元使能開關(guān)S0、四個盲元補(bǔ)償選擇開關(guān)S1~S4及其相應(yīng)的控制電路。
圖7 像元ADC盲元補(bǔ)償電路結(jié)構(gòu)
基于該像元ADC的盲元補(bǔ)償電路結(jié)構(gòu),本文設(shè)計了相應(yīng)的像元陣列結(jié)構(gòu),如圖8所示。本像元的clkin<3:0>由相鄰四個像元的clkout提供,而本像元的clkout同時提供給相鄰四個像元作為盲元補(bǔ)償輸入信號clkin<3:0>的其中之一。
圖8 帶盲元補(bǔ)償模塊的像素陣列結(jié)構(gòu)示意圖
當(dāng)本像元為盲元時,SRAM將盲元使能信號badcorrn配置為高時,開關(guān)S0接節(jié)點(diǎn)A;由盲元選擇信號badcorrdir<1:0>通過2-4譯碼器控制開關(guān)S1~S4,選擇clkin<3:0>其中一個端口接入相鄰正常像元的clkout作為最終頻率信號。當(dāng)本像元為正常像元時,SRAM將盲元使能信號badcorrn配置為低,開關(guān)S0接節(jié)點(diǎn)B;直接將本像元的電流轉(zhuǎn)頻率信號接入作為最終頻率信號。
以圖8為例,當(dāng)像元(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)中的正常像元進(jìn)行盲元補(bǔ)償;補(bǔ)償后(x-1,y)的輸出信號clkout即為正常的輸出頻率,可用作像元(x,y)的盲元補(bǔ)償輸入。
由此可見,該盲元補(bǔ)償結(jié)構(gòu)僅僅增加了五組開關(guān)、三個鎖存器、一個2-4譯碼器,且只需要在電路上電后對SRAM(鎖存器)進(jìn)行一次初始化配置,即可實現(xiàn)對整個像元陣列的盲元補(bǔ)償,不需要集成盲元補(bǔ)償圖像算法,且消耗很少的面積與功耗。
非均勻校正分為零位校正和增益校正。上電后首先對SRAM的零位校正信號comdb<9:0>預(yù)設(shè)初值;然后在每一幀圖像開始積分前,將SRAM的comdb<9:0>的值裝載計數(shù)器中;計數(shù)器每次以一個固定初值開始計數(shù),即實現(xiàn)了零位校正。
增益校正的電路結(jié)構(gòu)如圖9所示,gaincorr<2:0>為SRAM中存儲的非均勻校正信號。gaincorr<2:0>通過開關(guān)G0~G2選擇C0~C2電容是否接入Vint節(jié)點(diǎn)來調(diào)整該節(jié)點(diǎn)總電容的大??;相同的探測器電流下,Vint節(jié)點(diǎn)電容增大導(dǎo)致單個充放電周期變長,從而使得探測器電流轉(zhuǎn)換的振蕩頻率變小,相同積分時間內(nèi)計數(shù)器結(jié)果變小,即探測器電流到像元ADC輸出的增益變小;Vint節(jié)點(diǎn)電容減小導(dǎo)致單個充放電周期變短,從而使得探測器電流轉(zhuǎn)換的振蕩頻率變大,相同積分時間內(nèi)計數(shù)器結(jié)果變大,即探測器電流到像元ADC輸出的增益變大。本文提出的非均勻校正像元ADC電路結(jié)構(gòu)僅增加了三組開關(guān)、三個電容及幾組鎖存器,且可通過增加電容陣列和相應(yīng)開關(guān)的數(shù)量來增加非均勻校正的精度。該電路結(jié)構(gòu)簡單,消耗的面積和功耗小,只需要在電路上電后對SRAM進(jìn)行一次初始化配置(可與盲元補(bǔ)償算法同時配置)即可實現(xiàn)非均勻校正,不需要集成非均勻校正圖像算法。
圖9 非均勻校正(增益)電路結(jié)構(gòu)
本文設(shè)計的像元ADC版圖如圖10所示,單個像元ADC面積為30 μm×30 μm。在I-F轉(zhuǎn)換器等模擬電路周圍以地線作為屏蔽線,以減小計數(shù)器等數(shù)字電路對模擬電路的干擾和噪聲。
圖10 本文設(shè)計的像元ADC版圖
所提出的像元ADC基于64×64探測器陣列進(jìn)行了紅外焦平面讀出芯片的設(shè)計,并采用40 nm CMOS工藝進(jìn)行了流片,所設(shè)計的讀出芯片面積約4.5 mm×4.5 mm。其測試系統(tǒng)如圖11所示,采集的LVDS數(shù)據(jù)通過FPGA程序轉(zhuǎn)換為支持cameralink通信協(xié)議的數(shù)據(jù),然后被上位機(jī)的圖像采集板進(jìn)行識別,所用的圖像采集卡如圖12所示。
圖11 測試系統(tǒng)
圖12 圖像采集卡
非均勻校正(增益)演示結(jié)果如圖13所示,圖13中(a)非均勻校正系數(shù)gaincorr<2:0>=3′b111,像素平均值為6.07;圖13(b)中非均勻校正系數(shù)gaincorr<2:0>=3′b000,像素平均值為4.52,可知實現(xiàn)了非均勻校正,校正范圍約34 %。
(a)非均勻校正系數(shù)gaincorr<2:0>=3′b111
(b)非均勻校正系數(shù)gaincorr<2:0>=3′b000
非均勻校正(零位)演示效果如圖14所示,將Lena圖像作為零位初始值載入像元陣列SRAM中,直接讀出初始化的數(shù)據(jù)。
圖14 非均勻校正(零位)演示結(jié)果
盲元補(bǔ)償演示結(jié)果如圖15所示,像素陣列(除周圍一圈)均由上往下進(jìn)行盲元補(bǔ)償,因此每一列計數(shù)值相同,由第一行像素決定;實現(xiàn)盲元補(bǔ)償功能,且可覆蓋整個探測器像元陣列。
圖15 盲元補(bǔ)償演示結(jié)果
本文設(shè)計了一種可實現(xiàn)非均勻校正和盲元補(bǔ)償?shù)南裨狝DC電路。該電路依靠簡單的結(jié)構(gòu)、小的面積功耗在像元級實現(xiàn)非均勻校正和盲元補(bǔ)償,降低了后續(xù)圖像處理算法實現(xiàn)的難度,減少了圖像處理算法消耗的資源。所提出的像元ADC基于64×64探測器陣列進(jìn)行了紅外焦平面讀出芯片的設(shè)計,并采用40 nm CMOS工藝進(jìn)行了流片。單個像元ADC面積≤30 μm×30 μm,讀出芯片面積約4.5 mm×4.5 mm。流片測試結(jié)果表示該像元ADC可實現(xiàn)非均勻校正與盲元補(bǔ)償,非均勻校正范圍可達(dá)到34 %,盲元補(bǔ)償可覆蓋整個像元陣列。