楊健鷙,劉 霖 ,劉娟秀,葉玉堂,賈宏宇,王 平
(電子科技大學光電信息學院,現代光電測控及儀器實驗室,成都610054)
CCD 因為噪聲低,動態范圍寬等特性,作為高性能成像器件被廣泛用于工業非接觸式測量。通過研究開發CCD 工業相機技術,可以針對應用環境不同的檢測儀器,定制功能與其相適應的圖像采集前端,獲取高質量圖像以完成高精度檢測,用以降低實驗室研發的光電檢測設備前段采集系統的成本。
因為CCD 器件需要精確的驅動波形,所以比起CMOS 有更復雜的外圍電路。同時由于選用的CCD器件采用的Bayer Array 作為顏色濾波陣列,采得的數據還需要經過插值算法恢復圖像顏色。基于以上原因,本系統選用FPGA 做主控芯片,產生垂直移位驅動波形的同時配置AD 寄存器以產生水平移位驅動波形,并運用一種插值算法恢復圖像數據輸出到上位機[1-4]。實驗結果滿足研發一個采集前端系統的要求。
CCD 芯片選用Sony 公司的ICX618AQA。AD芯片選用ADI 公司的AD9949,其具有輸出行寄存器驅動波形(TG driving)的能力。驅動芯片選用CXD1267,能提供四象脈沖。
成像系統工作原理為:光學系統成像到CCD,光信息轉換成模擬電信息,由FPGA 產生垂直移位驅動波形并配置AD 產生水平移位驅動波形,AD 對CCD 輸出的模擬信號進行相關雙采樣后轉化為數字信號[5]。數字信號在FPGA 中通過插值方法重新排列還原色彩。每幀圖片存入SRAM1,同時讀取SRAM2 中已存的上一幀圖片。通過Cameralink 接口傳到上位機進行處理。系統結構如圖1 所示。

圖1 系統設計框圖
ICX618AQA 是Sony 公司生產的行間轉移面陣CCD 圖像傳感器芯片。它的面積為1/4 foot(對角線長度),有效像素為659(H)×494(V),像元尺寸5.6 μm×5.6 μm,幀頻為60 frame/s。驅動部分電路圖如圖2 所示。
CCD 正常輸出模擬信號需要垂直驅動時序(VФ1,VФ2A/B,VФ3A/B,VФ4)和 水平驅動時序(H1,H2),復位時鐘(ФRG)和襯底時鐘(ФSUB)。因為垂直時序需要-5.5 V、0 V、15 V 3 個等級的電壓驅動,FPGA 輸出的CMOS 電平還需要經過一塊驅動芯片CXD1267,同時額外引入XSG1,XSG2 2 個信號,與FPGA 產生的時序經過驅動芯片的門電路來控制垂直時序,實現電荷信號的正常轉移[6]。
所有時序必須嚴格滿足要求,基本工作原理為:每幀開始階段,VФ2A/B,VФ3A/B通過15 V 電壓閥將電荷從光敏感區轉移到垂直寄存器區。之后四相垂直信號(VФ1,VФ2A/B,VФ3A/B,VФ4)在每行產生一組時序,將儲存在垂直移位寄存器區的電荷向水平移位寄存器移動一行。水平移位信號(H1,H2)相互為反相關系,交替產生脈沖把存在水平移位寄存器的一行電荷按順序輸出到OUT 引腳,每移動一個像素復位信號(ФRG)清除剩余電荷。
圖3 為關鍵信號仿真,其中XV2、XV4、SXHT 分別控制VФ1、VФ4、ФSUB,XV1 和XSG1 控制VФ2A/B,XV3 和XSG2 控制VФ3A/B。

圖2 CCD 驅動電路圖

圖3 垂直移位驅動信號仿真
系統選用的AD 芯片通過配置寄存器完成2 個部分的功能,一是水平移位時序(H1,H2)和復位時鐘(ФRG)的驅動,二是對模擬信號的相關雙采樣,再經過箝位,增益等操作,最后轉變為數字信號輸出[7]。
AD 芯片可以通過內部時序核心把輸入的主時鐘單周期分為48 份,H1,H2和RG 的跳轉位置可以在這48 個相位上選擇,并在電荷從垂直移位寄存器轉移到行移位寄存器的階段,通過控制HBLK 屏蔽H1,H2的跳轉,AD 輸出的3 個驅動信號強度需配置為8.4 mA,以滿足CCD 要求。
由于CCD 輸出的為模擬信號,且每個周期分為復位電平,參考電平,信號電平3 個階段,而儲存的電荷經過放大器才能輸出,所以放大器的復位(KTC)噪聲和放大器1/f 噪聲是影響CCD 的主噪聲[8]。由于參考電平和信號電平的噪聲都同時會被放大,采用相關雙采樣(CDS)技術,第1 次對復位電平進行采樣,第2 次對象元信號電平進行采樣,兩次取樣的差值可以抵消復位噪聲。AD9949 芯片可以內部產生雙采樣脈沖,同樣,每個時鐘被分成48個相位位置,可以選用其中2 個做為采樣位置。相關雙采樣技術抑制噪聲的程度由兩次采樣得到的復位噪聲的相關程度決定。
一般輸出的模擬信號經過相關雙采樣,象元電平在百毫伏左右,需要經過VGA 的增益才能使圖像動態范圍更大,同時,由于CCD 對不同波長敏感性不一樣,對綠色的敏感度更高,所以AD9949 還提供了3 種模式的針對不同濾光片的增益方法(PxGA)[9]。此系統中我們選用貝葉濾光片,逐行掃描模式。
“乒乓操作”是常用于數據流控制的處理技巧。處理流程為:輸入數據流通過“輸入數據流選擇單元”,在奇數幀時間把數據存入SRAM1,同時讀取SRAM2 的內容,偶數幀時間相反。交替進行,等時地將數據流分配到數據緩沖模塊。如圖4 所示。

圖4 SRAM 的乒乓儲存
乒乓操作的最大特點是,通過“輸入數據流選擇單元”和“輸出數據流選擇單元”按幀頻(VD),相互配合地切換,將經過緩沖的數據流沒有時間停頓地送到“數據流運算處理模塊”,進行運算和處理。把乒乓操作模塊看成一個整體,站在這個模塊的兩端看數據,輸入數據流和輸出數據流都是連續不斷的,沒有停頓,非常適合對數據流進行流水線式處理,所以乒乓操作常用于流水線式算法,完成數據的無縫緩沖和處理[10]。
如圖5 為乒乓操作操作的仿真部分波形,存取的時候已經根據感光區域大小截存需要的象元數據,讀取的時候因為需要通過Cameralink 傳輸到上位機顯示,所以讀完一行的時候需要控制Cameralink 行完成信號(LVAL),此時讀取需要停止。仿真中數據采集跟存同步,比讀取時鐘慢了12倍,故從仿真中可以看出每行讀取要比存取快很多。

圖5 SRAM 乒乓操作
目前存在多種類型的顏色濾波陣列,其中Bayer型顏色濾波陣列有很好的彩色信號敏感特性和彩色恢復特性,被廣泛的應用在各種圖像傳感器上。本系統實現一種典型算法采用顏色分量信息,合成彩色圖像?;驹頌?如果1 個像素缺少某種顏色的分量,就用其鄰域中同色分量填補[11]。
模塊采用Verilog 語法描述,如圖6 所示。
方法使用了帶有2 個并行輸出端(taps1,taps2)的移位寄存器(line_buffer),數據按順序移入寄存器。如圖所示,已移入1,2 行的數據,第1 個周期taps1 得到R11(第1 行第1 個紅色像素)的數據,taps2 得到G21的數據。將兩個數據保存進變量,第2 個周期得到G12和B22,同時用取得的4 個數據進行計算,每次輸出的數據是對2×2 像素塊的處理結果。

圖6 顏色恢復示例

圖7 四種排列方式
由于進入移位寄存器后的像素有4 種排列模式,需要設計兩個計數器并通過最后一位來判斷顏色處于哪種順序之下。從上述方法可以看出,采用這種顏色恢復方法是以降低分辨率為代價的。此后的采集系統中,將采用在硬件上實現雙線性插值的方法恢復圖像顏色。
為了得到更加直觀的測試結果,采集速度做了降低處理。
圖8 為CCD 輸出波形,圖9 為相機實物。

圖8 CCD 輸出波形

圖9 相機實物
實驗工作環境為實驗室普通光源,原始如圖10所示。

圖10 原始圖像
通過插值算法恢復得的黑白和彩色圖像如圖11 和圖12 所示。
從圖10 中可以看出,CCD 感光單元對經Bayer濾波陣列后的RGB 3 種顏色感光度不同,造成有規律的暗點出現。圖11 是經過顏色恢復算法的黑白圖,圖12 是經過顏色恢復算法的彩色圖像。

圖11 恢復后黑白圖像

圖12 恢復后彩色圖像
本文通過分析SONY 公司CCD 芯片ICX618AQA,實現一種基于FPGA 的彩色面陣CCD 圖像采集系統。電路設計采用層板對接的方式,目前是用插針,后期改良采用軟排線可以另厚度進一步降低,達到小型化的目的。系統由FPGA 控制,代碼采用Verilog設計,易于仿真和修改,關鍵時序產生和圖像恢復算法都在FPGA 中完成,代碼驗證后再下載到器件的過程令設計的正確性得到保證。根據實驗,可以滿足系統高速,集成度經濟性等要求。
[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] 冉峰,黃舒平,楊輝. 圖像采集系統的面陣CCD 驅動電路設計[J].電子技術應用,2009(11):43-45.
[7] 侯新梅,,李自田.AD9822 及其在面陣CCD 系統中的應用[J].現代電子技術,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] 吳繼華,蔡海寧,王誠.Altera FPGA/CPLD 設計高級篇[M].北京:人民郵電出版社,2011:19-20.
[11]賀欽,劉文予.數字圖像傳感器顏色插值算法研究[J].小型微型計算機系統,2007,28(8):1482-1485.