CCD驅(qū)動(dòng)電路的實(shí)現(xiàn)是CCD應(yīng)用技術(shù)的關(guān)鍵問(wèn)題。以往大多是采用普通數(shù)字芯片實(shí)現(xiàn)驅(qū)動(dòng)電路,CCD外圍電路復(fù)雜,為了克服以上方法的缺點(diǎn),利用VHDL硬件描述語(yǔ)言.運(yùn)用FPGA技術(shù)完成驅(qū)動(dòng)時(shí)序電路的實(shí)現(xiàn)。該方法開(kāi)發(fā)周期短,并且驅(qū)動(dòng)信號(hào)穩(wěn)定、可靠。系統(tǒng)功能模塊完成后可以先通過(guò)計(jì)算機(jī)進(jìn)行仿真,再實(shí)際投入使用,降低了使用風(fēng)險(xiǎn)性。
1 硬件設(shè)計(jì)
CCD的硬件驅(qū)動(dòng)電路系統(tǒng)的核心器件是SPARTAN系列芯片XC3S50;CCD采用Atmel公司的CCDTH7888A圖像傳感器;CCD驅(qū)動(dòng)脈沖由XC3S50提供,脈沖信號(hào)產(chǎn)生后由驅(qū)動(dòng)模塊對(duì)脈沖電壓進(jìn)行變換使其符合TH7888A的驅(qū)動(dòng)電壓要求。CCD像素輸出電壓經(jīng)過(guò)A/D轉(zhuǎn)換模塊處理電路VSP2272芯片的處理得到數(shù)字信號(hào),最后為了方便傳輸和方便后續(xù)模塊對(duì)數(shù)字信號(hào)的處理將數(shù)字信號(hào)由TTL電平轉(zhuǎn)換成LVDS電平進(jìn)行輸出,整個(gè)系統(tǒng)如圖1所示。
1.1 TH7888A簡(jiǎn)介
CCD圖像傳感器采用THOMSON公司生產(chǎn)的TH7888A。它是一種高性能的幀轉(zhuǎn)移面陣CCD器件,采用四相脈沖驅(qū)動(dòng)工作,并提供電子快門(mén)的功能;同時(shí),它具有2種輸出的模式:?jiǎn)温份敵龊碗p路輸出。其主要的性能參數(shù)如下:
光敏區(qū)和存儲(chǔ)區(qū)均為1024×1024像素;速度可以達(dá)到30 images/s以上;像元尺寸為14 mm×14 mm;感光區(qū)面積為14.34 mm×14.34 mm;光譜波長(zhǎng)范圍在400~700 nm之間;像元輸出頻率為20 MHz。
1.2 XC3SC50簡(jiǎn)介
XC3S50屬于XILINX公司SPARTAN3系列的FPGA(現(xiàn)場(chǎng)可編程邏輯門(mén)陣列),是一種高性能器件,其特點(diǎn)是:器件運(yùn)用90 μm加工技術(shù);具有高性能低功耗的特點(diǎn);邏輯密度達(dá)1 728個(gè)可用門(mén);3路電源供電即I/O端口供電為1.2~3.3V,核心供電1.2V,輔助功能供電2.5V;帶有2 KB容量分布式RAM和7KB容量的BLOCK RAM,高級(jí)的邏輯時(shí)鐘管理功能。Ahera公司QuartusⅡ開(kāi)發(fā)系統(tǒng)提供應(yīng)用設(shè)計(jì)支持。
2 軟件設(shè)計(jì)
CCD驅(qū)動(dòng)時(shí)序用VHDL描述。VHDL是可以描述硬件電路功能、信號(hào)連接關(guān)系的語(yǔ)言,其具有比電路原理圖更有效地表示硬件電路的特點(diǎn)。由于它與硬件電路無(wú)關(guān)等優(yōu)點(diǎn),用來(lái)設(shè)計(jì)電路時(shí)可大大提高開(kāi)發(fā)效率。
由芯片的結(jié)構(gòu)可以知道,CCD的1個(gè)周期分成感光和轉(zhuǎn)移2個(gè)階段,如圖2所示。
感光階段即A的上升沿階段,主要實(shí)現(xiàn)3個(gè)功能:感光陣列的電荷積累,幀存儲(chǔ)區(qū)到轉(zhuǎn)移寄存器的電荷轉(zhuǎn)移以及轉(zhuǎn)移寄存器向輸出放大器的電荷輸出(即行轉(zhuǎn)移);轉(zhuǎn)移階段即A的下降沿階段,主要完成感光陣列所積累的電荷向幀存儲(chǔ)區(qū)的轉(zhuǎn)移(即幀轉(zhuǎn)移),同時(shí)清空幀存儲(chǔ)區(qū)的無(wú)效電荷。其具體的工作過(guò)程分析如下:
在感光階段即A的上升沿階段,P1,P2,P3,P4保持不變,感光陣列和幀存儲(chǔ)區(qū)之間為阻斷態(tài),兩者之間不會(huì)發(fā)生電荷轉(zhuǎn)移現(xiàn)象。但感光陣列接受外界光源照射會(huì)積累電荷,在電荷積累的同時(shí),在讀出寄存器時(shí)鐘L1,2的控制下,會(huì)首先讀出一行電荷。當(dāng)讀完第1行信號(hào)之后,會(huì)進(jìn)行1次行轉(zhuǎn)移。在寄存器時(shí)鐘的控制下,寄存器時(shí)鐘M1中的信號(hào)會(huì)轉(zhuǎn)移給寄存器M2,然后再次轉(zhuǎn)移到寄存器M3,M4。行轉(zhuǎn)移時(shí),讀出寄存器時(shí)鐘L1,L2不變,無(wú)像元信號(hào)輸出。在行轉(zhuǎn)移結(jié)束之后,進(jìn)行第2行電荷的讀出;每讀出1行信號(hào),進(jìn)行1次行轉(zhuǎn)移,如圖3所示,如此循環(huán)1056次則感光階段完成。轉(zhuǎn)移階段即為門(mén)控時(shí)鐘A的下降沿階段,如圖4所示。幀轉(zhuǎn)移控制信號(hào)P1,P2,P3,P4與行轉(zhuǎn)移控制信號(hào)M1,M2,M3,M4相同,且一直有效。讀出寄存器時(shí)鐘L1,L2無(wú)效,不輸出數(shù)據(jù)。在幀轉(zhuǎn)移結(jié)束之后,進(jìn)入感光階段,存儲(chǔ)區(qū)首先進(jìn)行1次行轉(zhuǎn)移,開(kāi)始信號(hào)的輸出,同時(shí)感光區(qū)像元進(jìn)入電荷積累。這樣就構(gòu)成了TH7888A工作的1個(gè)周期。
主時(shí)鐘脈沖周期定為50 ns,然后主時(shí)鐘通過(guò)4分頻產(chǎn)生L和R。L作為基礎(chǔ)波形會(huì)在以后產(chǎn)生和控制L1,L2和M類(lèi)波形時(shí)使用,L的占空比為2:2,R的占空比為3:1。給L建一個(gè)循環(huán)記數(shù)器CL,它的范圍為0~1 065,在感光階段即A的上升沿階段當(dāng)CL小于1057的時(shí)候L1=L其余階段L1為低電平,L1取反為L(zhǎng)2;當(dāng)1057
3 驅(qū)動(dòng)的實(shí)現(xiàn)及仿真結(jié)果
Max+PlusⅡ是Altera公司推出的一種開(kāi)發(fā)設(shè)計(jì)平臺(tái),他功能強(qiáng)大,可以生成文本文件和波形文件。并支持層次設(shè)計(jì)和從頂至底的設(shè)計(jì)方法,支持VHDL語(yǔ)言??梢跃幾g并形成各種能夠下載到各種FPGA器件的文件,還可以進(jìn)行仿真以檢驗(yàn)設(shè)計(jì)的可行性。
硬件描述語(yǔ)言(VHDL)是用來(lái)描述集成電路的結(jié)構(gòu)和功能的標(biāo)準(zhǔn)語(yǔ)言,設(shè)計(jì)人員無(wú)需通過(guò)門(mén)級(jí)原理圖,而是針對(duì)設(shè)計(jì)目標(biāo)進(jìn)行功能描述,從而加快設(shè)計(jì)周期,VHDL元件的設(shè)計(jì)與工藝無(wú)關(guān),方便工藝轉(zhuǎn)換?;谝陨蟽?yōu)點(diǎn)和上述的時(shí)序分析,該系統(tǒng)采用VHDL語(yǔ)言實(shí)現(xiàn)CCD驅(qū)動(dòng)時(shí)序電路。由于系統(tǒng)的一次周期比較長(zhǎng)大概在200 ms,所以波形仿真時(shí)的END TIME比較大,圖5所示為感光階段的波形仿真,圖6所示為轉(zhuǎn)移階段的波形仿真圖。
由圖可知設(shè)計(jì)所產(chǎn)生的波形與TH7888A的技術(shù)手冊(cè)上的驅(qū)動(dòng)要求所需脈沖完全吻合,能夠達(dá)到TH7888A的驅(qū)動(dòng)要求。
4 結(jié)語(yǔ)
用XILINX公司系列FPGA-SPARTAN芯片,在QuartusⅡ5.0開(kāi)發(fā)環(huán)境下采用VHDL語(yǔ)言輸入方法開(kāi)發(fā)設(shè)計(jì)出了高分辨率全幀CCD TH7888A的驅(qū)動(dòng)電路,能夠產(chǎn)生滿足TH7888A要求的驅(qū)動(dòng)脈沖。與以往常采用的驅(qū)動(dòng)方法相比其面積大大減小了,采用FPGA進(jìn)行設(shè)計(jì),簡(jiǎn)化了CCD驅(qū)動(dòng)電路的電路系統(tǒng)。整個(gè)設(shè)計(jì)編程完畢后進(jìn)行仿真、時(shí)序驗(yàn)證正確后再下載到器件中,然后進(jìn)行電路的測(cè)試校驗(yàn)直到達(dá)到預(yù)期效果。這樣的設(shè)計(jì)修改起來(lái)較為方便,只要修改程序即可,不需要像傳統(tǒng)的設(shè)計(jì)方法要更換器件修改設(shè)計(jì)電路等,實(shí)驗(yàn)證明,把VHDL應(yīng)用于CCD驅(qū)動(dòng)電路的設(shè)計(jì),可以滿足系統(tǒng)的高速性和電路的集成度等要求。