基于FPGA的高幀頻面陣CCD驅動控制設計_第1頁
基于FPGA的高幀頻面陣CCD驅動控制設計_第2頁
基于FPGA的高幀頻面陣CCD驅動控制設計_第3頁
基于FPGA的高幀頻面陣CCD驅動控制設計_第4頁
基于FPGA的高幀頻面陣CCD驅動控制設計_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于FPGA的高幀頻面陣CCD驅動控制設計摘要:針對面陣CCDKAI-1020在高幀頻工作模式下的驅動要求,以FPGA作為控制單元及時序發生器,完成CCD高幀頻工作模式下的硬件及軟件設計,仿真驗證了驅動時序的正確性,完成了硬件電路的調試與試驗。成像實驗表明,該設計滿足了CCDKAI-1020在雙端口輸出模式下成像的各種驅動控制功能,圖像分辨率為1000×1000,幀頻達到48f/s。電荷耦合器件CCD(ChargeCoupledDevice)自20世紀70年代由貝爾實驗室發明以來,因其分辨率高、測量誤差小等優點,被廣泛應用于各種成像儀器中。CCD按照成像維數分為線陣與面陣兩種類型。線陣CCD因其本身只有一維,需要進行推掃才能形成二維圖像,主要用于光譜分析與圖像掃描等領域;面陣CCD因其本身就能形成二維圖像,而被廣泛應用于數碼相機、攝像機及工業機器人等領域[1]。面陣CCD按電荷讀出方式又分為全幀轉移、幀轉移、行間轉移三種,其中行間轉移CCD因其不需要機械快門、讀出速度最快等優點,一直被作為高幀頻CCD相機的首選。CCD的驅動時序產生方法主要有以下四種:直接數字電路(IC)驅動法、單片機驅動法、EPROM驅動法、可編程邏輯器件法等[2]。近些年來,隨著可編程器件的高速發展,FPGA因其高速并行處理方式,極強的編程靈活性,十分適合用來產生CCD的驅動時序,加之其能很好地避免其他驅動方式的弊端,因而已經成為CCD驅動電路的首選。本文針對功耗體積要求嚴格的高幀頻高分辨率CCD相機應用場合,選用FPGA作為高速行間轉移CCD的驅動控制,在減小系統體積,降低系統功耗的同時,完成控制任務。1KAI-1020結構及特點KAI-1020是美國柯達公司生產的行間轉移型面陣CCD,總像元數1028(H)×1008(V),其中有效像元1000(H)×1000(V),像元尺寸7.4μm(V)×7.4μm(H),有效成像面積10.5mm[2-3]。KAI-1020具有逐行讀出和交錯讀出(只讀取CCD1000行成像有效單元中的500行)兩種方式,最大像元讀出速率40MHz,可以選擇單通道或雙通道讀出。采用逐行掃描,雙通道讀出方式,圖像分辨率為1000(H)×1000(V),幀頻可達48幀/秒,本文設計即為完成此工作模式。為保證KAI-1020在高幀頻工作模式下的信號質量,其內部集成了相關雙采樣電路。成像區在感光后,將光信號轉化為電荷包,在驅動信號的控制下,將電荷包轉移到鄰近的存儲區,依次將電荷信號轉移、讀出,送入內部集成的CDS電路采樣后輸出。2硬件電路設計KAI-1020工作時所需驅動信號較為復雜,需要6種偏置電壓,電壓加載順序也有一定要求。將驅動電路分為電壓產生、FPGA控制、時序驅動器3個模塊。電壓產生模塊用來產生FPGA及CCD工作需要的各種偏置電壓;FPGA控制模塊分為電壓控制模塊和時序發生模塊,分別用來控制CCD電壓上電順序和CCD驅動時序產生;時序驅動器用來匹配FPGA端口電壓與CCD驅動信號電壓。驅動硬件結構如圖1所示。2.1電壓產生模塊

CCD作為高精度的圖像傳感器,對電源電壓穩定性及電路噪聲水平要求較高。DC/DC電源效率高,但紋波大。LDO電源穩定性好,但壓差大時發熱量也大,會增加系統功耗及電路噪聲[4]。KAI-1020因內部結構要求,需要進行三步上電,FPGA作為控制單元,+3.3V、+2.5V、+1.2V的工作電壓需要隨系統上電加載。相機母線電壓為+12V,為保證CCD正常工作,降低系統功耗,減少CCD高速工作時電壓紋波及電路噪聲造成的影響,電壓產生模塊采用先大壓差DC/DC變換,再小壓差線性穩壓,由FPGA控制上電順序的方案。電源模塊電壓變換過程如圖2所示。2.2FPGA控制模塊

為相機小型化考慮,FPGA選用Xilinx公司Spartan-3AN系列中的XC3S400AN。XC3S400AN資源豐富,擁有40萬門電路和多達311個用戶I/O,內部集成了4MbitFlash作為程序存儲區,不需要外接配置芯片,十分適合對空間敏感和安全性要求較高的場合。相機加電后,FPGA完成配置,進入工作狀態,接到上電命令后,通過控制穩壓器的使能端控制電壓加載,完成CCD三步上電。FPGA控制流程如圖3所示。-9V電壓加載后,V1MID與V1MID(-1.2V)通過對地串聯的兩個二極管導通形成。2.3時序驅動模塊

XC3S400AN每個BANK都可配置管腳電壓為LVTTL或LVCOMS,但CCD驅動時序電壓為0~5V,所以需要在FPGA與CCD之間增加電平轉換芯片。TI公司的SN74LV8T245是一款8bit轉換電壓可調、輸出三態、雙供電總線收發器,其內部分為AB兩路,由DIR控制數據流向為A到B或B到A,兩路電壓均可配置為1.65V~5.5V。將DIR配置為1,數據流向為A到B,A路接+3.3V電壓,接口與FPGA驅動信號連接,B路接+5V電壓,接口與CCD驅動電容連接,完成FPGA與CCD驅動電壓的匹配。3軟件設計3.1時序分析

KAI-1020工作在逐行掃描、雙通道讀出模式下,主要驅動信號有V2B、V2A、V1、H1、H2、SH、R、SA、SB、T。V2B為幀轉移信號,下降沿時,CCD將感光單元中的電荷包轉移到存儲單元中;V2A、V1為垂直轉移信號,負責將存儲單元中每一行的電荷包轉移到讀出寄存器中;H1、H2為水平轉移信號,負責將每一行中的每個像元從寄存器中讀出;SH為電子快門信號,SH的一個高脈沖可以將CCD之前曝光積累的電荷清零,電荷的積累時間變為從SH的下降沿到V2B的下降沿,從而實現控制曝光時間;R、SA、SB、T為相關雙采樣的控制時序,R與T同相,與SA、SB有一定的相位差,其具體時序關系如圖4所示。KAI-1020驅動信號中,水平轉移信號與CDS信號頻率最高,為40MHz,占空比分別為50%和33.33%,這幾個信號之間存在一定的相位關系,通過更高頻的信號分頻實現。相機的工作時鐘為30MHz,經FPGA的DCM進行8倍頻后,再將信號六分頻并進行移位得到不同相位的40MHz信號。對于垂直轉移信號及電子快門等低頻信號,通過對40MHz的信號計數分頻實現。實現過程如圖5所示。3.2邏輯設計

KAI-1020工作在雙端口讀出模式時,左右兩面的數據分左右兩路讀出。讀出寄存器中,左右兩路各有8個空像元,水平轉移時序需要重復522次,才能將一行圖像數據從左右兩路讀出。為保證讀出行的電荷不對下一行電荷造成影響,一般水平轉移序列至少重復523次,垂直轉移時序需要重復1008次,將1008行數據依次從存儲區轉移到讀出寄存器。將驅動時序通過狀態機實現,幀轉移由狀態s0表示,垂直轉移和水平轉移由s1表示,通過計數器計數完成延時要求,狀態轉換過程如圖6所示。在垂直轉移信號變化時,水平轉移信號H1、H2需要分別保持高電平和低電平。在狀態s1中,設置信號H_en,通過將H_en與40MHz信號進行“或”運算,得到H1信號,將H_en與40MHz信號“或”運算后再取反,得到H2信號。電子快門信號SH需要加載于某行電荷信號讀取完成后,V1與V2A信號上升沿之前,H1、H2在此期間需要保持變化。當計數器cnt3計到曝光所需的行數T后,狀態機跳轉到狀態s2,完成SH信號延時后跳轉回s1,實現電子快門1-1007級可調。3.3邏輯仿真

通過時序分析,采用VHDL語言進行程序設計,在Xilinx公司的集成開發環境ISE10.1中編寫源代碼,并進行仿真,仿真波形如圖7所示。圖7(a)為整體仿真波形的一部分,V2B、V2A、V1在幀轉移階段完成后,V2B保持低電平,V2A、V1開始重復;圖7(b)為水平轉移信號與相關雙采樣信號的部分仿真波形,H1、H2反相,R、SA、SB、T相位關系與時序要求相同,當V2A、V1變化時,H1為高電平,H2為低電平。4實驗結果在仿真通過后,對VHDL源代碼進行綜合和實現,生成可編程文件,將該文件下載到FPGA后,控制CCD產生圖像信號,經過后端處理電路,將模擬圖像信號轉化為數字信號,并對兩路輸出的圖像信號進行拼接,形成一行圖像,通過高速串行LVDS信號將圖像信號發送至數據接收端,解碼LVDS信號,通過采集卡在上位機形成圖像

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論