基于ov5640的摄像头运动目标检测verilog代码Quartus,CX401开发板
摄像头:ov5640
代码语言:verilog
软件:quartusII
开发板:CX401,可移植到其他开发板
开发板如图:
演示视频
https://www.bilibili.com/video/BV1VQsUzuEsG/
代码讲解视频:
https://www.bilibili.com/video/BV15SsUz6EbJ/
本系统将硬件控制器设计,图像处理算法设计两大部分有机地进行结合使之能够完成运动目标检测。在图像存入SDRAM前需要将图像格式由RGB转换为YCbCr。运动目标检测实现系统整体框架如图所示。
代码仿真图如下:
开发板验证图:
部分代码展示:
//camera power on timing requirementmodule power_on_delay(clk_50M,reset_n,camera_rstn,camera_pwnd,initial_en);input clk_50M;input reset_n;output camera_rstn;output camera_pwnd;output initial_en;reg [18:0]cnt1;reg [15:0]cnt2;reg [19:0]cnt3;reg initial_en;reg camera_rstn_reg;reg camera_pwnd_reg;assign camera_rstn=camera_rstn_reg;assign camera_pwnd=camera_pwnd_reg;//5ms, delay from sensor power up stable to Pwdn pull downalways@(posedge clk_50M)beginif(reset_n==1'b0) begincnt1<=0;camera_pwnd_reg<=1'b1;endelse if(cnt1<19'h40000) begincnt1<=cnt1+1'b1;camera_pwnd_reg<=1'b1;endelsecamera_pwnd_reg<=1'b0;end//1.3ms, delay from pwdn low to resetb pull upalways@(posedge clk_50M)beginif(camera_pwnd_reg==1) begincnt2<=0;camera_rstn_reg<=1'b0;endelse if(cnt2<16'hffff) begincnt2<=cnt2+1'b1;camera_rstn_reg<=1'b0;endelsecamera_rstn_reg<=1'b1;end//21ms, delay from resetb pul high to SCCB initializationalways@(posedge clk_50M)beginif(camera_rstn_reg==0) begincnt3<=0;initial_en<=1'b0;endelse if(cnt3<20'hfffff) begincnt3<=cnt3+1'b1;initial_en<=1'b0;endelseinitial_en<=1'b1;endendmodule
代码获取:
【来源:www.hdlcode.com】
阅读全文
868