0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-03 16:11 ? 次閱讀

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

AXI4-Stream Video 協(xié)議

接口定義

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

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

下表列出了作為主機時,輸出的接口信號名稱和相關(guān)信息。

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

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

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

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

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

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

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

AXI_VDMA IP

簡介

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

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

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

AXI_VDMA提供了以下的功能:

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

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

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

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

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

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

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

幀緩存

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

VDMA AXI4 接口

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

在這里插入圖片描述

讀寫時序

讀時序

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

SOF拉高使能,進行幀同步。

握手信號進行握手并傳輸視頻數(shù)據(jù)。

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

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

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

寫時序

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

SOF拉高使能,進行幀同步。

握手信號進行握手并寫入視頻數(shù)據(jù)。

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

這里寫入的數(shù)據(jù)是寫完先緩存在line buffer中,然后再經(jīng)過stream流數(shù)據(jù)傳輸?shù)酱鎯ζ饔成涞拇鎯卧小?/p>

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

Reference

正點原子ZYNQ開發(fā)視頻教程

UG585

UG1037

PG020

原文標(biāo)題:Reference

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

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

    關(guān)注

    33

    文章

    8932

    瀏覽量

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

    關(guān)注

    9

    文章

    2002

    瀏覽量

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

    關(guān)注

    1

    文章

    136

    瀏覽量

    34662

原文標(biāo)題:Reference

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

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

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

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

    XILINX FPGA IPAXI Traffic Generator

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

    一文詳解Video In to AXI4-Stream IP

    Video In to AXI4-Stream IP用于將視頻源(帶有同步信號的時鐘并行視頻數(shù)據(jù),即同步sync或消隱blank信號或者而后者皆有)轉(zhuǎn)換成
    的頭像 發(fā)表于 04-03 09:28 ?936次閱讀
    一文詳解<b class='flag-5'>Video</b> In to <b class='flag-5'>AXI4-Stream</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    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)驗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

    請問我對AXI4-Stream FIFO的理解不正確嗎?

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

    請問AXI4-StreamVideo核心的技巧有什么?

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

    axi4-stream互連問題如何解決

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

    axi4-stream combiner問題的解決辦法?

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

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

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

    Xilinx的LogiCORE IP Video In to AXI4

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

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

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

    AXI-Stream代碼

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

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

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

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品