国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放

這篇具有很好參考價值的文章主要介紹了Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、前言

沒玩過圖像縮放都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。

目前市面上主流的FPGA圖像縮放方案如下:1:Xilinx的HLS方案,該方案簡單,易于實現(xiàn),但只能用于Xilinx自家的FPGA;2:非純Verilog方案,大部分代碼使用Verilog實現(xiàn),但中間的fifo或ram等使用了IP,導(dǎo)致移植性變差,難以在Xilinx、Altera和國產(chǎn)FPGA之間自由移植;3:純Verilog方案;

本文使用Xilinx Zynq7000系列FPGA Zynq7020實現(xiàn)Video Processing Subsystem圖像縮放,輸入視頻源采用OV5640攝像頭模組;FPGA采集OV5640攝像頭視頻DVP轉(zhuǎn)RGB888,調(diào)用Zynq軟核的片內(nèi)i2c控制器將OV5640配置為1280x720@30Hz分辨率;然后調(diào)用Xilinx官方的Video In to AXI4-Stream IP核將RGB視頻流轉(zhuǎn)換為AXI4-Stream視頻流;然后調(diào)用Xilinx官方的Video Processing Subsystem IP核將輸入視頻進行任意尺寸圖像縮放操作,該操作通過Zynq軟核SDK軟件配置,其本質(zhì)為通過AXI_Lite 做寄存器配置;然后調(diào)用Xilinx官方的VDMA IP將視頻做PS側(cè)DDR3的視頻緩存操作,調(diào)用Zynq將VDMA配置為三幀緩存,其本質(zhì)為通過AXI_Lite 做寄存器配置;然后調(diào)用Xilinx官方的Video Timing Controller IP和AXI4-Stream to Video Out IP將AXI4-Stream視頻流轉(zhuǎn)換為RGB視頻流;然后添加自定義的HDMI發(fā)送IP將RGB視頻轉(zhuǎn)換為TMDS的差分視頻送顯示器顯示;提供一套vivado2019.1版本的工程源碼和技術(shù)支持;

本博客詳細(xì)描述了Zynq-7000系列FPGA使用 Video Processing Subsystem 實現(xiàn)圖像縮放的設(shè)計方案,工程代碼可綜合編譯上板調(diào)試,可直接項目移植,適用于在校學(xué)生、研究生項目開發(fā),也適用于在職工程師做學(xué)習(xí)提升,可應(yīng)用于醫(yī)療、軍工等行業(yè)的高速接口或圖像處理領(lǐng)域;整個工程調(diào)用Zynq軟核做IP的配置,Zynq的配置在SDK里以C語言軟件代碼的形式運行,所以整個工程包括FPGA邏輯設(shè)計和SDK軟件設(shè)計兩部分,需要具備FPGA和嵌入式C語言的綜合能力,不適合初學(xué)者或者小白;

2、相關(guān)方案推薦

FPGA圖像處理方案

我的主頁目前有FPGA圖像處理專欄,改專欄收錄了我目前手里已有的FPGA圖像處理方案,包括圖像縮放、圖像識別、圖像拼接、圖像融合、圖像去霧、圖像疊加、圖像旋轉(zhuǎn)、圖像增強、圖像字符疊加等等;以下是專欄地址:點擊直接前往

FPGA圖像縮放方案

我的主頁目前有FPGA圖像縮放專欄,改專欄收錄了我目前手里已有的FPGA圖像縮放方案,從實現(xiàn)方式分類有基于HSL實現(xiàn)的圖像縮放、基于純verilog代碼實現(xiàn)的圖像縮放;從應(yīng)用上分為單路視頻圖像縮放、多路視頻圖像縮放、多路視頻圖像縮放拼接;從輸入視頻分類可分為OV5640攝像頭視頻縮放、SDI視頻縮放、MIPI視頻縮放等等;以下是專欄地址:點擊直接前往

HLS圖像縮放方案

之前寫過一篇自己寫的HLS圖像縮放的博客,該方案與官方的Video Processing Subsystem區(qū)別在于手寫的看得到;以下是博客地址:點擊直接前往

3、設(shè)計思路詳解

本文使用Xilinx Zynq7000系列FPGA Zynq7020實現(xiàn)Video Processing Subsystem圖像縮放,輸入視頻源采用OV5640攝像頭模組;FPGA采集OV5640攝像頭視頻DVP轉(zhuǎn)RGB888,調(diào)用Zynq軟核的片內(nèi)i2c控制器將OV5640配置為1280x720@30Hz分辨率;然后調(diào)用Xilinx官方的Video In to AXI4-Stream IP核將RGB視頻流轉(zhuǎn)換為AXI4-Stream視頻流;然后調(diào)用Xilinx官方的Video Processing Subsystem IP核將輸入視頻進行任意尺寸圖像縮放操作,該操作通過Zynq軟核SDK軟件配置,其本質(zhì)為通過AXI_Lite 做寄存器配置;然后調(diào)用Xilinx官方的VDMA IP將視頻做PS側(cè)DDR3的視頻緩存操作,調(diào)用Zynq將VDMA配置為三幀緩存,其本質(zhì)為通過AXI_Lite 做寄存器配置;然后調(diào)用Xilinx官方的Video Timing Controller IP和AXI4-Stream to Video Out IP將AXI4-Stream視頻流轉(zhuǎn)換為RGB視頻流;然后添加自定義的HDMI發(fā)送IP將RGB視頻轉(zhuǎn)換為TMDS的差分視頻送顯示器顯示;提供一套vivado2019.1版本的工程源碼和技術(shù)支持;工程源碼設(shè)計框圖如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

框圖解釋:箭頭表示數(shù)據(jù)流向,箭頭內(nèi)文字表示數(shù)據(jù)格式,箭頭外數(shù)字表示數(shù)據(jù)柳巷的步驟;

Video Processing Subsystem 介紹

由于工程所用到的IP都是常用IP,所以這里重點介紹一下Video Processing Subsystem;Video Processing Subsystem有縮放、去隔行、顏色空間轉(zhuǎn)換等功能,這里僅使用圖像縮放功能;其特點如下:適用于Xilinx所有系列的FPGA器件;支持最大分辨率:8K,即可以處理高達8K的視頻;輸入視頻格式:AXI4-Stream;輸出視頻格式:AXI4-Stream;需要SDK軟件配置,其本質(zhì)為通過AXI_Lite 做寄存器配置;提供自定義的配置API,通過調(diào)用該庫函數(shù)即可輕松使用,具體參考SDK代碼;模塊占用的FPGA邏輯資源更小,相比于自己寫的HLS圖像縮放而言,官方的Video Processing Subsystem資源占用大約減小30%左右,且更高效:Video Processing Subsystem邏輯資源如下,請謹(jǐn)慎評估你的FPGA資源情況;

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

Video Processing Subsystem IP配置如下:這里配置為雙線性插值圖像縮放算法;

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

4、工程代碼詳解

PL 端 FPGA 邏輯設(shè)計

開發(fā)板FPGA型號:Xilinx--Zynq7020--xc7z020clg400-2;開發(fā)環(huán)境:Vivado2019.1;輸入:OV5640攝像頭,分辨率1280x720p;輸出:HDMI,1080P分辨率下的有效區(qū)域顯示;工程作用:Zynq-7000系列FPGA使用Video Processing Subsystem實現(xiàn)圖像縮放, HDMI 輸出;工程BD如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

工程代碼架構(gòu)如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

工程的資源消耗和功耗如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

PS 端 SDK 軟件設(shè)計

PS 端 SDK 軟件工程代碼架構(gòu)如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

主函數(shù)通過如下的五個宏定義設(shè)計了五種不同的圖像縮放方案:ov5640輸入分辨率1280x720,HDMI輸出分辨率1280x720;ov5640輸入分辨率1280x720,HDMI輸出分辨率640x480;ov5640輸入分辨率1280x720,HDMI輸出分辨率300x300;ov5640輸入分辨率1280x720,HDMI輸出分辨率1600x800;ov5640輸入分辨率1280x720,HDMI輸出分辨率1920x1080;

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

主函數(shù)進行相應(yīng)的圖像縮放操作,并打印相關(guān)信息,代碼如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

5、工程移植說明

vivado版本不一致處理

1:如果你的vivado版本與本工程vivado版本一致,則直接打開工程;

2:如果你的vivado版本低于本工程vivado版本,則需要打開工程后,點擊文件-->另存為;但此方法并不保險,最保險的方法是將你的vivado版本升級到本工程vivado的版本或者更高版本;

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

3:如果你的vivado版本高于本工程vivado版本,解決如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

打開工程后會發(fā)現(xiàn)IP都被鎖住了,如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

此時需要升級IP,操作如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

FPGA型號不一致處理

如果你的FPGA型號與我的不一致,則需要更改FPGA型號,操作如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

更改FPGA型號后還需要升級IP,升級IP的方法前面已經(jīng)講述了;

其他注意事項

1:由于每個板子的DDR不一定完全一樣,所以MIG IP需要根據(jù)你自己的原理圖進行配置,甚至可以直接刪掉我這里原工程的MIG并重新添加IP,重新配置;2:根據(jù)你自己的原理圖修改引腳約束,在xdc文件中修改即可;3:純FPGA移植到Zynq需要在工程中添加zynq軟核;

6、上板調(diào)試驗證并演示

準(zhǔn)備工作

Zynq7000系列開發(fā)板;OV5640攝像頭;HDMI顯示器或者LCD顯示屏,我用到的LCD顯示屏為4.3寸分辨率800x480;

輸出靜態(tài)演示

ov5640輸入分辨率1280x720,HDMI輸出分辨率1280x720;HDMI顯示輸出和串口打印分別如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

ov5640輸入分辨率1280x720,HDMI輸出分辨率640x480;HDMI顯示輸出和串口打印分別如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

ov5640輸入分辨率1280x720,HDMI輸出分辨率300x300;HDMI顯示輸出和串口打印分別如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

ov5640輸入分辨率1280x720,HDMI輸出分辨率1600x800;HDMI顯示輸出和串口打印分別如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)

ov5640輸入分辨率1280x720,HDMI輸出分辨率1920x1080;HDMI顯示輸出和串口打印分別如下:

Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放,fpga開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-793346.html

到了這里,關(guān)于Zynq7020 使用 Video Processing Subsystem 實現(xiàn)圖像縮放的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Xilinx Zynq-7000系列FPGA任意尺寸圖像縮放,提供兩套工程源碼和技術(shù)支持

    Xilinx Zynq-7000系列FPGA任意尺寸圖像縮放,提供兩套工程源碼和技術(shù)支持

    Xilinx Zynq-7000系列FPGA任意尺寸圖像縮放,提供兩套工程源碼和技術(shù)支持 沒玩過圖像縮放都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。 目前市面上主流的FPGA圖像縮放方案如下: 1:Xilinx的HLS方案,該方案簡單,易于實現(xiàn),但只能用于Xilinx自家

    2024年02月03日
    瀏覽(35)
  • Xilinx Zynq-7000系列FPGA多路視頻處理:圖像縮放+視頻拼接顯示,提供工程源碼和技術(shù)支持

    Xilinx Zynq-7000系列FPGA多路視頻處理:圖像縮放+視頻拼接顯示,提供工程源碼和技術(shù)支持

    Xilinx Zynq-7000系列FPGA多路視頻處理:圖像縮放+視頻拼接顯示,提供工程源碼和技術(shù)支持 沒玩過圖像縮放和視頻拼接都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。本文使用Xilinx Zynq7000系列FPGA Zynq7020實現(xiàn)HLS圖像縮放+視頻拼接,輸入視頻源采用

    2024年02月04日
    瀏覽(107)
  • ZYNQ AC7020C的“點LED”實驗

    ZYNQ AC7020C的“點LED”實驗

    一、創(chuàng)建 Vivado 工程 1、啟動 Vivado 2、在 Vivado 開發(fā)環(huán)境里點擊“Create New Project”,創(chuàng)建一個新的工程 3、彈出一個建立新工程的向?qū)?,點擊“Next” 4、在彈出的對話框中輸入工程名和工程存放的目錄。需要注意工程路徑“Project location”不能有中文、空格,路徑名稱也不能太長

    2024年02月20日
    瀏覽(22)
  • Alinx ZYNQ 7020 LED調(diào)試--in RAM

    Alinx ZYNQ 7020 LED調(diào)試--in RAM

    設(shè)置撥碼開關(guān)為JTAG方式 燒寫LED bit stream a. 點擊“Program device”燒錄程序到FPGA中(重新上電程序就丟失了) b. /01_led/led.runs/impl_1/led.bit 程序燒錄到Flash中 ZYNQ與以往的直接燒錄Flash不同,首先必須PS,然后燒錄PL,參考這個實例。

    2024年01月18日
    瀏覽(13)
  • AD9361+zedboard(ZYNQ7020)的SDK工程(上)

    AD9361+zedboard(ZYNQ7020)的SDK工程(上)

    1.準(zhǔn)備工具 vivado2018.3 HDL源碼:https://wiki.analog.com/resources/fpga/docs/releases no_os:https://github.com/analogdevicesinc/no-OS 注意:HDL源碼下載的版本要與vivado一致,我這里是2018.3 HDL版本選擇 2.構(gòu)建vivado工程 2.1編譯源文件 解壓下載的HDL文件的壓縮包 進入該文件夾C:AD9361hdl-hdl_2019_r1project

    2024年02月13日
    瀏覽(27)
  • FPGA解碼MIPI視頻:Xilinx Zynq7000中端FPGA,基于MIPI CSI-2 RX Subsystem架構(gòu)實現(xiàn),提供工程源碼和技術(shù)支持

    FPGA解碼MIPI視頻:Xilinx Zynq7000中端FPGA,基于MIPI CSI-2 RX Subsystem架構(gòu)實現(xiàn),提供工程源碼和技術(shù)支持

    FPGA解碼MIPI視頻:Xilinx Zynq7000高端FPGA,基于MIPI CSI-2 RX Subsystem架構(gòu)實現(xiàn),提供工程源碼和技術(shù)支持 FPGA圖像采集領(lǐng)域目前協(xié)議最復(fù)雜、技術(shù)難度最高的應(yīng)該就是MIPI協(xié)議了,MIPI解碼難度之高,令無數(shù)英雄競折腰,以至于Xilinx官方不得不推出專用的IP核供開發(fā)者使用,不然太高端

    2024年02月22日
    瀏覽(37)
  • ZYNQ 7020 之 FPGA知識點重塑筆記一——串口通信

    ZYNQ 7020 之 FPGA知識點重塑筆記一——串口通信

    目錄 一:串口通信簡介 二:三種常見的數(shù)據(jù)通信方式—RS232串口通信 2.1 實驗任務(wù) 2.2 串口接收模塊的設(shè)計 2.2.1 代碼設(shè)計 2.3?串口發(fā)送模塊的設(shè)計 2.3.1 代碼設(shè)計 2.4 頂層模塊編寫 2.4.1 代碼設(shè)計 2.4.2?仿真驗證代碼 2.4.3 仿真結(jié)果 2.4.4 板上驗證 ?????? 通信方式一般分為 串行

    2024年02月03日
    瀏覽(22)
  • petalinux-2021.1在zynq7020的flash上啟動linux

    petalinux-2021.1在zynq7020的flash上啟動linux

    一、 前言 在電腦上安裝虛擬機或者找一個電腦安裝linux,用于編譯petalinux工程; 安裝與vivado對應(yīng)的petalinux-tool; 版本信息: 1)linux:ubuntu16.04.06; 2)vivado:v2021.1; 3)petalinux:v2021.1; 4)petalinux工程參考bsp:xilinx-zc702-v2021.1-final.bsp; vivado可以在linux中,也可在windows中; 離

    2024年02月07日
    瀏覽(150)
  • 【進口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    【進口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    667 MHz雙核CPU,512 MB DRAM,1 GB存儲容量,Zynq-7020 FPGA,更寬工作溫度范圍,8槽CompactRIO控制器 cRIO-9068是一款堅固耐用的無風(fēng)扇嵌入式控制器,可用于高級控制和監(jiān)測應(yīng)用。這款軟件設(shè)計控制器搭載FPGA、運行NI Linux Real-Time操作系統(tǒng)的實時處理器以及嵌入式用戶界面功能。cRIO-906

    2024年01月25日
    瀏覽(39)
  • 【ALINX】FPGA ZYNQ視頻教程AX7020教程—02_Vivoda初體驗LED燈工程

    【ALINX】FPGA ZYNQ視頻教程AX7020教程—02_Vivoda初體驗LED燈工程

    【ALINX】FPGA ZYNQ視頻教程——AX7010/AX7020教程——FPGA實驗篇 File=New Project 工程文件命名:不能出現(xiàn)中文、空格等非法字符 選擇芯片型號: 視頻定位鏈接 03:45 AX7020開發(fā)板速度選擇“ -2 ”;型號選擇“ xc7Z020clg400-2 ” ** Vivado窗口介紹 視頻定位鏈接05:44 視頻定位鏈接 08:43 1.選擇點

    2024年02月06日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包