GreatCause

基于ZYNQ实时输出CMOS视频某一列像素的FPGA程序开发

0
阅读(207) 评论(0)

基于ZYNQ实时输出CMOS视频某一列像素的FPGA程序开发

          前段时间,基于ZYNQ XC7Z020处理器,开发了一个简单的图像处理工程,主要功能是使用FPGA(XC7Z020)驱动一个CMOS(OV5640),并通过VGA接口实时显示视频。在这个过程中,读取视频流中图像某一列的像素,并做相关的运算处理后,通过串口把运算结果发给上位机。

  现在,该功能已开发完成,下面做了一些总结。

1、整个工程,基本流程图如下:

  无标题.png

  在这个工程中,用到了I2C总线、DDR、乒乓操作、串口、AXI总线、PS端HP接口等。

2、关于串口波特率的选择,计算如下:

   现在图像输出格式是 1280*720 ,单像素16bit,30fps。那么输出一帧图像的某一列像素的前8bit数据(目的是减小发送的数据量),需要的数据量720*8=5760。使用串口输出,需要输出的数据量是5760/8*10=7200,那么输出的串口波特率不能小于7200*30=210,000,故选择的串口波特率是256,000。

3、关于DDR3的乒乓操作,相关设计参数如下:

  PS HP0:写DDR;PS HP2:读DDR。

  HP0、HP2读写地址范围是0x1800_0000-0x1FFF_FFFF,共128M

     QQ图片20170516085340.png