Video Processing SubSystem (VPSS) IP 核簡(jiǎn)介
賽靈思系列 Video Processing Subsystem IP 核是為了便于使用而被封裝到單個(gè) IP 中的一組系列處理 IP。該核是基于 HLS 的 IP。這就是說(shuō)當(dāng)您將 IP 添加到設(shè)計(jì)中后,此核用 C/C++ 編寫,然后在后臺(tái)由 Vivado 轉(zhuǎn)換為 RTL(VHDL/Verilog)。
VPSS IP 支持多種系列處理功能,例如:
- 去交織
- 系列縮放(向上和向下縮放)
- 色彩空間轉(zhuǎn)換
- 幀速率轉(zhuǎn)換
VPSS IP 隨附 Vivado 2018.3 及更高版本免費(fèi)提供。
有關(guān) VPSS IP 的文檔,請(qǐng)參閱《Video Processing Subsystem 產(chǎn)品指南》 (PG231)。
建議 #1:從(硬件)示例設(shè)計(jì)開(kāi)始
本系列條目旨在為任何即將使用 VPSS IP 的用戶提供指導(dǎo)。
正如我先前提到過(guò)的,VPSS IP 基于 HLS 并有多個(gè)核。
這就會(huì)涉及到用戶需要遵循的一些復(fù)雜規(guī)則。操作并不復(fù)雜,但要快速啟動(dòng),最好的方法是參考硬件和軟件設(shè)計(jì)的示例設(shè)計(jì)。
生成硬件 (Vivado) 示例設(shè)計(jì)非常簡(jiǎn)單。
(注意:這些步驟記錄在《Video Processing Subsystem 產(chǎn)品指南》 (PG231) 第 67 頁(yè)的“詳細(xì)示例設(shè)計(jì)”中)
1. 打開(kāi) Vivado(我使用的是 2018.3 版)
2. 為支持的一個(gè)電路板(KC705、ZCU102、ZCU104 或 ZCU106)創(chuàng)建一個(gè)新工程
- 注 1:如果您使用的是 Vivado webpack 版,則只能使用 ZCU104 電路板。
- 注 2:您是否有此電路板并不重要。示例設(shè)計(jì)僅用作參考。您可以重新創(chuàng)建自己的電路板。
3. 創(chuàng)建塊設(shè)計(jì) (BD) 并添加 Video Processing SubSystem IP。保存塊設(shè)計(jì)。
4. 在源窗口中,右鍵單擊 IP 并選擇“Generate Example Design”。
5. 選擇要生成示例設(shè)計(jì)的路徑
注意:生成 VPSS 時(shí)出現(xiàn)的常見(jiàn)問(wèn)題是使用 Windows 操作系統(tǒng)時(shí)的路徑問(wèn)題。如果您使用的是 Windows 主機(jī)操作系統(tǒng),請(qǐng)確保使用最短路徑進(jìn)行示例設(shè)計(jì)(和任何一般項(xiàng)目)。
在 Vivado 設(shè)計(jì)中,最重要的是要看來(lái)自 VPSS 的復(fù)位信號(hào)(該信號(hào)控制上游 (TPG) 和下游 (AXI4S 到系列輸出) IP)。
此信號(hào)主要用于拖延上游 IP 發(fā)送數(shù)據(jù)(直到配置了 VPSS 且做好了接受新數(shù)據(jù)的準(zhǔn)備時(shí))。由于 VPSS 是基于 HLS 的 IP,因此至關(guān)重要的是要確保進(jìn)來(lái)的第一個(gè)數(shù)據(jù)是幀的第一個(gè)像素。
注意:由于此復(fù)位信號(hào),每當(dāng) VPSS IP 中的配置被更改時(shí),可能會(huì)需要重新配置通過(guò)此復(fù)位連接的上游 IP。
此外,值得注意的是,示例設(shè)計(jì)不會(huì)在電路板上輸出系列數(shù)據(jù)。設(shè)計(jì)檢查 VPSS 是否在正常工作的方式是確認(rèn) AXI4-Stream 到系列輸出 IP 已鎖定,這就意味著 VTC 中設(shè)置的分辨率和 VPS S 輸出的像素/行數(shù)相匹配。
注意:系列時(shí)鐘未調(diào)整為系列分辨率,而且固定為 150 MHz。因此,在電路板上輸出系列數(shù)據(jù)將無(wú)法正常工作。但是,這個(gè)時(shí)鐘足以表明 VPSS 足夠快,可以容納每個(gè)時(shí)鐘 1 個(gè)像素 (PPC) 1080p 個(gè)像素的流的配置。
如果需要生成軟件應(yīng)用示例設(shè)計(jì),則需要為 BD 生成 BD 輸出產(chǎn)品(在源窗口中右鍵單擊“BD > generate output products”)并選擇導(dǎo)出到硬件(文件導(dǎo)出硬件)。
注意:如果要在電路板上運(yùn)行設(shè)計(jì),還需要為設(shè)計(jì)生成比特流,并在導(dǎo)出硬件時(shí)檢查“include bitstream”選項(xiàng)。
建議 #2:查看軟件示例應(yīng)用
在編寫自己的應(yīng)用之前,最好先將 VPSS 應(yīng)用示例設(shè)計(jì)作為參考。
要生成此應(yīng)用示例設(shè)計(jì):
1. 打開(kāi) SDK 并將工作空間設(shè)置到示例設(shè)計(jì)的 .sdk 文件夾。
2. 創(chuàng)建新的硬件平臺(tái)規(guī)格:
- “File > New > Other > Xilinx > Hardware Platform Specification”
- 單擊“瀏覽”并選擇從 VPSS Vivado 示例設(shè)計(jì)生成的 .hdf 文件,然后單擊“Finish”。
注意:如果您從 Vivado VPSS 示例工程啟動(dòng) SDK,則不需要此步驟 (2.) (此步驟會(huì)自動(dòng)完成)。
3. 創(chuàng)建一個(gè)新的 BSP:?jiǎn)螕簟癋ile > New > Board Support Package”。保留 BSP 的默認(rèn)設(shè)置,然后單擊“Finish”。
4. 在 BSP 文件夾下,雙擊 system.mss 文件打開(kāi)它(如果尚未打開(kāi)的話)。
6. 在“Examples”窗口中,選擇系列處理器子系統(tǒng)示例(xv_procss_example),然后單擊“OK”。
運(yùn)行應(yīng)用
7. 將 USB 電纜從主機(jī) PC 連接到 USB JTAG 端口。確保安裝了相應(yīng)的器件驅(qū)動(dòng)。
8. 將第二根 USB 電纜從主機(jī) PC 連接到 USB JTAG 端口。確保已安裝 USB UART 驅(qū)動(dòng)。
注意:在 ZCU104 電路板上,UART 和 JTAG 只需要一根 USB 電纜。
9. 將評(píng)估板連接到電源插槽。
10. 打開(kāi)電路板。
11. 使用以下標(biāo)準(zhǔn) COM 端口設(shè)置在主機(jī) PC 上啟動(dòng)終端程序(例如,超級(jí)終端):
- 波特率:115200
- 數(shù)據(jù)比特:8
- 奇偶校驗(yàn):無(wú)
- 停止位:1
- 流量控制:無(wú)
12. 右鍵單擊項(xiàng)目資源管理器中的應(yīng)用,然后選擇“Build Project”。
13. 右鍵單擊應(yīng)用,然后選擇“Run As… > Run Configurations”。
14. 在“Run Configurations”窗口中,右鍵單擊 Xilinx C/C++應(yīng)用(系統(tǒng)調(diào)試器)并選擇“New”。
16. 單擊“Run”對(duì) FPGA 進(jìn)行編程并在電路板上啟動(dòng)應(yīng)用。
示例應(yīng)用將運(yùn)行兩個(gè)用例,并應(yīng)該會(huì)報(bào)告測(cè)試成功。
建議 #3:參閱 API 文檔
預(yù)計(jì)將使用驅(qū)動(dòng) API 對(duì) Video Processing Subsystem IP 進(jìn)行配置和控制(即使在 (PG231) 中為了調(diào)試目的記錄了寄存器映射,也不支持直接訪問(wèn)寄存器)。
通過(guò)查看 API 文檔,確保您熟悉所有可用的 API 并了解其用途。要打開(kāi)文檔,單擊與 system.mss 文件中的 VPSS 相對(duì)應(yīng)的“Documentation”鏈接(在 BSP 下)
建議 #4:使用 VPSS 日志進(jìn)行調(diào)試
示例應(yīng)用中很重要的一行是顯示 UART 中的日志的那一行:
XVprocSs_LogDisplay(VpssPtr);
如果您遇到 VPSS 方面的問(wèn)題,您真的需要使用此功能,因?yàn)樗鼤?huì)讓您清楚地了解到 VPSS 無(wú)法正常工作的原因(配置錯(cuò)誤、系統(tǒng)停止等)
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1630文章
21760瀏覽量
604380 -
usb
+關(guān)注
關(guān)注
60文章
7961瀏覽量
265118 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6856瀏覽量
123447
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論