基于FPGA+DSP架構視頻處理系統設計
摘要:實(shí)時(shí)圖像處理技術(shù)在工業(yè)、醫學(xué)、軍事和商業(yè)等領(lǐng)域有廣泛的應用?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/FPGA">FPGA+DSP架構的視頻處理系統充分發(fā)揮了各自器什的長(cháng)處,不儀設計周期短,開(kāi)發(fā)費用低,而且設計靈活,更改方便,功耗較低,便于實(shí)現系統的小型化。因此對基與FPGA+DSP架構的視頻處理系統進(jìn)行研究和設計具有重要的意義。
本文引用地址:http://dyxdggzs.com/article/201610/308485.htm0 引言
本系統采用基于FPGA與DSP協(xié)同工作進(jìn)行視頻處理的方案,實(shí)現視頻采集、處理到傳輸的整個(gè)過(guò)程。
實(shí)時(shí)視頻圖像處理中,低層的預處理算法處理的數據量大,對處理速度要求高,但算法相對比較簡(jiǎn)單,適合于用FPGA進(jìn)行硬件實(shí)現,這樣能兼顧速度及靈活性。高層的處理算法結構復雜,適用于運算速度高、尋址方式靈活、通信機制強的DSP芯片宋實(shí)現。
DSP+FPGA架構的最大特點(diǎn)是結構靈活、有較強的通用性、適合于模塊化設計,從而能夠提高算法效率,同時(shí)其開(kāi)發(fā)周期短、系統易于維護和升級,適合于實(shí)時(shí)視頻圖像處理。
系統采用模塊化的設計方法,將整個(gè)系統劃分為三部分:視頻采集單元、視頻處理單元和視頻傳輸單元。
整個(gè)系統以FPGA作為核心控制單元并完成視頻信號的中值濾波工作;以DSP作為整個(gè)系統的核心處理單元對采集的視頻圖像信息進(jìn)行JPEG壓縮;在視頻傳輸單元設計了以PDIUSBD12芯片為基礎的USB總線(xiàn),負責視頻信號的傳輸。
1 系統硬件總體架構
一個(gè)完整的視頻處理系統,主要由視頻采集單元、視頻處理單元及視頻傳輸單元三部分組成。在進(jìn)行系統設計時(shí)須確保各部分的無(wú)縫銜接。
圖像采集單元由FPGA和MB86S02視頻采集芯片組成,包括視頻信號的采集和預處理,把輸入的視頻信號轉換成系統能夠處理的數字圖像數據,并按照一定的格式存儲在確定的存儲區域。
圖像處理單元是本系統的核心,對圖像數據進(jìn)行壓縮處理,實(shí)現系統要達到的功能。
圖像傳輸單元采用FPGA+USB的方式實(shí)現視頻數據的傳輸,通過(guò)基于PDIUSBD12芯片的USB總線(xiàn),將壓縮后的視頻圖像信息發(fā)送到接收端,在接收端使用在PC上編寫(xiě)的應用程序將圖像解壓縮并顯示出來(lái)。
整個(gè)硬件系統由FPGA和DSP兩個(gè)分系統組成,FPGA作為視頻采集單元,將采集到的視頻信號預處理后傳給DSP,DSP作為圖像處理單元是本系統的核心,對FPGA預處理后的視頻圖像信息進(jìn)行JPEG壓縮處理,DSP單元的性能決定著(zhù)整個(gè)系統的性能,DSP完成圖像處理任務(wù)后,將把結果返回給FPGA,FPGA將經(jīng)過(guò)壓縮處理后的圖像信息寫(xiě)入接口控制芯片的數據緩沖區,由接口控制芯片負責信息的傳輸,系統總體框圖如圖1所示。

如圖1所示,MB86S02視頻圖像傳感器在FPGA的控制下進(jìn)行視頻圖像信息的采集,在收到PC機的采集命令后MB86S02開(kāi)始視頻信號的采集FPGA作為系統的核心控制單元不僅負責視頻圖像的采集,而且負責視頻圖像信息的預處理和系統各單元模塊之間的數據交互。針對視頻圖像數據量大的特點(diǎn),為了保證系統的實(shí)時(shí)性要求,系統采用大容量的片外SDRAMR對采集到的視頻圖像信息進(jìn)行緩存,SDRAM控制器由FPGA實(shí)現,視頻圖像信息經(jīng)過(guò)SDRAM緩存后首先要由FPGA對其進(jìn)行濾波處理,以消除圖像信息中的噪聲干擾,本系統中采用中值濾波的方式對采集到的視頻信息進(jìn)行處理,濾波后的數據通過(guò)FPGA內部FIFO進(jìn)入DSP進(jìn)行下一步的壓縮處理。DSP上電后首先進(jìn)行引導程序的自加載,等待FPGA發(fā)送請求,在收到FPGA的請求后,DSP建立EDMA通道從FPGA獲取視頻數據,存滿(mǎn)一幀后,開(kāi)始對視頻圖像進(jìn)行JPEG壓縮處理,壓縮處理后的視頻圖像信息經(jīng)過(guò)FIFO緩存后,在FPGA的控制下寫(xiě)入USB接口控制器的數據緩存區,等待PC機的讀數請求,USB接口控制器在收到PC機的讀數請求后將數據寫(xiě)入PDIUSBD12的端口1,以便PC機下一步讀取數據。
2 系統軟件總體設計
系統的軟件設計根據硬件結構的總體劃分,也可以分為兩大部分來(lái)描述。整個(gè)系統的運行如圖2所示,FPGA和DSP各自的程序獨立運行,通過(guò)中斷信號完成數據的實(shí)時(shí)交互。FPGA向DSP方向的指令是通過(guò)FPGA發(fā)送一個(gè)EDMA請求,DSP通過(guò)響應EDMA請求,建立EDMA通道,開(kāi)始從FIFO中進(jìn)行預處理后數據的讀取,DSP向FPGA傳輸數據時(shí),通過(guò)向FPGA發(fā)送一個(gè)中斷信號,讓其從FIFO中把壓縮后的圖像數據讀出來(lái)。

如圖2所示,整個(gè)系統工作流程可以簡(jiǎn)單描述如下:系統上電后,首先DSP由flash實(shí)現自舉,并運行引導程序,之后轉入EDMA等待狀態(tài),FPGA初始化后等待外部圖像采集命令,收到圖像采集命令后開(kāi)始進(jìn)行圖像采集,并對采集到的圖像進(jìn)行預處理,預處理后的圖像經(jīng)過(guò)FIFO緩沖,在存儲一定量的數據之后,FPGA通過(guò)半滿(mǎn)信號向DSP發(fā)送EDMA請求,等待DSP響應,DSP一旦收到來(lái)自FPGA的EDMA請求,立即建立EDMA通道,從FIFO中讀取數據到L2存儲器,存滿(mǎn)一幀圖像后DSP開(kāi)始圖像壓縮,等待一幅圖像壓縮完成之后,DSP會(huì )向FPGA發(fā)送中斷信號,FPGA在收到中斷信號后開(kāi)始從FIFO中讀取壓縮后的圖像數據。一幀數據讀完后,判斷編碼信號是否有效,如果有效則按同樣的規則對下一幀圖像進(jìn)行壓縮,如果無(wú)效則通知DSP結束。
3 結論
本設計方案已經(jīng)經(jīng)過(guò)了硬件驗證,達到了預定的設計要求,實(shí)現了大數據量的實(shí)時(shí)處理。
系統體積僅為70×70mm,功耗小于5W,中值濾波速率平均20F/S,JPEG壓縮速率平均25F/s以上。不僅滿(mǎn)足了視頻處理系統的實(shí)時(shí)性要求,且體積小、功耗低,而且基于FPGA的可編程性,本系統具有良好的靈活性和擴展性。
評論