【ZYNQ】VDMA 的介绍

news2024/7/3 8:26:10

AXI VDMA 是 Xilinx 官方提供的高带宽视频 DMA IP,用于实现 AXI4-Stream 视频数据流与 AXI4 接口数据的转换,同时提供帧缓存与帧同步控制功能。本文主要介绍 AXI VDMA 的基本结构与原理,并简要介绍 VDMA 的配置与使用方法。

目录

1 VDMA 简介

2 VDMA 的配置

3 VDMA 的使用


1 VDMA 简介

        在前面《Zynq 芯片介绍》一文中,我们知道 Zynq 内部包含一个存储器单元,其中 DDR 内存控制器提供对 1GB 数据的访问,并且 PL 与 PS 对用户数据的访问是共享的。

        PS 端可以通过读写相应寄存器的方式,将数据写入 DDR3 或者从 DDR3 中读取数据。而对于 PL 端而言,则需要借助 AXI_HP 接口,才能实现对 DDR3 的访问。

        S_AXI_HP0 和 S_AXI_HP1 是内存控制器专用接口,采用 AXI4 协议规范,HP 表示 High Performance,同时由于 DDR 读/写操作由 PL 端发起,所以这里是 AXI Slave 接口。

初始 OCM/DDR 地址映射

        在视频处理中,许多视频应用程序离不开帧缓存,例如帧率改变、缩放、裁剪。对于视频图像,通常使用 AXI4-Stream 协议传输,因此需要借助 AXI VDMA IP 核,实现 AXI4 与 AXI4-Stream 接口的转换。

        AXI VDMA 包括写通道和读通道,这两个通道是独立工作的。对于写通道,VDMA 将 AXI4-Stream Slave 数据流写入 DDR3(通过 AXI4 Master 接口);对于读通道,VDMA 从 DDR3 中读取数据(通过 AXI4 Master 接口)并转换为 AXI4-Stream Master 数据流。

        其中 AXI-4 接口数据位宽可选 32, 64, 128, 256, 512, 与 1024 bit,AXI4-Stream 数据位宽可选 8 ~ 1024 bit,AXI4-Stream 数据位宽不超过对应通道的 AXI4 接口数据位宽。

        同时 AXI VDMA 提供帧缓存(Frame Buffer)与帧同步控制(Frame Synchronization)功能,对于 32-bit 地址空间,最多支持 32 帧缓存。

2 VDMA 的配置

        从 AXI VDMA 结构框图可以知道,AXI VDMA 使用 AXI4-Lite 接口进行配置。

   

配置数据按照 4 字节(32bit)小端对齐方式。

寄存器地址映射表

其中 MM2S 表示读通道,S2MM 表示写通道。

3 VDMA 的使用

        VDMA IP 核的配置主要包括读/写通道 Memory Map Data,Stream Data 位宽配置、Frame Buffer 与 Line Buffer 深度配置。

        在接收到 mm2s_fsync 信号之后,VDMA 开始工作。m_axi_mm2s_rlast 用于指示图像中一行数据的结束。VDMA 将接收到的数据写入 Line Buffer,随后传输到 AXI4-Stream 端。

        对于 s2mm 通道,VDMA 在接收到 s2mm_fsync 信号之后开始工作。VDMA 将 AXI4-Stream 视频数据流写入 Line Buffer,随后驱动 AXI4 端信号,将数据传递给 DDR3。

未完待续 ~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1866954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java版小程序商城免费搭建-直播商城平台规划及常见营销模式解析

平台概述 1. 平台组成 管理平台:提供全方位的系统设置、数据统计、商家管理、订单管理等后台管理功能。商家端:支持PC端和移动端操作,便于商家进行商品管理、订单处理、营销活动设置等。买家平台:覆盖H5网页、微信公众号、小程序…

egg代码生成器

今天给大家分享一下egg的代码生成器,这个其实原理很简单,说白了就是用到了nodejs的一个文件io的操作,通过一系列配置参数解析然后生成一个很长的字符串,写入到文件中,最后导出到我们指定的文件夹。 前提概要 为什么我…

深入探索:大型语言模型消除幻觉的解决之道

随着人工智能技术的飞速发展,大型语言模型(LLMs)已经成为自然语言处理领域的明星。它们以其庞大的知识库和生成连贯、上下文相关文本的能力,极大地推动了研究、工业和社会的进步。然而,这些模型在生成文本时可能会产生…

Java基础概念

注释 概念 注释是在程序指定位置添加的说明性信息。 简单理解,就是对代码的一种解释。 注释分类 单行注释: //注释信息 多行注释: /*注释信息*/ 文档注释: /**注释信息*/ 注:文档注释暂时用不上 注释的使用细节 注释内容不会参与编译和运行&#xff0…

西安国际医学中心医院 多学科联合创新白癜风治疗法取得进展

近日,西安国际医学中心医院“自体头皮毛囊裂解物混悬液移植治疗白癜风”项目,备受瞩目。据悉,在白癜风和白发的研究及治疗上,均有望取得显著进展。 卢涛主任高分通过医院新技术新业务立项 “白癜风”——是由于皮肤黑素细胞被破坏…

Depth Anything V1,V2论文解读

Depth Anything 引言Depth Anything V1标注方法学习标注图像发挥未标注图像的潜力语义辅助感知 Depth Anything V2总体框架流程 引言 在深度估计领域,单目深度估计(Monocular Depth Estimation,MDE)是指利用单个摄像头拍摄的图像…

OpenGL-ES 学习(6)---- 立方体绘制

目录 立方体绘制基本原理立方体的顶点坐标和绘制顺序立方体颜色和着色器实现效果和参考代码 立方体绘制基本原理 一个立方体是由8个顶点组成,共6个面,所以绘制立方体本质上就是绘制这6个面共12个三角形 顶点的坐标体系如下图所示,三维坐标…

还没选好智能猫砂盆?今年最受好评的好用智能猫砂盆都在这了!

随着现代养猫文化的演进,智能化宠物用品逐渐走入千家万户,其中智能猫砂盆作为能帮助大家实现双手自由的自动铲屎神器,受到了广大铲屎官的喜欢。然而,市面上的智能猫砂盆种类繁多,品质参差不齐。一款优质的智能猫砂盆能…

从0到1构建自己的短链接系统

1. 短链系统简介 1.1 短链系统的定义与用途 短链系统是指将一个较长的URL地址,通过特定的算法生成一个较短的、具备唯一性的URL地址。这种系统广泛应用于社交网络、短信、邮件营销等场景,它能帮助用户在字数受限的情况下分享链接,并且还具有…

【干货】【全网最全】【全网最详细】 javaWeb关于Thymeleaf+SpringBoot 的学习教程,看这一篇就够了。

大家好,我是DX3906 第一部分:介绍 Thymeleaf 简介 1.什么是Thymeleaf Thymeleaf是一个用于Java和Java EE平台的服务器端模板引擎,它可以用来在服务端生成HTML、XML、JavaScript、CSS甚至纯文本的输出。Thymeleaf适用于需要快速开发和维护Web…

设备智能化:中国星坤线缆组件的解决方案!

在当今快速发展的电子行业中,产品小型化和成本效益是制造商追求的两大目标。中国星坤端子电缆组件以其灵活性和高效性,为电子设备制造商提供了一种理想的解决方案。本文将探讨星坤端子电缆组件的优势以及其在不同电子设备中的应用。 端子线:小…

Linux命令学习2

一.文件基础命令 1.alias-给某个命令取别名 使用方式:alias cl ls -la 说明:将ls -la命令取别名为cl,使用这种方式只是临时将命令取别名,重启中断后,就会失效。 问题1:如何永久性的设置命令的别名? 答…

简过网:专科生可以考的编制岗位有哪些?这5个铁饭碗要抓住了!

专科生可以考的编制岗位有哪些?以下这几种可以考的,尤其是应届毕业生,一定要抓住机会哦! ​ 一、三支一扶:专科生可报考,期满可转编。 三支一扶:支农、支医生、支教、扶贫 工作时间一般为2年&…

车载双向认证框架设计

最近工作需要,手写了一个双向认证库,可以用在Java、Android上,不限于PC/手机、车载平台。首先我们来看看双向认证的原理机框架设计思路,最后会给出下载链接大家可以体验或者源码参考。 因为可以和FlexNet网络库(参考我…

实现高效写入:Schemaless 写入性能优化指南

物联网应用常常需要收集大量的数据,用以支持智能控制、业务分析和设备监控等功能。然而,应用逻辑的更新或硬件的调整可能会导致数据采集项频繁变化,这是时序数据库(Time Series Database,TSDB)面临的一大挑…

Mybatis-映射文件中select标签resultType属性的使用

数据库的最最基本操作“增删改查”,“查”是最复杂的,有各种各样的查询,所以对应到Mybatis中的select标签也是这四个操作中最复杂的 resultType属性的使用 1.返回的结果是List集合的类型 select标签里的resultType类型设置为List集合里的元…

CCAA:认证通用基础 7(认证的基本概念)

7认证的基本概念 7.1认证类型(产品认证、管理体系认证、服务认证)及基本特征 第一节 认证 1.认证的定义和本质 1.1认证的定义 (1)认证:与产品、过程、体系或人员有关的第三方证明。 ①”产品,过程,体系或人员”是认证的对象,认证是对“产…

Rust: duckdb和polars读csv文件比较

一、文件准备 样本内容,N行9列的csv标准格式,有字符串,有浮点数,有整型。 有两个csv文件,一个大约是2.1万行;一个是64万行。 二、toml文件 [package] name "my_duckdb" version "0.1.0&…

Linux文件IO深入剖析

目录 一、文件IO引发的项目血案 1、分析 一、Linux文件系统基本概念 1、文件系统接口 2、文件系统缓存 二、文件IO 访问方式概述 1、标准文件访问方式 2、直接IO 3、实现方式 4、缓存同步 5、Linux 文件IO流程图 6、血案解决 一、文件IO引发的项目血案 事件经过&am…

甲骨文(Oracle)云AI专家级证书免费获取攻略

这次分享的是甲骨文云(Oracle)2024年最新最热门的AI专家级证书,活动截止日期7/31。 考试为闭卷监考形式,但小李哥已经把题库准备好,分享给大家。 甲骨文Oracle☁️云计算凭借其Oracle原生产品(数据库、ERP等)在云计算市场中具有一定地位。目前…