您好,登錄后才能下訂單哦!
1. 概述
本設計采用FPGA技術,將CMOS攝像頭(DVP接口)的視頻數據經過采集、存儲、處理、幀率轉換,最終通過HDMI接口顯示在電視屏幕上。
2. 硬件系統框圖
CMOS采用分辨率為1080p的攝像頭芯片,FPGA采用ALTERA公司的CYCLONE IV,FLASH采用EPCS64,DDR2采用Hynix公司的1Gb內存條,HDMI采用Silicon Image公司的SiI9134。
3. FPGA邏輯框圖
FPGA各部分邏輯模塊如下圖所示:
CMOS Capture,采集CMOS攝像頭視頻數據;
I2C Master,配置CMOS芯片;
DDR2 Control,配置與控制DDR2芯片組,實現讀寫仲裁;
FIFO Write,將采集到的視頻數據跨時鐘域地寫進DDR2中;
FIFO Read,將DDR2中的數據跨時鐘域地讀出給后續圖像處理模塊;
Frame Buffer,負責FIFO Write和FIFO Read的調度,實現幀率轉換;
RAW to RGB,將原始RAW8數據轉換成RGB888數據;
RGB to YCbCr,將RGB888數據轉換成YCbCr444數據;
YC444 to YC422,將YC444的數據轉換成YC422的數據給HDMI TX模塊;
HDMI TX,將處理好的視頻數據發送給HDMI PHY芯片,同時通過I2C接口配置HDMI PHY芯片。
4. CMOS配置
攝像頭芯片支持最高1080p30幀的輸出,參考寄存器配置如下:
module i2c_cfg_par( input clk, input [07:0] lut_index, output reg [23:0] lut_data ); always @(*) begin case(lut_index) //27M input 67.5M output 'd0 : lut_data <= 'h4105_02; 'd1 : lut_data <= 'h0103_01; 'd2 : lut_data <= 'h4105_02; 'd3 : lut_data <= 'h0100_00; 'd4 : lut_data <= 'h401e_b0; 'd5 : lut_data <= 'h420c_03; 'd6 : lut_data <= 'h420d_e8; 'd7 : lut_data <= 'h4231_24; 'd8 : lut_data <= 'h420E_04; 'd9 : lut_data <= 'h420F_65; 'd10 : lut_data <= 'h4211_08; //x start 'd11 : lut_data <= 'h4213_10; //y start 'd12 : lut_data <= 'h4e03_01; 'd13 : lut_data <= 'h4e01_46; 'd14 : lut_data <= 'h4e08_00; 'd15 : lut_data <= 'h4e09_10; 'd16 : lut_data <= 'h4518_03; 'd17 : lut_data <= 'h4518_03; 'd18 : lut_data <= 'h6025_09; 'd19 : lut_data <= 'h4908_c0; 'd20 : lut_data <= 'h4416_10; 'd21 : lut_data <= 'h4e0f_90; 'd22 : lut_data <= 'h4638_85; 'd23 : lut_data <= 'h4637_bf; 'd24 : lut_data <= 'h4639_98; 'd25 : lut_data <= 'h4035_01; 'd26 : lut_data <= 'h4034_ba; 'd27 : lut_data <= 'h4300_10; 'd28 : lut_data <= 'h4301_18; 'd29 : lut_data <= 'h4308_38; 'd30 : lut_data <= 'h4306_34; 'd31 : lut_data <= 'h430a_00; 'd32 : lut_data <= 'h430b_90; 'd33 : lut_data <= 'h4303_18; 'd34 : lut_data <= 'h4309_18; 'd35 : lut_data <= 'h431e_0e; 'd36 : lut_data <= 'h431f_0e; 'd37 : lut_data <= 'h4320_14; 'd38 : lut_data <= 'h4321_14; 'd39 : lut_data <= 'h4322_14; 'd40 : lut_data <= 'h4323_14; 'd41 : lut_data <= 'h4626_03; 'd42 : lut_data <= 'h4621_28; 'd43 : lut_data <= 'h4f08_04; 'd44 : lut_data <= 'h4f09_44; 'd45 : lut_data <= 'h5500_25; 'd46 : lut_data <= 'h4c09_08; 'd47 : lut_data <= 'h435d_20; 'd48 : lut_data <= 'h4368_02; 'd49 : lut_data <= 'h4369_00; 'd50 : lut_data <= 'h436a_04; 'd51 : lut_data <= 'h436b_65; 'd52 : lut_data <= 'h430e_50; 'd53 : lut_data <= 'h4367_08; 'd54 : lut_data <= 'h4f00_06; 'd55 : lut_data <= 'h4f04_01; 'd56 : lut_data <= 'h4f05_c8; 'd57 : lut_data <= 'h4905_1c; 'd58 : lut_data <= 'h6780_7f; 'd59 : lut_data <= 'h6782_0a; 'd60 : lut_data <= 'h6783_08; 'd61 : lut_data <= 'h6786_20; 'd62 : lut_data <= 'h6787_0c; 'd63 : lut_data <= 'h6789_01; 'd64 : lut_data <= 'h678a_0f; 'd65 : lut_data <= 'h6000_06; 'd66 : lut_data <= 'h4632_48; 'd67 : lut_data <= 'h4622_0e; 'd68 : lut_data <= 'h4627_02; 'd69 : lut_data <= 'h4630_b4; 'd70 : lut_data <= 'h4633_94; 'd71 : lut_data <= 'h4620_42; 'd72 : lut_data <= 'h463a_0c; 'd73 : lut_data <= 'h4334_60; 'd74 : lut_data <= 'h403f_81; 'd75 : lut_data <= 'h601f_00; 'd76 : lut_data <= 'h4b00_f8; 'd77 : lut_data <= 'h4b01_40; 'd78 : lut_data <= 'h4c01_14; 'd79 : lut_data <= 'h5000_00; 'd80 : lut_data <= 'h4d08_00;//'h4d08_01; 'd81 : lut_data <= 'h4640_00; 'd82 : lut_data <= 'h0100_01; 'd83 : lut_data <= 'h403a_09; 'd84 : lut_data <= 'h4039_66; 'd85 : lut_data <= 'h403f_82; 'd86 : lut_data <= 'h4636_88; 'd87 : lut_data <= 'h4631_90; 'd88 : lut_data <= 'h4635_08; 'd89 : lut_data <= 'h4105_04; 'd90 : lut_data <= 'h4105_04; `endif default : lut_data <= 'h0000; endcase end endmodule
5. 顯示結果
電視顯示1080p30的視頻信號,圖像中的色卡表明顏色顯示正常。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。