基于FPGA和DSP的高速圖像處理系統(tǒng)
摘要:為了提高圖像處理系統(tǒng)的高性能和低功耗,提出了一種基于FPGA和DSP協(xié)同作業(yè)的高速圖像處理嵌入式系統(tǒng),其中DSP為主處理器,負(fù)責(zé)圖像處理,而FPGA為協(xié)處理器,負(fù)責(zé)系統(tǒng)的所有數(shù)字邏輯。整個(gè)系統(tǒng)中FPGA和DSP的工作之間形成流水,同時(shí)借助于單片雙口RAM(CY7C025 AV-15AI)完成兩者的通信,比使用單片DSP建立的處理系統(tǒng)性能提高25%左右。該系統(tǒng)具有可重構(gòu)性,方便其他的算法于該系統(tǒng)上實(shí)現(xiàn)。
關(guān)鍵詞:圖像處理;FPGA;DSP;雙口RAM
0 引言
現(xiàn)階段用于數(shù)字圖像處理的系統(tǒng)有很多種,而從成本、性能、開(kāi)發(fā)難易程度等多方面的考慮,基于FPGA和DSP的靈活性高、實(shí)用性強(qiáng)、可靠性高的圖像壓縮系統(tǒng)脫穎而出。在該種結(jié)構(gòu)的圖像處理系統(tǒng)當(dāng)中,F(xiàn)PGA和DSP之間數(shù)據(jù)的通信方式和速度,將直接影響著整個(gè)圖像處理系統(tǒng)的效率。
本文試圖借助于ALTERA公司的低功耗FPGA(EP1C12Q240)、TI公司的DSP(TMS320VC5502)和一片CYPRESS公司雙口RAM(CY7C025),設(shè)計(jì)出一種功耗低、設(shè)計(jì)靈活、能夠?qū)崿F(xiàn)復(fù)雜處理算法且高效、穩(wěn)定的圖像處理系統(tǒng)。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)主要模塊分為電源管理模塊、圖像采集模塊、速度采集模塊、主控源模塊及輔助控制模塊。整個(gè)高速圖像處理系統(tǒng)主要由CMOS圖像傳感器(MT9M011)、FPGA(EP1C12Q240C8)、雙口RAM(CY7C025)、DSP(TM320VC5502)、視頻D/A(ADV7123)和一些存儲(chǔ)器等組成,如圖1所示。首先,在圖像采集模塊控制COMS圖像傳感器下,圖像數(shù)據(jù)則以25 f/s的速率向FPGA輸送。然后,通過(guò)FPGA的控制使其緩存在片外的SDRAM中,之后實(shí)時(shí)顯示模塊控制ADV7123做到了對(duì)圖像的實(shí)時(shí)顯示。如果用戶通過(guò)外部控制,選擇了壓縮模式,則原始的圖像數(shù)據(jù)將由幀存模塊移至高速緩沖模塊中,DSP通過(guò)EMIF接口外擴(kuò)存儲(chǔ)器的方式,高效的讀取雙口RAM中的圖像數(shù)據(jù)。最后,圖像數(shù)據(jù)在DSP內(nèi)部做好JPEG壓縮后,以相同的方式通過(guò)高速緩沖模塊,把數(shù)據(jù)傳給FPGA的存儲(chǔ)控制模塊,做到壓縮圖像數(shù)據(jù)的存儲(chǔ)。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 圖像采集模塊
本系統(tǒng)圖像采集模塊采用的攝像頭為CMOS圖像傳感器,型號(hào)為MT9M011。CMOS圖像傳感器與CCD傳感器相比,雖然采集出來(lái)的圖像效果弱差一點(diǎn),但是CMOS的成本遠(yuǎn)遠(yuǎn)低于CCD產(chǎn)品,而且CMOS傳感器的功耗較低。圖像采集模塊具體設(shè)計(jì)如圖2所示。
2.2 圖像顯示模塊
圖像顯示模塊主要作用是將FPGA采集到的數(shù)字圖像,實(shí)時(shí)地轉(zhuǎn)換成模擬圖像數(shù)據(jù),并輸出到帶VGA接口的顯示器上。圖像顯示接口電路包括圖像編碼電路和VGA接口電路,其電路如圖3所示。本電路中選用的圖像編碼芯片為AD(Analog Devices)公司的高速視頻數(shù)模轉(zhuǎn)換芯片,其具體型號(hào)為ADV7123KST140。該芯片具有3組獨(dú)立的十位寬RGB數(shù)字輸入接口和3個(gè)相對(duì)的RGB模擬輸出接口,5 V或3.3 V供電都行,速度為140 MHz,低功耗。
2.3 DSP外部存儲(chǔ)器接口電路設(shè)計(jì)
本系統(tǒng)中選用TI公司的超低功耗DSP(TMS320VC5502),主要是來(lái)完成圖像處理算法的實(shí)現(xiàn)。在對(duì)外部存儲(chǔ)器接口設(shè)計(jì)上,該DSP采用外部存儲(chǔ)器接口(EMIF)來(lái)進(jìn)行對(duì)外部存儲(chǔ)器的擴(kuò)展,具體擴(kuò)展如圖3所示。
TMS320VC5502的EMIF可以訪問(wèn)的存儲(chǔ)空間大小為16 MB,該系統(tǒng)中通過(guò)配置把空間平分為4部分,EMIF的片選信號(hào)線CE3~CE0分別對(duì)應(yīng)著這4個(gè)空間的選通控制。另外EMIF的組成還包括數(shù)據(jù)線D[31:0]、地址線A[21:2]、字節(jié)使能線:BE[3:0]及各類存儲(chǔ)器的讀/寫控制信號(hào)線等。
3 系統(tǒng)軟件設(shè)計(jì)
該系統(tǒng)的設(shè)計(jì)根據(jù)硬件結(jié)構(gòu)的總體劃分,也可以分為2大部分來(lái)描述。FPGA方面的軟件設(shè)計(jì)主要是各功能模塊的編寫,如攝像頭I2C配置模塊、SDRAM控制器、圖像圖像預(yù)處理器、VGA控制器、SD卡控制器、高速緩沖器等;DSP方面的設(shè)計(jì)主要包括2方面,一方面是外部存儲(chǔ)器驅(qū)動(dòng)的編寫,如SDRAM、雙口RAM、FLASH等;另一方面為在DSP內(nèi)部實(shí)現(xiàn)高效的圖像壓縮算法,如本文采用的JPEG壓縮算法的實(shí)現(xiàn)。
整個(gè)系統(tǒng)的程序運(yùn)行如圖4所示,從高速壓縮系統(tǒng)軟件流程圖中可以清楚的看到,F(xiàn)PGA和DSP各自的程序運(yùn)行遵循著自己的一套規(guī)則,但是它們之間的之間又實(shí)時(shí)的完成著數(shù)據(jù)的交互。FPGA向DSP方向的指令,是通過(guò)FPGA方面設(shè)置了一個(gè)中斷信號(hào),當(dāng)DSP接受到該信號(hào)的時(shí)候,就開(kāi)始從雙口RAM中按照規(guī)則進(jìn)行原始數(shù)據(jù)的讀?。籇SP如果要完成向FPGA方面進(jìn)行數(shù)據(jù)傳輸時(shí),遵循的一個(gè)類似的執(zhí)行規(guī)則,DSP會(huì)提供一個(gè)能夠進(jìn)行辨別的信號(hào),讓其從雙口RAM中把壓縮后的圖像數(shù)據(jù)讀進(jìn)來(lái)。
4 測(cè)試結(jié)果
將FPGA上的程序下載EPCS中和將DSP開(kāi)發(fā)程序燒寫進(jìn)FLASH(默認(rèn)自舉方式),對(duì)實(shí)時(shí)圖像處理系統(tǒng)進(jìn)行軟硬件聯(lián)合調(diào)試。設(shè)置采集和處理圖像分辨率為640×480,視頻YUV下采樣率選4:1:1,DSP中壓縮一幀圖像所用的時(shí)間在23 ms左右,壓縮比基本上在10:1~20:1的范圍內(nèi),且SNR值基本上保證在30 dB以上。23 ms的DSP壓縮時(shí)間,再加上每幀采集、傳輸和JPEG文件存儲(chǔ)所用的時(shí)間,大約在31 ms左右,因此系統(tǒng)整體效率上能保證對(duì)采集來(lái)的圖像做實(shí)時(shí)處理。測(cè)試結(jié)果表明系統(tǒng)的開(kāi)發(fā)已經(jīng)達(dá)到預(yù)定的設(shè)計(jì)要求。
5 結(jié)論
本文基于FPGA和DSP,設(shè)計(jì)了一種結(jié)構(gòu)簡(jiǎn)單、成本低、性能高、功耗低的高速圖像處理系統(tǒng)。在總結(jié)現(xiàn)有的FPGA與DSP高速通訊方式的基礎(chǔ)上,提出了一種利用單片雙口RAM做通信媒質(zhì)完成FPGA與DSP之間數(shù)據(jù)高速通訊的結(jié)構(gòu),為實(shí)現(xiàn)更好的嵌入式圖像處理系統(tǒng)提供了一個(gè)良好的解決方案。