0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AXI4-Stream Video 協(xié)議和AXI_VDMA的IP核介紹

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-03 16:11 ? 次閱讀

本文主要介紹關(guān)于AXI4-Stream Video 協(xié)議和AXI_VDMA的IP核相關(guān)內(nèi)容。為后文完成使用帶有HDMI接口的顯示器構(gòu)建圖像視頻顯示的測(cè)試工程做準(zhǔn)備。

AXI4-Stream Video 協(xié)議

接口定義

對(duì)于使用AXI4-Stream Video 協(xié)議的IP,對(duì)于接口的功能會(huì)進(jìn)行拓展或者裁剪。下表列出了作為從機(jī)時(shí),輸入的接口信號(hào)名稱(chēng)和相關(guān)信息。

164d61a8-eea1-11ec-ba43-dac502259ad0.png

下表列出了作為主機(jī)時(shí),輸出的接口信號(hào)名稱(chēng)和相關(guān)信息。

165df1a8-eea1-11ec-ba43-dac502259ad0.png

這里的SOF 是用于指示起始幀的傳輸信號(hào),SOF實(shí)際上是在AXI4-Stream的USER信號(hào)上進(jìn)行傳輸?shù)?;EOL用于指示一行數(shù)據(jù)傳輸完成。EOL實(shí)際上是在AXI4-Stream的TLAST信號(hào)上進(jìn)行傳輸?shù)?,用于指示一行幀?shù)據(jù)的傳輸完成。在這個(gè)協(xié)議中沒(méi)有行場(chǎng)同步的信號(hào),所以使用SOF和EOL用于進(jìn)行同步視頻數(shù)據(jù)信息。TKEEP and TSTRB 這兩個(gè)信號(hào)在使用AXI4-Stream視頻協(xié)議的IP時(shí)不使用。當(dāng)連接到需要TKEEP或TSTRB分配的IP時(shí),可以使用默認(rèn)值TKEEP=1和TSTRB = 1。TID and TDEST 在使用AXI4-Stream視頻協(xié)議的IP中不使用TID和TDEST,使用默認(rèn)值TID=0和TDEST=0。TUSER TUSER的第0位(TUSER[0])標(biāo)記幀的開(kāi)始。是唯一用于視頻的AXI4-Stream信號(hào)。

AXI4-Stream Video協(xié)議時(shí)序

READY、VALID、ACLKEN和ARESETn信號(hào),在ACLK上升沿時(shí)發(fā)生有效傳輸。在有效傳輸過(guò)程中,DATA只攜帶有效的視頻數(shù)據(jù)。握手機(jī)制和AXI DMA的握手機(jī)制相同。都是通過(guò)在在ACLK上升沿時(shí),拉高VALID、READY,進(jìn)行有效的數(shù)據(jù)傳輸。下面給出使用握手機(jī)制信號(hào)進(jìn)行一個(gè)起始幀的傳輸。在時(shí)序圖中,在時(shí)鐘上升沿,并且VALID、READY、SOF都為高電平時(shí)候表示有效數(shù)據(jù)傳輸。

167ead44-eea1-11ec-ba43-dac502259ad0.png

下面給出利用握手機(jī)制信號(hào)使用EOL信號(hào)進(jìn)行幀傳輸?shù)睦?。在時(shí)序圖中,在時(shí)鐘上升沿,并且VALID、READY、SOF都為高電平時(shí)候表示有效數(shù)據(jù)傳輸表示幀數(shù)據(jù)的起始。在Pn-1也就是一行數(shù)據(jù)的最后一個(gè)進(jìn)行傳輸時(shí),EOL信號(hào)拉高,和LAST信號(hào)相同。當(dāng)完成一幀傳輸?shù)淖詈笠粋€(gè)數(shù)據(jù)傳輸后,在下次傳輸時(shí),SOF信號(hào)將會(huì)再次拉高,指示下一幀的第一個(gè)信號(hào)的傳輸。

1692d18e-eea1-11ec-ba43-dac502259ad0.png

AXI_VDMA IP

簡(jiǎn)介

AXI VDMA IP提供了高帶寬內(nèi)存和內(nèi)存之間的直接訪問(wèn)數(shù)據(jù)流視頻類(lèi)型的目標(biāo)外設(shè),包括支持AXI4-Stream video協(xié)議的外設(shè)。這里提到的AXI4-Stream video協(xié)議在視頻IP核直接提供了一個(gè)簡(jiǎn)單、多功能、高性能、點(diǎn)對(duì)點(diǎn)的通信接口。也可以理解為AXI4-Stream 數(shù)據(jù)的一個(gè)子集。下圖展示了AXI VDMA IP的框圖:

16b6f8b6-eea1-11ec-ba43-dac502259ad0.png

AXI VDMA提供了系統(tǒng)內(nèi)存和AXI4-Stream類(lèi)型目標(biāo)外設(shè)之間的高性能直接內(nèi)存訪問(wèn)。AXI VDMA還提供分散收集(SG)功能,允許CPU將傳輸控制和執(zhí)行轉(zhuǎn)移到硬件自動(dòng)化。

AXI_VDMA提供了以下的功能:

循環(huán)幀緩存區(qū)訪問(wèn)最多32幀緩存,并提供工具來(lái)傳輸視頻幀的一部分或完整的視頻幀。

當(dāng)前幀等待能力,允許相同的視頻幀數(shù)據(jù)重復(fù)傳輸。

獨(dú)立的幀同步和獨(dú)立的AXI時(shí)鐘,允許每個(gè)頻道在不同的幀速率和不同的像素速率上運(yùn)行。為了維持兩個(gè)獨(dú)立功能的AXI VDMA通道之間的同步,有一個(gè)可選的Gen-Lock同步特性。Gen-Lock提供了一種將AXI VDMA從機(jī)自動(dòng)同步到一個(gè)或多個(gè)AXI VDMA主機(jī)的方法,因此從機(jī)不像主機(jī)在相同的視頻幀緩沖空間中操作。在這種模式下,從通道自動(dòng)跳過(guò)或重復(fù)幀。您可以將任一通道配置為Gen-Lock slave或Gen-Lock master。

對(duì)于視頻數(shù)據(jù)傳輸,AXI4-Stream端口可以配置從8位到1024位寬(8的倍數(shù))。對(duì)于AXI4- stream端口比相關(guān)的AXI4內(nèi)存映射端口窄的配置,AXI VDMA會(huì)在內(nèi)存映射端升級(jí)或縮小提供全總線寬度突發(fā)的數(shù)據(jù)。它還支持異步操作模式,其中所有時(shí)鐘都是異步處理的。

VDMA 用于將 AXI Stream 格式的數(shù)據(jù)流轉(zhuǎn)換為 Memory Map 格式或?qū)?Memory Map 格式的數(shù)據(jù)轉(zhuǎn)換為 AXI Stream 數(shù)據(jù)流, 也就是說(shuō) VDMA 內(nèi)核旨在提供從 AXI4 域到 AXI4-Stream 域的視頻讀/寫(xiě)傳輸功能,反之亦然,從而實(shí)現(xiàn)系統(tǒng)內(nèi)存(主要指 DDR3) 和基于 AXI4-Stream 的目標(biāo)視頻 IP 之間的高速數(shù)據(jù)移動(dòng)。VDMA 的框圖如下圖所示:

16e3abd6-eea1-11ec-ba43-dac502259ad0.png

AXI4-Lite 可以對(duì)寄存器進(jìn)行編程(配置),從而實(shí)現(xiàn)軟件動(dòng)態(tài)配置 VDMA 的功能。通過(guò) AXI4-Lite 接口對(duì)寄存器進(jìn)行編程后,控制/狀態(tài)邏輯塊會(huì)為 DataMover 生成適當(dāng)?shù)拿?,以?AXI4 主接口上啟動(dòng)寫(xiě)入和讀取命令??膳渲玫漠惒?line buffer 用于在將像素?cái)?shù)據(jù)寫(xiě)入 AXI4-Memory Map 接口或 AXI4-Stream 接口之前臨時(shí)保存像素?cái)?shù)據(jù)。VDMA 數(shù)據(jù)接口可以分為讀、寫(xiě)兩個(gè)通道,且寫(xiě)入和讀取獨(dú)立運(yùn)行。用戶(hù)可以通過(guò)寫(xiě)通道將 AXI-Stream類(lèi)型的數(shù)據(jù)流寫(xiě)入系統(tǒng)存儲(chǔ)器(主要指 DDR3) 。在讀通道中, VDMA 使用 AXI4 主接口從系統(tǒng)存儲(chǔ)器讀取數(shù)據(jù)并在 AXI4-Stream 主接口上輸出??梢钥吹?, VDMA 本質(zhì)上是一個(gè)數(shù)據(jù)搬運(yùn)的 IP, 可以看作是為視頻圖像處理做特殊優(yōu)化的帶有幀緩沖功能的高性能 DMA, 為數(shù)據(jù)進(jìn)出系統(tǒng)存儲(chǔ)器提供了一種便捷的方案。

幀緩存

許多視頻應(yīng)用程序需要幀緩存來(lái)處理幀速率的變化或圖像尺寸的變化(縮放或裁剪)。幀緩存存儲(chǔ)器( Frame Buffer),簡(jiǎn)稱(chēng)幀緩存,也常被稱(chēng)作顯存,是為顯示設(shè)備(如 HDMI 顯示器等)提供數(shù)據(jù)緩存的一片存儲(chǔ)區(qū)域。一般圖像輸入源和圖像顯示的傳輸速率不匹配(如圖像輸入源傳輸速度較快或者圖像顯示端傳輸速度較快),這個(gè)時(shí)候需要一片存儲(chǔ)區(qū)域來(lái)緩存輸入的數(shù)據(jù),以便顯示設(shè)備讀取數(shù)據(jù),同時(shí)也方便后續(xù)對(duì)視頻數(shù)據(jù)做圖像處理。幀緩存的每一個(gè)存儲(chǔ)單元對(duì)應(yīng)屏幕上的一個(gè)像素,整個(gè)幀緩存對(duì)應(yīng)一幀圖像。比如視頻輸入的設(shè)備是30幀的數(shù)據(jù),而經(jīng)過(guò)視頻處理后實(shí)現(xiàn)了60幀的視頻數(shù)據(jù)顯示,這時(shí)候VDMA的幀緩存功能,就可以進(jìn)行動(dòng)態(tài)處理幀速度的變化。

VDMA AXI4 接口

16fb867a-eea1-11ec-ba43-dac502259ad0.png

在這里插入圖片描述

讀寫(xiě)時(shí)序

讀時(shí)序

下面給出VDMA在讀取數(shù)據(jù)時(shí)的時(shí)序圖,并進(jìn)行簡(jiǎn)單的分析,對(duì)于接口信號(hào)大致可以分為兩組,一組是存儲(chǔ)器映射接口,進(jìn)行數(shù)據(jù)傳輸,另外一組是stream接口,將讀取到的數(shù)據(jù)在line buffer里進(jìn)行緩存。下圖時(shí)序的大致傳輸過(guò)程為:

SOF拉高使能,進(jìn)行幀同步。

握手信號(hào)進(jìn)行握手并傳輸視頻數(shù)據(jù)。

EOL信號(hào)拉高表示一行數(shù)據(jù)傳輸完成,這里L(fēng)AST信號(hào)被拉高5次,也就是傳輸了一幀圖像的五行。

傳輸完成的數(shù)據(jù)移動(dòng)到line buffer緩存區(qū),然后通過(guò)stream接口發(fā)送輸出。

1725c2fa-eea1-11ec-ba43-dac502259ad0.png

寫(xiě)時(shí)序

下面給出VDMA在寫(xiě)入數(shù)據(jù)時(shí)的時(shí)序圖,并進(jìn)行簡(jiǎn)單的分析,這里的流程和讀取的過(guò)程剛好相反。下圖時(shí)序的大致傳輸過(guò)程為:

SOF拉高使能,進(jìn)行幀同步。

握手信號(hào)進(jìn)行握手并寫(xiě)入視頻數(shù)據(jù)。

EOL信號(hào)拉高表示一行數(shù)據(jù)傳輸完成,這里L(fēng)AST信號(hào)被拉高5次,也就是傳輸了一幀圖像的五行。

這里寫(xiě)入的數(shù)據(jù)是寫(xiě)完先緩存在line buffer中,然后再經(jīng)過(guò)stream流數(shù)據(jù)傳輸?shù)酱鎯?chǔ)器映射的存儲(chǔ)單元中。

1738de26-eea1-11ec-ba43-dac502259ad0.png

Reference

正點(diǎn)原子ZYNQ開(kāi)發(fā)視頻教程

UG585

UG1037

PG020

原文標(biāo)題:Reference

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8598

    瀏覽量

    151166
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    1891

    瀏覽量

    64606
  • HDMI接口
    +關(guān)注

    關(guān)注

    1

    文章

    134

    瀏覽量

    34050

原文標(biāo)題:Reference

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Video Frame Buffer IP初學(xué)者入門(mén)案例分析

    Video Frame Buffer IP 而不是 AXI VDMA IP 呢? 答案就記
    的頭像 發(fā)表于 11-16 15:23 ?5389次閱讀
    <b class='flag-5'>Video</b> Frame Buffer <b class='flag-5'>IP</b>初學(xué)者入門(mén)案例分析

    XILINX FPGA IPAXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4AXI4-Stream互連以及其他AXI4系統(tǒng)外設(shè)上生成特定序列(流量)。
    的頭像 發(fā)表于 11-23 16:03 ?2588次閱讀
    XILINX FPGA <b class='flag-5'>IP</b>之<b class='flag-5'>AXI</b> Traffic Generator

    Designing High-Performance Video Systems with the AXI Interconnect

    ), and VDMA IP blocks can form the core of video systems capable of handling multiple video
    發(fā)表于 01-26 18:57

    有人有經(jīng)驗(yàn)AXI4-Stream到視頻輸出IP嗎?

    be experienced AXI4-Stream to Video Out IP core?Is there any special keys I need to pay attention to make
    發(fā)表于 03-08 10:00

    請(qǐng)問(wèn)我對(duì)AXI4-Stream FIFO的理解不正確嗎?

    嗨,我正在研究Spartan 6的設(shè)計(jì)。數(shù)據(jù)來(lái)自PCIe IP,頻率為62.5MHz,通過(guò)AXI4-Stream FIFO同步到100 MHz系統(tǒng)時(shí)鐘。這是一個(gè)示例波形;m_axis_tvalid
    發(fā)表于 08-12 07:29

    請(qǐng)問(wèn)AXI4-StreamVideo核心的技巧有什么?

    大家好。我遇到了xilinx視頻內(nèi)核的問(wèn)題,并試圖解決這個(gè)問(wèn)題好幾周但都失敗了。有人能給我一些關(guān)于AXI4-StreamVideo核心的技巧嗎?我試圖在我的項(xiàng)目中實(shí)現(xiàn)Video Scaler核心
    發(fā)表于 11-08 09:53

    如何將AXI4-Stream與CH7301接口?

    我有SP605&amp; ML506 Xilnx開(kāi)發(fā)板。我想從FPGA驅(qū)動(dòng)CH7301芯片。我正在尋找一些帖子或應(yīng)用筆記,可以幫助我把這兩件事放在一起。我一直在關(guān)注核心AXI4-Stream到視頻
    發(fā)表于 03-20 09:04

    axi4-stream互連問(wèn)題如何解決

    你好,大家好。我正在使用EMI14.4和xc6v315t。我正在嘗試模擬IP CORE.It的axi4-stream interconnect.I配置ip為6siand 4mi。但是當(dāng)
    發(fā)表于 06-18 15:08

    axi4-stream combiner問(wèn)題的解決辦法?

    AXI4-Streamslave接口上TDATA信號(hào)的寬度(以字節(jié)為單位)。 AXI4-Stream主接口TDATA寬度是此值乘以從屬接口數(shù)參數(shù)。此參數(shù)是一個(gè)整數(shù),可以在0到(512 /從站接口數(shù))之間變化。設(shè)置為0以省略
    發(fā)表于 08-20 14:36

    AXI-stream數(shù)據(jù)傳輸過(guò)程

      AXI4-StreamAXI4的區(qū)別在于AXI4-Stream沒(méi)有ADDR接口,這樣就不涉及讀寫(xiě)數(shù)據(jù)的概念了,只有簡(jiǎn)單的發(fā)送與接收說(shuō)法,減少了延時(shí),允許無(wú)限制的數(shù)據(jù)突發(fā)傳輸規(guī)模
    發(fā)表于 01-08 16:52

    Xilinx的LogiCORE IP Video In to AXI4

    Xilinx的視頻的IP CORE 一般都是 以 AXI4-Stream 接口。 先介紹一下, 這個(gè)IP的作用。 下面看一下這個(gè)IP 的接口
    發(fā)表于 02-08 08:36 ?608次閱讀
    Xilinx的LogiCORE <b class='flag-5'>IP</b> <b class='flag-5'>Video</b> In to <b class='flag-5'>AXI4</b>

    自定義sobel濾波IPIP接口遵守AXI Stream協(xié)議

    自定義sobel濾波IP IP接口遵守AXI Stream協(xié)議
    的頭像 發(fā)表于 08-06 06:04 ?3922次閱讀

    AXI-Stream代碼

    AXI-Stream代碼詳解 AXI4-StreamAXI4的區(qū)別在于AXI4-Stream沒(méi)有ADDR接口,這樣就不涉及讀寫(xiě)數(shù)據(jù)的概念了,只有簡(jiǎn)單的發(fā)送與接收說(shuō)法,減少了延時(shí),允許
    的頭像 發(fā)表于 11-05 17:40 ?3554次閱讀
    <b class='flag-5'>AXI-Stream</b>代碼

    關(guān)于AXI4-Stream協(xié)議總結(jié)分享

    XI4-StreamAXI4的區(qū)別就是AXI4-Stream去除了地址線,這樣就不涉及讀寫(xiě)數(shù)據(jù)的概念了,只有簡(jiǎn)單的發(fā)送與接收說(shuō)法,減少了延時(shí)。由于AXI4-Stream
    的頭像 發(fā)表于 06-23 10:08 ?2314次閱讀

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

    AXI4 是一種高性能memory-mapped總線,AXI4-Lite是一只簡(jiǎn)單的、低通量的memory-mapped 總線,而 AXI4-Stream 可以傳輸高速數(shù)據(jù)流。從字面意思去理解
    的頭像 發(fā)表于 07-04 09:40 ?8603次閱讀