概述
目前人們對于高清視頻的需求日益普遍,極致的視覺體驗帶來的是技術上的革新,高清視頻數據帶寬在HD視頻的基礎上不斷增長,以單路4Kx2K分辨率,30Hz刷新率超高清視頻而言為例,單幀無壓縮視頻數據量約為3840x2160x24≈189.84Mbits,每秒需完成緩存的數據量約為189.84x30≈5.56Gbits,如何傳輸及實時處理大量的高清視頻數據成為當前的一大技術需求。
對此,本作品設計了一種基于FPGA的分布式視頻處理平臺,能夠將高清視頻流通過PCIE接口以及SFP光傳輸接口進行從上位機到分布式視頻處理平臺以及分布式視頻處理平臺之間的高速傳輸。同時,本作品采用FPGA并行處理視頻流,具有低時延,高算法拓展能力的特點,可以實現高帶寬高清視頻流的實時處理。
本項目平臺設計了PCIE 2.0*8接口、2路SFP/SFP+高速光傳輸接口以及4路HDMI輸出接口,針對高清視頻數據,兼具遠距離高速傳輸、實時處理以及本地同步顯示的能力,最多能傳輸處理10路以上的1080p高清視頻流。同時本項目平臺具有高達4GB容量的高速圖像緩存,以支持多路高清視頻流的緩存與算法處理。在FPGA基礎上,本項目平臺具有的雙核ARM Cortex-A9以及1GB容量的程序執行緩存,可以支持更高層算法的實現。
主要創新點
1.提出了一個針對高分辨率的視頻流的高速傳輸與實時處理方案,包含了驅動卡與接收卡兩個部分。
本作品平臺為基于FPGA的分布式視頻處理平臺,面向高分辨率的視頻流實現高帶寬視頻數據的高速傳輸與實時處理,平臺系統完備,包含了視頻驅動卡與接收卡兩個部分。
2.軟硬件全部自主設計開發,系統完善
本作品硬件軟件自主設計開發。硬件部分包括43頁原理圖和12層高速PCB設計。軟件部分包括發送高清視頻流數據的上位機軟件模塊、本地視頻數據接收與轉發的視頻處理平臺模塊、分布式視頻數據接收顯示的視頻處理平臺模塊,包含PCIE數據接收模塊、SFP數據轉發模塊、視頻分割算法、DDR3高速緩存讀寫控制、視頻數據輸出模塊、視頻處理芯片配置模塊等,有很強的原創性和先進性。
3.采用Xilinx Zynq-7000 SoC系列Zynq7045芯片,包含350K可編程邏輯資源以及Cortex-A9的雙核ARM,FPGA與ARM通信接口采用AXI總線協議,穩定性好。
本設計采用的SoC芯片資源豐富,結合了FPGA與ARM的優點,從硬件設計層面提高了算法開發容量和算法處理效率,保障了高清視頻數據處理的實時性,與現有技術相比,具有視頻處理速度快、延時低、擴展性好等優勢。
4.針對視頻處理與程序執行部分分別設計了4GB與1GB的高速緩存,提升系統性能。
本系統FPGA部分采用多片DDR3高速存儲顆粒應對大量的視頻數據,能夠保證視頻傳輸處理的實時性和高效性。同時ARM部分也配備了多片DDR3高速存儲顆粒,保障程序執行,為后續算法拓展提供支持。
5.通過PCIE*8接口從上位機獲取高清視頻數據,最高數據速率理論可達32Gbps
本作品可通過一路PCI Express8-lane接口,從上位機讀取4k高清視頻流數據,串行傳輸速率理論最高能達到32Gbps,最高支持2路4k@60Hz視頻數據的吞吐。
6.通過2路SFP/SFP+光傳輸接口進行分布式視頻處理平臺間的高清視頻數據傳輸,最高數據速率理論可達10Gbps/路
本作品可通過兩路SFP/SFP+光傳輸接口,收發高清視頻流數據,兩路光傳輸接口可通過主從模式同時工作,最高支持20Gbps的數據吞吐。
7.每一塊分布式視頻處理平臺系統同時具備4路2K視頻的HDMI輸出接口,能夠實現視頻數據傳輸的同時進行本地分割顯示
本作品搭載4片視頻處理芯片ADV7511,可支持1920*1080@60Hz的高清視頻輸出,因此每一塊視頻處理平臺都擁有一路4k視頻數據的分割輸出功能,支持高速轉發的同時,本地顯示視頻數據。
系統架構
1.系統方案
隨著視頻技術的不斷革新,為了解決超高分辨率,例如2K、4K、8K、16K甚至更高分辨率的視頻傳輸處理需求,需要硬件上能支持高清視頻輸入輸出,高速大容量數據實時處理,軟件層面上具備多種算法處理能力,各種數據通信交互,且系統要能支持性能拓展,以便使系統兼容處理更大范圍的任務強度。
分布式視頻處理平臺系統主要分為三部分:發送高清視頻流數據的上位機、2塊及以上的基于FPGA的分布式視頻處理平臺、作為一組完整4K視頻顯示的4塊2K顯示屏。該系統基本結構如圖2-1所示。本作品為基于FPGA的分布式視頻處理平臺。主要實現視頻信號發生輸出以及視頻信號接收這兩個工作模式。
圖2-1分布式視頻處理平臺系統
2.硬件方案
本基于FPGA的分布式視頻處理平臺需要將高清視頻流通過PCIE接口以及SFP光傳輸接口進行從上位機到分布式視頻處理平臺以及分布式視頻處理平臺之間的高速傳輸。同時需要4路HDMI輸出接口,在高速傳輸高清視頻流的同時,通過FPGA超低時延的并行處理能力,能同步進行高清視頻的分布式拼接顯示。為支持以上要求,本作品搭載了Xilinx公司的Zynq-7000 SoC系列Zynq7045芯片作為核心處理器進行視頻數據的傳輸及實時處理。
為完成對視頻處理過程的控制,本系統需要利用芯片自帶的雙核Cortex-A9作為系統控制部分,對視頻處理芯片進行寄存器配置,同時掛載大容量SDRAM,實現對大量系統數據參數的存儲。
本作品需要滿足大量視頻數據的高速緩存要求。以最高單路4Kx2K分辨率,30Hz刷新率超高清視頻而言為例,單幀無壓縮視頻數據量約為3840x2160x24≈189.84Mbits,每秒需完成緩存的數據量約為189.84x30≈5.56Gbits。本系統可支持PCIE 32Gbps帶寬以內的超高清視頻輸入,則需要外接大容量高速存儲設備,實現對多路視頻數據的緩存。
因此,本系統采用4片共32Gbits高速DDR3存儲顆粒,可滿足實時處理視頻流數據時對緩存空間的需求。本系統中FPGA核心處理器與存儲芯片接口數據位寬共64bits,單根數據線傳輸速率可達1866Mbps,可滿足對多路超高清視頻流數據的高速緩存需求。
根據以上的分析,制定出的本作品硬件設計方案如下:
視頻實時處理方案:XilinxZynq-7000 SoC系列Zynq7045芯片的FPGA部分作為視頻核心處理器
視頻接收方案:一路PCI Express 8-lane接口
視頻發送方案:兩路SFP/SFP+光傳輸接口
視頻輸出方案:四路ADV7511視頻處理器,4個HDMI1.4視頻輸出接口
視頻流緩存方案:32GBitsDDR3存儲顆粒高速緩存
視頻控制方案:Zynq7045芯片的ARM部分,雙核Cortex-A9,2片128MB QSPI Flash和8Gbits SDRAM
系統接口設計方案:USB2.0接口、UART、1000M以太網口
圖2-2平臺結構框圖
本作品實際結構圖如圖2-3所示。
圖2-3平臺實際結構圖
3.軟件方案
基于FPGA的分布式視頻處理平臺的軟件整體設計如圖2-4所示,其中主要包括三個模塊:發送高清視頻流數據的上位機軟件模塊、本地視頻數據接收與轉發的視頻處理平臺模塊、分布式視頻數據接收顯示的視頻處理平臺模塊。
圖2-4系統軟件整體框架圖
其中上位機PCIE驅動部分,實現了指定路徑下的視頻流數據文件的讀取與發送,根據用戶給定的中斷參數,實現上位機吞吐速率的控制以及數據發送操作的開關選擇。
本地視頻數據接收與轉發的視頻處理平臺的軟件設計較為復雜,分為PCIE數據接收模塊、SFP數據轉發模塊、視頻重組分割算法、DDR3高速緩存讀寫控制、視頻數據輸出模塊、視頻處理芯片寄存器配置等部分。
分布式視頻數據接收顯示的視頻處理平臺模塊,分為SFP數據接收模塊,視頻重組算法、DDR3高速緩存讀寫控制、視頻輸出模塊、視頻處理芯片寄存器配置等部分。
設計演示
1.基于FPGA的分布式視頻處理平臺單板性能測試
以下給出電源、時鐘及復位信號和DDR3等幾方面測試過程及結果。
1.1電源測試
電源的穩定運行是電路系統正常工作的前提條件,因此,在對電路系統各部分進行測試前,需要先對系統電源部分測試,確保電源電壓、紋波等參數能夠滿足要求。本系統的電源使用了TI公司的TPS53355、TPS62130和TPS51200。
對TPS53355電源評估電路進行測試,可得到如表5-1所示的測量結果。
通過對電源輸出電壓進行分析,可見在較低負載和較高負載下都能夠滿足FPGA核心處理器0.97V至1.03V的電壓范圍要求。通過示波器可以測得在不同負載情況下的紋波,其中負載電流為9.699A時的紋波測試結果如圖5-1所示。
圖5-1 TPS53355負載電流為9.699A時的紋波
此時,可觀測到電源的開關頻率約為500KHz,電源紋波幅度的最小值為8.0mV,最大值為11.5mV,滿足電路系統設計要求。
通過對實際電路中1.0V電源進行測試,紋波如圖5-2所示,同樣滿足設計要求。
圖5-2 TPS53355在系統工作時的紋波波形
分別對本系統中其他部分電源電路進行測量,其中FPGA核心處理器及DDR3存儲顆粒部分各電源輸出電壓及紋波如表5-2所示,都能夠滿足設計要求。
1.2時鐘及復位信號測試
系統的復位信號是測試部分首先考慮的對象。在本系統中,我們對于ZYNQ中ARM部分的復位芯片MAX16025輸出的全局復位信號進行測試。如圖5-3所示,當按鍵被按下時,全局復位信號被置為低電平,且低電平保持203.0ms;當按鍵被松開時,全局復位信號恢復成高電平。
圖5-3系統全局復位信號測試 其次測試系統的時鐘信號。在整個系統中,以下三個時鐘較為關鍵。
ZYNQ處理器FPGA部分200MHz差分時鐘(邏輯觸發時鐘);
ZYNQ處理器GTX部分SFP光傳輸接口IP核的156.25MHz差分時鐘;
ZYNQ 處理器 ARM 部分 33.33333MHz 單端時鐘。
其中,差分時鐘需要利用差分探頭進行測試。 在測試時鐘時,示波器的采樣率被設置為1GHz,上述三個時鐘的時鐘波形如圖5-4所示。
圖5-4系統時鐘信號測試 三個關鍵時鐘信號測量所得參數如表5-3所示。
由上表可見,相對于33.33333MHz的單端時鐘,200MHz和156.25MHz的差分時鐘利用了抑制相互串擾的性質,時間精度較高,并且在信號的上過沖、下過沖和周期抖動指標上具有優勢。
1.3DDR3眼圖測試
這部分介紹系統ZYNQ中的FPGA部分連接的DDR3的信號完整性測試過程與結果。DDR3速率為1600Mbps,通過編寫測試程序的方式來實現持續對DDR3進行讀寫,以進行測試。示波器測試800MHz差分時鐘眼圖,如圖5-5所示
圖5-5DDR3差分時鐘眼圖測試
由圖5-5可知示波器讀出該信號眼高為1.1366V,眼寬為578ps,眼交叉比為50.37%,差分時鐘設計指標通過了LeCroy示波器的QualiPHY對于1600Mbps的DDR3的標準測試,因此眼圖各指標符合設計要求。
進一步利用示波器觀察DDR3時序:DQS信號如圖5-6所示:當DDR3進入讀狀態時,DQS前導碼先產生負脈沖。相反,當DDR3進入寫狀態時,DQS前導碼先產生正脈沖。
圖5-6DDR3 DQS信號測試
示波器自帶的QualiPHY功能能夠對DDR3各項性能進行測試,測試完成后將會生成一份測試報告,如圖5-7所示。在測試報告中將詳細列出各項參數的測量值和理論值,并對是否達標進行分析。
圖5-7差分時鐘線測試報告
1.4ADV7511視頻處理器驗證
為驗證ADV7511視頻處理器芯片部分的電路設計,編寫測試代碼以完成驗證。在進行該部分的測試過程中,我們基于ZYNQARM部分編寫IIC配置接口,配置ADV7511寄存器,使能芯片,同時,FPGA部分按照時序要求編寫測試圖像,并輸出到ADV7511,最終板級輸出效果如圖5-8所示。
圖5-8ADV7511測試圖像圖
由上圖可知,ADV7511寄存器配置正確,芯片正常使能,FPGA時序發生正確,能夠正常顯示圖像。
1.5 PCIE系統接口驗證
圖5-9上位機數據發送窗口為驗證PCIE系統接口的功能,我們通過上位機向系統的PCIE接口發送數據文件,如圖5-9所示。
通過Vivado的ILA工具采得數據傳輸波形,如圖5-10所示。從圖5-10的波形中,對比上位機發送的文件數據,可知PCIE讀取的數據文件正確無誤。
圖5-10系統PCIE接口數據文件抓取波形圖
2.系統聯調
整體系統聯調效果圖如圖5-11所示:
圖5-11系統整體效果圖
通過以上的效果可以看出,本作品可以實現本地視頻處理平臺PCIE接口從上位機接收超高清4K視頻流的數據,并經過SFP/SFP+高速光傳輸接口高速傳送至分布式視頻處理平臺,同時本地與分布式視頻處理平臺兼有4K視頻分割顯示的實時處理能力。
審核編輯:劉清
-
FPGA
+關注
關注
1637文章
21842瀏覽量
608523 -
DDR3
+關注
關注
2文章
277瀏覽量
42574 -
PCB設計
+關注
關注
394文章
4714瀏覽量
87189 -
CORTEX-A9
+關注
關注
0文章
38瀏覽量
35532 -
PCIe接口
+關注
關注
0文章
121瀏覽量
9878
原文標題:基于FPGA的分布式視頻處理平臺
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
如何利用FPGA設計無線分布式采集系統?
分布式系統的優勢是什么?
分布式KVM坐席拼控系統解決方案
如何高效完成HarmonyOS分布式應用測試?
基于混沌置亂預處理的分布式視頻編碼
應用分布式算法在FPGA平臺實現FIR低通濾波器
FIR數字濾波器分布式算法的原理及FPGA實現

WMSN的分布式視頻編碼技術研究

評論