1. 介紹
Video In to AXI4-Stream IP核用于將視頻源(帶有同步信號的時鐘并行視頻數據,即同步sync或消隱blank信號或者而后者皆有)轉換成AXI4-Stream接口形式,實現了接口轉換。該IP還可使用VTC核,VTC在視頻輸入和視頻處理之間起橋梁作用。
2. 功能
接收視頻信號的輸入;
AXI-Stream主接口 (輸出);
提供輸出接口給VTC做視頻時序檢測;
支持在視頻與AXI4-Stream時鐘域之間的同步時鐘模式和異步時鐘模式;
可選的FIFO深度:32-8192
輸入數據位寬:8-256bit
支持隔行掃描操作.
8,10,12,16bit的組件位寬轉換
Xilinx提供的許多視頻處理核之間,都是利用AXI4-Stream視頻流協議進行視頻的傳輸的,也就是說其輸入和輸出都是AXI4-Stream接口(Slaver/Master)。
在系統之間,通常使用用于水平和垂直定時的顯式消隱(Blank)和同步信號(sync)以及數據有效信號(valid)來傳輸視頻。 數字視覺接口(DVI)是這種傳輸模式的一個示例。 Video In to AXI4-Stream核將具有顯式同步和定時的傳入視頻轉換為AXI4-Stream Video協議,以與使用該協議的Xilinx視頻處理IP核互聯。
Video In to AXI4-Stream核心接受視頻輸入。 對于本文檔,視頻被定義為具有像素時鐘和以下一組定時信號之一的并行視頻數據:
? Vsync, Hsync, and Data Valid
? Vblank, Hblank, and Data Valid
? Vsync, Hsync, Vbank, Hblank, and Data Valid
同步信號和消隱信號二者需其一即可,二者皆有也沒問題。三組信號任一組信號都能夠實現將Video In轉換為AXI4-Stream。特定的選擇對于視頻時序控制器(VTC)檢測器很重要,因此在需要生成VTC內核時應指定一組時序信號。IP核輸出端是主模式下的AXI4-Stream接口。
該接口由并行視頻數據 tdata,握手信號tvalid和tready以及兩個標志tlast和tuser組成,它們被用于標識視頻流中的某些特定像素。
tlast:指定每行的最后一個有效像素,也稱為行尾(EOL)。
tuser:指定幀的第一個有效像素,稱為幀開始(SOF)。
這兩個標志信號對于標識AXI4流總線上的像素位置是必需的,因為AXI4-Strem形式下已然不再有同步或消隱信號。總線上只會搬運有效像素。
Video In to AXI4-Stream內部結構圖
該IP核旨在與VTC的檢測器功能并行使用。 通過AXI4-Lite接口,視頻時序檢測器檢測輸入進來的視頻的行標準,并確定檢測到的時序值 (例如每一行的有效像素的個數,以及可用于Video In to AXI4-Stream IP核下游的視頻處理IP核的有效行數)。
建議將視頻定時檢測器的“鎖定”狀態輸出連接到Video In to AXI4-Stream核心的axis_enable輸入,以在視頻輸入丟失或不穩定時禁止AXI4-Stream總線。 視頻定時控制器的檢測器鎖定指示符是INTC_if寄存器的第8位。
Video In to AXI4-Stream核處理視頻時鐘域和AXI4-Stream時鐘域之間的異步時鐘邊界。 數據寬度可以從8到256之間選擇,具體取決于視頻格式所需的組件數量,每個組件的位數和每個時鐘的像素數量。 支持隔行操作。 有一個輸入FIFO,深度在32到8192個位置之間可選。
3. 具體應用
該IP 核可以完成對以下Video數據源進行到AXI4-Stream的接口轉換:
具體應用時,未必一定是視頻數據,只要是能夠按照視頻標準時序給出數據源,那么該IP就能夠完成格式轉換,轉換成AXI4-Stream。視頻數據完成格式轉換是由于Xilinx 提供的Video IP的接口都是基于視頻數據的AXI4-Stream,即以數據流形式向下游高速傳輸。
4. 性能
最大頻率
本節包含目標設備的典型時鐘頻率。 可達到的最大時鐘頻率可能會有所不同。 使用其他版本的Xilinx工具以及其他因素,其他工具選項,FPGA器件中的附加邏輯會影響最大可達到的時鐘頻率和所有資源計數。
Latency
當AXI4-Stream總線上的下游處理模塊可以以 像素速率 或 更快的速率獲 取數據時,通過Video In to AXI4-Stream IP核的典型延遲為vid_io_in_clk的6個周期+ aclk的3個周期。
如果下游塊以較低的速率獲取像素,則FIFO會被用于在行和幀的過程中平衡輸入和輸出速率的不匹配。 像素在FIFO中的這種存儲會增加了等待時間,并根據進出IP核的數據流而變化。
Throughput
AXI4-Stream接口上有效像素的平均數據速率與視頻總線上有效像素的平均數據速率匹配。 但是,輸入和輸出的時鐘速率不需要匹配。 由于AXI4-Stream總線不攜帶消隱像素,因此時鐘速率可以低于視頻時鐘速率,并且仍具有足夠的帶寬以滿足平均速率要求。 需要額外的FIFO深度來消除瞬時速率的失配。 輸入視頻像素時鐘(Fvclk)和AXI4-stream時鐘(Faclk)受整體Fmax限制。
FIFO深度要求
(1)若Faclk =或>Fvclk:
即AXI4-Stream時鐘大于視頻像素時鐘,則僅需要最小緩沖區大小(32個位置)。這假設連接到Video In to AXI4-Stream IP核下 游的IP核可以在全視頻速率接收數據。例如,下游IP核可以接受幾乎連續的流中的數據,其中間隙僅在EOL之后出現,并且每行僅在SOF之前連續出現行間隙。在這種情況下,FIFO在每行的EOL之后清空。
(2)若Faclk
Faclk小于Fvclk 時,需要額外的緩沖。 FIFO必須足夠大,以處理視頻時鐘上像素進入速率的差異,以及使用aclk在AXI4-Stream總線上輸出像素的速率較慢。對于高于線路平均值但低于vclk的aclk頻率,輸入FIFO深度必須為:
FIFO深度最小值= 32 +有效像素* Fvclk / Faclk
如果下游處理核心以比aclk更低的速率接收數據,則需要額外的緩沖,其數量應足以防止FIFO在幀傳輸期間溢出。
5. 接口
Video In to AXI4-Stream IP核使用行業標準的 控制和數據接口 連接到其他系統組件。 以下各節描述了內核可用的各種接口。 圖2-1說明了視頻輸入到AXI4-Stream核的I / O圖。 該核并不需要所有的時序信號,但是它也會將這些信號傳遞給Xilinx視頻時序控制器(VTC),該控制器根據其配置可能需要某些信號。 因此,所有定時信號都存在。 對于Video In to AXI4 Stream核,始終需要有效的數據。 另外,需要垂直同步或垂直消隱輸入。
Video In to AXI4-Stream Core Top-Level Signaling Interface
Common Interface
信號方向寬度描述
aclkInput1AXI4-Stream時鐘
aclkenInput1AXI4-Stream時鐘使能信號,高有效
aresetnInput1AXI4-StreamARESETN。 低電平有效。 與ACLK同步。
axis_enableInput1此輸入應連接到VTC檢測器鎖定狀態,并與vid_io_in_clk同步。
1 =使能寫入FIFO
0 =禁止寫入FIFO
fidOutput1AXI4-Stream總線的字段ID。 僅用于隔行視頻:0 =偶數場,1 =奇數場。 該位的更改與AXI4-Stream總線上的SOF一致。 應該將其連接到下一個具有現場感知能力的下游設備的field-ID位,否則應保持未連接狀態。 與aclk同步。
vid_io_in_clkInput1本地視頻時鐘。 僅在獨立時鐘模式下可用。
vid_io_in_ceInput1本地視頻時鐘使能
vid_io_in_resetInput1本地視頻時鐘域的復位信號。 與vid_io_in_clk同步。 僅在獨立時鐘模式下可用。 高有效。
overflowOutput1指示FIFO上溢出的標志。 與vid_io_in_clk同步。 如果發生溢出,則可能表明所連接的AXI4-Stream從模塊正在產生過多的背壓(back-pressure)。
underflowOutput1指示FIFO下溢出的標志。 在正常操作下絕對不應發生這種情況。 與aclk同步。
ACLK
AXI4-Stream輸出信號與時鐘信號ACLK同步。 AXI4-Stream信號在ACLK的上升沿采樣。 AXI4-Stream輸出信號的變化在ACLK的上升沿之后發生。
ACLKEN
ACLKEN引腳是與AXI4-Stream接口有關的高電平有效,同步時鐘使能輸入。 盡管ACLK引腳上有上升沿,但將ACLKEN設置為低電平(無效)會停止AXI4-Stream總線的運行。 保持內部狀態,并保持輸出信號電平,直到再次確認ACLKEN。 當ACLKEN被置為無效時,除ARESETn取代ACLKEN之外,不對核心AXI4-Stream輸入進行采樣。
Video Clock
視頻輸入接口和視頻定時接口必須與vid_io_in_clk同步
Video Clock Enable
輸入信號vid_io_in_ce控制視頻時鐘域中所有寄存器的時鐘使能。 當視頻時鐘域的時鐘頻率高于視頻時序標準時,通常會使用此信號。
Video Reset
僅當內核配置為獨立時鐘模式時,視頻復位信號vid_io_in_reset信號才可用。 此高電平有效信號與vid_io_in_clk同步,用于重置橋的輸入端。 斷言此復位即vid_io_in_reset或aresetn將導致內部FIFO復位。
Video Timing Interface
信號方向寬度描述
vtd_vsyncOut1垂直同步視頻定時信號(場同步)。
vtd_hsyncOut1水平同步視頻定時信號(行同步)。
vtd_vblankOut1場消隱
vtd_hblankOut1行消隱
vtd_active_videoOut1Active video flag.
1 = active video, 0 = blanked video
vtd_field_idOut1VTC字段ID。 0 =偶數場,1 =奇數場。
AXI4-Stream Interface
m_axis_video_tvalidOutput1AXI4-Stream TVALID。 有效視頻數據啟用
m_axis_video_tdataOutput1AXI4-Stream TDATA. 視頻數據
m_axis_video_tuserOutput1AXI4-Stream TUSER. 幀開始
m_axis_video_tlastOutput1AXI4-Stream TLAST. 行結束
m_axis_video_treadyInput1AXI4-Stream TREADY. 從模塊準備好
Video Data
AXI4-Stream接口規范將TDATA寬度限制為8位的整數倍。 因此,如果視頻數據寬度不是8的整數倍,則在連接到m_axis_video_tdata之前,必須在MSB上用零填充數據以形成N * 8位寬的向量。 填充不會影響IP核的大小。
類似地,Video In to AXI4-Streamd的輸出信號m_axis_video_tdata的數據將 打包并根據需要填充為8位的倍數 。 圖2-2給出了一個示例,該示例針對每個時鐘一個像素的12位RGB數據。
對于每個時鐘多個像素,根據需要將像素打包成8位的倍數。 圖<新圖>顯示了每個時鐘三個像素,每個分量RGB數據12位的示例。 盡管這是預期的打包,但內核本身不會解析數據。 換句話說,AXI4-Stream輸出將是視頻輸入,填充為8位的倍數。
該 橋接器還可以針對寬度的任何組合(包括8位,10位,12位和16位)執行從輸入到輸出的組件寬度轉換。 圖2-4所示的示例說明了將分量寬度從AXI4-Stream輸入上的12位微調為Video輸出上的8位。 修剪每個組件的四個LSB,并將其余數據打包到輸出視頻總線上。
圖2-5中的示例說明了將組件寬度從AXI4-Stream上的8位填充到Video輸出上的12位的情況。 每個組件的輸出上的四個LSB填充為零,高MSB從AXI4-Stream輸入映射到總線。
READY/VALID Handshake
只要READY,VALID,ACLKEN和ARESETn 在ACLK的上升沿為高電平,就會發生有效的傳輸。 在有效傳輸期間,DATA僅傳輸有效視頻數據。 消隱時段和輔助數據包不會通過AXI4-Stream Video協議進行傳輸。
Driving m_axis_video_tready
m_axis_video_tready信號可以在Video in to AXI4-StreamIP斷言m_axis_video_tvalid的周期之前,期間或之后斷言(即Ready相對于tvalid信號沒有限制)。 m_axis_video_tready的斷言可能取決于m_axis_video_tvalid的值。 能夠立即接受通過m_axis_video_tvalid限定的數據的從站應預先聲明其m_axis_video_tready信號,直到接收到數據為止。 或者,可以注冊m_axis_video_tready并在VALID聲明后驅動周期。 建議AXI4-Stream從站獨立驅動READY,或預先聲明READY以最大程度地減少延遲。
SOF - m_axis_video_tuser
通過AXI4-Stream 接口中的tuser信號物理傳輸的SOF信號,標記了視頻幀的第一個像素。 SOF脈沖為1個有效事務寬度,并且必須與幀的第一個像素重合。 SOF用作幀同步信號,允許下游IP核重新初始化并檢測幀的第一個像素。 只要tvalid沒有置位,就可以在第一個像素值出現在tdata之前,斷言SOF信號的任意數量的aclk周期。
EOL Signal - m_axis_video_tlast
通過AXI4-Stream接口中的 tlast信號 物理傳輸的EOL信號,來標記一行的最后一個像素。 EOL脈沖為1個有效事務寬度,并且必須與掃描線的最后一個像素重合,如圖2-6所示。
6. IP的使用
General Design Guidelines
Video In to AXI4 Stream IP核的video輸入端口應連接到輸入視頻源,比如DVI接口芯片可產生并行視頻數據和定時信號。該IP核并并不需要所有的時序信號,但是,Video In to AXI4 Stream IP核將這些信號傳遞給Xilinx視頻時序控制器VTC,根據其配置,Xilinx視頻時序控制器可能需要某些時序信號。使用VTC檢測器所需的一組定時信號。對于Video In to AXI4 StreamIP核,始終需要數據有效信號。另外,需要垂直同步或垂直消隱輸入。
Video In to AXI4 Stream IP核的主要輸出是主AXI4-Stream總線,該總線連接到下游視頻處理模塊,如圖3-1所示。主接口和從接口共享一個公共時鐘,復位和時鐘使能。
如圖3-1所示,Video In to AXI4-Stream IP核通常與Video Timing Controller結合使用,后者可檢測下游處理模塊使用的視頻時序參數。
時鐘
Video In to AXI4 Stream IP核使用兩種時鐘模式,即通用(同步)或獨立(異步)。當網橋的本地和AXI4-Stream端從公共同步時鐘運行時,將使用公共時鐘模式。通用時鐘模式禁用了內部FIFO中的時鐘域交叉邏輯,因此節省了資源。當橋接器要求橋接器的本機端和AXI4-Stream端具有異步和獨立時鐘時,將使用獨立時鐘模式。
視頻輸入時鐘與輸入上使用的視頻線標準相對應。它是視頻線路標準的一部分,由Video In至AXI4-Stream內核以及用于檢測視頻時序的相應Video Timing Controller內核使用。
AXI4-Stream時鐘(aclk)是AXI4-Stream總線的一部分。為了最大程度地減少緩沖要求,該時鐘的頻率應等于或高于視頻輸入時鐘的頻率。該時鐘可能比視頻輸入時鐘慢,在這種情況下,需要額外的緩沖來存儲像素,以便可以以視頻時鐘的突發速率輸入行。在“緩沖區要求”部分中對此進行了討論。至少,聲壓頻率必須高于平均像素速率。
7. IP配置
?Component Name:組件名稱用作為模塊生成的輸出文件的基本名稱。 名稱必須以字母開頭,并且必須由字符組成:a到z,0到9和“ _”。
?Pixels Per Clock :指定要并行輸出的像素數。 此參數影響輸入和輸出的數據總線寬度。 每個時鐘的像素選項為1、2或4。
?Input Component Width: 指定輸入視頻數據總線上的視頻位寬度。
?Output Component Width:指定輸出AXI4-Stream TDATA總線上的視頻分量位寬度。
?Clock Mode :時鐘模式用于指定AXI4-Stream輸出和視頻輸入信號是使用公共時鐘還是獨立時鐘進行時鐘控制。
Video Format : 指定使用的視頻格式。 選擇不同的格式將確定使用的組件數量。,比如RGB數據格式一個像素將需要3個。
組件數量(1-4)*Pixels per clock*組件寬度=視頻數據總線的寬度v_data。
依次將該寬度四舍五入為最接近的8倍,以確定AXI4-Stream數據總線的寬度m_axis_video_tdata。 例如,如果組件寬度為14(像素寬度),每個時鐘像素為2,視頻格式為RGB(3個組件),則vid_data為84位寬,m_axis_video_tdata為88位。 使用IP Integrator時,此參數是根據連接到從屬AXI-Stream視頻接口的視頻IP內核的視頻格式自動計算的。
?FIFO深度:指定輸入FIFO中的位置數。 FIFO深度的選項為32、1024、2048、4096和8192。
-
接口
+關注
關注
33文章
8831瀏覽量
152660 -
Xilinx
+關注
關注
73文章
2175瀏覽量
123418 -
fifo
+關注
關注
3文章
395瀏覽量
44267 -
Video
+關注
關注
0文章
196瀏覽量
45530 -
IP核
+關注
關注
4文章
335瀏覽量
50054
原文標題:Video_In_to_AXI4-stream
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
Video Frame Buffer IP初學者入門案例分析

有人有經驗AXI4-Stream到視頻輸出IP核嗎?
請問我對AXI4-Stream FIFO的理解不正確嗎?
請問AXI4-Stream到Video核心的技巧有什么?
如何將AXI4-Stream與CH7301接口?
axi4-stream互連問題如何解決
axi4-stream combiner問題的解決辦法?
AXI-stream數據傳輸過程
Xilinx的LogiCORE IP Video In to AXI4

AXI STREAM FIFO如何設置雙時鐘

評論