Video Frame Buffer IP 簡介
Video Frame Buffer Read/Write IP 支持您將視頻數(shù)據(jù)從存儲器域(AXI4 存儲器映射接口)遷移到 AXI4-Stream 接口,或反之亦然。
從更高層次來看,它的作用與我們在先前視頻系列(視頻系列 24、視頻系列 25、視頻系列 26 等)中所使用過的 AXI VDMA IP 并無差異。
那么為什么要使用 Video Frame Buffer IP 核而不是 AXI VDMA IP 呢?
答案就記錄在(賽靈思答復記錄 72543)中。究其本質,AXI VDMA IP 從 AXI4-Stream 接口提取字節(jié),并直接將其移植到存儲器中,無關乎視頻數(shù)據(jù)格式。
Video Frame Buffer 必須關注傳入傳出存儲器的數(shù)據(jù)格式。根據(jù)所選格式,它能以不同方式將數(shù)據(jù)存儲在存儲器中。這對于 Linux 應用非常實用。
比如,V4L2 格式 YUYV 和 UYVY 都表示 YUV4:2:2 8 位,唯一差別就在于兩者在存儲器中的存儲方式。
因此,建議針對新設計采用 Video Frame Buffer IP。
如需了解有關 Video Frame Buffer Read/Write IP 的詳情,請參閱 (PG278)。
為 Video Frame Buffer IP 生成設計示例
注意:下文是基于 2019.2 版本中提供的設計示例編寫的。
硬件 (Vivado 2019.2) 設計示例
要生成應用設計示例的硬件部分 (Vivado Design),請遵循 (PG278) 的第 5 章中的步驟進行操作。此處設計示例可用于 KC705、ZCU102、ZCU104 和 ZCU106 評估板。即使您沒有上述任意評估板,我也建議從設計示例開始實踐。這始終都是最佳的起點。
注意:要利用 Vivado WebPack 許可證生成設計示例,請使用 ZCU104 評估板作為起點開始操作。
設計示例分為兩種。一種用于 Video Frame Buffer Read IP,另一種用于 Video Frame Buffer Write IP。
我建議使用面向 Video Frame Buffer Write IP 的設計示例,因為 Video Frame Buffer Write IP 和 Video Frame Buffer Read IP 都囊括在其中。
Video Frame Buffer Write IP 設計示例的硬件設計屬于非?;A性的設計。
它使用 Video Frame Buffer Read IP 將數(shù)據(jù)從存儲器讀取到 AXI4-Stream 接口。
隨后,將其轉換為本地視頻,然后再使用 AXI4-Stream to Video Out IP 和 Video in to AXI4-Stream IP 重新轉換為 AXI4-Stream。
最后使用 Video Frame Buffer Write IP 將 AXI4-Stream 數(shù)據(jù)重新寫入存儲器。
我認為對于此設計,有兩個值得注意的要點:
1. 上述兩個 Video Frame Buffer IP(Read 和 Write)各自的中斷輸出都連接到處理器。這是前提條件。Video Frame Buffer 是基于中斷的 IP。
2. 而這兩個 Video Frame Buffer IP 的復位輸入則連接至 AXI GPIO IP。這一點至關重要,因為它支持您從處理器執(zhí)行 IP 軟復位。就像所有 HLS IP 一樣,只要分辨率改變,就需要將 Video Frame Buffer 復位。
應用示例 (Vitis 2019.2)
要生成應用示例,在 Vivado 中,首先將硬件導出至賽靈思 Vitis(依次單擊 File > Export > Export Hardware …)。
確保在導出的硬件中包含比特流。這將創(chuàng)建一個 XSA 文件。
啟動賽靈思 Vitis 并選擇要用作為工作空間的目錄。
在 Vitis 中,單擊 New > Platform project。
輸入您所選的平臺名稱(例如,v_frmbuf_zcu104_pfm),然后單擊 Next。
確保選中 Create from hardware specification (XSA),然后單擊 Next。
選擇從 Vivado 導出的 XSA 文件,確保已選中 A53 處理器,然后單擊 Finish。
創(chuàng)建平臺后,單擊 psu_cortexa53_0 > standalone on psu_cortexa53_0 下的 Board Support Package,然后展開 Peripheral Drivers 部分。
在 Peripheral Drivers 下,查找對應于 Video Frame Buffer Write (v_frmbuf_wr) 的行,然后單擊 Import Examples。
選擇示例 (xv_frmbufwr_example),然后單擊 OK。
運行應用示例
注意:以下步驟假定評估板已上電并且已通過 UART 連接,BOOT 模式開關已設置為 JTAG 模式和 JTAG,并且已打開 UART 終端(如 Tera Term)供正確的 COM 端口使用。
單擊應用并單擊錘子圖標以構建應用:
要在硬件上啟動應用示例,請右鍵單擊設計應用示例,并單擊 Run As > Run Configurations…
在 Create, manage, and run configurations 窗口中,右鍵單擊 Single Application Debug,然后單擊 New Configuration。
在 UART 終端中,可以看到此應用正在嘗試不同的視頻分辨率和色彩空間組合。
在應用運行結束時,可能會顯示部分測試失敗的原因(主要原因是硬件配置不支持)。
色彩空間和視頻分辨率在應用中以 ColorFormats 和 TestModes 結構來定義。
編輯:hfy
-
存儲器
+關注
關注
38文章
7637瀏覽量
166456 -
賽靈思
+關注
關注
33文章
1795瀏覽量
132132 -
Video
+關注
關注
0文章
196瀏覽量
45743 -
Vitis
+關注
關注
0文章
147瀏覽量
7836
發(fā)布評論請先 登錄
漫畫圖解 電感器 抗干擾元器件指南(全彩PDF版)
AN65974示例如何鏈接fifo_slave_block 和 video_out的IP塊?
AI端側部署案例(SC171開發(fā)套件V3)
從單片機初學者邁向單片機工程師
linux初學者,用這樣的開發(fā)板合適嗎?
一文詳解Video In to AXI4-Stream IP核

12V開關電源制作_適合初學者制作的TOP22X系列開關電源
51單片機經(jīng)典入門教程(非常棒的教程)
CAN通信協(xié)議——中文版
單片機C語言編程寶典大全,初學必備【強推下載!】
Redis實戰(zhàn)筆記

EE-269:以太網(wǎng)802.3初學者指南

評論