0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用纯FPGA来实现嵌入式视觉方案

YCqV_FPGA_EETre 2017-12-06 10:42 次阅读

嵌入式视觉是当今科技最激动人心的领域之一。

关于使用Zynq SoC的嵌入式视觉应用,热心群众们说的太多,我就不赘述了。今天我们换一个新的视角,来看看如何使用纯FPGA来实现嵌入式视觉方案。

这篇文章,将带你了解如何使用Digilent Nexys Video Artix-7 FPGA多媒体音视频开发板来实现一个简单的HDMI输入/输出视频处理系统。特别是如果你是一名新手,通过本文,你会对基于FPGA的视频处理有更多基本的理解。

坦白说,Digilent Nexys Video开发板可能是市面上性价比最高的音视频处理FPGA口袋实验室了。作为一款专用于音视频处理教学以及视频和视觉应用原型开发的评估板,此板搭载了XilinxArtix-7系列中资源最大的器件Aritx-7 XC7A200T FPGA。

今天我们就来介绍一下如何使用Nexys Video来实现一个简单的HDMI输入/输出视频处理系统。先来看下此板所集成的支持视频接收、处理和生成/输出的下列I/O和外设接口

HDMI输入

HDMI输出

显示输出端口

以太网

UART

USB

512MB DDRSDRAM

线路输入(Line In)/麦克输入/耳机输出/线路输出(Line Out)

FMC

使用VHDL与RTL方法,要创建一个简单的图像处理流水线,我们需要实现如下架构:

监控处理器(本例中采用Xilinx Artix-7 FPGA实现的MicroBlaze软核RISC处理器)用于监控与用户接口间的通信并根据应用的要求配置图像处理流水线。在本例这个简单的架构中,HDMI输入口接收的数据从原始的并行格式的视频数据、Hsync和VSync转换为AXI Streaming(AXIS)格式。我们想要将数据转换成AXIS格式是因为Vivado提供多个使用这种数据格式的图像处理IP。如果我们使用Vivado HLS来创建我们自己的图像处理模块,那么能够支持AXIS接口也很重要。

MicroBlaze处理器需要支持如下外围设备:

AXI UART –支持系统的通信和控制

AXI Timer – 使MicroBlaze可以实时运行事件

MicroBlaze调试模块–支持MicroBlaze的调试

MicroBlaze本地存储–连接到DLMB和ILMB(数据&指令本地存储总线)

我们将使用存储接口生成器来创建与板上SDRAM对接的DDR接口。这个接口和SDRAM创建了一个公共的存储框架,可以访问图像处理管道以及使用AXI interconnect访问监控处理器。

创建一个简单的图像处理流水线需要使用如下IP:

DVI2RGB – Digilent提供的HDMI输入IP

RGB2DVI – Digitlent提供的HDMI输出IP

Video In to AXI4-Stream – 将并行视频输入转换为AXI Streaming协议(Vivado IP)

AXI4-Stream to Video Out – 将AXI-Stream转换为并行视频输出(Vivado IP)

Video Timing Controller Input – 检测输入视频流参数(Vivado IP)

Video Timing Controller Output – 生成输出视频流时序参数(Vivado IP)

Video Direct Memory Access – 支持图像写入和从DDR SDRAM读出

视频处理链的核心是VDMA,我们借助它来将图像移动到DDR内存中。

上图展示了IP如何将流式数据转换为读和写管道中内存映射的数据。两个VDMA通道都提供了在流式数据和内存映射数据之间转换的能力。写通道支持流到内存映射的转换而读通道提供内存映射到流的转换。

当把所有这些集中到Vivado中创建初始的基本系统,我们得到了如下架构,这是Nexys Video HDMI示例提供的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593178
  • 嵌入式视觉
    +关注

    关注

    8

    文章

    115

    浏览量

    59043
  • Zynq
    +关注

    关注

    9

    文章

    600

    浏览量

    46620

原文标题:在Digilent Nexys Video Artix-7板卡上实现HDMI I/O视频处理系统

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用OpenCV和Vivado HLS加速基于Zynq SoC的嵌入式视觉应用开发

    极为高效的嵌入式视觉系统。 处理子系统、FPGA逻辑和外设在Zynq SoC中的高度集成能确保相对于采用分立式组件设计而成的系统而言提高数据传输速率,降低功耗和材料清单成本。我们能用Zynq SoC
    发表于 04-21 15:49

    FPGA嵌入式系统设计的理想选择

    FPGA越来越成为嵌入式系统设计的主流选择。FPGA/SoC:最早我们都采用的是FPGA设计,利用FP
    发表于 07-30 18:38

    嵌入式视觉的发展机遇

    随着功能越来越强大的处理器、图像传感器、存储器和其他半导体器件以及相关算法的出现,可以在多种嵌入式系统中实现计算机视觉功能,通过视频输入分析周围环境。微软的Kinect游戏控制器和M
    发表于 05-16 10:45

    智能嵌入式视觉系统有哪些技术瓶颈和解决方法

    的处理器也是行业所需。当然在实际应用中我们要根据系统的实时性能、功耗、图像精度和算法复杂度选择合适的处理器。为了协助用户搭建自己的嵌入式视觉平台和产品,Xilinx联盟合作伙伴Avnet(安富利)推出
    发表于 08-08 06:53

    嵌入式视觉技术是什么?

    r随着功能越来越强大的处理器、图像传感器、存储器和其他半导体器件以及相关算法的出现,可以在多种嵌入式系统中实现计算机视觉功能,通过视频输入分析周围环境。微软的Kinect游戏控制器
    发表于 08-22 06:43

    嵌入式主动视觉系统如何实现

    根据通用主动视觉系统的设计要求,提出了基于DSP的嵌入式主动视觉系统的设计方案,并完成系统的软硬件设计。最终实现的系统具有俯仰和摇摆2个自由
    发表于 08-28 08:00

    嵌入式机器视觉系统有什么特性?怎么优化?

    介绍了基于ARM+DSP架构的嵌入式机器视觉系统的特性,分析了制约嵌入式机器视觉系统性能的因素。从操作系统和应用程序方面,讨论了嵌入式机器
    发表于 03-11 06:47

    软件和嵌入式软件区别

      软件和嵌入式软件区别为:  1、定义不同  ①嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,包括软件部分和硬件部分;  ②软件
    发表于 06-28 11:36

    嵌入式里堆栈原理及其C的实现方法

    嵌入式里堆栈原理及其C实现  
    发表于 12-28 06:30

    请问如何使用UML设计嵌入式系统?

    UML引入到嵌入式系统中的可行性一种改进的通用嵌入式系统UML方案如何使用UML设计嵌入式系统?
    发表于 04-23 06:12

    如何用FPGA实现DVB码流分析功能的嵌入式设计方案

    如何用FPGA实现DVB码流分析功能的嵌入式设计方案
    发表于 04-28 06:19

    工作职业是选择嵌入式还是FPGA

    而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA是一门技术,嵌入式是一种应用。FPGA的开发就是逻辑实现+约束+综合+仿真;
    发表于 09-22 14:38

    浅析MATLAB和Simulink嵌入式视觉应用

    嵌入式视觉是什么?嵌入式视觉是指将图像处理和计算机视觉应用到嵌入式系统。
    发表于 12-04 08:00

    使用 fpga 简化嵌入式设计

    系统的常用组件。Fpga 的发展Chetan Khona,AMD-Xilinx 公司的工业、视觉、医疗保健和科学主管说,“如果你回到1996年,那时你有一个非常常见的嵌入式架构,其中有一个通用处理器、一
    发表于 03-16 21:46

    FPGA实现嵌入式系统

    FPGA实现嵌入式系统(嵌入式开发报班哪个好)-该文档为FPGA实现
    发表于 07-30 09:13 12次下载
    <b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>嵌入式</b>系统