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的视频信号,图像中的色卡表明颜色显示正常。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。