吳延軍
摘要:文章針對(duì)傳統(tǒng)采用組合邏輯電路驅(qū)動(dòng)的CCD器件更換或升級(jí)后,需要重新進(jìn)行電路設(shè)計(jì)的缺點(diǎn),設(shè)計(jì)了一種采用CPLD代替組合邏輯電路的驅(qū)動(dòng)方法。該方法利用CPLD與控制外端結(jié)合,通過(guò)外部控制端實(shí)現(xiàn)4檔驅(qū)動(dòng)主頻切換,采用自頂向下的混合設(shè)計(jì)方法,頂層采用原理圖設(shè)計(jì)基本架構(gòu),底層采用硬件描述語(yǔ)言設(shè)計(jì)時(shí)序。實(shí)驗(yàn)結(jié)果表明,該方法電路集成度較高、調(diào)試方便、輸出信號(hào)穩(wěn)定、受干擾小,可滿足多種用戶的需要,對(duì)基于線性CCD和面陣CCD的高速精確測(cè)量具有一定參考價(jià)值。
關(guān)鍵詞:CCD驅(qū)動(dòng);組合邏輯電路;CPLD
中圖分類號(hào):TP391.4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)07-0152-04
從芯片結(jié)構(gòu)上劃分,CCD(Charge Coupled Device 電荷耦合器件)可分為線性CCD和矩陣式CCD兩種類型。時(shí)序驅(qū)動(dòng)電路是CCD工作的基礎(chǔ),如何使CCD芯片的大小、成本、轉(zhuǎn)換效率、信噪比等達(dá)到最優(yōu)配比,是時(shí)序驅(qū)動(dòng)電路設(shè)計(jì)要解決的關(guān)鍵問(wèn)題。目前,CCD設(shè)計(jì)驅(qū)動(dòng)電路的方法主要有普通數(shù)字芯片驅(qū)動(dòng)法、EPROM驅(qū)動(dòng)方法、單片機(jī)驅(qū)動(dòng)方法、結(jié)合直接數(shù)字電路與單片機(jī)的驅(qū)動(dòng)方法和專用IC驅(qū)動(dòng)方法?;谶@些方法得到的一般驅(qū)動(dòng)設(shè)計(jì),通用性差,要么體積大、電路設(shè)計(jì)復(fù)雜,要么產(chǎn)生的頻率較低,無(wú)法用于高速領(lǐng)域。而且,只有通過(guò)更改軟硬件才能達(dá)到改變CCD的某些功能的目的。尤其當(dāng)頻率較高、驅(qū)動(dòng)時(shí)序關(guān)系復(fù)雜時(shí),波形設(shè)計(jì)難度大,甚至無(wú)法實(shí)現(xiàn)。為了解決上述問(wèn)題,實(shí)現(xiàn)電路的靈活多樣性和輸出信號(hào)的穩(wěn)定性、可靠性,本文以線性CCD為例,提出一種基于CPLD(Complex Programmable Logic Device復(fù)雜可編程邏輯器件)的驅(qū)動(dòng)電路設(shè)計(jì)方案。運(yùn)用CPLD作為時(shí)序設(shè)計(jì)載體,將微控制器和外部控制電路相結(jié)合,可以在較寬的范圍內(nèi)對(duì)驅(qū)動(dòng)時(shí)序頻率進(jìn)行改變,來(lái)實(shí)現(xiàn)不同的曝光時(shí)間,并結(jié)合全局時(shí)鐘時(shí)序設(shè)計(jì)技術(shù),令CCD電路板得到了穩(wěn)定可靠的信號(hào)輸出。該電路適用于線性CCD,可用于單軸或雙軸CCD自準(zhǔn)直光管和帶有CCD自準(zhǔn)直功能的光電瞄準(zhǔn)儀等光電檢測(cè)設(shè)備,對(duì)面陣CCD也有一定的參考價(jià)值。
1 CCD驅(qū)動(dòng)時(shí)序分析
本設(shè)計(jì)選取東芝公司生產(chǎn)的TCD1501D高精度線性CCD。它是具有5000個(gè)像敏元的雙溝道線性攝像器件,兩列CCD模擬移位寄存器分布在像敏元陣列兩邊。
CCD工作時(shí)需要10路驅(qū)動(dòng)脈沖信號(hào):轉(zhuǎn)移脈沖SH、移位驅(qū)動(dòng)脈沖Φ1和Φ2、復(fù)位脈沖RS、鉗位脈沖CP及采樣保持脈沖SP。其中,Φ1和Φ2各包含3個(gè)脈沖信號(hào)。視頻輸出信號(hào)OS一個(gè)周期包括76個(gè)啞元信號(hào)和5000個(gè)有效信號(hào)和n個(gè)空驅(qū)動(dòng)信號(hào)(n為任意數(shù),可根據(jù)需要取值)。
TCD1501D一個(gè)完整的工作周期包括兩個(gè)階段:光積分階段和電荷轉(zhuǎn)移階段。光積分階段,SH為低電平,將模擬移位寄存器和存儲(chǔ)柵分隔開(kāi),電荷不能發(fā)生轉(zhuǎn)移。模擬移位寄存器和存儲(chǔ)柵分別工作,存儲(chǔ)柵進(jìn)行光積分;在Φ1和Φ2的作用下,模擬移位寄存器串行的將之前移到此處的電荷向輸出端移位,再由SP進(jìn)行采樣和保持,最后通過(guò)OS端輸出。每當(dāng)前一個(gè)信號(hào)電荷已輸出,而后一個(gè)信號(hào)電荷還未輸出時(shí),RS就會(huì)把之前遺留的信號(hào)電荷抽走,為之后到來(lái)的信號(hào)電荷空出位置。電荷轉(zhuǎn)移階段,SH變未高電平,模擬移位寄存器和存儲(chǔ)柵導(dǎo)通,CCD將光積分階段積累的電荷按順序轉(zhuǎn)移到模擬移位寄存器中。在一個(gè)周期時(shí)間內(nèi),至少需要5076個(gè)移位驅(qū)動(dòng)脈沖信號(hào),工作模式為:64個(gè)啞元信號(hào)→5000個(gè)有效像元單元→12個(gè)啞元信號(hào)→空驅(qū)動(dòng)??筛鶕?jù)光積分時(shí)間設(shè)置適當(dāng)?shù)目镇?qū)動(dòng),空驅(qū)動(dòng)數(shù)目越多,光積分時(shí)間越長(zhǎng)。
2 電路設(shè)計(jì)與實(shí)現(xiàn)
2.1 驅(qū)動(dòng)電路工作原理
本設(shè)計(jì)工作原理框圖如圖1所示。主時(shí)鐘由外部時(shí)鐘提供,各驅(qū)動(dòng)時(shí)序編譯后通過(guò)JTAG端口下載至CPLD。CPLD和控制電路配合,將來(lái)自外部的控制命令轉(zhuǎn)換成相應(yīng)的I/O控制信號(hào),再傳遞至CCD芯片。外部I/O控制由微控制器實(shí)現(xiàn),將CCD芯片的弱小信號(hào)進(jìn)行放大處理后輸出。
2.2 驅(qū)動(dòng)時(shí)序電路實(shí)現(xiàn)
設(shè)計(jì)平臺(tái)選擇的是Altera公司的Quartus II 9.0開(kāi)發(fā)環(huán)境。Quartus II是Altera公司推出的FPGA/CPLD最新開(kāi)發(fā)環(huán)境,其優(yōu)點(diǎn)是功能強(qiáng)大,界面友好,使用便捷。CPLD選擇的是Altera公司MAX II系列的EPM1270,除了為CCD提供驅(qū)動(dòng)外,還為輸出信號(hào)的采集提供時(shí)鐘以及時(shí)序匹配。
以16MHz晶振作為CPLD的基準(zhǔn)時(shí)鐘信號(hào),由微控制器設(shè)置2個(gè)控制輸入s0和s1進(jìn)行時(shí)鐘分頻選擇。將16MHz主時(shí)鐘通過(guò)s0s1組合進(jìn)行分頻得到四檔驅(qū)動(dòng)主頻16MHz、4MHz、2MHz和1MHz,通過(guò)不同的驅(qū)動(dòng)主頻實(shí)現(xiàn)不同的曝光時(shí)間,以滿足不同的外界環(huán)境需求。驅(qū)動(dòng)電路還對(duì)外提供3路用來(lái)AD采樣的接口信號(hào):1路給AD9220提供采樣時(shí)鐘ADCLK_3.3;1路幀同步信號(hào)FC_CPU;1路像元同步信號(hào)SP_CPU提供給微控制器的外部中斷作為采樣時(shí)鐘信號(hào)。時(shí)序設(shè)計(jì)時(shí)采用同步時(shí)鐘來(lái)完成。同步時(shí)鐘經(jīng)CPLD全局時(shí)鐘引腳輸入,由CPLD分頻后,通過(guò)全局時(shí)鐘布線驅(qū)動(dòng),到達(dá)芯片內(nèi)所有的時(shí)鐘輸入端。在組合邏輯產(chǎn)生的時(shí)鐘后插入D觸發(fā)器過(guò)濾毛刺,避免亞穩(wěn)態(tài)。
采用自頂向下的混合設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。由原理圖進(jìn)行基本架構(gòu)的頂層設(shè)計(jì),底層設(shè)計(jì)則采用Verilog HDL(Hardware Describe Language 硬件描述語(yǔ)言)進(jìn)行描述。驅(qū)動(dòng)CCD進(jìn)行正常工作的10路脈沖信號(hào),根據(jù)其功能分為三個(gè)模塊,分別是生成移位脈沖的Φ1和Φ2的gen_fai模塊,生成復(fù)位、采樣與保持及鉗位信號(hào)的gen_rs_sp_cp模塊,生成轉(zhuǎn)移脈沖SH和幀同步信號(hào)FC_CPU的gen_sh模塊。
gen_fai模塊設(shè)計(jì)。該模塊生成6路移位驅(qū)動(dòng)脈沖Φ1(E,O,B)和Φ2(E,O,B)。模塊設(shè)計(jì)時(shí),選取16MHz時(shí)鐘作為設(shè)計(jì)基準(zhǔn),兩個(gè)移位驅(qū)動(dòng)脈沖頻率相同,在相位上相差90°。為了減小信號(hào)受暗電流的影響,增加電荷包的傳輸效率,選取典型工作頻率為0.5MHz,占空比為50%。設(shè)計(jì)時(shí),對(duì)時(shí)鐘進(jìn)行了32分頻,且Φ1、Φ2的第0個(gè)脈沖寬度必須大于SH的第0個(gè)脈沖寬度。
由Verilog HDL語(yǔ)言描述的設(shè)計(jì)流程如圖2所示。
gen_rs_sp_cp模塊設(shè)計(jì)。該模塊生成3路脈沖信號(hào):鉗位脈沖CP、復(fù)位RS、采樣和保持SP。CP的相位應(yīng)稍落后于RS,SP應(yīng)超前RS。選取典型工作頻率為1MHz,占空比為1:3,設(shè)計(jì)時(shí)要確保1個(gè)RS,1個(gè)SP和1個(gè)CP同時(shí)包含在Φ1、Φ2脈沖的同一個(gè)脈寬時(shí)間內(nèi)。
設(shè)計(jì)流程如圖3所示。
gen_sh模塊設(shè)計(jì)。該模塊生成2路脈沖信號(hào):1路轉(zhuǎn)移脈沖SH和1路與之同頻的幀同步信號(hào)FC_CPU。由于1個(gè)SH周期至少要有5064個(gè)移位驅(qū)動(dòng)脈沖Φ1和Φ2,即。設(shè)計(jì)流程如圖4所示。
2.3 仿真結(jié)果
通過(guò)Quartus II軟件對(duì)CCD各路工作驅(qū)動(dòng)時(shí)序進(jìn)行設(shè)計(jì),并進(jìn)行了編譯仿真,如圖5所示(驅(qū)動(dòng)頻率0.5MHz)。然后將編譯好的程序下載到CPLD芯片中。
圖5中FAI_1_E、FAI_1_O和FAI_1_B(對(duì)應(yīng)Φ1(E,O,B))頻率為0.5MHz,RS、SP和CP頻率為1MHz,SP超前于RS,RS超前于CP。第0個(gè)移位脈沖Φ1、Φ2的寬度大于第0個(gè)轉(zhuǎn)移脈沖SH的寬度。可以看出脈沖間的關(guān)系滿足時(shí)序要求。
由微控制器控制端s0s1組合實(shí)現(xiàn)主頻選擇控制,時(shí)序仿真結(jié)果如圖6所示。
圖6中,s1s0=00時(shí)16MHz基準(zhǔn)時(shí)鐘直接作為驅(qū)動(dòng)主頻即clk_drive為16MHz,與clk_in一致,s1s0=01時(shí)clk_drive為4MHz,s1s0=10時(shí)clk_drive為2MHz,s1s0=11時(shí)clk_drive為1MHz。
3 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)室條件下,使用示波器進(jìn)行波形測(cè)量,測(cè)量結(jié)果與仿真結(jié)果吻合,嚴(yán)格遵照各自的相位關(guān)系,采集卡采集到的原始CCD灰度圖像信號(hào)效果見(jiàn)圖7。
由圖可見(jiàn),采集到的原始CCD灰度圖像信號(hào)為平滑的一維曲線,4個(gè)鼓包對(duì)應(yīng)光學(xué)結(jié)構(gòu)上的四個(gè)狹縫,說(shuō)明本驅(qū)動(dòng)電路能夠正常工作,有較高的精度。通過(guò)示波器實(shí)際測(cè)量CCD有效信號(hào)的峰值約為2.5V,信號(hào)寬度約為64us。電路中采用12位AD進(jìn)行采樣,由圖可見(jiàn)CCD信號(hào)峰值灰度值約為2000,通過(guò)計(jì)算灰度值對(duì)應(yīng)的電壓值為2.44V,與實(shí)際測(cè)量的峰值2.5V吻合。根據(jù)頻率為1MHz的采樣與保持脈沖SP可以推算CCD信號(hào)輸出的被激光照射的光斑有效像元個(gè)數(shù)約為64個(gè),與圖7中有效像元序號(hào)覆蓋的范圍吻合。
4 結(jié)語(yǔ)
CCD時(shí)序驅(qū)動(dòng)電路設(shè)計(jì)的研究重點(diǎn)在于:各時(shí)序間應(yīng)保證嚴(yán)格的相位關(guān)系;通用性強(qiáng),能夠適用不同用戶需要;輸出精度高。將控制外端與CPLD相結(jié)合,設(shè)置了外部時(shí)鐘主頻選擇控制端,方便根據(jù)需要選取不同的時(shí)鐘主頻。同時(shí),結(jié)合全局時(shí)鐘進(jìn)行設(shè)計(jì),降低了電路的不穩(wěn)定性。實(shí)驗(yàn)結(jié)果表明,CCD工作正常,測(cè)量到的信號(hào)曲線穩(wěn)定平滑,噪聲小。
本文提出的CCD電氣設(shè)計(jì),工作穩(wěn)定,易于調(diào)整,集成度較高,不僅能用于線性CCD也能應(yīng)用于矩陣式CCD,對(duì)今后應(yīng)用更高精度的CCD進(jìn)行了有益的探索,有一定通用性。
參考文獻(xiàn)
[1]譚露雯,李景鎮(zhèn),等.基于CPLD工作模式可調(diào)的線性CCD驅(qū)動(dòng)電路設(shè)計(jì)[J].光子學(xué)報(bào),2010,39(3):436-440.
[2]張殿富,趙源.基于FPGA的線性CCD驅(qū)動(dòng)時(shí)序及模擬信號(hào)處理的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(1):41-13.
[3]喻川,鄒建.基于CPLD的可調(diào)積分時(shí)間線性CCD驅(qū)動(dòng)的設(shè)計(jì)[J].四川兵工學(xué)報(bào),2008,29(3):94-96.
[4]石魯凡,李俊.基于FPGA的線性CCD TCD1501D驅(qū)動(dòng)時(shí)序電路設(shè)計(jì)[J].PLC&FA;,2011,(6):49-51.
[5]劉仁偉,鄭堅(jiān),等.基于CPLD的線性CCD驅(qū)動(dòng)和數(shù)據(jù)采集處理系統(tǒng)[J].兵工自動(dòng)化,2007,26(7):49.