程 瑤,甘婷源
(重慶理工大學(xué)機(jī)械工程學(xué)院,重慶 400050)
圖像傳感器是以光學(xué)理論為基礎(chǔ),包括計(jì)算機(jī)應(yīng)用、圖像處理及半導(dǎo)體電路集成等技術(shù),在光譜分析、幾何尺寸測量、表面檢測等領(lǐng)域的應(yīng)用較廣泛[1]。電荷耦合器件(CCD)的特性決定了應(yīng)用系統(tǒng)的質(zhì)量,為了提高系統(tǒng)測量的精度,對(duì)圖像傳感器輸出特性的研究有重要的意義[2]。本文即針對(duì)典型的線陣CCD 圖像傳感器TCD1209D,構(gòu)建CCD輸出特性測量系統(tǒng),設(shè)計(jì)了一個(gè)基于FPGA的線陣CCD輸出特性測量系統(tǒng),實(shí)現(xiàn)圖像數(shù)據(jù)采集、數(shù)據(jù)緩存以及與PC機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)裙δ?,?duì)CCD器件積分時(shí)間、驅(qū)動(dòng)頻率、輸出信號(hào)幅度等進(jìn)行測量,以此對(duì)特性進(jìn)行分析。
TCD1209D是一款低噪聲、高靈敏度、寬動(dòng)態(tài)范圍的線陣CCD圖像傳感器,其最佳工作頻率為1 MHz,最大驅(qū)動(dòng)頻率可達(dá)20 MHz,作為二相單溝道型線陣CCD器件,TCD1209D的驅(qū)動(dòng)時(shí)序、電路及結(jié)構(gòu)原理等都具有典型性??捎糜趥髡婧蛨D像掃描。中心間距為14 μm,大小為14 μm×14 μm的像元點(diǎn);2 048個(gè)有效像元;光敏區(qū)域由低暗電壓信號(hào)和高靈敏度的光電二極管組成;封裝形式為DIP22的雙列直插型圖像傳感器件。
TCD1209D的原理結(jié)構(gòu)如圖1所示。從圖1可以看出,TCD1209包含1個(gè)模擬移位寄存器與1個(gè)轉(zhuǎn)移柵。其光敏陣列中含有2 075個(gè)光電二極管,其有效光敏單元是中間2 048個(gè)S1-S2048,前D13~D31與后D32~D39共27個(gè)是被遮擋的。
TCD1209D的驅(qū)動(dòng)信號(hào)時(shí)序要求如圖2所示。包含轉(zhuǎn)移脈沖SH、驅(qū)動(dòng)脈沖CR1和CR2、復(fù)位脈沖RS以及控制脈沖CP。為了保證光敏區(qū)中的電荷信號(hào)能夠向φ1電極上轉(zhuǎn)移,φ1的高電平時(shí)間必須大于SH的高電平時(shí)間,且φ1的高電平在SH之前開始,在SH之后才結(jié)束。電荷轉(zhuǎn)移完成后,要將模擬移位寄存器與光敏區(qū)隔離,因此將SH變?yōu)榈碗娖?。同時(shí),在φ1和φ2作用下,向左轉(zhuǎn)移模擬移位寄存器內(nèi)φ1的電荷信號(hào),然后得到被光調(diào)制的脈沖信號(hào)輸出,即OS信號(hào)。
圖1 TCD1209D原理結(jié)構(gòu)圖
圖2 TCD1209D驅(qū)動(dòng)脈沖時(shí)序圖
為了保證CCD在轉(zhuǎn)移行信號(hào)時(shí)能夠正常工作,必須滿足tINT>2 088Tφ1,使SH在轉(zhuǎn)移下一行信號(hào)時(shí)上一行信號(hào)的完整性,即SH周期應(yīng)大于等于2 088個(gè)φ1周期。SH由高電平變?yōu)榈碗娖綍r(shí),OS端開始輸信號(hào)。由于前13個(gè)沒有光電二極管與之對(duì)應(yīng),因此輸出13個(gè)虛設(shè)信號(hào),隨之是光電二極管被遮蔽的16個(gè)啞元信號(hào),然后是3個(gè)可能因光的斜射而產(chǎn)生電荷信號(hào)的輸出信號(hào),不用作信號(hào)處理,然后才輸出有效像元信號(hào)2 048個(gè),最后輸出包含有1個(gè)結(jié)束檢測信號(hào)的啞元信號(hào)8個(gè)[3]。
線陣CCD輸出特性測量系統(tǒng)以FPGA為主控核心,主要包括:光信號(hào)源、線陣CCD傳感器、驅(qū)動(dòng)控制模塊、A/D數(shù)據(jù)采集模塊、FIFO數(shù)據(jù)緩存模塊以及RS232數(shù)據(jù)傳輸模塊。線陣CCD傳感器由FPGA內(nèi)驅(qū)動(dòng)控制模塊產(chǎn)生時(shí)序驅(qū)動(dòng),即線陣CCD TCD1209D的五路驅(qū)動(dòng)信號(hào),分別是SH、CR1、CR2、RS、和CP。數(shù)據(jù)采集模塊由AD9822構(gòu)成,其配置時(shí)序和驅(qū)動(dòng)時(shí)序由FPGA產(chǎn)生。光源信號(hào)經(jīng)線陣CCD傳感器感應(yīng)后,將光信號(hào)轉(zhuǎn)換為了模擬的電信號(hào)。模擬的電信號(hào)經(jīng)過A/D采集變?yōu)閿?shù)字信號(hào)。經(jīng)過處理后的數(shù)字信號(hào)緩存于FPGA中的FIFO中。最后再通過RS232串口將緩存的數(shù)據(jù)傳至PC機(jī)。本系統(tǒng)整體框圖如圖3所示。
圖3 系統(tǒng)整體框圖
在本系統(tǒng)的設(shè)計(jì)中,CCD驅(qū)動(dòng)脈沖時(shí)序信號(hào)產(chǎn)生的正確性是保證后續(xù)電路得以繼續(xù)進(jìn)行的前提。只有驅(qū)動(dòng)信號(hào)正常,傳感器才能正常工作。在一定的驅(qū)動(dòng)頻率條件下,線陣CCD能夠輸出完整、可靠的信息[4-5]。
線陣CCD的驅(qū)動(dòng)時(shí)序由FPGA控制核心產(chǎn)生。但由于線陣CCD的驅(qū)動(dòng)脈沖的高電平最低值為4.5 V,而FPGA的I/O輸出電壓為3.3 V,采用74HC04作為CCD的輸入驅(qū)動(dòng),但由于74HC04是反相器,因此在FPGA的輸出端輸出各路驅(qū)動(dòng)信號(hào)的反相信號(hào)。對(duì)74HC04的特性進(jìn)行分析可得,當(dāng)供電電壓大于4.5 V時(shí),輸出端的最小值為3.84 V,滿足線陣CCD TCD1209 驅(qū)動(dòng)時(shí)序的要求。CCD驅(qū)動(dòng)外圍電路的設(shè)計(jì)如圖4所示。
圖4 線陣CCD TCD12090硬件原理圖
系統(tǒng)采用AD9822芯片作為系統(tǒng)的數(shù)據(jù)采集芯片。AD9822是一款專用于圖像采集系統(tǒng)的模數(shù)信號(hào)轉(zhuǎn)換器,三通道相關(guān)雙采樣(CDS)輸入,可編程增益放大器(PGA),調(diào)理三線彩色陣列的輸出[6-8]。
采用單通道CDS相關(guān)雙采樣時(shí)的電路設(shè)計(jì)如圖5所示。其中C2、C3、C10為去耦電容,用于保證供電電壓的穩(wěn)定性,取0.1 μF。C1為0.1 μF濾波電容,使CCD產(chǎn)生的模擬信號(hào)經(jīng)濾波輸入AD,去除輸入信號(hào)的直流分量。
圖5 AD9822的外圍電路圖
RS232能夠允許全雙工的雙向通訊,計(jì)算機(jī)可以同時(shí)接收數(shù)據(jù)和發(fā)送數(shù)據(jù)。最大的可支持傳輸速率為10 KBytes/s.
RS232的接口能夠利用專用的芯片實(shí)現(xiàn),這些芯片中還含有很多的輔助模塊,如FIFO、調(diào)制解調(diào)器以及中斷等。本系統(tǒng)RS232數(shù)據(jù)傳輸模塊采用的是FT232RL芯片,其硬件電路圖如圖6所示。
圖6 通信模塊硬件電路圖
串口發(fā)送模塊采用FT232RL轉(zhuǎn)換芯片,用于實(shí)現(xiàn)USB轉(zhuǎn)換到串行UART數(shù)據(jù)傳輸模式。如圖6所示,管腳TXD為數(shù)據(jù)發(fā)送輸出,管腳RXD為數(shù)據(jù)接收輸入。在本系統(tǒng)的實(shí)際應(yīng)用中通過USB轉(zhuǎn)TTL數(shù)據(jù)傳輸模塊來實(shí)現(xiàn)。
本系統(tǒng)的軟件設(shè)計(jì)部分采用Verilog HDL語言來實(shí)現(xiàn)。軟件設(shè)計(jì)包括對(duì)線陣CCD TCD1209D驅(qū)動(dòng)時(shí)序設(shè)計(jì),AD9822的配置和驅(qū)動(dòng)時(shí)序設(shè)計(jì),F(xiàn)IFO數(shù)據(jù)緩存模塊設(shè)計(jì)和RS232串行數(shù)據(jù)模塊驅(qū)動(dòng)程序。
通過FPGA內(nèi)部邏輯,產(chǎn)生驅(qū)動(dòng)脈沖信號(hào)[9]。包括轉(zhuǎn)移驅(qū)動(dòng)信號(hào)SH、模擬移位寄存器驅(qū)動(dòng)信號(hào)φ1(即CR1)和φ2(即CR2)、復(fù)位驅(qū)動(dòng)信號(hào)RS、緩沖脈沖信號(hào)CP。
通過對(duì)基準(zhǔn)信號(hào)CLK四分頻,利用各種計(jì)數(shù)器實(shí)現(xiàn)驅(qū)動(dòng)信號(hào)的設(shè)計(jì)。
當(dāng)計(jì)數(shù)值為0~3時(shí),輸出為1;當(dāng)計(jì)數(shù)值為4~7時(shí),輸出為0。這樣就產(chǎn)生了CR1信號(hào),對(duì)CR1信號(hào)進(jìn)行取反操作,就輸出CR2信號(hào)。當(dāng)計(jì)數(shù)值為0~1時(shí),輸出為1;否則輸出為0。這樣就輸出了RS信號(hào)。再判斷計(jì)數(shù)值為2~3時(shí),輸出為1,否則輸出為0,這樣就輸出了CP信號(hào)。當(dāng)計(jì)數(shù)值為0~2 088時(shí),輸出為0;當(dāng)計(jì)數(shù)值為2 089~2 091時(shí),輸出為1。這樣就得到SH信號(hào)。
Quartus Ⅱ開發(fā)環(huán)境下,利用FPGA產(chǎn)生TCD1209D的驅(qū)動(dòng)信號(hào),并進(jìn)行仿真,得到如圖7所示的仿真結(jié)果。對(duì)照前文對(duì)TCD1209的時(shí)序要求,可得產(chǎn)生的驅(qū)動(dòng)信號(hào)滿足TCD1209D的驅(qū)動(dòng)信號(hào)要求。
圖7 TCD 1209D驅(qū)動(dòng)時(shí)序仿真局部放大圖
AD9822工作在單通道的CDS工作模式下,要求ADCCLK時(shí)鐘與線陣CCD TCD1209D輸出信號(hào)保持高度一致。由AD9822的時(shí)序圖可得,CDSCLK1采集輸入信號(hào)中的高電平點(diǎn),CDSCLK2負(fù)責(zé)采集輸入信號(hào)中的低電平點(diǎn),AD9822內(nèi)部比較控制信號(hào)為ADCCLK。且必須嚴(yán)格控制相關(guān)雙采樣的3個(gè)時(shí)序脈沖信號(hào)。通過Quartus Ⅱ環(huán)境下,設(shè)計(jì)流程編輯程序(圖8),進(jìn)行仿真,得到采集時(shí)序仿真圖(圖9)。
圖8 AD9822采集時(shí)序的程序流程圖
圖9 AD9822采集時(shí)序仿真圖
在ADCCLK的低電平范圍內(nèi),首先輸出CDSCLK1的高電平,然后接著輸出CDSCLK2的高電平。對(duì)照AD9822的采樣時(shí)序,可知滿足要求。
通過電路硬件設(shè)計(jì),程序下載到FPGA開發(fā)板上,并通過示波器測試各個(gè)模塊的輸出波形,測試結(jié)果如圖10、圖11所示。對(duì)照TCD1209D的驅(qū)動(dòng)時(shí)序,可知測試結(jié)果正確。
圖10 SH和CR1驅(qū)動(dòng)信號(hào)測試結(jié)果
圖11 CR1和CR2驅(qū)動(dòng)信號(hào)測試結(jié)果
圖12為線陣CCD的輸出OS信號(hào)和AD9822的采集時(shí)序ADCCLK測試結(jié)果,從示波器的顯示可得,滿足輸出信號(hào)的頻率和采集時(shí)序一致。將RS232串口傳輸模塊與FPGA器件連接,再通過USB與PC機(jī)相連,并利用串口調(diào)試助手進(jìn)行調(diào)試,測試過程如圖13所示。
圖12 CCD的輸出信號(hào)和采樣時(shí)鐘信號(hào)ADCCLK測試結(jié)果
圖13 串口測試結(jié)果
在相同的驅(qū)動(dòng)頻率下,改變積分時(shí)間;在相同的積分時(shí)間下,改變驅(qū)動(dòng)頻率,通過采集的數(shù)據(jù),繪制成測試數(shù)據(jù)表格,如表1、表2所示。
表1 驅(qū)動(dòng)頻率24 MHz測試數(shù)據(jù)
表2 驅(qū)動(dòng)頻率6 MHz測試數(shù)據(jù)
由表1、表2實(shí)驗(yàn)數(shù)據(jù)可得,當(dāng)驅(qū)動(dòng)頻率相同的情況下,通過調(diào)整積分時(shí)間的檔位改變積分時(shí)間,積分時(shí)間的檔位越高時(shí),SH周期越短,即積分時(shí)間越短時(shí),對(duì)應(yīng)輸出信號(hào)的幅值就越??;當(dāng)積分時(shí)間相同的情況下,改變驅(qū)動(dòng)頻率,當(dāng)驅(qū)動(dòng)頻率越大的情況下,對(duì)應(yīng)積分時(shí)間越短,其輸出信號(hào)的幅值相應(yīng)的也越小。輸出信號(hào)的頻率變化與輸入頻率保持一致,當(dāng)輸入頻率為24 MHz時(shí),對(duì)應(yīng)OS輸出頻率平均為3 MHz,當(dāng)輸入頻率為6 MHz時(shí),對(duì)應(yīng)OS輸出頻率平均為0.75 MHz,其輸入頻率越高,對(duì)應(yīng)的輸出頻率也越高,且呈線性變化的關(guān)系。
通過串口將數(shù)據(jù)傳回PC機(jī)的實(shí)驗(yàn)結(jié)果圖如圖14、圖15、圖16,橫坐標(biāo)為采集的數(shù)據(jù)點(diǎn),縱坐標(biāo)為輸出電壓幅度。圖14是在12 MHz的光照條件下,由串口獲取的CCD數(shù)據(jù)。根據(jù)采集輸出數(shù)據(jù)位8位,即0~255,根據(jù)比值換算可得趨勢線大致幅值為4.70 V。圖15是在12 MHz的光照條件下通過串口將數(shù)據(jù)傳回PC機(jī)的實(shí)驗(yàn)結(jié)果圖,輸出幅度平均為4.90 V。
圖16是在24 MHz的光照條件下通過串口將數(shù)據(jù)傳回PC機(jī)的實(shí)驗(yàn)結(jié)果圖,輸出幅度平均為4.50 V。
通過CCD測試系統(tǒng)數(shù)據(jù)分析,在相同的驅(qū)動(dòng)頻率條件下,光照越強(qiáng),輸出幅值越大。在相同自然光照射條件下,驅(qū)動(dòng)頻率越大,輸出幅值越小。通過構(gòu)建在特性測量系統(tǒng),通過對(duì)不同條件下數(shù)據(jù)的分析,可以實(shí)現(xiàn)對(duì)CCD器件參數(shù)的測量。
圖14 12 MHz自然光條件下測試分析圖
圖15 12 MHz光照條件下測試分析圖
圖16 24 MHz光照條件下測試分析圖