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

正文內(nèi)容

基于fpga的圖像采集系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫吧

2025-06-03 15:42 本頁面


【正文】 eceive 模塊負(fù)責(zé)OV7670攝像頭的初始化與圖像數(shù)據(jù)的采集, 模塊配合Nios II負(fù)責(zé)對(duì)ov7670data_receive 采集的圖像數(shù)據(jù)的緩存,以防止數(shù)據(jù)時(shí)鐘不匹配而出現(xiàn)數(shù)據(jù)紊亂,而 模塊主要負(fù)責(zé)產(chǎn)生讀取 中的數(shù)據(jù)域?qū)崿F(xiàn)數(shù)據(jù)的VGA顯示產(chǎn)生相應(yīng)的RGB數(shù)據(jù)與行、場(chǎng)同步信號(hào),再將采集數(shù)據(jù)送到Nios II中,在Nios II中用Verilog語言驅(qū)動(dòng)TFT液晶,實(shí)現(xiàn)圖像數(shù)據(jù)的顯示。系統(tǒng)總設(shè)計(jì)框圖 Nios II嵌入式內(nèi)核程序設(shè)計(jì)Nios II嵌入式內(nèi)核主要任務(wù)是將采集到的數(shù)據(jù)送入SDRAM暫存,然后再根據(jù)顯示需要將暫存的數(shù)據(jù)讀取出來送到LCD顯示,為了確保顯示圖像與采集圖像的一致,在送LCD顯示數(shù)據(jù)時(shí)要注意以下幾點(diǎn):(1) 根據(jù)實(shí)際情況去除行、場(chǎng)消隱數(shù)據(jù),再根據(jù)顯示內(nèi)容的多少對(duì)數(shù)據(jù)進(jìn)行裁剪,裁剪到適合LCD顯示的大小,從而避免顯示時(shí)圖像的錯(cuò)位以及亂碼等情況。(2) 由于嵌入式內(nèi)核時(shí)鐘頻率相對(duì)于攝像頭的大量數(shù)據(jù)來說速度還是難以做到攝像頭采集的每副圖像都能完全顯示,所以在設(shè)計(jì)中采用隔場(chǎng)采集處理的方式,這樣避免SDRAM中數(shù)據(jù)過多以至于被填滿的情況,也解決了嵌入式內(nèi)核采集的出現(xiàn)的卡屏的情況。5 測(cè)試結(jié)果電路板成品:測(cè)試結(jié)果如圖所示:由上圖可以看出,顯示的圖像清晰,色彩與實(shí)際相符,失真較少。測(cè)試結(jié)果基本達(dá)到預(yù)期。6 結(jié)束語 采用FPGA設(shè)計(jì)并實(shí)現(xiàn)了一種圖像采集系統(tǒng),大幅減少了電路板的尺寸,節(jié)約了成本,同時(shí)增加了設(shè)計(jì)的靈活性和系統(tǒng)的可靠性,充分應(yīng)用FPGA快速并行處理數(shù)據(jù)的特性,在產(chǎn)生同步信號(hào)的同時(shí)送出像素?cái)?shù)據(jù)。嵌入式內(nèi)核Nios II的使用,解決了其他系統(tǒng)實(shí)時(shí)圖像顯示的體積與速度問題,擴(kuò)展了應(yīng)用范圍。 (全文完)參考文獻(xiàn):[1] 潘 松、黃繼業(yè): EDA技術(shù)實(shí)用教程,科學(xué)出版社,P23P28[2] 楊 靜: 電子設(shè)計(jì)自動(dòng)化,高等教育出版社,P32P36[3] 張文愛:EDA技術(shù)與FPGA應(yīng)用設(shè)計(jì),電子工業(yè)出版社,P25P48[4] 楊立英:電子電路EDA技術(shù)與應(yīng)用,清華大學(xué)出版社,P43P86[5] 徐志軍、徐光輝:VGA在CPLD/FPGA的開發(fā)與應(yīng)用,電子工業(yè)出版社,P12P16[6] 黃智偉: FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐,電子工業(yè)出版社,P66P69[7] 潘 松、王國(guó)棟:VHDL實(shí)用教材(修訂版),電子科技大學(xué)出版社,P48P52[8] 孟憲元:FPGA嵌入式系統(tǒng)設(shè)計(jì),電子工業(yè)出版社,P56P64[9] 褚振勇、齊 亮、田紅心:FPGA設(shè)計(jì)及應(yīng)用,高等教育出版社,P36P41附錄:源程序5`timescale 1ns/1nsmodule I2C_Controller( input iCLK, input iRST_N, input I2C_CLK, input I2C_EN, input [23:0] I2C_WDATA, output I2C_SCLK, inout I2C_SDAT, input WR, input GO, output ACK, output reg END, output reg [7:0] I2C_RDATA )。reg I2C_BIT。reg SCLK。 reg [5:0] SD_COUNTER。wire I2C_SCLK1 = (GO == 1 amp。amp。 ((SD_COUNTER = 5 amp。amp。 SD_COUNTER =12 || SD_COUNTER == 14) || (SD_COUNTER = 16 amp。amp。 SD_COUNTER =23 || SD_COUNTER == 25) || (SD_COUNTER = 27 amp。amp。 SD_COUNTER =34 || SD_COUNTER == 36))) ? I2C_CLK : SCLK。wire I2C_SCLK2 = (GO == 1 amp。amp。 ((SD_COUNTER = 5 amp。amp。 SD_COUNTER =12 || SD_COUNTER == 14) || (SD_COUNTER = 16 amp。amp。 SD_COUNTER =23 || SD_COUNTER == 25) || (SD_COUNTER = 33 amp。amp。 SD_COUNTER =40 || SD_COUNTER == 42) || (SD_COUNTER = 44 amp。amp。 SD_COUNTER =51 || SD_COUNTER == 53))) ? I2C_CLK : SCLK。 assign I2C_SCLK = WR ? I2C_SCLK1 : I2C_SCLK2。wire SDO1 = ((SD_COUNTER == 13 || SD_COUNTER == 14)|| (SD_COUNTER == 24 || SD_COUNTER == 25) || (SD_COUNTER == 35 || SD_COUNTER == 36)) ? 139。b0 : 139。b1。 wire SDO2 = ((SD_COUNTER == 13 || SD_COUNTER == 14)|| (SD_COUNTER == 24 || SD_COUNTER == 25) || (SD_COUNTER == 41 || SD_COUNTER == 42) || (SD_COUNTER = 43 amp。amp。 SD_COUNTER = 51)) ? 139。b0 : 139。b1。 wire SDO = WR ? SDO1 : SDO2。assign I2C_SDAT = SDO ? I2C_BIT : 139。bz。reg ACKW1, ACKW2, ACKW3。 reg ACKR1, ACKR2, ACKR3。 assign ACK = WR ? (ACKW1 | ACKW2 | ACKW3) : (ACKR1 | ACKR2 | ACKR3)。always @(posedge iCLK or negedge iRST_N)begin if (!iRST_N) SD_COUNTER = 639。b0。 else if(I2C_EN) begin if (GO == 0 || END == 1) SD_COUNTER = 639。b0。 else if (SD_COUNTER 639。d63) SD_COUNTER = SD_COUNTER + 639。d1。 end else SD_COUNTER = SD_COUNTER。endalways @(posedge iCLK or negedge iRST_N) begin if(!iRST_N) begin SCLK = 1。 I2C_BIT = 1。 ACKW1 = 1。 ACKW2 = 1。 ACKW3 = 1。 ACKR1 = 1。 ACKR2 = 1。 ACKR3 = 1。 END = 0。 I2C_RDATA = 839。h0。 end else if(I2C_EN) begin if(GO) begin if(WR) begin case(SD_COUNTER) 639。d0 : begin SCLK = 1。 I2C_BIT = 1。 ACKW1 = 1。 ACKW2 = 1。 ACKW3 = 1。ACKR1 = 1。 ACKR2 = 1。 ACKR3 = 1。 END = 0。 end 639。d1 : begin SCLK = 1。 I2C_BIT = 1。 ACKW1 = 1。 ACKW2 = 1。 ACKW3 = 1。 END = 0。 end 639。d2 : I2C_BIT = 0。 639。d3 : SCLK = 0。 639。d4 : I2C_BIT = I2C_WDATA[23]。 639。d5 : I2C_BIT = I2C_WDATA[22]。 639。d6 : I2C_BIT = I2C_WDATA[21]。 639。d7 : I2C_BIT = I2C_WDATA[20]。 639。d8 : I2C_BIT = I2C_WDATA[19]。 639。d9 : I2C_BIT = I2C_WDATA[18]。 639。d10 : I2C_BIT = I2C_WDATA[17]。 639。d11 : I2C_BIT = I2C_WDATA[16]。 639。d12 : I2C_BIT = 0。 639。d13 : ACKW1 = I2C_SDAT。 639。d14 : I2C_BIT = 0。 639。d15 : I2C_BIT = I2C_WDATA[15]。 639。d16 : I2C_BIT = I2C_WDATA[14]。 639。d17 : I2C_BIT = I2C_WDATA[13]。 639。d18 : I2C_BIT = I2C_WDATA[12]。 639。d19 : I2C_BIT = I2C_WDATA[11]。 639。d20 : I2C_BIT = I2C_WDATA[10]。 639。d21 : I2C_BIT = I2C_WDATA[9]。 639。d22 : I2C_BIT = I2C_WDATA[8]。 639。d23 : I2C_BIT = 0。 639。d24 : ACKW2 = I2C_SDAT。 639。d25 : I2C_BIT = 0。 639。d26 : I2C_BIT = I2C_WDATA[7]。 639。d27 : I2C_BIT = I2C_WDATA[6]。 639。d28 : I2C_BIT = I2C_WDATA[5]。 639。d29 : I2C_BIT = I2C_WDATA[4]。 639。d30 : I2C_BIT = I2C_WDATA[3]。 639。d31 : I2C_BIT = I2C_WDATA[2]。 639。d32 : I2C_BIT = I2C_WDATA[1]。 639。d33 : I2C_BIT = I2C_WDATA[0]。 639。d34 : I2C_BIT = 0。 639。d35 : ACKW3 = I2C_SDAT。 639。d36 : I2C_BIT = 0。 639。d37 : begin SCLK = 0。 I2C
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1