基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集_第1頁
基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集_第2頁
基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集_第3頁
基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集_第4頁
基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

嵌入式課程設(shè)計課程題目:基于FPGA的圖像采集系統(tǒng)課程成員:指導(dǎo)老師:___基于FPGA的數(shù)字CMOS攝像機(jī)圖像采集一、數(shù)據(jù)采集系統(tǒng)概述數(shù)據(jù)采集是指將以各種形式輸入的被測信號,包括語音信號、溫度信號、濕度信號、圖像信號等經(jīng)過適當(dāng)處理,成為計算機(jī)可以識別的數(shù)字信號,從而送入計算機(jī)進(jìn)行存儲處理的過程,數(shù)據(jù)采集卡就是典型的基于數(shù)據(jù)采集系統(tǒng)原理的集成計算機(jī)擴(kuò)展卡。如圖1所示,在數(shù)據(jù)采集過程中主要有幾個關(guān)鍵部分:(1)輸入信號的幅度較小或者過大,需要經(jīng)過放大器單元將輸入信號幅度放大或者縮小;(2)輸入信號帶有較大的噪聲,需要經(jīng)過一個硬件的模擬濾波單元,將信號濾波整形;(3)將信號送到AD進(jìn)行模數(shù)轉(zhuǎn)換;(4)將信號傳輸?shù)接嬎銠C(jī);(5)存儲記錄和處理數(shù)據(jù)。圖1數(shù)據(jù)采集過程通常認(rèn)為如果數(shù)字邏輯電路的頻率超過50MHz,而且工作在這個頻率之上的電路已經(jīng)占到了整個電路系統(tǒng)的三分之一以上,就稱為高速電路。相應(yīng)的,對于并行采樣系統(tǒng),如果采樣頻率達(dá)到50MHZ,數(shù)據(jù)量并行8bit以上;對于串行采樣系統(tǒng),如果采樣頻率達(dá)到200MHz,一般將這種采樣系統(tǒng)也稱為高速數(shù)據(jù)采集。目前高速數(shù)據(jù)采集使用較多的采樣頻率一般在50M~100MHz之間。采集系統(tǒng)分模擬系統(tǒng)和數(shù)字系統(tǒng),大多數(shù)字采集系統(tǒng)中,CMOS圖像傳感器是系統(tǒng)的成像部件,它是系統(tǒng)的“眼睛”,能夠捕獲高速運(yùn)動物體的圖像,此模塊是將采集的模擬圖像轉(zhuǎn)化為數(shù)字信號輸出;圖像處理模塊是系統(tǒng)的中間緩存處理部分,此模塊為了消除或降低前期采集攜帶噪聲的影響,提高圖像質(zhì)量,將龐大的數(shù)據(jù)量進(jìn)行壓縮,以減小對存儲介質(zhì)容量的要求;數(shù)據(jù)傳輸模塊是系統(tǒng)與外設(shè)搭建的橋梁,此模塊是將實時采集的數(shù)據(jù)高速傳輸,給外設(shè)提供信息。二、總體方案設(shè)計方案1:圖像數(shù)據(jù)的傳輸通過USB總線技術(shù)完成系統(tǒng)的初始化以及將最終的傳輸信號準(zhǔn)確無誤地傳送到上位機(jī)上。USB技術(shù)具有簡單化、通用性、可靠性、熱插拔、傳輸速率高等優(yōu)點,隨之帶來的是應(yīng)用USB技術(shù)的復(fù)雜程度高、總線傳輸協(xié)議需要協(xié)調(diào)等問題。方案2:利用兩片SDRAM進(jìn)行圖像數(shù)據(jù)的短時間存儲并快速傳輸,SDRAM是多Bank結(jié)構(gòu),圖4總體設(shè)計框圖和外部接口信號參照SDRAM的數(shù)據(jù)手冊可知,它的指令譯碼對照表如表1所示。表1SDRAM指令譯碼對照表命令CS_RAS_CAS_WE_A10AP空操作指令(NOP)0111X刷新指令(REF/SELF)0001X讀寫停止指令(BST)0110X模式設(shè)置指令(MRS)00000/1激活指令(ACTIVE)00110/1讀指令(READ)01010帶預(yù)充的讀指令(READA)01011寫指令(WRITE)01000帶預(yù)充的寫指令(WRITEA)01001預(yù)充指令(PRE)00100仔細(xì)分析SDRAM的各個接口信號、時序要求和工作模式,將該SDRAM控制器的內(nèi)部進(jìn)一步細(xì)化為多個功能模塊,結(jié)構(gòu)組成如圖5所示,包括系統(tǒng)控制接口模塊、CMD命令解析模塊、命令相應(yīng)模塊、數(shù)據(jù)通路模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號,進(jìn)而產(chǎn)生不同的CMD命令組合;CMD命令解析模塊用于接收CMD命令并解碼成操作指令;命令響應(yīng)模塊用于接收操作指令并產(chǎn)生SDRAM的操作動作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入輸出。圖5SDRAM控制器的結(jié)構(gòu)圖3.3SDRAM系統(tǒng)控制接口子模塊設(shè)計該模塊主要包括初始化和系統(tǒng)指令分析功能。其工作過程如下:由計數(shù)器控制在系統(tǒng)上電約200μs后,先進(jìn)行SDRAM的初始化配置工作,由一個Prechargeallback指令完成對所有BANK的預(yù)充,接著是多個Refresh指令,然后是模式配置指令LOADMODE,完成SDRAM的工作模式設(shè)置。之后進(jìn)行控制器的初始化配置工作,先發(fā)出指令LOADREG1給控制器載入模式字,再發(fā)出LOADREG2指令載入控制器的刷新計數(shù)器值,完成控制器初始化配置。上述初始化過程結(jié)束后,系統(tǒng)指令分析機(jī)制才可接收并分析系統(tǒng)的讀寫信號和地址信息,以及從下個模塊反饋回來的CMD_ACK信號,并產(chǎn)生對應(yīng)的CMD命令和SADDR地址信息給CMD命令解析模塊。通過程序設(shè)置,實現(xiàn)了根據(jù)初始化配置的參數(shù)來確定在讀寫到特定時刻發(fā)出Precharge或者Refresh的CMD指令,從而簡化了系統(tǒng)的控制。而每當(dāng)收到CMD_ACK為1時,表示CMD指令已經(jīng)發(fā)出并有效,此時就要發(fā)出NOP命令(CMD=000)。要說明的是,SADDR是分時復(fù)用的,在初始化載入模式時,SADDR用以傳輸用戶自己定義的模式字內(nèi)容;而在正常的讀寫期間,SADDR作為地址線傳輸SDRAM所需的行、列和塊地址。代碼示例如附件1.3.4CMD命令解析和命令相應(yīng)子模塊該模塊首先對CMD指令進(jìn)行判斷,其結(jié)果解釋輸出相應(yīng)的操作指令進(jìn)行響應(yīng)。例如,CMD為001時,則會輸出do_read信號為1;CMD為010時,則會輸出do_write信號為1,在同一時刻,只會輸出一種有效的操作指令。然后該模塊根據(jù)操作指令,做出符合SDRAM讀寫規(guī)范的操作動作,來進(jìn)行用戶期望的操作;給出數(shù)據(jù)選通信號OE,來控制數(shù)據(jù)通路模塊(寫操作OE為1,讀操作時OE為0)。此外,該模塊把系統(tǒng)非復(fù)用的地址ADDR處理為SDRAM復(fù)用的地址,分時送給SA、BA。程序中地址復(fù)用的方法為:assignraddr=ADDR[ROWSTART+ROWSIZE-1:ROWSTART];//raddr為行地址assigneaddr=ADDR[COLSTART+COLSIZE-1:COLSTART];//eaddr為列地址assignbaddr=ADDR[BANKSTART+BANKSIZE-1:BANKSTART];//baddr為BANK地址在程序中,WRITEA和READA的CMD指令實際隱含了ACTIVE命令,所以該模塊在收到do_write或do_read指令后,會先進(jìn)行激活動作,經(jīng)過初始化配置規(guī)定的CAS延遲時間之后再進(jìn)行讀寫動作。此外,該模塊內(nèi)含用以預(yù)設(shè)某些模式參數(shù)的模式寄存器,主要包括3類:第1類是SDRAM模式控制寄存器,在LOADMODE指令時,將該寄存器的值送入SDRAM的模式寄存器中,以控制SDRAM的工作模式;第2類是SDRAM控制器的參數(shù)寄存器(LOAD_REG1),使得SDRAM控制器的工作方式與外部的SDRAM器件的工作方式匹配;第3類是SDRAM的刷新周期控制寄存器,該寄存器預(yù)設(shè)用戶定義的自動刷新計數(shù)值,用于SDRAM的刷新周期預(yù)設(shè)。上述3類寄存器的預(yù)設(shè)值都是系統(tǒng)控制接口模塊在初始化時通過SADDR傳送給來的。收到各類操作指令后,該模塊會反饋給CMD命令解析模塊cmdack信號為1,并最終反饋到系統(tǒng)控制接口模塊的CMDACK信號為1,如果沒有收到任何操作指令,則cmdack=0,CMDACK信號為0。代碼示例如附件2.3.5數(shù)據(jù)通路子模塊該模塊受OE信號的控制,使數(shù)據(jù)的進(jìn)出和相應(yīng)的操作指令在時序上同步。OE為1時,數(shù)據(jù)可由DQ腳寫入SDRAM,OE為0時,數(shù)據(jù)可從SDRAM的DQ腳讀出。因為是內(nèi)部模塊,所以應(yīng)該盡量避免使用雙向端口,因此在這里DQ的輸入輸出作用分別用端口DQIN和DQOUT代替,在頂層模塊調(diào)用時再使用OE信號實現(xiàn)三態(tài)雙向傳輸。代碼示例如附件3.3.6SDRAM控制器頂層模塊實際上在大型工程開發(fā)過程中很少用到圖形編輯工具,因為連接線較多不易連接,容易顯得雜亂,可讀性和可移植性都不強(qiáng)。因此大多數(shù)模塊調(diào)用都是通過代碼形式來調(diào)用的,讀者要熟悉并習(xí)慣使用在程序中調(diào)用另一個子模塊的方式。附件4是SDRAM控制器頂層模塊代碼示例,通過這種調(diào)用方式將其他子模塊融合在一個統(tǒng)一的大工程下。

四、系統(tǒng)測試與分析4.1整體效果圖正面效果圖背面效果圖4.2攝影效果圖(FPGA面板按下KEY[1])4.3拍照效果圖(FPGA面板按下KEY[2])

附件1:部分源碼libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;entitycontrol_interfaceisgeneric(ASIZE:integer:=32);port(CLK:instd_logic;RESET_N:instd_logic;CMD:instd_logic_vector(2downto0);ADDR:instd_logic_vector(ASIZE-1downto0);REF_ACK:instd_logic;CM_ACK:instd_logic;NOP:outstd_logic;READA:outstd_logic;WRITEA:outstd_logic;REFRESH:outstd_logic;LOAD_MODE:outstd_logic;SADDR:outstd_logic_vector(ASIZE-1downto0);SC_CL:outstd_logic_vector(1downto0);SC_RC:outstd_logic_vector(1downto0);SC_RRD:outstd_logic_vector(3downto0);SC_PM:outstd_logic;SC_BL:outstd_logic_vector(3downto0);REF_REQ:outstd_logic;CMD_ACK:outstd_logic;);endcontrol_interface;architectureRTLofcontrol_interfaceis--signaldeclarationssignalLOAD_REG1:std_logic;signalLOAD_REG2:std_logic;signalREF_PER:std_logic_vector(15downto0);signaltimer:signed(15downto0);signaltimer_zero:std_logic;signalSAADR_int:std_logic_vector(ASIZE-1downto0);signalCMD_ACK_int:std_logic;signalSC_BL_int:std_logic_vector(3downto0);begin--ThismoduledecodesthecommandsfromtheCMDinputtoindividual--commandlines,NOP,READA,WRITEA,REFRESH,PRECHARGE,LOAD_MODE;--ADDRisregisterinordertokeepitalignedwithdecodedcommand.process(CLK,RESET_N)beginif(RESET_N='0')thenNOP<='0';READA<='0';WRITEA<='0';REFRESH<='0';PRECHARGE<='0';LOAD_MODE<='0';load_reg1<='0';load_reg2<='0';SAADR_int<=(others=>'0');elseifrising_edge(CLK)thenSAADR_int<=ADDR;if(CMD='000')thenNOP<='1';elseNOP<='0';endif;if(CMD='001')thenREADA<='1';elseREADA<='0';endif;if(CMD='010')thenWRITEA<='1';elseWR

溫馨提示

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

評論

0/150

提交評論