本文將介紹如何創(chuàng)建一個支持HDMI輸入到輸出的圖像處理平臺。這可以用作基于HLS的圖像處理演示的基礎(chǔ)。
概述
該項目將演示如何基于XilinxZynq創(chuàng)建一個簡單的圖像處理平臺。然后,該項目將用作后續(xù)開發(fā)的基礎(chǔ),這些開發(fā)側(cè)重于基于高級綜合的開發(fā),允許使用行業(yè)標準OpenCV庫。
為了創(chuàng)建這個示例,我使用ZyboZ7,因為它提供HDMI輸入和輸出,以及用于MIPI相機的CSI-2接口,我們也可以將其用于未來的開發(fā)。
除了Zybo-Z7,我們還將使用:
HDMI攝像頭,例如Apeman1080P運動攝像頭
HDMI輸入和輸出端口的相關(guān)電纜
HDMI顯示
為了創(chuàng)建應用程序,我們將使用以下開發(fā)工具和庫:
維瓦多2017.4
DigilentVivado庫
要創(chuàng)建此示例,我們需要執(zhí)行以下準備步驟:
將DigilentVivado庫下載并解壓到您的計算機
安裝DigilentBoard定義,如果您不確定如何執(zhí)行此操作,請單擊此處
創(chuàng)建一個針對Zybo-Z7的新Vivado項目
在Vivado中創(chuàng)建新的框圖
構(gòu)成
在Vivado框圖中,我們需要添加以下IP:
Zynq處理系統(tǒng)-這將提供圖像處理系統(tǒng)的配置和控制,同時它的DDR也用作幀緩沖區(qū)以確保以下配置
PL時鐘0=200MHz
PL時鐘1=100MHz
HP0Slaveenabled-這將用于將圖像傳輸?shù)絇SDDR或從PSDDR傳輸圖像
GP0Masterenabled-用于配置圖像處理鏈
DVI2RGB-這將HDMI視頻流轉(zhuǎn)換為具有適當垂直和水平同步的24位RGB總線。
AXIGPIO-用于斷言HDMI源上的熱插拔檢測的單個輸出,未能斷言這可能意味著沒有接收到視頻。
視頻定時控制器-配置為檢測,這將檢測從HDMI源接收的視頻的模式。
視頻輸入到AXIS-這會將并行視頻和同步轉(zhuǎn)換為AXI流。與TDATA上的圖像數(shù)據(jù)一起,幀的開始由TUser信號標識,而行尾由TLast信號標識。
將此配置為具有獨立時鐘,以便像素時鐘和AXI流時鐘不同。
AXIS子集轉(zhuǎn)換器-此組件將24位視頻輸出的格式重新映射為正確的RGB格式。其中兩個在VDMA之前和之后使用。
視頻直接內(nèi)存-寫入通道將AXI流視頻移動到AXI內(nèi)存映射形式,以便存儲在PSDDR內(nèi)存中。而讀取通道訪問PSDDR并將AXI內(nèi)存映射格式轉(zhuǎn)換為AXI流以供輸出。確保啟用兩個方向。
視頻時序控制器-配置為時序源,配置所需的時序取決于輸入視頻時序。這被AXIS用于視頻輸出以生成輸出并行視頻和同步
RGB2DVI-這將輸出并行視頻和垂直和水平同步轉(zhuǎn)換為HDMI
為了支持動態(tài)配置輸出時鐘,使用了DigilentVivado庫中的動態(tài)時鐘發(fā)生器。這允許使用AXIlite根據(jù)接收到的視頻格式來改變像素時鐘頻率。
Vivado項目
將所有這些放在一起可以創(chuàng)建一個Vivado項目,如下所示。
然后可以構(gòu)建Vivado項目并將其導出到XilinxSDK以使我們能夠創(chuàng)建應用軟件。
在XilinxSDK中,我們需要編寫我們的軟件應用程序來執(zhí)行以下操作:
斷言連接到HDMIIN熱插拔檢測的GPIO-斷言此信號后,處理器等待5秒以確保HDMI源生成視頻。
配置視頻定時控制器(檢測器)以報告?zhèn)魅胍曨l模式。
配置視頻時序控制器(生成器)以根據(jù)檢測視頻模式生成時序。
配置動態(tài)時鐘
將VDMA配置為從PSDDR讀取和寫入數(shù)據(jù)
運行應用程序SW應該可以讓您看到所選HDMI源上的圖像。
實物
總而言之,這個項目為我們提供了一個想法平臺,我們可以在未來使用它來展示我們基于HLS圖像處理的應用程序。
-
HDMI
+關(guān)注
關(guān)注
32文章
1643瀏覽量
151555 -
圖像處理
+關(guān)注
關(guān)注
27文章
1275瀏覽量
56577 -
HLS
+關(guān)注
關(guān)注
1文章
128瀏覽量
23993
發(fā)布評論請先 登錄
相關(guān)推薦
評論