袁金鳳 陳文藝 李 凱
摘 要:CCD在現(xiàn)代光電子學、精密儀器等方面的作用是不可估量的。在特殊需要或加特殊功能時,驅動時序往往需要自己設計。以TOSHIBA公司的線陣CCD器件TCD1500C為例,通過研究CCD的工作特性和時序電路波形圖,用FPGA來設計驅動時序,使之達到應用要求。并通過改變時鐘頻率或增加光積分周期內的時鐘脈沖數(shù),從而改變光積分時間。
關鍵詞:CCD器件;時序電路;驅動;光積分時間
中圖分類號:TP333.5+3文獻標識碼:B
文章編號:1004-373X(2009)03-160-03
Design of the Driving Time Sequence Circuit of Linear CCD Based on FPGA
YUAN Jinfeng,CHEN Wenyi,LI Kai
(Xi′an Institute of Post &Telecommunications;,Xi′an,710061,China)
Abstract:CCD is used in modern photoelectronics,precision instrument and many aspects.Usually,the driving time sequence is designed under special condition or special uses.This paper takes linear CCD device TCD1500C as example,by researching the character of CCD and sequence circuit waveform,designs driver circuit waveform that uses FPGA and enables it to meet the application requirements.By changing the clock frequency or increasing the cycle-integral number of clock pulses,thus changing optical integration time.
Keywords:CCD device;time sequence circuit;driver;optical integration time
0 引 言
電荷耦合器件(Charge Coupled Devices,CCD)是一種圖像傳感器,它在工業(yè)、計算機圖像處理、軍事等方面都得到廣泛的應用。目前CCD的應用技術已成為集光學、電子學、精密機械與計算機技術為一體的綜合技術,在現(xiàn)代光子學、光電檢測技術和現(xiàn)代測試技術領域中起到了相當大的作用。因此,CCD的作用是不可估量的。然而,CCD要正常工作是要驅動時序的,雖然有些CCD往往自帶驅動,但是在特殊需要或需要加特殊功能時,CCD驅動往往需要自己設計,例如曝光時間可調等功能。
現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是在PAL,GAL,EPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
由于FPGA具有易修改,在線編程等特點,可根據(jù)不同要求進行在線配置,從而升級方便。另外由于FPGA集成度高,可將系統(tǒng)的部分或全部功能集成在一片芯片上,可減小系統(tǒng)硬件復雜度。
2 CCD工作原理和特性參數(shù)
TCD1500C是一種高靈敏度、低暗電流、5 340像元的線陣CCD圖像傳感器,其像敏單元大小是7 μm×7 μm×7 μm;相鄰像元中心距也是7 μm;像元總長是37.38 mm。其驅動時序圖如圖1所示。TCD1500C在驅動脈沖作用下開始工作。
由圖1可知,CCD的一個工作周期分為兩個階段:光積分階段和電荷轉移階段。在光積分階段,SH為低電平,它使存儲柵和模擬移位寄存器隔離,不會發(fā)生電荷轉移現(xiàn)象。存儲柵和模擬移位寄存器分別工作,存儲柵進行光積分,模擬移位寄存器則在驅動脈沖的作用下串行地向輸出端轉移信號電荷,再由SP進行采樣和保持,最后由OS端分別輸出。RS信號清除寄存器中的殘余電荷。在電荷轉移階段SH為高電平,存儲柵和模擬移位寄存器之間導通,實現(xiàn)感光陣列光積分所得的光生電荷勢阱中,此時,輸出脈沖停止工作,輸出端沒有有效電荷輸出。由于結構上的安排,OS先輸出13個虛設像元信號,再輸出45個啞元像元,然后再輸出5 340個有效像元信號,之后再是12個啞元信號,輸出1個奇偶檢測信號,以后便是空驅動(空驅動的數(shù)目可以是任意的)。
2 芯片的選擇以及設計平臺概述
FPGA選擇的是ALTERA公司的FLEX10K系列的EPF10K10LC84-4,他是一款典型在線可編程FPGA器件。
設計選擇的平臺主要是Modelsim。Modelsim仿真工具是Model公司開發(fā)的,它支持Verilog DHL,VHDL以及他們的混合仿真,可以將整個程序分布執(zhí)行,使設計者直接看到它的程序下一步要執(zhí)行的語句,而且在程序執(zhí)行的任何步驟任何時刻都可以查看任意變量的當前值,可以在Dataflow窗口查看某一單元或模塊的輸入輸出的連續(xù)變化等,比Quartus自帶的仿真器功能強大的多,是目前業(yè)界最通用的仿真器之一。仿真都正確無誤后再用Quartus Ⅱ軟件來綜合和下片。本程序采用Verilog硬件描述語言編寫,其可移植性和可讀性都好。
3 CCD驅動時序的設計和實現(xiàn)
由圖1所示,其設計方法是:在系統(tǒng)最佳工作頻率下,通過基本計數(shù)單元產生CCD工作所需的波形,保證CCD正常工作。根據(jù)TCD1500C的技術手冊,可以看出時鐘Φ為典型值0.5 MHz時,占空比為1∶1;輸出復位脈沖ΦRS為1 MHz,占空比為1∶3,采樣保持脈沖ΦSP=1 MHz,脈沖寬度為100 ns。根據(jù)所給出的時序關系圖可以得到轉移脈沖ΦSH,時鐘Φ,復位脈沖RS,采樣保持脈沖SP等控制信號的時序圖。由于1個ΦSH周期中至少要有5 411個Φ脈沖,即TSH>5 411T。由此可知,改變時鐘頻率或增加光積分周期內的時鐘脈沖數(shù),就可以改變光積分時間。即通過積分時間控制信號A1,A2,A3控制積分時間的改變;000~111分別控制8檔積分時間變換。000時間最短,111時間最長,可以通過軟件動態(tài)設置積分時間,實現(xiàn)CCD光積分時間的智能控制。部分實現(xiàn)程序如下:
always @ (posedge CLK_20M or negedge RESET)
begin
if(~RESET)
rs_count <= 5′h00;//復位信號計數(shù)器
else if(rs_count == 5′h13)
rs_count <= 5′h00;
else
rs_count <= rs_count + 1′b1;
end
always @ (posedge CLK_20M or negedge RESET)
begin
if(~RESET)
RS <= 0;
else if(rs_count == 5′h0E)
RS <= 1;
else if(rs_count == 5′h13)
RS <= 0;
end
編譯后最后得到的仿真波形結果如圖2所示。
4 結 語
本文實際采用Modelsim開發(fā)系統(tǒng)實現(xiàn)編程和測試程序的編寫,內部模塊采用Verilog 硬件描述語言編寫,完成了時序電路的設計和實現(xiàn),并測試無誤后下載到FPGA上,產生CCD驅動,輸出結果十分理想。不僅簡化了電路設計,提高可靠性,而且提高了研發(fā)速度。
參考文獻
[1]常磊,李國寧,金龍旭.基于FPGA的全幀型面陣CCD驅動時序設計[A].2006年國防光學及光電子學學術研討會暨中國兵工學會光學專業(yè)委員會成立25周年年會論文集 [C].2006.
[2]管立新,沈保鎖,柏勁松.幀同步系統(tǒng)的FPGA設計[J].微計算機信息,2006,22(9Z):177-178,223.
[3]王慶有.CCD應用技術[M].天津:天津大學出版社,2000.
[4]周奇勛,王勉華,樂春峽.基于FPGA的VHDL語言設計優(yōu)化[A].中國儀器儀表學會第五屆青年學術會議論文集 [C].2003.
[5]常丹華.一種新的CCD外圍電路設計方法[J].傳感器技術,2001,20(6):32-34.
[6]趙春暉,劉會,梁剛鍵.基于CPLD和VHDL的一種線陣CCD驅動時序電路的設計與實現(xiàn)[J].應用科技,2005,32(11):4-6.
[7]李敏杰,李云飛,司國良,等.基于FPGA的一種長線陣CCD驅動時序電路設計[A].2006年國防光學及光電子學學術研討會暨中國兵工學會光學專業(yè)委員會成立25周年年會論文集 [C].2006.
[8]郭晏強,熊莉英.利用Handel-C和VHDL語言設計FPGA應用[A].第九屆全國青年通信學術會議論文集 [C].2004.
[9]孫釗,高愛華,田愛玲.線陣CCD測徑裝置的設計[J].應用光學,2003,24(2):31-33.
[10]趙光興.CCD檢測衍射條紋的數(shù)據(jù)處理[J].儀表技術與傳感器,2001(4):42-43.
[11]俞明,呂巖,李慶輝.線陣CCD的應用[J].遼寧師專學報,2000(4):90-92.
[12]鄭貴林,陳思.基于CPLD技術的CCD驅動電路的設計[J]儀器儀表用戶,2006,13(3):80-82.