基于 ZYNQ 的双目视觉图像采集系统设计(一)

1、视频采集系统的整体架构

如图 1 所示,这是整个视频采集系统的原理框图。

图 1   视频采集系统架构
       

       上电初始,FPGA 通过 IIC 接口对 CMOS Sensor 进行寄存器初始化配置。这些初始化的基本参数,即初始化地址对应的初始化数据都存储在一个预先配置好的 FPGA 片内 ROM 中。(这些初始化的参数来源于CMOS Sensor芯片手册,这里使用的是OV5640摄像头,要学好FPGA芯片手册一定要会看)

       在初始化配置完成后,CMOS Sensor 就能够持续输出标准 RGB 的视频数据流,FPGA 中对 CMOS Sensor 输出的同步信号,如时钟、行同步信号和场同步信号进行检测,从数据总线上获得实时采集到的图像数据。采集到的视频数据先通过一个 DC FIFO,将原本 25MHz 频率下同步的数据流转换到 50MHz 的频率下。(为了提高数据传输速率,并与系统组件适配)

       采集到的图像视频流,再送入 WR FIFO 中,这个 FIFO 中的视频数据若达到16(*64bit)个,就会被连续读出并产生 AXI HP总线时序,将这16个数据写入到 DDR3 中。

       控制模块产生AXI HP总线读地址和读数据时序,读出DDR3中的视频流数据,并缓存在RD FIFO中供LCD显示器控制使用。LCD显示器控制产生LCD驱动时序,将视频流数据送往 LCD 显示。

2、视频采集系统工程代码模块设计

       如图2 所示,这里显示了整个工程的各个模块层次结构。在顶层模块 zstar.v 下面有 9个子模块。这9 个子模块的功能以及他们所包含的子模块或例化功能描述如表 1 所示。

图 2   视频采集系统工程代码层次结构
表 1 工程模块描述

模块名称

功能描述

Zstar_zynq_ps

该模块是 Zynq PS(Processor System) IP 核的例化,AXI HP 总线的配置引出和系统所需时钟和复位都是来自于这个 Zynq PS。

Image_controller

U2 和 U4 都例化了这个模块。该模块实现 IIC 接口对 OV5640 的初始化、OV5640 输出图像的采集和缓存等。

这个模块内部主要有 4 个子模块。I2C_OV5640_Init_RGB565.v 模块实现 IIC的接口协议和初始化配置,其下有两个子模块:I2C_Controller.v 模块实现IIC的读写控制时序,I2C_OV5640_RGB565_Config.v 模块则产生IIC寄存器初始化配置的地址和数据。image_capture.v 模块实现图像采集和缓存功能。

Axi_hp0_wr

U3 和 U5 都例化了这个模块。

该模块内部例化了用于缓存写入 DDR3 数据的 FIFO,并实现AXI HP 总线的写通道时序,完成数据通过 AXI HP 总线写入 DDR3 的操作。

Axi_hp0_rd

U7 和 U8 都例化了这个模块。

该模块内部例化了用于缓存从 DDR3 中读出数据的 FIFO,并实现了 AXI HP总线的读通道时序,完成通过 AXI HP 总线从 DDR3 读出数据的操作。

lcd_driver

该模块驱动 LCD,同时产生控制逻辑读取 DDR3 中缓存的 2 个摄像头实时视频图像。

led_controller

该模块控制 LED 闪烁,指示工作状态。

3、板卡选择

     这里我使用的板卡是特权同学的Zstar,型号是xc7z020。

接下来我将逐个讲解工程模块,包括所用到的原理以及Verilog代码。大家有问题可以私信我。

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值