新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA+DSP架構(gòu)的視頻處理系統(tǒng)設(shè)計詳解

FPGA+DSP架構(gòu)的視頻處理系統(tǒng)設(shè)計詳解

作者: 時間:2016-12-21 來源:網(wǎng)絡(luò) 收藏

  本系統(tǒng)采用基于FPGADSP協(xié)同工作進行視頻處理的方案,實現(xiàn)視頻采集、處理到傳輸?shù)恼麄€過程。

本文引用地址:http://butianyuan.cn/article/201612/332367.htm

  實時視頻圖像處理中,低層的預處理算法處理的數(shù)據(jù)量大,對處理速度要求高,但算法相對比較簡單,適合于用FPGA進行硬件實現(xiàn),這樣能兼顧速度及靈活性。高層的處理算法結(jié)構(gòu)復雜,適用于運算速度高、尋址方式靈活、通信機制強的DSP芯片宋實現(xiàn)。

  DSP+FPGA架構(gòu)的最大特點是結(jié)構(gòu)靈活、有較強的通用性、適合于模塊化設(shè)計,從而能夠提高算法效率,同時其開發(fā)周期短、系統(tǒng)易于維護和升級,適合于實時視頻圖像處理。

  系統(tǒng)采用模塊化的設(shè)計方法,將整個系統(tǒng)劃分為三部分:視頻采集單元、視頻處理單元和視頻傳輸單元。

  整個系統(tǒng)以FPGA作為核心控制單元并完成視頻信號的中值濾波工作;以DSP作為整個系統(tǒng)的核心處理單元對采集的視頻圖像信息進行JPEG壓縮;在視頻傳輸單元設(shè)計了以PDIUSBD12芯片為基礎(chǔ)的USB總線,負責視頻信號的傳輸。

  1系統(tǒng)硬件總體架構(gòu)

  一個完整的視頻處理系統(tǒng),主要由視頻采集單元、視頻處理單元及視頻傳輸單元三部分組成。在進行系統(tǒng)設(shè)計時須確保各部分的無縫銜接。

  圖像采集單元由FPGA和MB86S02視頻采集芯片組成,包括視頻信號的采集和預處理,把輸入的視頻信號轉(zhuǎn)換成系統(tǒng)能夠處理的數(shù)字圖像數(shù)據(jù),并按照一定的格式存儲在確定的存儲區(qū)域。

  圖像處理單元是本系統(tǒng)的核心,對圖像數(shù)據(jù)進行壓縮處理,實現(xiàn)系統(tǒng)要達到的功能。

  圖像傳輸單元采用FPGA+USB的方式實現(xiàn)視頻數(shù)據(jù)的傳輸,通過基于PDIUSBD12芯片的USB總線,將壓縮后的視頻圖像信息發(fā)送到接收端,在接收端使用在PC上編寫的應(yīng)用程序?qū)D像解壓縮并顯示出來。

  整個硬件系統(tǒng)由FPGA和DSP兩個分系統(tǒng)組成,F(xiàn)PGA作為視頻采集單元,將采集到的視頻信號預處理后傳給DSP,DSP作為圖像處理單元是本系統(tǒng)的核心,對FPGA預處理后的視頻圖像信息進行JPEG壓縮處理,DSP單元的性能決定著整個系統(tǒng)的性能,DSP完成圖像處理任務(wù)后,將把結(jié)果返回給 FPGA,F(xiàn)PGA將經(jīng)過壓縮處理后的圖像信息寫入接口控制芯片的數(shù)據(jù)緩沖區(qū),由接口控制芯片負責信息的傳輸,系統(tǒng)總體框圖如圖1所示。

  

  圖1系統(tǒng)總體結(jié)構(gòu)圖

  如圖1所示,MB86S02視頻圖像傳感器在FPGA的控制下進行視頻圖像信息的采集,在收到PC機的采集命令后MB86S02開始視頻信號的采集 FPGA作為系統(tǒng)的核心控制單元不僅負責視頻圖像的采集,而且負責視頻圖像信息的預處理和系統(tǒng)各單元模塊之間的數(shù)據(jù)交互。針對視頻圖像數(shù)據(jù)量大的特點,為了保證系統(tǒng)的實時性要求,系統(tǒng)采用大容量的片外SDRAMR對采集到的視頻圖像信息進行緩存,SDRAM控制器由FPGA實現(xiàn),視頻圖像信息經(jīng)過 SDRAM緩存后首先要由FPGA對其進行濾波處理,以消除圖像信息中的噪聲干擾,本系統(tǒng)中采用中值濾波的方式對采集到的視頻信息進行處理,濾波后的數(shù)據(jù)通過FPGA內(nèi)部FIFO進入DSP進行下一步的壓縮處理。DSP上電后首先進行引導程序的自加載,等待FPGA發(fā)送請求,在收到FPGA的請求后,DSP建立EDMA通道從FPGA獲取視頻數(shù)據(jù),存滿一幀后,開始對視頻圖像進行JPEG壓縮處理,壓縮處理后的視頻圖像信息經(jīng)過FIFO緩存后,在 FPGA的控制下寫入USB接口控制器的數(shù)據(jù)緩存區(qū),等待PC機的讀數(shù)請求,USB接口控制器在收到PC機的讀數(shù)請求后將數(shù)據(jù)寫入PDIUSBD12的端口1,以便PC機下一步讀取數(shù)據(jù)。

  2系統(tǒng)軟件總體設(shè)計

  系統(tǒng)的軟件設(shè)計根據(jù)硬件結(jié)構(gòu)的總體劃分,也可以分為兩大部分來描述。整個系統(tǒng)的運行如圖2所示,F(xiàn)PGA和DSP各自的程序獨立運行,通過中斷信號完成數(shù)據(jù)的實時交互。FPGA向DSP方向的指令是通過FPGA發(fā)送一個EDMA請求,DSP通過響應(yīng)EDMA請求,建立EDMA通道,開始從FIFO中進行預處理后數(shù)據(jù)的讀取,DSP向FPGA傳輸數(shù)據(jù)時,通過向FPGA發(fā)送一個中斷信號,讓其從FIFO中把壓縮后的圖像數(shù)據(jù)讀出來。

  

  圖2系統(tǒng)軟件軟件流程圖

  如圖2所示,整個系統(tǒng)工作流程可以簡單描述如下:系統(tǒng)上電后,首先DSP由flash實現(xiàn)自舉,并運行引導程序,之后轉(zhuǎn)入EDMA等待狀態(tài),F(xiàn)PGA初始化后等待外部圖像采集命令,收到圖像采集命令后開始進行圖像采集,并對采集到的圖像進行預處理,預處理后的圖像經(jīng)過FIFO緩沖,在存儲一定量的數(shù)據(jù)之后,F(xiàn)PGA通過半滿信號向DSP發(fā)送EDMA請求,等待DSP響應(yīng),DSP一旦收到來自FPGA的EDMA請求,立即建立EDMA通道,從FIFO中讀取數(shù)據(jù)到L2存儲器,存滿一幀圖像后DSP開始圖像壓縮,等待一幅圖像壓縮完成之后,DSP會向FPGA發(fā)送中斷信號,F(xiàn)PGA在收到中斷信號后開始從 FIFO中讀取壓縮后的圖像數(shù)據(jù)。一幀數(shù)據(jù)讀完后,判斷編碼信號是否有效,如果有效則按同樣的規(guī)則對下一幀圖像進行壓縮,如果無效則通知DSP結(jié)束。

  3結(jié)論

  本設(shè)計方案已經(jīng)經(jīng)過了硬件驗證,達到了預定的設(shè)計要求,實現(xiàn)了大數(shù)據(jù)量的實時處理。

  系統(tǒng)體積僅為70×70mm,功耗小于5W,中值濾波速率平均20F/S,JPEG壓縮速率平均25F/s以上。不僅滿足了視頻處理系統(tǒng)的實時性要求,且體積小、功耗低,而且基于FPGA的可編程性,本系統(tǒng)具有良好的靈活性和擴展性。



關(guān)鍵詞: FPGADSP架

評論


技術(shù)專區(qū)

關(guān)閉