基于Zynq或FPGA的图像处理平台

1b80ec95dc6e3c5d46901568f94e9580.png

本文将介绍如何创建一个支持 HDMI 输入到输出的图像处理平台。这可以用作基于 HLS 的图像处理演示的基础。

概述
该项目将演示如何基于 Xilinx Zynq 创建一个简单的图像处理平台。然后,该项目将用作后续开发的基础,这些开发侧重于基于高级综合的开发,允许使用行业标准 OpenCV 库。

为了创建这个示例,我使用 Zybo Z7,因为它提供 HDMI 输入和输出,以及用于 MIPI 相机的 CSI-2 接口,我们也可以将其用于未来的开发。

除了 Zybo-Z7,我们还将使用:

  • HDMI 摄像头,例如 Apeman 1080P 运动摄像头

  • HDMI 输入和输出端口的相关电缆

  • HDMI显示

为了创建应用程序,我们将使用以下开发工具和库:

  • 维瓦多 2017.4

  • 赛灵思 SDK 2017.4

  • Digilent Vivado 库

要创建此示例,我们需要执行以下准备步骤:

  • 将 Digilent Vivado 库下载并解压到您的计算机

  • 安装 Digilent Board 定义,如果您不确定如何执行此操作,请单击此处

  • 创建一个针对 Zybo-Z7 的新 Vivado 项目

  • 在 Vivado 中创建新的框图

构成
在 Vivado 框图中,我们需要添加以下 IP:

Zynq 处理系统 -这将提供图像处理系统的配置和控制,同时它的 DDR 也用作帧缓冲区以确保以下配置

  • PL 时钟 0 = 200 MHz

  • PL 时钟 1 = 100 MHz

  • HP 0 Slave enabled - 这将用于将图像传输到 PS DDR 或从 PS DDR 传输图像

  • GP 0 Master enabled - 用于配置图像处理链

DVI2RGB -这将 HDMI 视频流转换为具有适当垂直和水平同步的 24 位 RGB 总线。

6202a0002aeca43d7242252cc6575773.png

AXI GPIO - 用于断言 HDMI 源上的热插拔检测的单个输出,未能断言这可能意味着没有接收到视频。

视频定时控制器- 配置为检测,这将检测从 HDMI 源接收的视频的模式。

c641f162c1a7b58d02ba496ff3fc2295.png

视频输入到 AXIS -这会将并行视频和同步转换为 AXI 流。与 TDATA 上的图像数据一起,帧的开始由 TUser 信号标识,而行尾由 TLast 信号标识。

将此配置为具有独立时钟,以便像素时钟和 AXI 流时钟不同。

8cb4b52a49b27b22ecf4c63c0fbbd5d6.png

AXIS 子集转换器 -此组件将 24 位视频输出的格式重新映射为正确的 RGB 格式。其中两个在 VDMA 之前和之后使用。

c9d9cbfad5c700c06b5b0ad04a62940c.png

视频直接内存 -写入通道将 AXI 流视频移动到 AXI 内存映射形式,以便存储在 PS DDR 内存中。而读取通道访问 PS DDR 并将 AXI 内存映射格式转换为 AXI 流以供输出。确保启用两个方向。

acb939db2a0ef3e128b11ba08fa17e8c.png

f36b80d75a60a2da1ecd9357a3e65c04.png

视频时序控制器- 配置为时序源,配置所需的时序取决于输入视频时序。这被 AXIS 用于视频输出以生成输出并行视频和同步

9019f2a33deb765abdf75cbe3addf8f5.png

RGB2DVI -这将输出并行视频和垂直和水平同步转换为 HDMI

67b861beccc44b9a8c86d9592f2d2829.png

为了支持动态配置输出时钟,使用了 Digilent Vivado 库中的动态时钟发生器。这允许使用 AXI lite 根据接收到的视频格式来改变像素时钟频率。

Vivado 项目
将所有这些放在一起可以创建一个 Vivado 项目,如下所示。

c57bf3309e6a130e75daf802b3bbbec0.png

然后可以构建 Vivado 项目并将其导出到 Xilinx SDK 以使我们能够创建应用软件。

在 Xilinx SDK 中,我们需要编写我们的软件应用程序来执行以下操作:

  • 断言连接到 HDMI IN 热插拔检测的 GPIO - 断言此信号后,处理器等待 5 秒以确保 HDMI 源生成视频。

  • 配置视频定时控制器(检测器)以报告传入视频模式。

  • 配置视频时序控制器(生成器)以根据检测视频模式生成时序。

  • 配置动态时钟

  • 将 VDMA 配置为从 PS DDR 读取和写入数据

运行应用程序 SW 应该可以让您看到所选 HDMI 源上的图像。

实物

f7daeea15bac69d16872696c93aa13b5.png

总而言之,这个项目为我们提供了一个想法平台,我们可以在未来使用它来展示我们基于 HLS 图像处理的应用程序。

项目链接:https://github.com/ATaylorCEngFIET/Hackster

以上内容翻译自网络,原作者:Adam Taylor,如涉及侵权,可联系删除。

👉要查看详情

请猛戳底部“阅读原文

- END -

↓↓↓戳“阅读原文”下载方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值