楊健鷙,劉 霖 ,劉娟秀,葉玉堂,賈宏宇,王 平
(電子科技大學(xué)光電信息學(xué)院,現(xiàn)代光電測(cè)控及儀器實(shí)驗(yàn)室,成都610054)
CCD 因?yàn)樵肼暤?,?dòng)態(tài)范圍寬等特性,作為高性能成像器件被廣泛用于工業(yè)非接觸式測(cè)量。通過(guò)研究開發(fā)CCD 工業(yè)相機(jī)技術(shù),可以針對(duì)應(yīng)用環(huán)境不同的檢測(cè)儀器,定制功能與其相適應(yīng)的圖像采集前端,獲取高質(zhì)量圖像以完成高精度檢測(cè),用以降低實(shí)驗(yàn)室研發(fā)的光電檢測(cè)設(shè)備前段采集系統(tǒng)的成本。
因?yàn)镃CD 器件需要精確的驅(qū)動(dòng)波形,所以比起CMOS 有更復(fù)雜的外圍電路。同時(shí)由于選用的CCD器件采用的Bayer Array 作為顏色濾波陣列,采得的數(shù)據(jù)還需要經(jīng)過(guò)插值算法恢復(fù)圖像顏色。基于以上原因,本系統(tǒng)選用FPGA 做主控芯片,產(chǎn)生垂直移位驅(qū)動(dòng)波形的同時(shí)配置AD 寄存器以產(chǎn)生水平移位驅(qū)動(dòng)波形,并運(yùn)用一種插值算法恢復(fù)圖像數(shù)據(jù)輸出到上位機(jī)[1-4]。實(shí)驗(yàn)結(jié)果滿足研發(fā)一個(gè)采集前端系統(tǒng)的要求。
CCD 芯片選用Sony 公司的ICX618AQA。AD芯片選用ADI 公司的AD9949,其具有輸出行寄存器驅(qū)動(dòng)波形(TG driving)的能力。驅(qū)動(dòng)芯片選用CXD1267,能提供四象脈沖。
成像系統(tǒng)工作原理為:光學(xué)系統(tǒng)成像到CCD,光信息轉(zhuǎn)換成模擬電信息,由FPGA 產(chǎn)生垂直移位驅(qū)動(dòng)波形并配置AD 產(chǎn)生水平移位驅(qū)動(dòng)波形,AD 對(duì)CCD 輸出的模擬信號(hào)進(jìn)行相關(guān)雙采樣后轉(zhuǎn)化為數(shù)字信號(hào)[5]。數(shù)字信號(hào)在FPGA 中通過(guò)插值方法重新排列還原色彩。每幀圖片存入SRAM1,同時(shí)讀取SRAM2 中已存的上一幀圖片。通過(guò)Cameralink 接口傳到上位機(jī)進(jìn)行處理。系統(tǒng)結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)設(shè)計(jì)框圖
ICX618AQA 是Sony 公司生產(chǎn)的行間轉(zhuǎn)移面陣CCD 圖像傳感器芯片。它的面積為1/4 foot(對(duì)角線長(zhǎng)度),有效像素為659(H)×494(V),像元尺寸5.6 μm×5.6 μm,幀頻為60 frame/s。驅(qū)動(dòng)部分電路圖如圖2 所示。
CCD 正常輸出模擬信號(hào)需要垂直驅(qū)動(dòng)時(shí)序(VФ1,VФ2A/B,VФ3A/B,VФ4)和 水平驅(qū)動(dòng)時(shí)序(H1,H2),復(fù)位時(shí)鐘(ФRG)和襯底時(shí)鐘(ФSUB)。因?yàn)榇怪睍r(shí)序需要-5.5 V、0 V、15 V 3 個(gè)等級(jí)的電壓驅(qū)動(dòng),F(xiàn)PGA 輸出的CMOS 電平還需要經(jīng)過(guò)一塊驅(qū)動(dòng)芯片CXD1267,同時(shí)額外引入XSG1,XSG2 2 個(gè)信號(hào),與FPGA 產(chǎn)生的時(shí)序經(jīng)過(guò)驅(qū)動(dòng)芯片的門電路來(lái)控制垂直時(shí)序,實(shí)現(xiàn)電荷信號(hào)的正常轉(zhuǎn)移[6]。
所有時(shí)序必須嚴(yán)格滿足要求,基本工作原理為:每幀開始階段,VФ2A/B,VФ3A/B通過(guò)15 V 電壓閥將電荷從光敏感區(qū)轉(zhuǎn)移到垂直寄存器區(qū)。之后四相垂直信號(hào)(VФ1,VФ2A/B,VФ3A/B,VФ4)在每行產(chǎn)生一組時(shí)序,將儲(chǔ)存在垂直移位寄存器區(qū)的電荷向水平移位寄存器移動(dòng)一行。水平移位信號(hào)(H1,H2)相互為反相關(guān)系,交替產(chǎn)生脈沖把存在水平移位寄存器的一行電荷按順序輸出到OUT 引腳,每移動(dòng)一個(gè)像素復(fù)位信號(hào)(ФRG)清除剩余電荷。
圖3 為關(guān)鍵信號(hào)仿真,其中XV2、XV4、SXHT 分別控制VФ1、VФ4、ФSUB,XV1 和XSG1 控制VФ2A/B,XV3 和XSG2 控制VФ3A/B。
圖2 CCD 驅(qū)動(dòng)電路圖
圖3 垂直移位驅(qū)動(dòng)信號(hào)仿真
系統(tǒng)選用的AD 芯片通過(guò)配置寄存器完成2 個(gè)部分的功能,一是水平移位時(shí)序(H1,H2)和復(fù)位時(shí)鐘(ФRG)的驅(qū)動(dòng),二是對(duì)模擬信號(hào)的相關(guān)雙采樣,再經(jīng)過(guò)箝位,增益等操作,最后轉(zhuǎn)變?yōu)閿?shù)字信號(hào)輸出[7]。
AD 芯片可以通過(guò)內(nèi)部時(shí)序核心把輸入的主時(shí)鐘單周期分為48 份,H1,H2和RG 的跳轉(zhuǎn)位置可以在這48 個(gè)相位上選擇,并在電荷從垂直移位寄存器轉(zhuǎn)移到行移位寄存器的階段,通過(guò)控制HBLK 屏蔽H1,H2的跳轉(zhuǎn),AD 輸出的3 個(gè)驅(qū)動(dòng)信號(hào)強(qiáng)度需配置為8.4 mA,以滿足CCD 要求。
由于CCD 輸出的為模擬信號(hào),且每個(gè)周期分為復(fù)位電平,參考電平,信號(hào)電平3 個(gè)階段,而儲(chǔ)存的電荷經(jīng)過(guò)放大器才能輸出,所以放大器的復(fù)位(KTC)噪聲和放大器1/f 噪聲是影響CCD 的主噪聲[8]。由于參考電平和信號(hào)電平的噪聲都同時(shí)會(huì)被放大,采用相關(guān)雙采樣(CDS)技術(shù),第1 次對(duì)復(fù)位電平進(jìn)行采樣,第2 次對(duì)象元信號(hào)電平進(jìn)行采樣,兩次取樣的差值可以抵消復(fù)位噪聲。AD9949 芯片可以內(nèi)部產(chǎn)生雙采樣脈沖,同樣,每個(gè)時(shí)鐘被分成48個(gè)相位位置,可以選用其中2 個(gè)做為采樣位置。相關(guān)雙采樣技術(shù)抑制噪聲的程度由兩次采樣得到的復(fù)位噪聲的相關(guān)程度決定。
一般輸出的模擬信號(hào)經(jīng)過(guò)相關(guān)雙采樣,象元電平在百毫伏左右,需要經(jīng)過(guò)VGA 的增益才能使圖像動(dòng)態(tài)范圍更大,同時(shí),由于CCD 對(duì)不同波長(zhǎng)敏感性不一樣,對(duì)綠色的敏感度更高,所以AD9949 還提供了3 種模式的針對(duì)不同濾光片的增益方法(PxGA)[9]。此系統(tǒng)中我們選用貝葉濾光片,逐行掃描模式。
“乒乓操作”是常用于數(shù)據(jù)流控制的處理技巧。處理流程為:輸入數(shù)據(jù)流通過(guò)“輸入數(shù)據(jù)流選擇單元”,在奇數(shù)幀時(shí)間把數(shù)據(jù)存入SRAM1,同時(shí)讀取SRAM2 的內(nèi)容,偶數(shù)幀時(shí)間相反。交替進(jìn)行,等時(shí)地將數(shù)據(jù)流分配到數(shù)據(jù)緩沖模塊。如圖4 所示。
圖4 SRAM 的乒乓儲(chǔ)存
乒乓操作的最大特點(diǎn)是,通過(guò)“輸入數(shù)據(jù)流選擇單元”和“輸出數(shù)據(jù)流選擇單元”按幀頻(VD),相互配合地切換,將經(jīng)過(guò)緩沖的數(shù)據(jù)流沒(méi)有時(shí)間停頓地送到“數(shù)據(jù)流運(yùn)算處理模塊”,進(jìn)行運(yùn)算和處理。把乒乓操作模塊看成一個(gè)整體,站在這個(gè)模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒(méi)有停頓,非常適合對(duì)數(shù)據(jù)流進(jìn)行流水線式處理,所以乒乓操作常用于流水線式算法,完成數(shù)據(jù)的無(wú)縫緩沖和處理[10]。
如圖5 為乒乓操作操作的仿真部分波形,存取的時(shí)候已經(jīng)根據(jù)感光區(qū)域大小截存需要的象元數(shù)據(jù),讀取的時(shí)候因?yàn)樾枰ㄟ^(guò)Cameralink 傳輸?shù)缴衔粰C(jī)顯示,所以讀完一行的時(shí)候需要控制Cameralink 行完成信號(hào)(LVAL),此時(shí)讀取需要停止。仿真中數(shù)據(jù)采集跟存同步,比讀取時(shí)鐘慢了12倍,故從仿真中可以看出每行讀取要比存取快很多。
圖5 SRAM 乒乓操作
目前存在多種類型的顏色濾波陣列,其中Bayer型顏色濾波陣列有很好的彩色信號(hào)敏感特性和彩色恢復(fù)特性,被廣泛的應(yīng)用在各種圖像傳感器上。本系統(tǒng)實(shí)現(xiàn)一種典型算法采用顏色分量信息,合成彩色圖像?;驹頌?如果1 個(gè)像素缺少某種顏色的分量,就用其鄰域中同色分量填補(bǔ)[11]。
模塊采用Verilog 語(yǔ)法描述,如圖6 所示。
方法使用了帶有2 個(gè)并行輸出端(taps1,taps2)的移位寄存器(line_buffer),數(shù)據(jù)按順序移入寄存器。如圖所示,已移入1,2 行的數(shù)據(jù),第1 個(gè)周期taps1 得到R11(第1 行第1 個(gè)紅色像素)的數(shù)據(jù),taps2 得到G21的數(shù)據(jù)。將兩個(gè)數(shù)據(jù)保存進(jìn)變量,第2 個(gè)周期得到G12和B22,同時(shí)用取得的4 個(gè)數(shù)據(jù)進(jìn)行計(jì)算,每次輸出的數(shù)據(jù)是對(duì)2×2 像素塊的處理結(jié)果。
圖6 顏色恢復(fù)示例
圖7 四種排列方式
由于進(jìn)入移位寄存器后的像素有4 種排列模式,需要設(shè)計(jì)兩個(gè)計(jì)數(shù)器并通過(guò)最后一位來(lái)判斷顏色處于哪種順序之下。從上述方法可以看出,采用這種顏色恢復(fù)方法是以降低分辨率為代價(jià)的。此后的采集系統(tǒng)中,將采用在硬件上實(shí)現(xiàn)雙線性插值的方法恢復(fù)圖像顏色。
為了得到更加直觀的測(cè)試結(jié)果,采集速度做了降低處理。
圖8 為CCD 輸出波形,圖9 為相機(jī)實(shí)物。
圖8 CCD 輸出波形
圖9 相機(jī)實(shí)物
實(shí)驗(yàn)工作環(huán)境為實(shí)驗(yàn)室普通光源,原始如圖10所示。
圖10 原始圖像
通過(guò)插值算法恢復(fù)得的黑白和彩色圖像如圖11 和圖12 所示。
從圖10 中可以看出,CCD 感光單元對(duì)經(jīng)Bayer濾波陣列后的RGB 3 種顏色感光度不同,造成有規(guī)律的暗點(diǎn)出現(xiàn)。圖11 是經(jīng)過(guò)顏色恢復(fù)算法的黑白圖,圖12 是經(jīng)過(guò)顏色恢復(fù)算法的彩色圖像。
圖11 恢復(fù)后黑白圖像
圖12 恢復(fù)后彩色圖像
本文通過(guò)分析SONY 公司CCD 芯片ICX618AQA,實(shí)現(xiàn)一種基于FPGA 的彩色面陣CCD 圖像采集系統(tǒng)。電路設(shè)計(jì)采用層板對(duì)接的方式,目前是用插針,后期改良采用軟排線可以另厚度進(jìn)一步降低,達(dá)到小型化的目的。系統(tǒng)由FPGA 控制,代碼采用Verilog設(shè)計(jì),易于仿真和修改,關(guān)鍵時(shí)序產(chǎn)生和圖像恢復(fù)算法都在FPGA 中完成,代碼驗(yàn)證后再下載到器件的過(guò)程令設(shè)計(jì)的正確性得到保證。根據(jù)實(shí)驗(yàn),可以滿足系統(tǒng)高速,集成度經(jīng)濟(jì)性等要求。
[1] Wang Yan,He Zhikuan. Design of High-Speed Driving Circuit for Large Area Array Full Frame Transfer CCD[C]//International Symposium on Photoelectronic Detection and Imaging 2011:Advances in Imaging Detectors and Applications,2011,Proc.of SPIE Vol.8194:819411-1.
[2] Srinivasan R,Anupama K,Suneeta,et al.FPGA Based ASM Implementation for CCD Camera Controller[C]//2009 International Conference on Emerging Trends in Electronic and Photonic Devices &Systems(ELECTRO—2009),2009.
[3] Xu Zhipeng,Wei Jun,Zhou Qianting.Design of the Driving System for Visible Near-Infrared Spatial Programmable Push-Broom Remote CCD Sensor[C]//.Advanced Sensor Systems and Applications Ⅳ,2010,Proc.of SPIE Vol.7853:78531O-1.
[4] Tian Yan,Cao Jianzhong,Yao Dawei.Technology Research of High-Definition CCD Camera Based on FPGA[C]//International Symposium on Photoelectronic Detection and Imaging 2011:Advances in Imaging Detectors and Applications,2011,Proc.of SPIE Vol.8194:819425-1.
[5] Li Binhua,Song Qian,He Chun.Method to Implement the CCD Timing Generator Based on FPGA[C]//.High Energy,Optical,and Infrared Detectors for Astronomy Ⅳ,2010,Proc. of SPIE Vol.7742:77421Y-1.
[6] 冉峰,黃舒平,楊輝. 圖像采集系統(tǒng)的面陣CCD 驅(qū)動(dòng)電路設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009(11):43-45.
[7] 侯新梅,,李自田.AD9822 及其在面陣CCD 系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2010(20):191-196.
[8] Cheol-Hong Moon,Young-Soo Roo,Hwa-Young Kim. An SoC Embedded System Implementation Using an Array Sensor[C]//Fourth International Conference on Fuzzy Systems and Knowledge Discovery(FSKD),2007,0-7695-2874-0/07.
[9] Analog Devices Inc.,12-bit CCD Signal Processor with Precision Timing Core [EB/OL]. Product Specifications,http://www.analog.com.
[10] 吳繼華,蔡海寧,王誠(chéng).Altera FPGA/CPLD 設(shè)計(jì)高級(jí)篇[M].北京:人民郵電出版社,2011:19-20.
[11]賀欽,劉文予.數(shù)字圖像傳感器顏色插值算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(8):1482-1485.