-01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】

准备使用OmniVision的OV7251 Global Shutter黑白摄像头,可以在官网上找到:
http://www.ovt.com/products/sensor.php?id=146

OV7251摄像头的特性如下图,用红框标出了一些关键性的参数。
-01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】_第1张图片

之后可能会用这个摄像头来做双目视觉,所以首先定好一些指标,后面的设计都按照这个指标来进行。
图像
- 分辨率:640 x 480
- 数据格式:10位灰度
- 帧率:60fps (匹配显示器刷新频率)
通信
- 控制接口:SCCB(I2C)
- 传输接口:1通道LVDS
- 速率:600Mbps

由于板子还没有做好,为了验证功能,先使用开发板来进行接口逻辑的验证,我选用了ZedBoard试验。
首先在ZYNQ芯片中使用逻辑产生640x480 60fps的动态图像,再用逻辑电路模拟出和OV7251时序完全相同的LVDS输出信号,并通过回环线缆再传输回开发板,最后使用LVDS接收接口捕获图像信息并缓存和显示。
具体的实现结构如下图:
-01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】_第2张图片
图像数据流的处理全部在ZYNQ芯片的PL部分完成,PS部分负责一些IP模块的配置。

我把设计分为几个步骤,分别去实现:
1. OV7251 LVDS信号模拟输出功能的逻辑设计
- OV7251 LVDS Output Simulation
- Video Test Pattern

2. OV7251 LVDS信号输入捕获功能的逻辑设计
- OV7251 LVDS Input Capture
- Video Timing Generate

3. OV7251摄像头模拟输出与输入捕获接口的IP核封装
- 封装前面设计的几个模块为IP核

4. 基于ZYNQ SoC的OV7251摄像头模拟输出与输入捕获系统设计
- 增加辅助的IP核vid to axis, vdma, axis to vod,打通视频数据流通路
- 设计各种IP核的驱动程序,通过PS完成各种功能模块的初始化配置
- 最终实现视频图像数据的缓存与读取,通过ZedBoard的VGA接口于显示器实现视频图像的显示

你可能感兴趣的:(Xilinx,FPGA)