本文主要介紹關(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)信息。
下表列出了作為主機時,輸出的接口信號名稱和相關(guān)信息。
這里的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ù)傳輸。
下面給出利用握手機制信號使用EOL信號進行幀傳輸?shù)睦印T跁r序圖中,在時鐘上升沿,并且VALID、READY、SOF都為高電平時候表示有效數(shù)據(jù)傳輸表示幀數(shù)據(jù)的起始。在Pn-1也就是一行數(shù)據(jù)的最后一個進行傳輸時,EOL信號拉高,和LAST信號相同。當(dāng)完成一幀傳輸?shù)淖詈笠粋€數(shù)據(jù)傳輸后,在下次傳輸時,SOF信號將會再次拉高,指示下一幀的第一個信號的傳輸。
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的框圖:
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 的框圖如下圖所示:
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 接口
在這里插入圖片描述
讀寫時序
讀時序
下面給出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ā)送輸出。
寫時序
下面給出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>
Reference
正點原子ZYNQ開發(fā)視頻教程
UG585
UG1037
PG020
原文標(biāo)題:Reference
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎ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)載請注明出處。
發(fā)布評論請先 登錄
XILINX FPGA IP之AXI Traffic Generator

一文詳解Video In to AXI4-Stream IP核

Designing High-Performance Video Systems with the AXI Interconnect
有人有經(jīng)驗AXI4-Stream到視頻輸出IP核嗎?
請問我對AXI4-Stream FIFO的理解不正確嗎?
請問AXI4-Stream到Video核心的技巧有什么?
axi4-stream互連問題如何解決
axi4-stream combiner問題的解決辦法?
AXI-stream數(shù)據(jù)傳輸過程
Xilinx的LogiCORE IP Video In to AXI4

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

評論