大俠好,歡迎來到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。“煮酒言歡”進(jìn)入IC技術(shù)圈,這里有近100個IC技術(shù)公眾號。
硬件設(shè)計難點:
軟件設(shè)計難點:
創(chuàng)新難點:
概述
目前人們對于高清視頻的需求日益普遍,極致的視覺體驗帶來的是技術(shù)上的革新,高清視頻數(shù)據(jù)帶寬在HD視頻的基礎(chǔ)上不斷增長,以單路4Kx2K分辨率,30Hz刷新率超高清視頻而言為例,單幀無壓縮視頻數(shù)據(jù)量約為3840x2160x24≈189.84Mbits,每秒需完成緩存的數(shù)據(jù)量約為189.84x30≈5.56Gbits,如何傳輸及實時處理大量的高清視頻數(shù)據(jù)成為當(dāng)前的一大技術(shù)需求。對此,本作品設(shè)計了一種基于FPGA的分布式視頻處理平臺,能夠?qū)⒏咔逡曨l流通過PCIE接口以及SFP光傳輸接口進(jìn)行從上位機(jī)到分布式視頻處理平臺以及分布式視頻處理平臺之間的高速傳輸。同時,本作品采用FPGA并行處理視頻流,具有低時延,高算法拓展能力的特點,可以實現(xiàn)高帶寬高清視頻流的實時處理。
本項目平臺設(shè)計了PCIE 2.0*8接口、2路SFP/SFP+高速光傳輸接口以及4路HDMI輸出接口,針對高清視頻數(shù)據(jù),兼具遠(yuǎn)距離高速傳輸、實時處理以及本地同步顯示的能力,最多能傳輸處理10路以上的1080p高清視頻流。同時本項目平臺具有高達(dá)4GB容量的高速圖像緩存,以支持多路高清視頻流的緩存與算法處理。在FPGA基礎(chǔ)上,本項目平臺具有的雙核ARM Cortex-A9以及1GB容量的程序執(zhí)行緩存,可以支持更高層算法的實現(xiàn)。
主要創(chuàng)新點
1.提出了一個針對高分辨率的視頻流的高速傳輸與實時處理方案,包含了驅(qū)動卡與接收卡兩個部分。
本作品平臺為基于FPGA的分布式視頻處理平臺,面向高分辨率的視頻流實現(xiàn)高帶寬視頻數(shù)據(jù)的高速傳輸與實時處理,平臺系統(tǒng)完備,包含了視頻驅(qū)動卡與接收卡兩個部分。
2.軟硬件全部自主設(shè)計開發(fā),系統(tǒng)完善
本作品硬件軟件自主設(shè)計開發(fā)。硬件部分包括43頁原理圖和12層高速PCB設(shè)計。軟件部分包括發(fā)送高清視頻流數(shù)據(jù)的上位機(jī)軟件模塊、本地視頻數(shù)據(jù)接收與轉(zhuǎn)發(fā)的視頻處理平臺模塊、分布式視頻數(shù)據(jù)接收顯示的視頻處理平臺模塊,包含PCIE數(shù)據(jù)接收模塊、SFP數(shù)據(jù)轉(zhuǎn)發(fā)模塊、視頻分割算法、DDR3高速緩存讀寫控制、視頻數(shù)據(jù)輸出模塊、視頻處理芯片配置模塊等,有很強(qiáng)的原創(chuàng)性和先進(jìn)性。
3.采用Xilinx Zynq-7000 SoC系列Zynq7045芯片,包含350K可編程邏輯資源以及Cortex-A9的雙核ARM,F(xiàn)PGA與ARM通信接口采用AXI總線協(xié)議,穩(wěn)定性好。
本設(shè)計采用的SoC芯片資源豐富,結(jié)合了FPGA與ARM的優(yōu)點,從硬件設(shè)計層面提高了算法開發(fā)容量和算法處理效率,保障了高清視頻數(shù)據(jù)處理的實時性,與現(xiàn)有技術(shù)相比,具有視頻處理速度快、延時低、擴(kuò)展性好等優(yōu)勢。
4.針對視頻處理與程序執(zhí)行部分分別設(shè)計了4GB與1GB的高速緩存,提升系統(tǒng)性能。
本系統(tǒng)FPGA部分采用多片DDR3高速存儲顆粒應(yīng)對大量的視頻數(shù)據(jù),能夠保證視頻傳輸處理的實時性和高效性。同時ARM部分也配備了多片DDR3高速存儲顆粒,保障程序執(zhí)行,為后續(xù)算法拓展提供支持。
5.通過PCIE*8接口從上位機(jī)獲取高清視頻數(shù)據(jù),最高數(shù)據(jù)速率理論可達(dá)32Gbps
本作品可通過一路PCI Express?8-lane接口,從上位機(jī)讀取4k高清視頻流數(shù)據(jù),串行傳輸速率理論最高能達(dá)到32Gbps,最高支持2路4k@60Hz視頻數(shù)據(jù)的吞吐。
6.通過2路SFP/SFP+光傳輸接口進(jìn)行分布式視頻處理平臺間的高清視頻數(shù)據(jù)傳輸,最高數(shù)據(jù)速率理論可達(dá)10Gbps/路
本作品可通過兩路SFP/SFP+光傳輸接口,收發(fā)高清視頻流數(shù)據(jù),兩路光傳輸接口可通過主從模式同時工作,最高支持20Gbps的數(shù)據(jù)吞吐。
7.每一塊分布式視頻處理平臺系統(tǒng)同時具備4路2K視頻的HDMI輸出接口,能夠?qū)崿F(xiàn)視頻數(shù)據(jù)傳輸?shù)耐瑫r進(jìn)行本地分割顯示
本作品搭載4片視頻處理芯片ADV7511,可支持1920*1080@60Hz的高清視頻輸出,因此每一塊視頻處理平臺都擁有一路4k視頻數(shù)據(jù)的分割輸出功能,支持高速轉(zhuǎn)發(fā)的同時,本地顯示視頻數(shù)據(jù)。
系統(tǒng)架構(gòu)
1.?系統(tǒng)方案
隨著視頻技術(shù)的不斷革新,為了解決超高分辨率,例如2K、4K、8K、16K甚至更高分辨率的視頻傳輸處理需求,需要硬件上能支持高清視頻輸入輸出,高速大容量數(shù)據(jù)實時處理,軟件層面上具備多種算法處理能力,各種數(shù)據(jù)通信交互,且系統(tǒng)要能支持性能拓展,以便使系統(tǒng)兼容處理更大范圍的任務(wù)強(qiáng)度。
分布式視頻處理平臺系統(tǒng)主要分為三部分:發(fā)送高清視頻流數(shù)據(jù)的上位機(jī)、2塊及以上的基于FPGA的分布式視頻處理平臺、作為一組完整4K視頻顯示的4塊2K顯示屏。該系統(tǒng)基本結(jié)構(gòu)如圖2-1所示。本作品為基于FPGA的分布式視頻處理平臺。主要實現(xiàn)視頻信號發(fā)生輸出以及視頻信號接收這兩個工作模式。
圖2-1?分布式視頻處理平臺系統(tǒng)
2.?硬件方案
本基于FPGA的分布式視頻處理平臺需要將高清視頻流通過PCIE接口以及SFP光傳輸接口進(jìn)行從上位機(jī)到分布式視頻處理平臺以及分布式視頻處理平臺之間的高速傳輸。同時需要4路HDMI輸出接口,在高速傳輸高清視頻流的同時,通過FPGA超低時延的并行處理能力,能同步進(jìn)行高清視頻的分布式拼接顯示。為支持以上要求,本作品搭載了Xilinx公司的Zynq-7000 SoC系列Zynq7045芯片作為核心處理器進(jìn)行視頻數(shù)據(jù)的傳輸及實時處理。為完成對視頻處理過程的控制,本系統(tǒng)需要利用芯片自帶的雙核Cortex-A9作為系統(tǒng)控制部分,對視頻處理芯片進(jìn)行寄存器配置,同時掛載大容量SDRAM,實現(xiàn)對大量系統(tǒng)數(shù)據(jù)參數(shù)的存儲。
本作品需要滿足大量視頻數(shù)據(jù)的高速緩存要求。以最高單路4Kx2K分辨率,30Hz刷新率超高清視頻而言為例,單幀無壓縮視頻數(shù)據(jù)量約為3840x2160x24≈189.84Mbits,每秒需完成緩存的數(shù)據(jù)量約為189.84x30≈5.56Gbits。本系統(tǒng)可支持PCIE 32Gbps帶寬以內(nèi)的超高清視頻輸入,則需要外接大容量高速存儲設(shè)備,實現(xiàn)對多路視頻數(shù)據(jù)的緩存。因此,本系統(tǒng)采用4片共32Gbits高速DDR3存儲顆粒,可滿足實時處理視頻流數(shù)據(jù)時對緩存空間的需求。本系統(tǒng)中FPGA核心處理器與存儲芯片接口數(shù)據(jù)位寬共64bits,單根數(shù)據(jù)線傳輸速率可達(dá)1866Mbps,可滿足對多路超高清視頻流數(shù)據(jù)的高速緩存需求。
根據(jù)以上的分析,制定出的本作品硬件設(shè)計方案如下:
視頻實時處理方案:Xilinx?Zynq-7000 SoC系列Zynq7045芯片的?FPGA部分作為視頻核心處理器
視頻接收方案:一路PCI Express 8-lane接口
視頻發(fā)送方案:兩路SFP/SFP+光傳輸接口
視頻輸出方案:四路ADV7511視頻處理器,4個HDMI1.4視頻輸出接口
視頻流緩存方案:32GBits?DDR3存儲顆粒高速緩存
視頻控制方案:Zynq7045芯片的ARM部分,雙核Cortex-A9,2片128MB QSPI Flash和8Gbits SDRAM
系統(tǒng)接口設(shè)計方案:USB2.0接口、UART、1000M以太網(wǎng)口
圖2-2平臺結(jié)構(gòu)框圖
本作品實際結(jié)構(gòu)圖如圖2-3所示。
圖2-3平臺實際結(jié)構(gòu)圖
3.?軟件方案
基于FPGA的分布式視頻處理平臺的軟件整體設(shè)計如圖2-4所示,其中主要包括三個模塊:?發(fā)送高清視頻流數(shù)據(jù)的上位機(jī)軟件模塊、本地視頻數(shù)據(jù)接收與轉(zhuǎn)發(fā)的視頻處理平臺模塊、分布式視頻數(shù)據(jù)接收顯示的視頻處理平臺模塊。
圖2-4?系統(tǒng)軟件整體框架圖
其中上位機(jī)PCIE驅(qū)動部分,實現(xiàn)了指定路徑下的視頻流數(shù)據(jù)文件的讀取與發(fā)送,根據(jù)用戶給定的中斷參數(shù),實現(xiàn)上位機(jī)吞吐速率的控制以及數(shù)據(jù)發(fā)送操作的開關(guān)選擇。
本地視頻數(shù)據(jù)接收與轉(zhuǎn)發(fā)的視頻處理平臺的軟件設(shè)計較為復(fù)雜,分為PCIE數(shù)據(jù)接收模塊、SFP數(shù)據(jù)轉(zhuǎn)發(fā)模塊、視頻重組分割算法、DDR3高速緩存讀寫控制、視頻數(shù)據(jù)輸出模塊、視頻處理芯片寄存器配置等部分。
分布式視頻數(shù)據(jù)接收顯示的視頻處理平臺模塊,分為SFP數(shù)據(jù)接收模塊,視頻重組算法、DDR3高速緩存讀寫控制、視頻輸出模塊、視頻處理芯片寄存器配置等部分。
設(shè)計演示
1.?基于FPGA的分布式視頻處理平臺單板性能測試
以下給出電源、時鐘及復(fù)位信號和DDR3等幾方面測試過程及結(jié)果。
1.1?電源測試
電源的穩(wěn)定運行是電路系統(tǒng)正常工作的前提條件,因此,在對電路系統(tǒng)各部分進(jìn)行測試前,需要先對系統(tǒng)電源部分測試,確保電源電壓、紋波等參數(shù)能夠滿足要求。本系統(tǒng)的電源使用了TI公司的TPS53355、TPS62130和TPS51200。
對TPS53355電源評估電路進(jìn)行測試,可得到如表5-1所示的測量結(jié)果。
通過對電源輸出電壓進(jìn)行分析,可見在較低負(fù)載和較高負(fù)載下都能夠滿足FPGA核心處理器0.97V至1.03V的電壓范圍要求。通過示波器可以測得在不同負(fù)載情況下的紋波,其中負(fù)載電流為9.699A時的紋波測試結(jié)果如圖5-1所示。
圖5-1 TPS53355負(fù)載電流為9.699A時的紋波
此時,可觀測到電源的開關(guān)頻率約為500KHz,電源紋波幅度的最小值為8.0mV,最大值為11.5mV,滿足電路系統(tǒng)設(shè)計要求。
通過對實際電路中1.0V電源進(jìn)行測試,紋波如圖5-2所示,同樣滿足設(shè)計要求。
圖5-2 TPS53355在系統(tǒng)工作時的紋波波形
分別對本系統(tǒng)中其他部分電源電路進(jìn)行測量,其中FPGA核心處理器及DDR3存儲顆粒部分各電源輸出電壓及紋波如表5-2所示,都能夠滿足設(shè)計要求。
1.2?時鐘及復(fù)位信號測試
系統(tǒng)的復(fù)位信號是測試部分首先考慮的對象。在本系統(tǒng)中,我們對于ZYNQ中ARM部分的復(fù)位芯片MAX16025輸出的全局復(fù)位信號進(jìn)行測試。如圖5-3所示,當(dāng)按鍵被按下時,全局復(fù)位信號被置為低電平,且低電平保持203.0ms;當(dāng)按鍵被松開時,全局復(fù)位信號恢復(fù)成高電平。
圖5-3?系統(tǒng)全局復(fù)位信號測試
其次測試系統(tǒng)的時鐘信號。在整個系統(tǒng)中,以下三個時鐘較為關(guān)鍵。
-
- ZYNQ處理器FPGA部分200MHz差分時鐘(邏輯觸發(fā)時鐘);ZYNQ處理器GTX部分SFP光傳輸接口IP核的156.25MHz差分時鐘;ZYNQ 處理器 ARM 部分 33.33333MHz 單端時鐘。
其中,差分時鐘需要利用差分探頭進(jìn)行測試。在測試時鐘時,示波器的采樣率被設(shè)置為1GHz,上述三個時鐘的時鐘波形如圖5-4所示。
圖5-4?系統(tǒng)時鐘信號測試
三個關(guān)鍵時鐘信號測量所得參數(shù)如表5-3所示。
由上表可見,相對于33.33333MHz的單端時鐘,200MHz和156.25MHz的差分時鐘利用了抑制相互串?dāng)_的性質(zhì),時間精度較高,并且在信號的上過沖、下過沖和周期抖動指標(biāo)上具有優(yōu)勢。
1.3DDR3眼圖測試
這部分介紹系統(tǒng)ZYNQ中的FPGA部分連接的DDR3的信號完整性測試過程與結(jié)果。DDR3速率為1600Mbps,通過編寫測試程序的方式來實現(xiàn)持續(xù)對DDR3進(jìn)行讀寫,以進(jìn)行測試。示波器測試800MHz差分時鐘眼圖,如圖5-5所示
圖5-5?DDR3差分時鐘眼圖測試
由圖5-5可知示波器讀出該信號眼高為1.1366V,眼寬為578ps,眼交叉比為?50.37%,差分時鐘設(shè)計指標(biāo)通過了LeCroy示波器的QualiPHY對于1600Mbps的DDR3的標(biāo)準(zhǔn)測試,因此眼圖各指標(biāo)符合設(shè)計要求。進(jìn)一步利用示波器觀察DDR3時序:DQS信號如圖5-6所示:當(dāng)DDR3進(jìn)入讀狀態(tài)時,DQS前導(dǎo)碼先產(chǎn)生負(fù)脈沖。相反,當(dāng)DDR3進(jìn)入寫狀態(tài)時,DQS前導(dǎo)碼先產(chǎn)生正脈沖。
圖5-6DDR3 DQS信號測試
示波器自帶的QualiPHY功能能夠?qū)DR3各項性能進(jìn)行測試,測試完成后將會生成一份測試報告,如圖5-7所示。在測試報告中將詳細(xì)列出各項參數(shù)的測量值和理論值,并對是否達(dá)標(biāo)進(jìn)行分析。
圖5-7?差分時鐘線測試報告
1.4ADV7511視頻處理器驗證
為驗證ADV7511視頻處理器芯片部分的電路設(shè)計,編寫測試代碼以完成驗證。在進(jìn)行該部分的測試過程中,我們基于ZYNQARM部分編寫IIC配置接口,配置ADV7511寄存器,使能芯片,同時,F(xiàn)PGA部分按照時序要求編寫測試圖像,并輸出到ADV7511,最終板級輸出效果如圖5-8所示。
圖5-8?ADV7511測試圖像圖
由上圖可知,ADV7511寄存器配置正確,芯片正常使能,F(xiàn)PGA時序發(fā)生正確,能夠正常顯示圖像。
1.5 PCIE系統(tǒng)接口驗證
圖5-9上位機(jī)數(shù)據(jù)發(fā)送窗口為驗證PCIE系統(tǒng)接口的功能,我們通過上位機(jī)向系統(tǒng)的PCIE接口發(fā)送數(shù)據(jù)文件,如圖5-9所示。
通過Vivado的ILA工具采得數(shù)據(jù)傳輸波形,如圖5-10所示。從圖5-10的波形中,對比上位機(jī)發(fā)送的文件數(shù)據(jù),可知PCIE讀取的數(shù)據(jù)文件正確無誤。
圖5-10?系統(tǒng)PCIE接口數(shù)據(jù)文件抓取波形圖
2.?系統(tǒng)聯(lián)調(diào)
整體系統(tǒng)聯(lián)調(diào)效果圖如圖5-11?所示:
圖5-11?系統(tǒng)整體效果圖通過以上的效果可以看出,本作品可以實現(xiàn)本地視頻處理平臺PCIE接口從上位機(jī)接收超高清4K視頻流的數(shù)據(jù),并經(jīng)過SFP/SFP+高速光傳輸接口高速傳送至分布式視頻處理平臺,同時本地與分布式視頻處理平臺兼有4K視頻分割顯示的實時處理能力。后續(xù)會持續(xù)更新,帶來Vivado、 ISE、Quartus II 、candence等安裝相關(guān)設(shè)計教程,學(xué)習(xí)資源、項目資源、好文推薦等,希望大俠持續(xù)關(guān)注。大俠們,江湖偌大,繼續(xù)闖蕩,愿一切安好,有緣再見!