freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的數(shù)字cmos攝像機圖像采集-wenkub

2023-07-03 14:29:02 本頁面
 

【正文】 std_logic_vector(ASIZE1 downto 0)。 READA :out std_logic。 ADDR :in std_logic_vector(ASIZE1 downto 0)。entity control_interface isgeneric(ASIZE:integer:=32)。附件4是SDRAM控制器頂層模塊代碼示例,通過這種調(diào)用方式將其他子模塊融合在一個統(tǒng)一的大工程下。OE為1時,數(shù)據(jù)可由DQ腳寫入SDRAM,OE為0時,數(shù)據(jù)可從SDRAM的DQ腳讀出。此外,該模塊內(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è)。程序中地址復(fù)用的方法為:assign raddr=ADDR[ROWSTART+ROWSIZE1:ROWSTART]。代碼示例如附件1. CMD命令解析和命令相應(yīng)子模塊該模塊首先對CMD指令進行判斷,其結(jié)果解釋輸出相應(yīng)的操作指令進行響應(yīng)。上述初始化過程結(jié)束后,系統(tǒng)指令分析機制才可接收并分析系統(tǒng)的讀寫信號和地址信息,以及從下個模塊反饋回來的CMD_ACK信號,并產(chǎn)生對應(yīng)的CMD命令和SADDR地址信息給CMD命令解析模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號,進而產(chǎn)生不同的CMD命令組合;CMD命令解析模塊用于接收CMD命令并解碼成操作指令;命令響應(yīng)模塊用于接收操作指令并產(chǎn)生SDRAM的操作動作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入輸出。根據(jù)系統(tǒng)要求,本設(shè)計選用SAMSUNG的K4S6432 SDRAM芯片。對BANK預(yù)充電或者關(guān)閉已激活的BANK,可預(yù)充特定BANK也可同時作用于所有BANK,ABA0和BA1用于選擇BANK。訪問存儲單位:為減少I/O引腳數(shù)量,SDRAM復(fù)用地址線,所有在讀寫SDRAM時,先由ACTIVE命令激活要讀寫的BANK,并鎖存行地址,然后在讀寫指令有效時鎖存列地址。SDRAM器件的管腳分為控制信號、地址和數(shù)據(jù)3類。這樣問題的重點就集中在FPGA對SDRAM的讀寫控制模塊上。C配置接口模塊完成對SAA7113的初始化,初始化結(jié)束后,F(xiàn)PGA等待采集圖像的命令。(5)VGA控制模塊:根據(jù)VGA的工業(yè)參數(shù),產(chǎn)生相應(yīng)的行同步和場同步信號,并在適當時刻送入數(shù)據(jù),經(jīng)由ADV7125送VGA進行顯示。C總線對其內(nèi)部寄存器進行配置,使其按照一定的格式進行采樣。其優(yōu)點是設(shè)計相對簡單、不許考慮傳輸時轉(zhuǎn)換總線的問題、較為可靠,缺點是SDRAM容量有限、傳輸時序需要計算準確、SDRAM經(jīng)常刷新等。數(shù)據(jù)傳輸模塊是系統(tǒng)與外設(shè)搭建的橋梁,此模塊是將實時采集的數(shù)據(jù)高速傳輸,給外設(shè)提供信息。對于串行采樣系統(tǒng),如果采樣頻率達到200MHz,一般將這種采樣系統(tǒng)也稱為高速數(shù)據(jù)采集。(3)將信號送到AD進行模數(shù)轉(zhuǎn)換。基于FPGA的數(shù)字CMOS攝像機圖像采集一、數(shù)據(jù)采集系統(tǒng)概述數(shù)據(jù)采集是指將以各種形式輸入的被測信號,包括語音信號、溫度信號、濕度信號、圖像信號等經(jīng)過適當處理,成為計算機可以識別的數(shù)字信號,從而送入計算機進行存儲處理的過程,數(shù)據(jù)采集卡就是典型的基于數(shù)據(jù)采集系統(tǒng)原理的集成計算機擴展卡。(4)將信號傳輸?shù)接嬎銠C;(5)存儲記錄和處理數(shù)據(jù)。目前高速數(shù)據(jù)采集使用較多的采樣頻率一般在50M~100MHz之間。二、總體方案設(shè)計方案1:圖像數(shù)據(jù)的傳輸通過USB總線技術(shù)完成系統(tǒng)的初始化以及將最終的傳輸信號準確無誤地傳送到上位機上。根據(jù)綜合分析和考慮,我們選用相對簡單方便的方案2,選擇器件如下:FPGA采用Altera的Cyclone EP2C35F484C8,視頻采集芯片用飛利浦的SAA7113作為A/D轉(zhuǎn)換單元,兩塊型號為K4S641632E的SDRAM和FPGA構(gòu)成圖像幀存儲及傳輸處理系統(tǒng),ADV7125是數(shù)模轉(zhuǎn)換芯片,和計算機VGA顯示器相連作為顯示終端,系統(tǒng)整體框圖如圖2所示。(2)異步FIFO模塊:當FPGA接收A/D采樣的視頻數(shù)據(jù)時,由于SAA7113和FPGA一般在不同的時鐘頻率下,這就會出現(xiàn)通常所說的異步時鐘問題,處理不當就容易出現(xiàn)亞穩(wěn)態(tài),常用方法是在兩者之間添加一塊異步FIFO。圖3描述了FPGA內(nèi)部的各個主要功能模塊。FPGA收到采集命令后,啟動采集視頻數(shù)據(jù)模塊、異步FIFO模塊和視頻解碼模塊進行解碼,將數(shù)據(jù)輪換寫到兩個幀存中,經(jīng)通信模塊送出,以上即為該系統(tǒng)的工作流程。 SDRAM概述之所以要用到SDRAM,是因為它價格低、體積小、速度快、容量大,是比較理想的存儲器件。通常一個SDRAM中包含幾個BANK,每個BANK的存儲單元是按行和列尋址的。一旦BANK被激活后,只有執(zhí)行一次預(yù)充命令后才能再次激活同一BANK。(3)操作控制SDRAM的具體控制命令由一些專用控制引腳和地址線輔助完成。 SDRAM控制器總體設(shè)計SDRAM控制器與外部的接口示意圖由圖4給出,控制器右端接口信號均為直接與SDRAM對應(yīng)管腳相連的信號;控制器左端的接口信號為與FPGA相連的系統(tǒng)控制接口信號,其中,CLK為系統(tǒng)時鐘信號,RESET_N為復(fù)位信號,ADDR為系統(tǒng)給出的SDRAM地址信號,DAIN是系統(tǒng)用于寫入SDRAM的數(shù)據(jù)信號,F(xiàn)PGA_RD和FPGA_WR為系統(tǒng)讀、寫請求信號(1為有效,0為無效),SDRAM_FREE是SDRAM的空閑狀態(tài)標示信號(0為空閑,1為忙碌),F(xiàn)DATA_ENABLE是控制器給系統(tǒng)的數(shù)據(jù)收發(fā)指示信號(為0時,無法對SDRAM進行數(shù)據(jù)收發(fā);為1時,若是系統(tǒng)讀操作,則系統(tǒng)此時可從DAOUT接收SDRAM的數(shù)據(jù),若是寫操作,則系統(tǒng)此時可以通過DAIN發(fā)送數(shù)據(jù)給SDRAM)。圖5 SDRAM控制器的結(jié)構(gòu)圖 SDRAM系統(tǒng)控制接口子模塊設(shè)計該模塊主要包括初始化和系統(tǒng)指令分析功能。通過程序設(shè)置,實現(xiàn)了根據(jù)初始化配置的參數(shù)來確定在讀寫到特定時刻發(fā)出Precharge或者Refresh的CMD指令,從而簡化了系統(tǒng)的控制。例如,CMD為001時,則會輸出do_read信號為1;CMD為010時,則會輸出do_write信號為1,在同一時刻,只會輸出一種有效的操作指令。//raddr為行地址assign eaddr=ADDR[COLSTART+COLSIZE1:COLSTART]。上述3類寄存器的預(yù)設(shè)值都是系統(tǒng)控制接口模塊在初始化時通過SADDR傳送給來的。因為是內(nèi)部模塊,所以應(yīng)該盡量避免使用雙向端口,因此在這里DQ的輸入輸出作用分別用端口DQIN和DQOUT代替,在頂層模塊調(diào)用時再使用OE信號實現(xiàn)三態(tài)雙向傳輸。 附件1:library ieee。port( CLK :in std_logic。 REF_ACK :in std_logic。 WRITEA :out std_logic。 SC_CL :out std_logic_vector(1 downto 0)。 SC_BL :out std_logic_vector(3 downto 0)。end control_interface。 signal timer : signed(15 downto 0)。 signal SC_BL_int : std_logic_vector(3 downto 0)。)then NOP =39。 WRITEA =39。 PRECHARGE =39。 load_reg1 =39。 SAADR_int =(others=39。 if(CMD=39。 else NOP=39。00139。039。)then WRITEA=39。 end if。139。 if(CMD=39。 else PRECHARGE=39。10139。039。)and(LOAD_REG1=39。 else LOAD_REG1=39。11139。139。 end if。use 。 ROWSIZE :integer:=12。 COLSTART :integer:=0。 RESET_N :in std_logic。 WRITEA :in std_logic。 SC_CL :in std_logic_vector(1 downto 0)。 SC_BL :in std_logic_vector(3 downto 0)。 OE :out std_logic。 CKE :out std_logic。 )。 signal do_writea : std_logic。 signal do_load_mode : std_logic。 signal do_act : std_logic。 signal oe1 : std_logic。 signal rp_shift : std_logic_vector(3 downto 0)。 signal bankaddr : std_logic_vector(BANKSIZE1 downto 0)。 bankaddr =SADDR(BANKSTART+BANKSIZE1 downto BANKSTART)。039。039。039。039。 rw_flag =39。)。039。139。039。039。139。 if((READA =39。)and (do_writea =39。) and (REF_REQ =39。 else do_reada =39。139。039。039。139。039。) and (mand_done =39。) and (do_precharge =39。 else do_precharge =39。139。039。039。) or (do_reada =39。) or (do_precharge =39。))then mand_delay = 39。 rw_flag = do_reada。039。and mand_done = 39。 rp_done = 39。 rp_shift(3) = 39。end process。039。 oe2 = 39。 oe4 = 39。 elsif rising_edge(CLK)then if(SC_PM = 39。)then if(SC_BL = 39。)。0000000139。0000011139。0111111139。 else
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1