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

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

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

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

454398 ? 來源:Xilinx工程師 ? 作者:Xilinx工程師 ? 2020-11-16 15:23 ? 次閱讀

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 呢?

答案就記錄在(賽靈思答復(fù)記錄 72543)中。究其本質(zhì),AXI VDMA IP 從 AXI4-Stream 接口提取字節(jié),并直接將其移植到存儲器中,無關(guān)乎視頻數(shù)據(jù)格式。

Video Frame Buffer 必須關(guān)注傳入傳出存儲器的數(shù)據(jù)格式。根據(jù)所選格式,它能以不同方式將數(shù)據(jù)存儲在存儲器中。這對于 Linux 應(yīng)用非常實用。

比如,V4L2 格式 YUYVUYVY 都表示 YUV4:2:2 8 位,唯一差別就在于兩者在存儲器中的存儲方式。

因此,建議針對新設(shè)計采用 Video Frame Buffer IP。

如需了解有關(guān) Video Frame Buffer Read/Write IP 的詳情,請參閱 (PG278)。

為 Video Frame Buffer IP 生成設(shè)計示例

注意:下文是基于 2019.2 版本中提供的設(shè)計示例編寫的。

硬件 (Vivado 2019.2) 設(shè)計示例

要生成應(yīng)用設(shè)計示例的硬件部分 (Vivado Design),請遵循 (PG278) 的第 5 章中的步驟進行操作。此處設(shè)計示例可用于 KC705、ZCU102、ZCU104 和 ZCU106 評估板。即使您沒有上述任意評估板,我也建議從設(shè)計示例開始實踐。這始終都是最佳的起點。

注意:要利用 Vivado WebPack 許可證生成設(shè)計示例,請使用 ZCU104 評估板作為起點開始操作。

設(shè)計示例分為兩種。一種用于 Video Frame Buffer Read IP,另一種用于 Video Frame Buffer Write IP。

我建議使用面向 Video Frame Buffer Write IP 的設(shè)計示例,因為 Video Frame Buffer Write IP 和 Video Frame Buffer Read IP 都囊括在其中。

Video Frame Buffer Write IP 設(shè)計示例的硬件設(shè)計屬于非?;A(chǔ)性的設(shè)計。

它使用 Video Frame Buffer Read IP 將數(shù)據(jù)從存儲器讀取到 AXI4-Stream 接口。

隨后,將其轉(zhuǎn)換為本地視頻,然后再使用 AXI4-Stream to Video Out IP 和 Video in to AXI4-Stream IP 重新轉(zhuǎn)換為 AXI4-Stream。

最后使用 Video Frame Buffer Write IP 將 AXI4-Stream 數(shù)據(jù)重新寫入存儲器。


我認為對于此設(shè)計,有兩個值得注意的要點:

1. 上述兩個 Video Frame Buffer IP(Read 和 Write)各自的中斷輸出都連接到處理器。這是前提條件。Video Frame Buffer 是基于中斷的 IP。


2. 而這兩個 Video Frame Buffer IP 的復(fù)位輸入則連接至 AXI GPIO IP。這一點至關(guān)重要,因為它支持您從處理器執(zhí)行 IP 軟復(fù)位。就像所有 HLS IP 一樣,只要分辨率改變,就需要將 Video Frame Buffer 復(fù)位。

應(yīng)用示例 (Vitis 2019.2)

要生成應(yīng)用示例,在 Vivado 中,首先將硬件導(dǎo)出至賽靈思 Vitis(依次單擊 File > Export > Export Hardware …)。

確保在導(dǎo)出的硬件中包含比特流。這將創(chuàng)建一個 XSA 文件。


啟動賽靈思 Vitis 并選擇要用作為工作空間的目錄。

在 Vitis 中,單擊 New > Platform project。


輸入您所選的平臺名稱(例如,v_frmbuf_zcu104_pfm),然后單擊 Next。


確保選中 Create from hardware specification (XSA),然后單擊 Next。


選擇從 Vivado 導(dǎo)出的 XSA 文件,確保已選中 A53 處理器,然后單擊 Finish。


創(chuàng)建平臺后,單擊 psu_cortexa53_0 > standalone on psu_cortexa53_0 下的 Board Support Package,然后展開 Peripheral Drivers 部分。


在 Peripheral Drivers 下,查找對應(yīng)于 Video Frame Buffer Write (v_frmbuf_wr) 的行,然后單擊 Import Examples。


選擇示例 (xv_frmbufwr_example),然后單擊 OK。


運行應(yīng)用示例

注意:以下步驟假定評估板已上電并且已通過 UART 連接,BOOT 模式開關(guān)已設(shè)置為 JTAG 模式和 JTAG,并且已打開 UART 終端(如 Tera Term)供正確的 COM 端口使用。

單擊應(yīng)用并單擊錘子圖標(biāo)以構(gòu)建應(yīng)用:


要在硬件上啟動應(yīng)用示例,請右鍵單擊設(shè)計應(yīng)用示例,并單擊 Run As > Run Configurations…


在 Create, manage, and run configurations 窗口中,右鍵單擊 Single Application Debug,然后單擊 New Configuration。


在配置窗口的 Target Setup 選項卡中,確保已啟用 psu_init(如果在 ZCU102、ZCU104 或 ZCU106 評估板上運行)和 Program FPGA,然后單擊 Run。


在 UART 終端中,可以看到此應(yīng)用正在嘗試不同的視頻分辨率和色彩空間組合。


在應(yīng)用運行結(jié)束時,可能會顯示部分測試失敗的原因(主要原因是硬件配置不支持)。


色彩空間和視頻分辨率在應(yīng)用中以 ColorFormats 和 TestModes 結(jié)構(gòu)來定義。


編輯:hfy


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

    關(guān)注

    38

    文章

    7408

    瀏覽量

    163416
  • 賽靈思
    +關(guān)注

    關(guān)注

    32

    文章

    1794

    瀏覽量

    131085
  • Video
    +關(guān)注

    關(guān)注

    0

    文章

    195

    瀏覽量

    45123
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

    7361
收藏 人收藏

    評論

    相關(guān)推薦

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦?

    我用的是multisim14.0,因為是初學(xué)者,仿真電路的時候找不到合適的模型,應(yīng)該怎么辦? 比如我電路用的是AO3400的NMOS,但是在multisim14.0軟件自帶的元件庫里面沒找到類似的,開啟電壓是1.5v的nmos,請教大家,應(yīng)該怎么辦?
    發(fā)表于 08-23 10:59

    適合初學(xué)者的嵌入式項目有哪些?

    適合初學(xué)者的嵌入式項目有哪些? 嵌入式學(xué)習(xí)是一個實踐性很強的領(lǐng)域,通過實際項目可以幫助你鞏固理論知識并提升技能。以下是幾個適合初學(xué)者練手的嵌入式項目,每個項目都涵蓋了從硬件到軟件的不同層面
    發(fā)表于 07-11 10:23

    基于STM32的智能循跡小車

    初學(xué)者的智能小車
    的頭像 發(fā)表于 05-08 14:43 ?2801次閱讀
    基于STM32的智能循跡小車

    國內(nèi)哪家的FPGA適合初學(xué)者

    如題,想著手學(xué)習(xí)FPGA的話,國內(nèi)哪家的比較好,更適合初學(xué)者學(xué)習(xí)?這方面的經(jīng)驗,是一點都沒。
    發(fā)表于 04-14 19:17

    FX3 an75779判斷一幀結(jié)束的條件是什么?

    full buffer indicates there is more data to go in this video frame. */ CyFxUVCAddHeader
    發(fā)表于 02-27 07:58

    初學(xué)者請問各位大佬

    為什么在89C51單片機中R1可以提供低地址 在外部擴展RAM中不是P0口提供低8位地址P2口提供高8位地址嗎初學(xué)者有些不理解望各位大佬解答一下謝謝
    發(fā)表于 02-23 16:39

    詳解微電子器件的宏原型

    微觀世界,會更有利于對微觀世界的理解和把握。因此,初學(xué)者在學(xué)習(xí)模擬器件工作運行規(guī)律時,可找個熟悉的宏觀模型去類比,更好理解其工作運行規(guī)律,更好的去設(shè)計電路,分析解決電路的問題所在。
    的頭像 發(fā)表于 01-04 15:48 ?966次閱讀
    詳解微電子器件的宏原型

    請問初學(xué)者要怎么快速掌握FPGA的學(xué)習(xí)方法?

    對于初學(xué)者 FPGA的編程語言是什么? FPGA芯片的基礎(chǔ)結(jié)構(gòu)也不了解. FPGA開發(fā)工具的名稱和使用方法都不知道. 要學(xué)的很多啊,請問有什么自學(xué)的學(xué)習(xí)方法么?
    發(fā)表于 01-02 23:01

    初學(xué)仿真常見的錯誤

    本推文針對Sentaurus初學(xué)者頻繁遇到的錯誤進行簡單整理,具體是包括Sde、Sdevice仿真常見錯誤。
    的頭像 發(fā)表于 12-03 16:24 ?1836次閱讀
    <b class='flag-5'>初學(xué)</b>仿真常見的錯誤

    FPGA入門怎樣選擇合適的板子?

    市面上FPGA芯片占有率較高的是xilinx,其次是altera,這兩家市場占有率之和達到百分之八十以上, 具體選擇哪家廠商的芯片入門呢?這兩家的開發(fā)環(huán)境也有所不同,哪家的或者說是具體的哪款開發(fā)板適合初學(xué)者由淺入深得學(xué)習(xí)FPGA開發(fā)呢?
    發(fā)表于 11-17 16:42

    面向CAN總線初學(xué)者的教程分享

    CAN是Controller Area Network的縮寫(以下稱為CAN),是IsO*“國際標(biāo)準(zhǔn)化的串行通信協(xié)議。 在當(dāng)前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之問通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。
    發(fā)表于 11-15 09:21 ?293次閱讀
    面向CAN總線<b class='flag-5'>初學(xué)者</b>的教程分享

    分享給嵌入式初學(xué)者

    電子發(fā)燒友網(wǎng)站提供《分享給嵌入式初學(xué)者.doc》資料免費下載
    發(fā)表于 11-08 10:46 ?0次下載
    分享給嵌入式<b class='flag-5'>初學(xué)者</b>

    入門到精通:學(xué)PLC之路詳解(附各種圖例)

    學(xué)習(xí)PLC的入門學(xué)習(xí)資料,適合剛接觸PLC系統(tǒng)的初學(xué)者學(xué)習(xí)使用
    發(fā)表于 10-31 14:55 ?25次下載

    OpenCV初學(xué)者如何提取這些不規(guī)則的ROI區(qū)域

    ,而且這些ROI區(qū)域往往不是矩形區(qū)域,一般都是不規(guī)則的多邊形區(qū)域,很多OpenCV初學(xué)者都不知道如何提取這些不規(guī)則的ROI區(qū)域。
    的頭像 發(fā)表于 10-31 14:51 ?814次閱讀

    哪位大佬能提供一下中科微CSM32RV003單片機開發(fā)系統(tǒng)中g(shù)pio.h文件的中文解釋,及用法

    初學(xué)南京中科微CSM32RV003單片機,對其龐大的h文件庫和C文件庫搞得一頭霧水,即使有高手指點一二,也是很困難,但搞清了h文件庫,C文件也就明白了,這些對入門的人來說算不了什么,但對初學(xué)者來說
    發(fā)表于 10-26 09:47