基于fpga的圖像處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于圖像處理領(lǐng)域,涉及到基于FPGA的圖像處理方向,特別涉及到一種基于FPGA的圖像處理系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)字圖像處理技術(shù)在日常生活、生產(chǎn)建設(shè)、國防安全等方面有著廣泛的應(yīng)用。傳統(tǒng)的圖像處理技術(shù)在處理大量數(shù)據(jù)時很難同時滿足處理效果和實時性要求,芯片技術(shù)的快速發(fā)展,使得通過硬件實現(xiàn)數(shù)字圖像的實時處理成為可能,其中FPGA(現(xiàn)場可編程門陣列)由于其并行計算的特點成為了實時圖像處理的理想選擇。在設(shè)計基于FPGA的圖像處理系統(tǒng)的時候,設(shè)計人員往往需要進行費時費力的調(diào)試。
【發(fā)明內(nèi)容】
[0003]為了克服現(xiàn)有技術(shù)中基于FPGA的圖像處理時調(diào)試復(fù)雜的問題,本發(fā)明提供一種基于FPGA的圖像處理系統(tǒng),本系統(tǒng)采用QUAD SPI配置器件,電路啟動時間比SPI配置方式快4倍。
[0004]本發(fā)明的技術(shù)方案是:一種基于FPGA的圖像處理系統(tǒng),該系統(tǒng)包括視頻解碼模塊、設(shè)置在FPGA上的圖像處理模塊和視頻編碼模塊組成,視頻解碼模塊將視頻信號進行解碼處理后傳輸給設(shè)有圖像處理模塊的FPGA進行預(yù)處理,處理后的圖像傳輸給視頻編碼模塊。
[0005]所述視頻解碼模塊包括LVDS接收單元、CCIR-D接收單元和SD-SDI接收單元,均進行視頻信號接收。所述CCIR-D接收單元中采用AD812模塊實現(xiàn)CCIR-D接收單元的輸入轉(zhuǎn)換單邊信號PAL-D,其中PAL-D視頻信號采用CCIR-D接收單元中設(shè)有的ADV7180模塊實現(xiàn)解碼功能。所述SD-SDI接收單元包括芯片均衡器GS2994模塊、時鐘恢復(fù)器GS2965模塊和GS1670模塊,視頻信號經(jīng)解碼后送入圖像處理模塊處理,SD-SDI按照高速信號75阻抗布線,GS2994與GS2965、GS2965與GS1670之間采用100歐姆差分布線。
[0006]所述圖像處理模塊還連接有進行模擬量和離散量的信號采集的模擬量模塊和離散量模塊。所述設(shè)有圖像處理模塊的FPGA內(nèi)存設(shè)置中連接有完成DDR2讀寫的DDR2模塊和SDRAM讀寫設(shè)計的SDRAM模塊。在圖像處理模塊中設(shè)有選擇接收視頻數(shù)據(jù)的SEL模塊、接收視頻緩沖數(shù)據(jù)的SDRAM_CTRL模塊、SDRAM_ffR_FIF0模塊、SDRAM_CTRL模塊、SDRAM_RD_FIFO模塊和VIDE0_HME_GEN模塊配合完成SDRAM讀寫功能,編碼后的視頻信號經(jīng)過SEL模塊處理后,傳送到SDRAM_WR_FIF0模塊,由SDRAM_CTRL模塊寫入到SDRAM中;LVDS單元的采集的信息發(fā)送到VIDE0_HME_GEN模塊,根據(jù)VIDE0_HME_GEN產(chǎn)生圖像時序,經(jīng)過SDRAM_RD_FIF0模塊,由SDRAM_CTRL模塊讀出SDRAM中圖像數(shù)據(jù)。設(shè)有圖像處理模塊的FPGA中采用MIG_CTRL模塊來產(chǎn)生DDR2讀寫模塊,F(xiàn)PGA中設(shè)有VIDE0_WR_DDR2模塊、VIED0_HME_GEN2 模塊、PAL-D_RD_CTRL 模塊、VIED0_HME_GEN 模塊、DVI_RD_CTRL 模塊和 C0E_RD_WR 模塊;視頻解碼模塊中LVDS單元的采集的信息經(jīng)過疊加后經(jīng)過VIDE0_WR_DDR2模塊,由MIG_CTRL模塊中的Pl接口寫入到DDR2模塊中;根據(jù)VIED0_HME_GEN2模塊,由PAL_D_RD_CTRL模塊、MIG_CTRL模塊的P3接口讀取DDR2模塊中數(shù)據(jù)發(fā)送到視頻編碼模塊中;根據(jù)VIEDO_TIME_GEN模塊,由DVI_RD_CTRL模塊、MIG_CTRL模塊的P2接口讀取DDR2模塊中的數(shù)據(jù)發(fā)送到視頻編碼模塊;COE_RD_WR模塊將外部設(shè)備中的FLASH模塊中的COE參數(shù)讀出,由MIG_CTRL模塊的P4接口寫入DDR2模塊中。
[0007]所述視頻編碼模塊中包括DVI編碼模塊和CCIR-D編碼模塊,輸出端標識為DV1-OUT和CCIR-D-OUT輸出端。所述DVI編碼模塊采用TFP410模塊,CCIR-D編碼模塊采用ADV7179模塊和EL5371模塊。
[0008]本發(fā)明有如下積極效果=SD-SDI在傳輸過程中受連接器等影響,信號損失嚴重,本系統(tǒng)中SD-SDI接收采用了均衡器GS2994、時鐘恢復(fù)器GS2965來加強信號抗干擾能力。本設(shè)計中采用SDRAM,PAL時序與VGA時序轉(zhuǎn)換;SDRAM的芯片時鐘在100MHZ就可以滿足設(shè)計,功耗小,與FPGA之間不需要占用專用管腳。采用DDR2可以實現(xiàn)各種復(fù)雜的圖像處理,如雙線性插值等。整體系統(tǒng)功耗小于10W。本系統(tǒng)由于采用QUAD SPI配置器件,電路啟動時間比SPI配置方式快了 4倍。
【附圖說明】
[0009]圖1是本發(fā)明中基于FPGA的圖像處理系統(tǒng)的工作原理圖;
[0010]圖2是本發(fā)明中基于FPGA的圖像處理系統(tǒng)的FPGA實現(xiàn)框圖;
[0011]圖3是本發(fā)明中基于FPGA的圖像處理系統(tǒng)的GSPI寫時序圖;
[0012]圖4是本發(fā)明中基于FPGA的圖像處理系統(tǒng)的GSPI讀時序圖。
圖5是本發(fā)明FPGA與GS1670A和GS1670B具體連接圖結(jié)構(gòu)圖。
【具體實施方式】
[0013]下面對照附圖,通過對實施例的描述,本發(fā)明的【具體實施方式】如所涉及的各構(gòu)件的形狀、構(gòu)造、各部分之間的相互位置及連接關(guān)系、各部分的作用及工作原理、制造工藝及操作使用方法等,作進一步詳細的說明,以幫助本領(lǐng)域技術(shù)人員對本發(fā)明的發(fā)明構(gòu)思、技術(shù)方案有更完整、準確和深入的理解。
[0014]一種基于FPGA的圖像處理系統(tǒng),本系統(tǒng)主要由視頻解碼源、圖像處理模塊和視頻編碼模塊組成,圖像處理模塊是內(nèi)嵌在FPGA上以FPGA為核心建立的,主要由FPGA進行圖像處理。視頻解碼源由儀器模擬產(chǎn)生,解碼模塊采集到視頻信號進行解碼后,傳輸給圖像處理模塊進行FPGA預(yù)處理,處理后的圖像傳輸給視頻編碼模塊進行DVI編碼和PAL編碼等編碼處理。圖像處理模塊充分利用FPGA并行計算的特點,結(jié)合流水線結(jié)構(gòu),提高了算法的處理速度,DVI編碼和PAL編碼克服了因相位失真而起的色彩變化、圖像彩色誤差較小。
[0015]如圖1所示,視頻解碼模塊包括LVDS接收單元,CCIR接收單元和SD-SDI接收單元。LVDS接收單元采用無鉛芯片DS90CF364模塊增強綠色環(huán)保意識,視頻800*600@60Hz8bit,達到視頻分辨率800*600、刷新率60Hz、數(shù)據(jù)位寬8bit的效果,LVDS接收單元可以大幅節(jié)省系統(tǒng)的電纜和連接器成本,并且可以減少連接器占面積所需的物理空間。CCIR接收單元中采用AD812模塊實現(xiàn)CCIR_D_IN轉(zhuǎn)換單邊信號PAL-D的功能,其中PAL-D視頻信號采用ADV7180模塊實現(xiàn)解碼功能,視頻信號達到720*576@25HZ 8bit。SD-SDI接收單元中每路視頻信號為8位單色灰度等級數(shù)據(jù),幀頻為25Hz,能夠進行視頻信號采集。SD-SDI接收單元由GS2994模塊、GS2965模塊、GS1670模塊等組成,經(jīng)解碼器芯片解碼后送入圖像處理模塊由FPGA處理。因為SD-SDI接收單元在傳輸過程中受連接器等影響,信號損失嚴重,故本系統(tǒng)中SD-SDI接收單元采用了均衡器GS2994模塊、時鐘恢復(fù)器GS2965模塊來加強信號抗干擾能力。在進行PCB板設(shè)計時SD-SDI接收單元按照高速信號75阻抗布線,GS2994模塊與GS2965模塊、GS2965模塊與GS1670模塊之間信號采用100歐姆差分布線,使用阻抗差分布線保證了信號傳輸?shù)馁|(zhì)量,抑制了干擾。
[0016]設(shè)有圖像處理模塊的FPGA設(shè)有OSD模塊能夠?qū)崿F(xiàn)視頻疊加(OSD)功能;還設(shè)有模擬量模塊和離散量模塊進行2路模擬量采集和2路離散量采集的信號采集模塊;由于采用了 RS-422接口,抗干擾能力強,傳輸距離遠,可以進行422輸出;內(nèi)存設(shè)置采用連接有DDR2模塊(Double Data Rate 2)和 SDRAM模塊(Synchronous Dynamic Random Access Memory,同步動態(tài)隨機存儲器),DDR2模塊采用EDE1116AEBG芯片,DDR2擁有4bit數(shù)據(jù)讀預(yù)取能力,DDR2內(nèi)存每個時鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以內(nèi)部控制總線4倍的速度運行,縮短了系統(tǒng)運行時間。同時采用DDR2可以實現(xiàn)各種復(fù)雜的圖像處理,如雙線性插值等,DDR2模塊主要用于存放參數(shù)、OSD模塊處理后的視頻流、圖像處理后的視頻存儲,DDR2采用EDE1116AEBG芯片,容量IG bits,最高數(shù)據(jù)速率800Mbps,滿足系統(tǒng)要求。SDRAM模塊采用K4S281632D芯片,SDRAM模塊主要用于PAL-D解碼后的視頻數(shù)據(jù)儲存,每幀的數(shù)據(jù)3.164Mbit (720*576*8bit),在視頻的格式轉(zhuǎn)換過程中,需要4幀的緩存空間,在選擇芯片時候,需要考慮芯片容量按照50%降額。SDRAM模塊采用K4S281632D芯片,容量128Mbit,最高時鐘133MHZ,滿足系統(tǒng)要求。SDRAM的采用,能夠?qū)崿F(xiàn)PAL時序與VGA時序轉(zhuǎn)換;而且SDRAM的芯片時鐘在100MHZ就可以滿足設(shè)計,功耗小,與FPGA之間不需要占用專用管腳。本系統(tǒng)由于采用QUAD SPI配置器件,電路啟動時間比SPI配置方式快了 4倍。
[0017]視頻編碼模塊中的輸出端包括DVI編碼模塊的DV1-OUT和CCIR-D編碼模塊的CCIR-D-OUT輸出端,利用了 DVI和CCIR-D編碼功能,視頻編碼采用的是TFP410模塊和ADV7179模塊,芯片ADV7179性能高,尺寸小,具有標準I2C總線接口,方便主機配置。
[0018]如圖2所示,是本系統(tǒng)圖像處理模塊中的FPGA的實現(xiàn)框圖。視頻解碼源中的CCIR-D接收單元的輸入端CCIR-D-1Nl和CCIR-D-1N2連接FPGA中的IIC_C0NFIG模塊,SD-SDI接收單元中的輸入端SD-SD1-1Nl和SD-SD1-1N2連接GSPI_C0NFIG模塊,CCIR-D接收單元和SD-SDI接收單元通過FPGA內(nèi)部的SEL模塊連接保存信息在SDRAM內(nèi),F(xiàn)PGA中通過 SDRAM_CTRL 模塊進行 SDRAM 讀寫。SEL 模塊可以選擇 CCIR_D_IN1、CCIR_D_IN2、SD_SDI_INl、SD-SDI_IN2中一路視頻數(shù)據(jù)送入連接SEL模塊的SDRAM_WR_FIF0模塊。
[0019]在IIC_C0NFIG模塊的設(shè)計中,為了使視頻解碼ADV7180模塊和視頻編碼ADV7179模塊正常工作,需要對其內(nèi)部的控制寄存器進行數(shù)據(jù)配置,按照I2C(Inter IntegratedCircuit)總線的要求傳輸數(shù)據(jù),并把數(shù)據(jù)儲存到內(nèi)部寄存器中,使芯片按照我們設(shè)定的狀態(tài)來工作,設(shè)置過程是由I2C總線配置模塊來完成。本系統(tǒng)所使用的解碼芯片ADV7180和編碼芯片ADV7179具有I2C總線片上接口,因此我們可以通過IIC協(xié)議對其進行配置,具體的配置地址和數(shù)據(jù)可以從芯片的Datasheet上獲得。ADV7180模塊和ADV7179模塊內(nèi)部寄存器的值分為默認值和設(shè)置值,默認值是芯片上電后的缺省值,設(shè)置值是通過IIC總線對默認值進行修改以重新定義芯片功能。
[0020]配置ADV7180頂層模塊為C0NFIG_ADV7180,它包含一個子模塊12C_Contro 11 er控制傳輸模塊,控制模塊要實現(xiàn)的功能是使配置數(shù)據(jù)按照IIC協(xié)議的要求進行傳輸。配置模塊的功能是將需要配置的每個寄存器通過查找表的方式被賦予正確的參數(shù)值,并構(gòu)造成符合IIC總線規(guī)范的數(shù)據(jù)結(jié)構(gòu),再依次送到II2_Controller模塊,在控制模塊的控制傳輸下將參數(shù)值配置到內(nèi)部寄存器中。
[0021]配置過程由一個狀態(tài)機構(gòu)成。它有三個狀態(tài),StateJ):向寄存器寫配置數(shù)據(jù);State_l:確定是否成功寫入;State_2:表示已經(jīng)成功配置一個數(shù)據(jù)。它所用的