基于Zedboard和ov5642实现视频采集及VGA输出

                                          Jude 20211024-20211107

       在网上下载了 Pmod-CAM-5M.rar ,它是基于Zedboard和ov5640 的Demo,我的摄像头是ov5642的,做了一些修改,实现了视频的采集并通过VGA输出。ov5642的代码压缩包ov5642cam_zed.rar稍后会上传。

1.ZedBoard和Ov5642的连接

        把Pmod-CAM-5M.rar解压后,有四个文件夹,根据02和03文件夹的Referece 和Schematic 连接摄像头ov5642到zedboard的JA和JB上,需要注意的是PWDN,STROEBE,FREX 可不接,摄像头模块一般都有晶振接在了XCLK上,XCLK可以不接在ZedBoard 上。连接VGA显示器到ZedBoard的VGA接口上。

2.Vivado 和SDK

       Vivado 和SDK的教程网上很多,自己找,直接解压ov5642cam_zed.rar(我修改并实现好的) ,用vivado直接打开Vivado_OV5640_ImageShow.xpr工程, 连接zedboard的Jtag 和UART 到电脑,vivado左下角点击Open hardware manager ,然后program device,看到zedboard 下载bitstream 完成,再点击file-> launch SDK ,选择到工程目录下的Vivado_OV5640_ImageShow_BD\sdk,打开SDK ,然后直接run ,打开secure CRT连接COM,可看到程序的打印信息,在VGA显示器可看到摄像头ov5642采集的实时图像。由于原工程内只实现了640x480 的解码,所以图像不清晰。如果自己修改了代码,需要run Synthesis ,run Implementation,generate bitstream ,再Open hardware manager ……

3.修改

  1. design_1_PIC_LAY_0_0.v  87行 加入了BUFG;
  2. PIC_LAY.v  195行 加入了门控时钟;
  3. CCD_Capture.v  由于源代码错误,修改较多,具体看代码;
  4. 程序的修改,ov5640.c 修改了很多,主要是ov5640 和ov5642的很多寄存器不同,ov5640.h中加入了ov5642的寄存器配置,具体看代码。

4.系统介绍

       系统框图如下,PS (上面四个IP)部分只是通过IIC来配置ov5642,PL(PIC_LAY_0一个IP)部分实现ov5642的数据采集和存储,并转换为VGA的数据输出。

基于Zedboard和ov5642实现视频采集及VGA输出_第1张图片

5.仿真及设想

       工程目录下Vivado_OV5640_ImageShow_BD\Vivado_OV5640_ImageShow.sim我加入了简单的testbench,仿真时需要修改Reset_Delay ,reset时间修改短一点,CCD_Capture.v的X_Cont 和Y_Cont 也要修改短一点,否则仿真时间太长。)

        原代码只实现了640x480分辨率的解码,可在PL中加入一个IIC receiver IP,并设置一些配置分辨率的寄存器,通过编程来实现分辨率的动态配置,初学者可以作为练手的项目做一下。

压缩包下载地址:

        xyov5642cam_zed.rar-嵌入式文档类资源-CSDN下载s

你可能感兴趣的:(ZedBoard,音视频)