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

FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持

這篇具有很好參考價(jià)值的文章主要介紹了FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、前言

沒(méi)玩過(guò)UDP協(xié)議棧都不好意思說(shuō)自己玩兒過(guò)FPGA,這是CSDN某大佬說(shuō)過(guò)的一句話(huà),鄙人深信不疑。。。本文使用Xilinx的Artix7 FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn)千兆網(wǎng)UDP視頻傳輸(視頻縮放后再傳輸),視頻源有兩種,分別對(duì)應(yīng)開(kāi)發(fā)者手里有沒(méi)有攝像頭的情況,一種是使用板載的HDMI輸入接口(筆記本電腦輸入模擬HDMI輸入源);另一種是如果你的手里沒(méi)有攝像頭,或者你的開(kāi)發(fā)板沒(méi)HDMI輸入接口,則可使用代碼內(nèi)部生成的動(dòng)態(tài)彩條模擬攝像頭視頻,視頻源的選擇通過(guò)代碼頂層的`define宏定義進(jìn)行,上電默認(rèn)選擇HDMI輸入接口作為視頻輸入源;FPGA采集視頻后,首先使用純verilog實(shí)現(xiàn)的圖像縮放模塊對(duì)視頻進(jìn)行縮小操作,即從輸入的1920x1080分辨率縮小為1280x720,因?yàn)槲覀兊腝T上位機(jī)目前只支持1280x720,所以才需要縮放;使用FDMA將視頻緩存到DDR3中,然后將視頻讀出,根據(jù)與QT上位機(jī)的通信協(xié)議將視頻進(jìn)行UDP數(shù)據(jù)組包,然后使用我們的UDP協(xié)議棧對(duì)視頻進(jìn)行UDP數(shù)據(jù)封裝,再將數(shù)據(jù)送入Tri Mode Ethernet MAC IP,輸出GMII格式數(shù)據(jù)給1G/2.5G Ethernet PCS/PMA or SGMII,1G/2.5G Ethernet PCS/PMA or SGMII在這里充當(dāng)了網(wǎng)絡(luò)變壓器的角色,所以不需要外接例如RTL8211、B50610等PHY,然后UDP視頻通過(guò)開(kāi)發(fā)板板載的SFP光口經(jīng)光模塊轉(zhuǎn)網(wǎng)口通過(guò)網(wǎng)線(xiàn)傳輸給電腦主機(jī),電腦端用我們提供的QT上位機(jī)采集圖像并顯示;提供vivado2019.1版本的FPGA工程源碼和QT上位機(jī)及其源碼;

FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸?shù)脑O(shè)計(jì)方案,工程代碼可綜合編譯上板調(diào)試,可直接項(xiàng)目移植,適用于在校學(xué)生、研究生項(xiàng)目開(kāi)發(fā),也適用于在職工程師做學(xué)習(xí)提升,可應(yīng)用于醫(yī)療、軍工等行業(yè)的高速接口或圖像處理領(lǐng)域;
提供完整的、跑通的工程源碼和技術(shù)支持;
工程源碼和技術(shù)支持的獲取方式放在了文章末尾,請(qǐng)耐心看到最后;

版本更新說(shuō)明

此版本為第2版,根據(jù)讀者的建議,對(duì)第1版工程做了如下改進(jìn)和更新:
1:增加了輸入視頻動(dòng)態(tài)彩條的選擇,有的讀者說(shuō)他手里沒(méi)有OV5640攝像頭,或者攝像頭原理圖和我的不一致,導(dǎo)致在移植過(guò)程中困難很大,基于此,增加了動(dòng)態(tài)彩條,它由FPGA內(nèi)部產(chǎn)生,不需要外接攝像頭就可以使用,使用方法在后文有說(shuō)明,本例程板載的是HDMI輸入接口,沒(méi)有該接口的朋友可以選擇使用動(dòng)態(tài)彩條;
2:優(yōu)化了FDMA,之前的FDMA內(nèi)AXI4的數(shù)據(jù)讀寫(xiě)突發(fā)長(zhǎng)度為256,導(dǎo)致在低端FPGA上帶寬不夠,從而圖像質(zhì)量不佳,基于此,將FDMA內(nèi)AXI4的數(shù)據(jù)讀寫(xiě)突發(fā)長(zhǎng)度改為128;
3:優(yōu)化了UDP協(xié)議棧及其數(shù)據(jù)緩沖FIFO組的代碼,并在博文里增加了這一部分的代碼說(shuō)明;
4:優(yōu)化了整體代碼架構(gòu),使得之前看起來(lái)雜亂無(wú)章的代碼變得清爽簡(jiǎn)潔;

免責(zé)聲明

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

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

UDP視頻傳輸–無(wú)縮放

我這里有與本博客相似的UDP視頻傳輸方案,但他的輸入視頻沒(méi)有進(jìn)行縮放操作,而是直接緩存后送UDP協(xié)議棧輸出,博客鏈接如下:直接點(diǎn)擊前往

FPGA圖像縮放方案

本博客使用到的圖像縮放方案,是我之前發(fā)布過(guò)的一篇博文的內(nèi)容,對(duì)該圖像縮放部分感興趣的可以參考,博客鏈接如下:直接點(diǎn)擊前往

我這里已有的以太網(wǎng)方案

目前我這里有大量UDP協(xié)議的工程源碼,包括UDP數(shù)據(jù)回環(huán),視頻傳輸,AD采集傳輸?shù)?,也有TCP協(xié)議的工程,還有RDMA的NIC 10G 25G 100G網(wǎng)卡工程源碼,對(duì)網(wǎng)絡(luò)通信有需求的兄弟可以去看看:直接點(diǎn)擊前往
其中千兆TCP協(xié)議的工程博客如下:
直接點(diǎn)擊前往

3、設(shè)計(jì)思路框架

FPGA工程設(shè)計(jì)框圖如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

視頻源選擇

視頻源有兩種,分別對(duì)應(yīng)開(kāi)發(fā)者手里有沒(méi)有攝像頭的情況,一種是使用板載的HDMI輸入接口;另一種是如果你的手里沒(méi)有攝像頭,或者你的開(kāi)發(fā)板沒(méi)HDMI輸入接口,則可使用代碼內(nèi)部生成的動(dòng)態(tài)彩條模擬攝像頭視頻,視頻源的選擇通過(guò)代碼頂層的宏定義進(jìn)行,上電默認(rèn)選擇HDMI輸入接口作為視頻輸入源;
視頻源的選擇通過(guò)代碼頂層的`define宏定義進(jìn)行;如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
選擇邏輯代碼部分如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
選擇邏輯如下:
當(dāng)(注釋) define COLOR_IN時(shí),輸入源視頻是動(dòng)態(tài)彩條;
當(dāng)(不注釋) define COLOR_IN時(shí),輸入源視頻是HDMI輸入;

ADV7611 解碼芯片配置及采集

ADV7611 解碼芯片需要i2c配置才能使用,ADV7611 解碼芯片配置及采集這兩部分均用verilog代碼模塊實(shí)現(xiàn),代碼位置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
代碼中配置為1920x1080分辨率;

動(dòng)態(tài)彩條

動(dòng)態(tài)彩條可配置為不同分辨率的視頻,視頻的邊框?qū)挾?,?dòng)態(tài)移動(dòng)方塊的大小,移動(dòng)速度等都可以參數(shù)化配置,我這里配置為辨率1920x1080,動(dòng)態(tài)彩條模塊代碼位置和頂層接口和例化如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

跨時(shí)鐘FIFO

跨時(shí)鐘FIFO的作用是為了解決跨時(shí)鐘域的問(wèn)題,當(dāng)視頻不進(jìn)行縮放時(shí)不存在視頻跨時(shí)鐘域問(wèn)題,但當(dāng)視頻縮小或放大時(shí)就存在此問(wèn)題,用FIFO緩沖可以使圖像縮放模塊每次讀到的都是有效的輸入數(shù)據(jù),注意,原視頻的輸入時(shí)序在這里就已經(jīng)被打亂了;

圖像縮放模塊詳解

因?yàn)槲覀兊腝T上位機(jī)目前只支持1280x720,所以才需要縮放,即從輸入的1920x1080分辨率縮小為1280x720;用筆記本電腦模擬HDMI視頻輸入源;

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

本設(shè)計(jì)將常用的雙線(xiàn)性插值和鄰域插值算法融合為一個(gè)代碼中,通過(guò)輸入?yún)?shù)選擇某一種算法;代碼使用純verilog實(shí)現(xiàn),沒(méi)有任何ip,可在Xilinx、Intel、國(guó)產(chǎn)FPGA間任意移植;代碼以ram和fifo為核心進(jìn)行數(shù)據(jù)緩存和插值實(shí)現(xiàn),設(shè)計(jì)架構(gòu)如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
視頻輸入時(shí)序要求如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
輸入像素?cái)?shù)據(jù)在dInValid和nextDin同時(shí)為高時(shí)方可改變;
視頻輸出時(shí)序要求如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
輸出像素?cái)?shù)據(jù)在dOutValid 和nextdOut同時(shí)為高時(shí)才能輸出;

代碼框圖

代碼使用純verilog實(shí)現(xiàn),沒(méi)有任何ip,可在Xilinx、Intel、國(guó)產(chǎn)FPGA間任意移植;
圖像縮放的實(shí)現(xiàn)方式很多,最簡(jiǎn)單的莫過(guò)于Xilinx的HLS方式實(shí)現(xiàn),用opencv的庫(kù),以c++語(yǔ)言幾行代碼即可完成,關(guān)于HLS實(shí)現(xiàn)圖像縮放請(qǐng)參考我之前寫(xiě)的文章HLS實(shí)現(xiàn)圖像縮放
網(wǎng)上也有其他圖像縮放例程代碼,但大多使用了IP,導(dǎo)致在其他FPGA器件上移植變得困難,通用性不好;相比之下,本設(shè)計(jì)代碼就具有通用性;代碼架構(gòu)如圖;
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
其中頂層接口部分如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

2種插值算法的整合與選擇

本設(shè)計(jì)將常用的雙線(xiàn)性插值和鄰域插值算法融合為一個(gè)代碼中,通過(guò)輸入?yún)?shù)選擇某一種算法;
具體選擇參數(shù)如下:

input  wire i_scaler_type //0-->bilinear;1-->neighbor

通過(guò)輸入i_scaler_type 的值即可選擇;

輸入0選擇雙線(xiàn)性插值算法;
輸入1選擇鄰域插值算法;

關(guān)于這兩種算法的數(shù)學(xué)差異,請(qǐng)參考我之前寫(xiě)的文章HLS實(shí)現(xiàn)圖像縮放

UDP協(xié)議棧

本UDP協(xié)議棧方案需配合Xilinx的Tri Mode Ethernet MAC三速網(wǎng)IP一起使用,使用UDP協(xié)議棧網(wǎng)表文件,雖看不見(jiàn)源碼但可正常實(shí)現(xiàn)UDP通信,該協(xié)議棧目前并不開(kāi)源,只提供網(wǎng)表文件,但不影響使用,該協(xié)議棧帶有用戶(hù)接口,使得用戶(hù)無(wú)需關(guān)心復(fù)雜的UDP協(xié)議而只需關(guān)心簡(jiǎn)單的用戶(hù)接口時(shí)序即可操作UDP收發(fā),非常簡(jiǎn)單;
協(xié)議棧架構(gòu)如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
協(xié)議棧性能表現(xiàn)如下:
1:支持 UDP 接收校驗(yàn)和檢驗(yàn)功能,暫不支持 UDP 發(fā)送校驗(yàn)和生成;
2:支持 IP 首部校驗(yàn)和的生成和校驗(yàn),同時(shí)支持 ICMP 協(xié)議中的 PING 功能,可接收并響應(yīng)同一個(gè)子網(wǎng)內(nèi)部設(shè)備的 PING 請(qǐng)求;
3:可自動(dòng)發(fā)起或響應(yīng)同一個(gè)子網(wǎng)內(nèi)設(shè)備的 ARP 請(qǐng)求,ARP 收發(fā)完全自適應(yīng)。ARP 表可保存同一個(gè)子網(wǎng)內(nèi)部256 個(gè) IP 和 MAC 地址對(duì);
4:支持 ARP 超時(shí)機(jī)制,可檢測(cè)所需發(fā)送數(shù)據(jù)包的目的 IP 地址是否可達(dá);
5:協(xié)議棧發(fā)送帶寬利用率可達(dá) 93%,高發(fā)送帶寬下,內(nèi)部仲裁機(jī)制保證 PING 和 ARP 功能不受任何影響;
6:發(fā)送過(guò)程不會(huì)造成丟包;
7:提供64bit位寬AXI4-Stream形式的MAC接口,可與Xilinx官方的千兆以太網(wǎng)IP核Tri Mode Ethernet MAC,以及萬(wàn)兆以太網(wǎng) IP 核 10 Gigabit Ethernet Subsystem、10 Gigabit Ethernet MAC 配合使用;
有了此協(xié)議棧,我們無(wú)需關(guān)心復(fù)雜的UDP協(xié)議的實(shí)現(xiàn)了,直接調(diào)用接口即可使用。。。
本UDP協(xié)議棧用戶(hù)接口發(fā)送時(shí)序如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
本UDP協(xié)議棧用戶(hù)接口接收時(shí)序如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

UDP視頻數(shù)據(jù)組包

實(shí)現(xiàn)UDP視頻數(shù)據(jù)的組包,UDP數(shù)據(jù)發(fā)送必須與QT上位機(jī)的接受程序一致,上位機(jī)定義的UDP幀格式包括幀頭個(gè)UDP數(shù)據(jù),幀頭定義如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA端的UDP數(shù)據(jù)組包代碼必須與上圖的數(shù)據(jù)幀格式對(duì)應(yīng),否則QT無(wú)法解析,代碼中定義了數(shù)據(jù)組包狀態(tài)機(jī)以及數(shù)據(jù)幀,如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
另外,由于UDP發(fā)送是64位數(shù)據(jù)位寬,而圖像像素?cái)?shù)據(jù)是24bit位寬,所以必須將UDP數(shù)據(jù)重新組合,以保證像素?cái)?shù)據(jù)的對(duì)齊,這部分是整個(gè)工程的難點(diǎn),也是所有FPGA做UDP數(shù)據(jù)傳輸?shù)碾y點(diǎn);

UDP協(xié)議棧數(shù)據(jù)發(fā)送

UDP協(xié)議棧具有發(fā)送和接收功能,但這里僅用到了發(fā)送,此部分代碼架構(gòu)如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
UDP協(xié)議棧代碼組我已經(jīng)做好,用戶(hù)可直接拿去使用;

UDP協(xié)議棧數(shù)據(jù)緩沖

這里對(duì)代碼中用到的數(shù)據(jù)緩沖FIFO組做如下解釋?zhuān)?br> 由于 UDP IP 協(xié)議棧的 AXI-Stream 數(shù)據(jù)接口位寬為 64bit,而 Tri Mode Ethernet MAC 的 AXI-Stream數(shù)據(jù)接口位寬為 8bit。因此,要將 UDP IP 協(xié)議棧與 Tri Mode Ethernet MAC 之間通過(guò) AXI-Stream 接口互聯(lián),需要進(jìn)行時(shí)鐘域和數(shù)據(jù)位寬的轉(zhuǎn)換。實(shí)現(xiàn)方案如下圖所示:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
收發(fā)路徑(本設(shè)計(jì)只用到了發(fā)送)都使用了2個(gè)AXI-Stream DATA FIFO,通過(guò)其中1個(gè)FIFO實(shí)現(xiàn)異步時(shí)鐘域的轉(zhuǎn)換,1個(gè)FIFO實(shí)
現(xiàn)數(shù)據(jù)緩沖和同步Packet mode功能;由于千兆速率下Tri Mode Ethernet MAC的AXI-Stream數(shù)據(jù)接口同步時(shí)鐘信號(hào)為125MHz,此時(shí),UDP協(xié)議棧64bit的AXI-Stream數(shù)據(jù)接口同步時(shí)鐘信號(hào)應(yīng)該為125MHz/(64/8)=15.625MHz,因此,異步
AXI-Stream DATA FIFO兩端的時(shí)鐘分別為125MHz(8bit),15.625MHz(64bit);UDP IP協(xié)議棧的AXI-Stream接口經(jīng)過(guò)FIFO時(shí)鐘域轉(zhuǎn)換后,還需要進(jìn)行數(shù)據(jù)數(shù)據(jù)位寬轉(zhuǎn)換,數(shù)據(jù)位寬的轉(zhuǎn)換通過(guò)AXI4-Stream Data Width Converter完成,在接收路徑中,進(jìn)行 8bit 到 64bit 的轉(zhuǎn)換;在發(fā)送路徑中,進(jìn)行 64bit 到 8bit 的轉(zhuǎn)換;

IP地址、端口號(hào)的修改

UDP協(xié)議棧留出了IP地址、端口號(hào)的修改端口供用戶(hù)自由修改,位置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

Tri Mode Ethernet MAC

Tri Mode Ethernet MAC主要是為了適配1G/2.5G Ethernet PCS/PMA or SGMII,因?yàn)楹笳叩妮斎虢涌谑荊MII,而Tri Mode Ethernet MAC的輸入接口是AXIS,輸出接口是GMII,Tri Mode Ethernet MAC配置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

1G/2.5G Ethernet PCS/PMA or SGMII

1G/2.5G Ethernet PCS/PMA or SGMII在這里充當(dāng)了網(wǎng)絡(luò)變壓器的角色,所以不需要外接例如RTL8211、B50610等PHY,1G/2.5G Ethernet PCS/PMA or SGMII配置為1G,其與MAC的接口為GMII,配置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

QT上位機(jī)和源碼

我們提供和UDP通信協(xié)議相匹配的QT抓圖顯示上位機(jī)及其源代碼,目錄如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
我們的QT目前僅支持1280x720分辨率的視頻抓圖顯示,但同時(shí)預(yù)留了1080P接口,對(duì)QT開(kāi)發(fā)感興趣的朋友可以嘗試修改代碼以適應(yīng)1080P,因?yàn)镼T在這里只是驗(yàn)證工具,不是本工程的重點(diǎn),所以不再過(guò)多贅述,詳情請(qǐng)參考資料包的QT源碼,位置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

4、vivado工程詳解

開(kāi)發(fā)板FPGA型號(hào):Xilinx–Artix7–xc7a35tfgg484-2;
開(kāi)發(fā)環(huán)境:Vivado2019.1;
輸入:HDMI或動(dòng)態(tài)彩條,分辨率1920x1080;
輸出:SFP光口;
工程作用:FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸;
工程BD如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
工程代碼架構(gòu)如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
工程的資源消耗和功耗如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

5、工程移植說(shuō)明

vivado版本不一致處理

1:如果你的vivado版本與本工程vivado版本一致,則直接打開(kāi)工程;
2:如果你的vivado版本低于本工程vivado版本,則需要打開(kāi)工程后,點(diǎn)擊文件–>另存為;但此方法并不保險(xiǎn),最保險(xiǎn)的方法是將你的vivado版本升級(jí)到本工程vivado的版本或者更高版本;
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
3:如果你的vivado版本高于本工程vivado版本,解決如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
打開(kāi)工程后會(huì)發(fā)現(xiàn)IP都被鎖住了,如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
此時(shí)需要升級(jí)IP,操作如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

FPGA型號(hào)不一致處理

如果你的FPGA型號(hào)與我的不一致,則需要更改FPGA型號(hào),操作如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
更改FPGA型號(hào)后還需要升級(jí)IP,升級(jí)IP的方法前面已經(jīng)講述了;

其他注意事項(xiàng)

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

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

準(zhǔn)備工作

首先連接開(kāi)發(fā)板和電腦,開(kāi)發(fā)板端連接后如下圖:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
然后將你的電腦IP地址改為和代碼里規(guī)定的IP一致,當(dāng)然,代碼里的IP是可以任意設(shè)置的,但代碼里的IP修改后,電腦端的IP也要跟著改,我的設(shè)置如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

ping一下

在開(kāi)始測(cè)試前,我們先ping一下,測(cè)試UDP是否連通,如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

靜態(tài)演示

HDMI輸入1920x1080縮小到1280x720后UDP網(wǎng)絡(luò)傳輸QT上位機(jī)顯示如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT
動(dòng)態(tài)彩條1920x1080縮小到1280x720后UDP網(wǎng)絡(luò)傳輸QT上位機(jī)顯示如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT

動(dòng)態(tài)演示

動(dòng)態(tài)視頻演示如下:

FPGA-SFP-UDP-1G-HDMI

7、福利:工程源碼獲取

福利:工程代碼的獲取
代碼太大,無(wú)法郵箱發(fā)送,以某度網(wǎng)盤(pán)鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤(pán)資料如下:
FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持,FPGA圖像縮放,菜鳥(niǎo)FPGA以太網(wǎng)專(zhuān)題,菜鳥(niǎo)FPGA圖像處理專(zhuān)題,網(wǎng)絡(luò),fpga開(kāi)發(fā),udp,Ethernet,圖像縮放,QT文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-714987.html

到了這里,關(guān)于FPGA 圖像縮放 1G/2.5G Ethernet PCS/PMA or SGMII實(shí)現(xiàn) UDP 網(wǎng)絡(luò)視頻傳輸,提供工程和QT上位機(jī)源碼加技術(shù)支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包