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