FPGA控制下面陣CCD時(shí)序發(fā)生器設(shè)計(jì)及硬件實(shí)現(xiàn)
摘要 在分析Sony公司ICX098BQ面陣CCD圖像傳感器驅(qū)動(dòng)時(shí)序的基礎(chǔ)上,對(duì)可調(diào)節(jié)曝光時(shí)間的CCD時(shí)序發(fā)生器及其硬件電路進(jìn)行設(shè)計(jì)。選用FPGA器件作為硬件設(shè)計(jì)平臺(tái),使用VHDL語(yǔ)言對(duì)時(shí)序關(guān)系進(jìn)行了硬件描述。采用QuartusII 8.0對(duì)所設(shè)計(jì)的時(shí)序發(fā)生器進(jìn)行了功能仿真,并以Altera公司的可編程邏輯器件為核心進(jìn)行硬件適配。實(shí)際測(cè)試表明,所設(shè)計(jì)的驅(qū)動(dòng)時(shí)序發(fā)生器能夠滿足面陣CCD的驅(qū)動(dòng)要求。實(shí)現(xiàn)了設(shè)計(jì)目的。
關(guān)鍵詞 面陣CCD;FPGA;時(shí)序發(fā)生器
CCD是利用光電轉(zhuǎn)換原理把圖像信號(hào)轉(zhuǎn)換為電信號(hào),即把一幅按空間域分布的光學(xué)圖像,轉(zhuǎn)換成為一串按時(shí)間域分布的視頻信號(hào)的半導(dǎo)體元器件。因其具有體積小、重量輕、功耗低、靈敏度高、工作穩(wěn)定、壽命長(zhǎng)、自掃描和便于同計(jì)算機(jī)接口等優(yōu)點(diǎn),被廣泛應(yīng)用于圖像傳感和非接觸式測(cè)量。CCD應(yīng)用的關(guān)鍵問(wèn)題之一,是驅(qū)動(dòng)時(shí)序發(fā)生器設(shè)計(jì)。它直接關(guān)系到CCD的信號(hào)處理能力、轉(zhuǎn)換效率和信噪比等光電轉(zhuǎn)換特征。針對(duì)Sony公司面陣CCD ICX098BQ的工作原理和驅(qū)動(dòng)時(shí)序的要求,給出了驅(qū)動(dòng)時(shí)序發(fā)生器的具體設(shè)計(jì),使用VHDL語(yǔ)言對(duì)驅(qū)動(dòng)時(shí)序發(fā)生器的實(shí)現(xiàn)方案進(jìn)行了硬件描述,采用Quartus II 8.0對(duì)所設(shè)計(jì)的時(shí)序發(fā)生器進(jìn)行了功能仿真,在該驅(qū)動(dòng)時(shí)序發(fā)生器作用下,對(duì)Sony公司ICX98BQ面陣CCD產(chǎn)生的輸出信號(hào)波形進(jìn)行了驗(yàn)證。
1 CCD成像系統(tǒng)
CCD成像系統(tǒng)如圖1所示,目標(biāo)通過(guò)光學(xué)系統(tǒng)成像在CCD上。在偏置電壓和驅(qū)動(dòng)脈沖的作用下,CCD完成光電荷的轉(zhuǎn)移、存貯等工作,將光信號(hào)轉(zhuǎn)換成具有直流分量的模擬電信號(hào)。形成的模擬電信號(hào)經(jīng)過(guò)信號(hào)處理器,進(jìn)行除噪、增益和模數(shù)轉(zhuǎn)換后,將數(shù)據(jù)傳輸?shù)斤@示器或計(jì)算機(jī)上,進(jìn)行后期處理。在上述系統(tǒng)中,CCD信號(hào)采集模塊是關(guān)鍵。對(duì)此,主要對(duì)CCD信號(hào)采集進(jìn)行分析。
2 面陣CCD圖像傳感器驅(qū)動(dòng)時(shí)序分析
2.1 Sony ICX098BQ型面陣CCD
ICX098BQ是Sony公司生產(chǎn)的一款1/4英寸(0.635 cm),具有可變電子快門(mén)的行間轉(zhuǎn)移型彩色面陣CCD芯片,芯片結(jié)構(gòu)如圖2所示。該芯片靈敏度高,暗電流小,具有較好的抗彌散功能。
ICX098BQ芯片由感光陣列、垂直移位寄存器、水平移位寄存器和輸出放大器4個(gè)主要部分組成。要使該CCD芯片正常工作,需要8路驅(qū)動(dòng)時(shí)鐘來(lái)驅(qū)動(dòng)。分別為4路垂直轉(zhuǎn)移時(shí)鐘Vφ1、Vφ2A、Vφ2B、Vφ3,控制垂直移位寄存器中的電荷信號(hào)向水平移位寄存器移動(dòng),其中當(dāng)Vφ2A和Vφ2B為+15 V高電平時(shí)作為讀出轉(zhuǎn)移時(shí)鐘,將感光陣列的信號(hào)電荷轉(zhuǎn)移到垂直移位寄存器中;兩路水平轉(zhuǎn)移時(shí)鐘Hφ1、Hφ2,控制水平移位寄存器中的電荷信號(hào)向前遷移;復(fù)位門(mén)時(shí)鐘RG,使水平移位寄存器中的電荷信號(hào)順利輸出,其頻率為10 MHz,直接決定CCD電荷信號(hào)的水平輸出頻率并控制曝光量的電子快門(mén)時(shí)鐘φSUB。
上述驅(qū)動(dòng)信號(hào)均由CCD驅(qū)動(dòng)時(shí)序發(fā)生器產(chǎn)生。由于面陣CCD的驅(qū)動(dòng)信號(hào)數(shù)量多,相位要求嚴(yán)格,且需要多種電壓的驅(qū)動(dòng),因此進(jìn)行時(shí)序分析并設(shè)計(jì)出高精度的驅(qū)動(dòng)時(shí)序電路是問(wèn)題的關(guān)鍵。
2.2 驅(qū)動(dòng)時(shí)序分析
ICX098BQ芯片的一個(gè)工作周期分為4個(gè)階段:感光階段、垂直轉(zhuǎn)移階段、幀轉(zhuǎn)移階段和水平讀出階段。感光階段進(jìn)行光電轉(zhuǎn)換,完成感光陣列的電荷積累。垂直轉(zhuǎn)移階段實(shí)現(xiàn)感光陣列積累的電荷包讀出轉(zhuǎn)移到相鄰的垂直移位寄存器。幀轉(zhuǎn)移和水平讀出階段包括電荷包從垂直移位寄存器向水平移位寄存器并行轉(zhuǎn)移以及從水平移位寄存器向輸出放大器的串行輸出。
在CCD工作周期中,首先在Vφ1、Vφ2A、Vφ2B、Vφ3的控制下,感光陣列的垂直移位寄存器進(jìn)行一次電荷轉(zhuǎn)移,將之前殘留下來(lái)的電荷徹底清除,為下一步做好準(zhǔn)備。然后垂直驅(qū)動(dòng)時(shí)鐘V1將持續(xù)一段高電平。此刻,讀出時(shí)鐘V2A、V2B跳變?yōu)?15 V的高電平窄脈沖,讀出時(shí)鐘迅速將感光陣列中的所有像素電荷并行地轉(zhuǎn)移到相鄰的垂直移位寄存器中。在每個(gè)行消隱期間,垂直移位寄存器中的電荷在四相垂直驅(qū)動(dòng)時(shí)鐘Vφ1、Vφ2A、Vφ2B、Vφ3交替作用下逐行地向水平寄存器轉(zhuǎn)移。此時(shí)水平驅(qū)動(dòng)時(shí)鐘Hφ、Hφ2保持不變。在行正程期間,轉(zhuǎn)移到水平寄存器的一行信號(hào)電荷受頻率為10 MHz的兩相水平驅(qū)動(dòng)時(shí)鐘Hφ1、Hφ2控制,向浮置擴(kuò)散放大器水平轉(zhuǎn)移。輸出放大器以復(fù)位門(mén)時(shí)鐘RG的頻率將像素電荷逐一轉(zhuǎn)換成信號(hào)電壓后串行輸出,在輸出端得到與光學(xué)圖像對(duì)應(yīng)的一行的視頻信號(hào)。
3 基于VHDL的時(shí)序發(fā)生器設(shè)計(jì)
由于面陣CCD驅(qū)動(dòng)時(shí)序的復(fù)雜性,選用硬件描述語(yǔ)言VHDL設(shè)計(jì)CCD時(shí)序。VHDL采用自頂向下的設(shè)計(jì)方式,具有較強(qiáng)的硬件描述能力和仿真能力。在程序中,定義的輸入輸出端包括兩個(gè)輸入端和10個(gè)輸出端。
整個(gè)驅(qū)動(dòng)時(shí)序發(fā)生器的實(shí)現(xiàn)程序?yàn)閮芍厍短椎难h(huán),整個(gè)過(guò)程采用3段式狀態(tài)機(jī)來(lái)完成。一個(gè)CCD工作周期流程如下:
(1)對(duì)水平寄存器進(jìn)行清空復(fù)位。
(2)垂直轉(zhuǎn)移,將電荷從感光區(qū)轉(zhuǎn)移到相鄰的垂直移位寄存器。
(3)進(jìn)行幀轉(zhuǎn)移和水平讀出階段。幀轉(zhuǎn)移一行,水平讀出一行,直到整幀讀出完畢。
(4)返回,讀取下一幀。即返回步驟(1)。
狀態(tài)轉(zhuǎn)移圖如圖3所示。
IDLE:為空閑狀態(tài);當(dāng)積分啟動(dòng)后,轉(zhuǎn)到狀態(tài)1。
狀態(tài)1:為預(yù)讀出狀態(tài);讀出水平寄存器內(nèi)的電荷,當(dāng)水平讀出700個(gè)電荷后,轉(zhuǎn)向狀態(tài)2,否則,自循環(huán)。
狀態(tài)2:為垂直轉(zhuǎn)移狀態(tài);使感光區(qū)的電荷轉(zhuǎn)移到垂直移位寄存器,垂直轉(zhuǎn)移后,轉(zhuǎn)到狀態(tài)3。
狀態(tài)3:幀轉(zhuǎn)移狀態(tài);其中Flag為場(chǎng)有效標(biāo)志,當(dāng)Flag=1時(shí),進(jìn)入積分狀態(tài),開(kāi)始下一幀的工作。
狀態(tài)4:水平讀出狀態(tài)。
狀態(tài)5:積分狀態(tài),轉(zhuǎn)向空閑狀態(tài),開(kāi)始下一幀的工作。
根據(jù)分析,設(shè)計(jì)出產(chǎn)生上述時(shí)序的頂層原理圖,如圖4所示。
在CCD時(shí)序發(fā)生器模塊中,輸入為時(shí)鐘和復(fù)位信號(hào),以及兩路同步信號(hào)VD和HD;輸出除了CCD驅(qū)動(dòng)所需的10路信號(hào)外,還包括SHP和SHD兩路用于相關(guān)雙采樣的電路以及暗像元、啞像元驅(qū)動(dòng)時(shí)序。
在對(duì)VHDL語(yǔ)言描述的時(shí)序發(fā)生器進(jìn)行編譯后,對(duì)驅(qū)動(dòng)時(shí)序發(fā)生器進(jìn)行功能仿真,仿真結(jié)果如圖5所示。
通過(guò)對(duì)FPGA芯片程序的下載。將功能模塊集成于CycloneII系列芯片EP2C8T144C8N中。該時(shí)序發(fā)生器頂層模塊程序資源占用率僅為3%。
4 硬件實(shí)現(xiàn)以及測(cè)試結(jié)果
CCD信號(hào)采集驅(qū)動(dòng)電路硬件部分主要分為兩個(gè)部分,即CCD驅(qū)動(dòng)電路和偏置電壓的設(shè)計(jì)。
4.1 偏置電壓電路
對(duì)ICX098BQ的數(shù)據(jù)手冊(cè)進(jìn)行分析,Hφ1、Hφ2水平移位驅(qū)動(dòng)工作電壓峰峰值為3.3 V,分別為-3.3~0 V和0~3.3 V,Vφ1、Vφ3垂直轉(zhuǎn)移工作電壓為5.5 V(-5.5~0 V),Vφ2A、Vφ2B為三電平,工作電壓為(-5.5 V、0 V、+15 V)。因而需要-5.5 V和+15 V作為CCD垂直驅(qū)動(dòng)時(shí)序的工作電壓。偏置電壓+15 V和-5.5 V采用Linear公司生產(chǎn)的LDOLT3487獲得,偏置電壓產(chǎn)生電路如圖6所示。
LT3487是一款單芯片穩(wěn)壓器,可以在單輸入電壓(2.3~16 V)基礎(chǔ)上,獲得正負(fù)電壓。與其他同類(lèi)型穩(wěn)壓器相比,其輸出斷開(kāi)功能可避免在器件關(guān)閉期間出現(xiàn)直流漏電所導(dǎo)致的功率損耗。文中輸入電壓值為+5 V,通過(guò)USB接口從電腦得到,其供電能力完全能夠滿足驅(qū)動(dòng)及CCD電路的電流消耗。
4.2 驅(qū)動(dòng)器電路
如圖7所示,CCD工作所需的驅(qū)動(dòng)時(shí)序均由CycloneII系列器件EP2C8T144C8N產(chǎn)生。在CCD工作所需的4路垂直驅(qū)動(dòng)時(shí)鐘Vφ1、Vφ3、Vφ2A、Vφ2B中,Vφ1、Vφ3為兩電平,Vφ2A、Vφ2B為三電平。而FPGA產(chǎn)生的信號(hào)只有‘0’和‘1’兩種狀態(tài)。對(duì)此,可將時(shí)序發(fā)生器中的XV2和XV3時(shí)序分別與XSG1和XSG2時(shí)序利用脈沖合成驅(qū)動(dòng)器CXD1267AN進(jìn)行合成來(lái)生成Vφ2A、Vφ2B。
如圖7所示,在FPGA產(chǎn)生的時(shí)序發(fā)生器的10路信號(hào)中,XV1、XV2、XSG1、XV3、XSG2、XV4經(jīng)過(guò)脈沖合成驅(qū)動(dòng)器CXD1267AN后,合成為Vφ1、Vφ2A、Vφ2B、Vφ3;而H1、H2和復(fù)位脈沖RR通過(guò)ACT04反相器后進(jìn)入CCD進(jìn)行工作,提升了H1、H2和RG的驅(qū)動(dòng)電壓,增加了CCD的水平讀出能力。驅(qū)動(dòng)電路在-5.5 V和+15 V的電壓下工作。在電壓偏置電路和驅(qū)動(dòng)電路的工作下,產(chǎn)生的CCD信號(hào)為包含直流分量大小為幾百mV的交流信號(hào)。
4.3 硬件測(cè)試結(jié)果
物體的圖像經(jīng)過(guò)光學(xué)鏡頭投射到面陣CCD上,并將上文實(shí)現(xiàn)的驅(qū)動(dòng)時(shí)序用于面陣CCD的驅(qū)動(dòng),并用示波器對(duì)隔直后的CCD信號(hào)進(jìn)行測(cè)量。
圖8為CCD輸出的某一行中各感光像元電荷信號(hào)的波形,每個(gè)周期代表一個(gè)像元。每個(gè)像素單元分為3部分,它們分別是復(fù)位脈沖饋入、參考電平和數(shù)據(jù)電平。每個(gè)周期中的尖峰為復(fù)位脈沖饋入到CCD的讀出電容,在CCD輸出波形中形成,每個(gè)像素感受到光信號(hào)的有效值由參考電平和數(shù)據(jù)電平的差表示。由此可見(jiàn),在驅(qū)動(dòng)時(shí)序作用下面陣CCD能正常工作。
5 結(jié)束語(yǔ)
時(shí)序控制方案采用VHDL語(yǔ)言進(jìn)行設(shè)計(jì),用EDA軟件對(duì)所設(shè)計(jì)的驅(qū)動(dòng)電路進(jìn)行了仿真。仿真結(jié)果表明,該驅(qū)動(dòng)電路能夠滿足面陣CCD驅(qū)動(dòng)時(shí)序的求。