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

Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持

這篇具有很好參考價值的文章主要介紹了Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。


Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持

1、前言

FPGA圖像采集領(lǐng)域目前協(xié)議最復(fù)雜、技術(shù)難度最高的應(yīng)該就是MIPI協(xié)議了,MIPI解碼難度之高,令無數(shù)英雄競折腰,以至于Xilinx官方不得不推出專用的IP核供開發(fā)者使用,不然太高端的操作直接嚇退一大批FPGA開發(fā)者,就沒人玩兒了。

本設(shè)計(jì)基于Xilinx的Zynq UltraScale+ XCZU5EV 開發(fā)板,采集2路IMX214 攝像頭的4Line MIPI視頻,IMX214 攝像頭引腳接Zynq UltraScale+ XCZU5EV 的LVDS BANK,經(jīng)過MC20901芯片將IMX214 的MIPI信號轉(zhuǎn)換為LVDS信號輸出給FPGA,然后CSI2 RX模塊輸出Bayer視頻,再經(jīng)過Bayer轉(zhuǎn)RGB模塊輸出RGB視頻,再經(jīng)伽馬矯正模塊增強(qiáng)圖像質(zhì)量,然后調(diào)用2個Xilinx官方的Video Scaler 做圖像縮放,將輸入的1920x1080視頻縮小到960x1080;然后調(diào)用2個Xilinx官方的VDMA將圖像送入PS端的DDR3中做三幀緩存后讀出;最后通過板載的DP接口將視頻輸出顯示器;

本文詳細(xì)描述了FPGA 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出的設(shè)計(jì)方案,工程代碼編譯通過后上板調(diào)試驗(yàn)證,可直接項(xiàng)目移植,適用于在校學(xué)生做畢業(yè)設(shè)計(jì)、研究生項(xiàng)目開發(fā),也適用于在職工程師做項(xiàng)目開發(fā),可應(yīng)用于醫(yī)療、軍工等行業(yè)的數(shù)字成像和圖像傳輸領(lǐng)域;
提供完整的、跑通的工程源碼和技術(shù)支持;
工程源碼和技術(shù)支持的獲取方式放在了文章末尾,請耐心看到最后;
關(guān)于MIPI協(xié)議,請自行搜索,csdn就有很多大佬講得很詳細(xì),我就不多寫這塊了;

免責(zé)聲明

本工程及其源碼即有自己寫的一部分,也有網(wǎng)絡(luò)公開渠道獲取的一部分(包括CSDN、Xilinx官網(wǎng)、Altera官網(wǎng)等等),若大佬們覺得有所冒犯,請私信批評教育;基于此,本工程及其源碼僅限于讀者或粉絲個人學(xué)習(xí)和研究,禁止用于商業(yè)用途,若由于讀者或粉絲自身原因用于商業(yè)用途所導(dǎo)致的法律問題,與本博客及博主無關(guān),請謹(jǐn)慎使用。。。

2、我這里已有的 MIPI 編解碼方案

我這里目前已有豐富的基于FPGA的MIPI編解碼方案,主要是MIPI解碼的,既有純vhdl實(shí)現(xiàn)的MIPI解碼,也有調(diào)用Xilinx官方IP實(shí)現(xiàn)的MIPI解碼,既有2line的MIPI解碼,也有4line的MIPI解碼,既有4K分辨率的MIPI解碼,也有小到720P分辨率的MIPI解碼,既有基于Xilinx平臺FPGA的MIPI解碼也有基于Altera平臺FPGA的MIPI解碼,還有基于Lattice平臺FPGA的MIPI解碼,后續(xù)還將繼續(xù)推出更過國產(chǎn)FPGA的MIPI解碼方案,畢竟目前國產(chǎn)化方案才是未來主流,后續(xù)也將推出更多MIPI編碼的DSI方案,努力將FPGA的MIPI編解碼方案做成白菜價。。。
基于此,我專門建了一個MIPI編解碼的專欄,并將MIPI編解碼的博客都放到了專欄里整理,對FPGA編解碼MIPI有項(xiàng)目需求或?qū)W習(xí)興趣的兄弟可以去我的專欄看看,專欄地址如下:
點(diǎn)擊直接前往專欄

3、本 MIPI CSI2 模塊性能及其優(yōu)越性

一個字:牛逼,表現(xiàn)如下:
1:純VHDL代碼實(shí)現(xiàn),學(xué)習(xí)性和閱讀性達(dá)到天花板;
2:移植性還可以,只要兼容Xilinx解串源語的FPGA均可移植;
3:算法達(dá)到天花板,標(biāo)準(zhǔn)的CSI2接收協(xié)議實(shí)現(xiàn)解碼;
4:實(shí)用性達(dá)到天花板,采用IMX214 攝像頭作為輸入(主要是便宜),不同于市面上驗(yàn)證性和實(shí)驗(yàn)性的工程,本設(shè)計(jì)直接面向?qū)嵱霉こ?,貼近真實(shí)項(xiàng)目,做類似項(xiàng)目的兄弟可直接拿去用,一個月工資直接拿到手。。。
5:支持高達(dá)1920X1080分辨率的MIPI視頻解碼;
6:時序收斂很到位,考慮到MIPI協(xié)議的復(fù)雜性和時序的高要求,所以沒有采用時序收斂不強(qiáng)的verilog,而是VHDL,雖然閱讀性可能會低一些,但用戶只需要知道用戶接口即可,并不需要去看內(nèi)部的復(fù)雜代碼;
7:使用方便,雖然是VHDL代碼實(shí)現(xiàn),但均已封裝為自定義IP,用戶無需關(guān)心代碼實(shí)現(xiàn)的復(fù)雜邏輯,僅需調(diào)用IP,通過UI界面配置即可使用,當(dāng)然,如果你想看里面的源碼依然可以直接打開觀看;
8:同時采集2路非同源時鐘的MIPI相機(jī),解碼后做2路視頻拼接顯示,高度符合現(xiàn)實(shí)高端項(xiàng)目;
9:Zynq UltraScale+ XCZU5EV 作為主控,很高端;

4、詳細(xì)設(shè)計(jì)方案

設(shè)計(jì)原理框圖

設(shè)計(jì)原理框圖如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

IMX214 攝像頭及其配置

我使用到的IMX214 攝像頭輸出為4 Line MIPI格式,輸出分辨率為1080p@60Hz;輸出 RAW10數(shù)據(jù);Zynq UltraScale+ XCZU5EV 通過調(diào)用IIC配置IMX214 ,這個操作在SDK軟件里完成;

D-PHY 模塊

D-PHY采用硬件方案實(shí)現(xiàn),用MC20901芯片(主要是便宜,性能一般)將IMX214 的MIPI信號轉(zhuǎn)換為LVDS信號輸出給FPGA,原理框圖如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

CSI-2-RX 模塊

關(guān)于MIPI CSI-2-RX,網(wǎng)上介紹原理和概念的文章一大堆,在此不再重復(fù),這里重點(diǎn)介紹用FPGA實(shí)現(xiàn);
我們采用純VHDL代碼實(shí)現(xiàn)MIPI CSI-2-RX功能,為了照顧大家不習(xí)慣閱讀VHDL代碼的習(xí)慣,我們已經(jīng)將改部分代碼封裝成為了自定義IP,用戶無需關(guān)心代碼實(shí)現(xiàn)的復(fù)雜邏輯,僅需調(diào)用IP,通過UI界面配置即可使用,當(dāng)然,如果你想看里面的源碼依然可以直接打開觀看;本MIPI CSI-2-RX只能支持4 line的MIPI視頻,數(shù)據(jù)格式支持RAW10;
本工程中的CSI-2-RX自定義IP調(diào)用如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
MIPI CSI-2-RX純VHDL源碼如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

Bayer轉(zhuǎn)RGB模塊

關(guān)于MIPI Bayer轉(zhuǎn)RGB,網(wǎng)上介紹原理和概念的文章一大堆,在此不再重復(fù),這里重點(diǎn)介紹用FPGA實(shí)現(xiàn);
我們采用純VHDL代碼實(shí)現(xiàn)MIPI Bayer轉(zhuǎn)RGB功能,為了照顧大家不習(xí)慣閱讀VHDL代碼的習(xí)慣,我們已經(jīng)將改部分代碼封裝成為了自定義IP,用戶無需關(guān)心代碼實(shí)現(xiàn)的復(fù)雜邏輯,僅需調(diào)用IP,通過UI界面配置即可使用,當(dāng)然,如果你想看里面的源碼依然可以直接打開觀看;
本工程中的Bayer轉(zhuǎn)RGB自定義IP調(diào)用如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
MIPI Bayer轉(zhuǎn)RGB純VHDL源碼如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

伽馬矯正模塊

關(guān)于MIPI 伽馬矯正,網(wǎng)上介紹原理和概念的文章一大堆,在此不再重復(fù),這里重點(diǎn)介紹用FPGA實(shí)現(xiàn);
我們采用純VHDL代碼實(shí)現(xiàn)MIPI 伽馬矯正功能,為了照顧大家不習(xí)慣閱讀VHDL代碼的習(xí)慣,我們已經(jīng)將改部分代碼封裝成為了自定義IP,用戶無需關(guān)心代碼實(shí)現(xiàn)的復(fù)雜邏輯,僅需調(diào)用IP,通過UI界面配置即可使用,當(dāng)然,如果你想看里面的源碼依然可以直接打開觀看;
本工程中的伽馬矯正自定義IP調(diào)用如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
MIPI 伽馬矯正純VHDL源碼如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

VDMA圖像緩存

調(diào)用2路VDMA,配置為寫模式,只需要將視頻寫入DDR4,這樣設(shè)計(jì)的目的是做2路視頻拼接,2路VDMA寫入圖像的DDR地址不同,可以保證圖像在內(nèi)存中地址不沖突,讀出圖像時僅需在SDK里調(diào)用DP顯示的API庫函數(shù)即可,這既是常規(guī)的設(shè)計(jì)思路,也是減輕HP接口AXI4總線負(fù)載的要求;
配置為只寫模式的VDMA如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

Video Scaler 圖像緩存

調(diào)用2個Xilinx官方的Video Scaler 做圖像縮放,將輸入的1920x1080視頻縮小到960x1080;這樣做的目的是將2路視頻拼接到輸出分辨率為1920x1080的顯示器上去;Video Scaler的縮放操作在SDK中完成,IP如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

DP 輸出

Zynq UltraScale+ XCZU5EV 開發(fā)板板載了一路DP輸出接口,在SDK里直接DP顯示的API庫函數(shù)即可,不過需要注意的是,在建立SDK工程時,DP驅(qū)動名稱主要手動更改,如圖:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

5、vivado工程詳解

PL端FPGA硬件設(shè)計(jì)

開發(fā)板FPGA型號:Xilinx–Zynq UltraScale±-xazu5ev-sfvc784-1-i;
開發(fā)環(huán)境:Vivado2020.2;
輸入:2路IMX214 MIPI 4 Line RAW10;
輸出:HDMI 2分頻拼接顯示,1080P;
應(yīng)用:FPGA 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出;
工程Block Design如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
工程代碼架構(gòu)如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
綜合編譯完成后的FPGA資源消耗和功耗預(yù)估如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

PS端Vitis SDK軟件設(shè)計(jì)

SDK C語言軟件代碼架構(gòu)如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

6、工程移植說明

vivado版本不一致處理

1:如果你的vivado版本與本工程vivado版本一致,則直接打開工程;
2:如果你的vivado版本低于本工程vivado版本,則需要打開工程后,點(diǎn)擊文件–>另存為;但此方法并不保險,最保險的方法是將你的vivado版本升級到本工程vivado的版本或者更高版本;
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
3:如果你的vivado版本高于本工程vivado版本,解決如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
打開工程后會發(fā)現(xiàn)IP都被鎖住了,如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
此時需要升級IP,操作如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

FPGA型號不一致處理

如果你的FPGA型號與我的不一致,則需要更改FPGA型號,操作如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
更改FPGA型號后還需要升級IP,升級IP的方法前面已經(jīng)講述了;

其他注意事項(xiàng)

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

7、上板調(diào)試驗(yàn)證

輸出如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI

8、福利:工程代碼的獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤資料如下:
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI
Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,fpga開發(fā),Zynq,UltraScale+,XCZU5EV,VHDL,IMX214,MIPI文章來源地址http://www.zghlxwxcb.cn/news/detail-727185.html

到了這里,關(guān)于Zynq UltraScale+ XCZU5EV 純VHDL解碼 IMX214 MIPI 視頻,2路視頻拼接輸出,提供vivado工程源碼和技術(shù)支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包