樊 輝 ,鄭力新
(1.華僑大學 信息科學與工程學院,福建 廈門361021;2.華僑大學 工學院,福建 泉州362021)
在機器視覺系統(tǒng)中,圖像信號的質(zhì)量很大程度上決定了系統(tǒng)的可靠性。上世紀70年代發(fā)展起來的半導體光電成像器件 CCD(Charge Coupled Device)以其高集成度、高靈敏度、大分辨率等優(yōu)勢,廣泛應用于圖像成像系統(tǒng)。CCD分為線陣CCD與面陣CCD,而線陣CCD更適于高精度測量和運動物體成像系統(tǒng),因此線陣CCD在工業(yè)檢測中大量使用。隨著機器視覺系統(tǒng)及微電子行業(yè)的發(fā)展,工業(yè)檢測中需要更大分辨率、更高靈敏度的線陣CCD相機,以滿足日益發(fā)展的需要。但現(xiàn)在市場上成品線陣相機價格高昂,國內(nèi)已有學者[1-3]進行了研究探索,本文在吸收前人經(jīng)驗并結(jié)合實際需要的基礎(chǔ)上,設(shè)計了一種基于Cameralink接口的線陣CCD的高速高精度工業(yè)相機,以期為機器視覺設(shè)計提供可使用的穩(wěn)定圖像。
相機以Altera的EP3C25Q240C8為主控芯片,完成對各個芯片的時序驅(qū)動信號、圖像預處理及各接口控制實現(xiàn)。CCD、AD在FPGA對應模塊產(chǎn)生的驅(qū)動信號驅(qū)動下工作。線陣CCD圖像傳感器KLI2113采集并輸出模擬圖像信號,經(jīng)AD9945轉(zhuǎn)化為數(shù)字圖像信號。數(shù)字圖像數(shù)據(jù)經(jīng)FPGA進行預處理后經(jīng)過傳輸接口準備傳送。為了實現(xiàn)數(shù)據(jù)高速可靠并且大容量的傳輸,相機采用了Cameralink接口對數(shù)據(jù)進行傳送,同時,本系統(tǒng)中設(shè)計了UART接口部分,完成對上位機控制信號的接收,同時該模塊還負責針對接收到的控制指令,產(chǎn)生相應的FPGA內(nèi)部各相應模塊的控制信號,實現(xiàn)對該相機的控制。相機系統(tǒng)框圖如圖1所示。
圖1 相機設(shè)計系統(tǒng)框圖
CCD芯片是整個圖像采集系統(tǒng)的核心器件。本相機采用柯達公司的KLI-2113[4]作為系統(tǒng)的圖像傳感器。KLI-2113是一款彩色三基色線陣CCD,其最高頻可達20 MHz,有效像元為 2 098個,總計像元為 2 128個,因此以此為圖像傳感器的系統(tǒng)最高頻率可達9 kHz。CCD的原理決定了其需要嚴格的驅(qū)動時序。KLI-2113正常工 作 必 須 的 幾 個 信 號 :φ1、φ2、φ2s、φR、TG1、TG2、LOGn,其中φ1、φ2是像元間寄存器的移位時鐘信號,φ2s設(shè)計用來實現(xiàn)輸出方式控制,可將輸出方式調(diào)節(jié)為單像元信號或雙像元信號,φR為像元輸出復位時鐘信號,TG1、TG2為像元電子輸出門,LOGn主要控制曝光時間。本系統(tǒng)為了保證分辨率,采用單像元信號輸出方式,CCD時序圖如圖2所示。
圖2 KLI-2113驅(qū)動時序圖
本系統(tǒng)的CCD驅(qū)動基于EP3C25Q240C8,使用Verilog HDL設(shè)計,仿真波形如圖3所示。
在圖像處理系統(tǒng)中,模數(shù)轉(zhuǎn)換是圖像數(shù)字化的關(guān)鍵,影響著整個系統(tǒng)圖像的可靠性和穩(wěn)定性。ADI的AD9945[5]集成了直流偏置、相關(guān)雙采樣、暗元校正、增益可編程等功能,同時由于其增益可編程及相關(guān)參數(shù)可通過SDI(Serial Digital Interface)控制,使其成為模擬增益控制的實現(xiàn)方式。此外,AD9945采用相關(guān)雙采樣的采樣方法可在一定程度上消除電平浮動等引起的噪音,使數(shù)據(jù)更加可靠穩(wěn)定?;谝陨显颍鞠到y(tǒng)采用AD9945作為模數(shù)轉(zhuǎn)換器。
AD9945的信號主要分為兩組,配置信號與工作信號。配置信號為三線串行數(shù)字接口(SCK、SDATA、SL),保證內(nèi)部寄存器被正確賦值,這組時序要求相對較低。工作信號為 SHP、SHD、CLPOB、PBLK、DATACLK。此組信號前兩個為雙采樣的時鐘信號,CLPOB為暗元鉗位信號(采樣暗元,在有效元的時候減去暗元值,取得一個可靠的像元數(shù)據(jù)),PBLK為有效像元段選擇,DATACLK為像元數(shù)字信號輸出時鐘。AD9945的時序如圖4所示。
圖3 CCD-AD驅(qū)動仿真波形
由于AD9945采用雙采樣方式采集轉(zhuǎn)化CCD輸出的模擬信號,所以對兩個芯片驅(qū)動信號的同步要求十分嚴格。為了很好地實現(xiàn)此要求,AD與CCD驅(qū)動采用相同的基準時鐘,同時通過全局時鐘資源布局布線的時鐘源設(shè)計,以此滿足時序約束的需要。設(shè)計仿真波形如圖3所示。
由于鏡頭、CCD本身對光響應不均勻等原因,圖像采集系統(tǒng)采集到的圖像一般需要經(jīng)過平場校正。本設(shè)計中,主要針對CCD的非均勻性響應進行校正,校正中,采用兩點法[6]進行適當改進,以適應實際應用需要;由于不同環(huán)境下光線不同,三基色響應會有差別,此時需要進行圖像的白平衡。本系統(tǒng)中,圖像進行了平場校正及手動白平衡處理,同時,在系統(tǒng)中實現(xiàn)了模擬增益調(diào)節(jié)和數(shù)字增益調(diào)節(jié)。
圖4 AD9945基本驅(qū)動時序
2.3.1 平場校正
CCD是積分型器件,輸出電流與器件光敏面上的照度和曝光時間有關(guān),以I代表輸出信號,E代表光敏面上的照度,t代表曝光時間,正常工作時[7]有:
式中,K為比例常數(shù)。Q=Et,Q定義為曝光量。
圖5為KLI2113手冊提供的在不同條件下的響應曲線,考慮圖中3條實際響應曲線,設(shè)計中采用式(2)對實際曲線近似建模,并以此為基礎(chǔ)進行校正。
其中,K為比例常數(shù),I0為暗曝光時的信號響應。同時,Qmax為照度最大值(實際校正時定義Qmax為調(diào)節(jié)光源使60%像元信號輸出值達到240),則得到最大信號輸出值Imax。由式(2)推導可得:
如圖5所示,理想響應曲線為:
并滿足照度為Qmax時,I′=255,由式(3)和式(4)可推導出:
圖5 KLI-2113曝光響應曲線
基于以上的設(shè)計思想,同時因在設(shè)計中使用16位定點表示小數(shù)方法(8位整數(shù)和8位小數(shù)),結(jié)合實際系統(tǒng),采用多次采集相關(guān)值進行累加求均值的方法,故整理可得到方便實現(xiàn)的像元校正因子求導公式:
其中,Iimax、Ii0分別為第i次采集到的最大值及暗電平值。
在預處理模塊完成以上過程后,各像元對應的平場校正因子求取完成,存儲在FPGA內(nèi)部生成的寄存器中,對以后采集的對應位置像元乘以校正因子,達到平場校正的效果。
2.3.2 白平衡
簡單來說,圖像白平衡即是通過調(diào)節(jié)三基色的值,使圖像在白背景下顯示為白色,不存在色差,此時三基色值的比為 1:1:1。但由于環(huán)境光線的不同,白色背景下的圖像會存在色差,此時需要對圖像進行白平衡校正。本相機設(shè)計實現(xiàn)中采用了手動白平衡校正的方法。在該模塊中,同樣采用16位定點運算方法,設(shè)計中有3個16位×16位乘法器,分別對應于RGB三通道。校正過程中,通過上位機傳送校正通道及校正因子,在UART接口接收、解碼后,生成相應的使能信號,刷新原通道校正因子。16位數(shù)字圖像數(shù)據(jù)(8位的圖像數(shù)據(jù)乘以256)通過設(shè)計的對應通道的乘法器與對應的校正因子相乘,得到校正后的數(shù)據(jù),取8位有效數(shù)據(jù)作為校正后的輸出值。
2.3.3 數(shù)字增益與模擬增益控制
在暗環(huán)境中,圖像需要增加放大增益來獲得可用圖像,故在本相機中,加入了模擬增益控制與數(shù)字增益控制兩種增益控制方式。
與白平衡調(diào)節(jié)相同,數(shù)字增益控制方式通過16位乘法器方式實現(xiàn),增益倍數(shù)通過串口由上位機向相機系統(tǒng)發(fā)送。采用此方法,數(shù)字增益可實現(xiàn)1~256的增益放大倍數(shù),而最小放大倍數(shù)達1/256。模擬增益則采用AD9945的可變增益性能,通過上位機發(fā)送控制指令改寫AD的增益倍數(shù)而實現(xiàn)模擬增益的變化。基于AD9945的性能,模擬增益范圍在6 dB~40 dB。
本相機實現(xiàn)中,對上位機指令的接收通過UART接口實現(xiàn)。為了完成上位機對本系統(tǒng)控制指令的實現(xiàn),UART接口分兩部分實現(xiàn),一是RS232-RS485轉(zhuǎn)接口,一是FPGA內(nèi)設(shè)計的UART收發(fā)接口模塊。為了保證系統(tǒng)可實現(xiàn)遠距離控制和控制指令的準確性,設(shè)計中采用了RS485協(xié)議應用差分電平傳輸數(shù)據(jù)。故在系統(tǒng)中加入了RS232-RS485轉(zhuǎn)接口。UART收發(fā)接口模塊功能上實現(xiàn)對控制指令的接收及解碼,并對其他模塊傳輸相應操作指令及對應數(shù)據(jù)。本系統(tǒng)中,約定的控制數(shù)據(jù)幀如圖6所示,‘N’和‘F’分別作為數(shù)據(jù)幀的頭和尾,在接收模塊中判斷數(shù)據(jù)是否傳輸準確,第二位為控制指令類型,對應于各個模塊的控制,解碼后產(chǎn)生對應模塊控制字刷新使能信號,將第三位和第四位作為控制字寫入對應模塊。各模塊根據(jù)收到的使能信號及控制字完成相應操作,實現(xiàn)上位機對本系統(tǒng)的控制??刂浦噶铑愋腿绫?所示。
圖6 串口通信數(shù)據(jù)格式
為了實現(xiàn)數(shù)字圖像的可靠、快速、大容量傳輸,本系統(tǒng)采用了Cameralink接口的base模式作為圖像傳輸接口。此接口包含基于DS90CR285的硬件轉(zhuǎn)接口和基于FPGA的頻率轉(zhuǎn)化及相應時鐘信號、使能信號的接口控制模塊兩個部分。由于CCD最大頻率為20 MHz,而Cameralink可工作在75 MHz,故在接口控制模塊中設(shè)計一個雙端RAM,以此作為圖像數(shù)據(jù)在不同頻率下的轉(zhuǎn)化單元。同時,接口控制模塊還對應地產(chǎn)生數(shù)據(jù)有效信號、行有效信號、幀有效信號3個圖像同步信號及傳輸時鐘。然后,硬件轉(zhuǎn)接口將24位圖像數(shù)據(jù)及相應的4位圖像同步使能信號(3位圖像同步信號與1位自定義控制位,自定義控制位在本設(shè)計中未使用)通過DS90CR285轉(zhuǎn)化為4路LVDS傳輸,同時將傳輸時鐘也對應轉(zhuǎn)化為1路LVDS傳輸。
表1 控制指令類型表
相機測試平臺基于DALSA的X64-CL iPro圖像采集卡實現(xiàn)。相機的CCD工作在10 MHz工作頻率,Cameralink傳輸速度在40 MHz下,測試對象為華大作業(yè)紙,傳至上位機顯示得到的圖像如圖7所示。測試結(jié)果表明,本系統(tǒng)在較高速度下能夠穩(wěn)定工作并得到可用的采樣圖像。
本系統(tǒng)利用FPGA和線陣CCD進行圖像采集,主要介紹了各器件驅(qū)動及接口模塊,實現(xiàn)了圖像的高速采集和穩(wěn)定傳輸,為后續(xù)處理單元提供可靠數(shù)字圖像。本系統(tǒng)在平場校正及 AWB(自動白平衡)、AE(自動曝光)等方面還可進行深入研究和探索,使相機工作性能更加優(yōu)異。
圖7 實驗效果圖
[1]李明偉,黃鴿,劉靜茹.一種高速線陣CCD圖像數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學報,2005,26(8):716-717.
[2]李紅梅,陳敏聰,陳子瑜,等.線陣CCD數(shù)據(jù)獲取方法研究與設(shè)計[J].電子測量技術(shù),2008,31(6):521-523.
[3]張志成,畢明德,孫志剛,等.基于CPLD的線陣 CCD圖像采集系統(tǒng)[J].電氣自動化,2012,34(1):28-30.
[4]Eastman Kodak Company.Kodak digital science KLI-2113 image sensor REV 4[Z].2001.
[5]Analog Devices Inc.Complere 12-bit 40 MHz CCD signal processor AD9945 REV A[Z].2003.
[6]徐樹興,王寶光,鄭義忠.線陣CCD平場校正及 FPGA實現(xiàn)的研究[J].宇航計測技術(shù),2007,27(6):34-37.
[7]王慶有.CCD應用技術(shù)[M].天津:天津大學出版社,2000.