新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的并行DSP芯片實時圖像編碼平臺

基于FPGA的并行DSP芯片實時圖像編碼平臺

作者:西安電子科技大學 郭銳 王玉國 吳成柯 時間:2008-04-16 來源:電子產(chǎn)品世界 收藏

  引言

本文引用地址:http://m.butianyuan.cn/article/81619.htm

  圖像壓縮技術(shù)在現(xiàn)代生活中的地位越來越重要,隨著現(xiàn)在的DSP處理數(shù)據(jù)速度的提高,對傳統(tǒng)的圖像壓縮而言,單片DSP即可達到很好的效果。但由于信息量的增長,尤其是高清晰度等概念的提出,系統(tǒng)的處理數(shù)據(jù)能力也需要提高,尤其是要求實時圖像壓縮編碼時,單片DSP無法勝任這樣的工作,即使是專用芯片也無法達到相應的要求。近十年來DSP技術(shù)飛速發(fā)展,在DSP主頻得到重大突破的同時,其并行技術(shù)和外部通信技術(shù)也得到了很大的提高。現(xiàn)在各大DSP廠商所生產(chǎn)的DSP都在數(shù)據(jù)級和指令級上實現(xiàn)了不同的并行技術(shù),如TI公司的TMS320 C64XX系列和ADI公司的Tiger SHARC系列芯片。本文主要介紹的是采用ADI公司的ADSP-TS201S芯片實現(xiàn)的多DSP系統(tǒng)。

  ADSP-TS201S的并行技術(shù)

  ADSP-TS201S芯片是ADI公司在2004年推出的一款芯片,具有600MHz的時鐘頻率,1.67ns的指令周期。ADSP-TS201S芯片通過外部口(External Port)和鏈路口(Link Ports)兩種接口技術(shù)對多處理器提供了有力的支持,這種多處理能力有以下特性:

  ·同一條通用總線支持多達8片DSP同時工作;

  ·提供多處理器的分布式總線仲裁邏輯,實現(xiàn)多處理器的無縫連接;

  ·用Link port 實現(xiàn)多處理器間的高速點對點通信。

  External Port提供了一個統(tǒng)一的地址空間,這個地址空間可以讓每個處理器直接訪問ADSP-TS201S芯片內(nèi)部的內(nèi)存和寄存器。該DSP的分布式總線仲裁邏輯可實現(xiàn)多處理器的無縫連接,并且支持多達八片ADSP-TS201S芯片和一片主處理器同時工作。仲裁邏輯還可以防止一個處理器占用外部總線時間過長。

  ADSP-TS201S芯片的四個Link Ports端口是多處理器方案的另一條實現(xiàn)路徑,Link Ports支持處理器間高達4GB每秒的數(shù)據(jù)傳輸速率,每條總線也提供1GB每秒的速率,也就是說四條總線總共提供4.87GB每秒的處理器間通信帶寬。

  共享存儲系統(tǒng)

  根據(jù)結(jié)構(gòu)的不同,多處理器并行系統(tǒng)可以分為分布式系統(tǒng)和共享存儲器式系統(tǒng),ADSP-TS201S 均支持這兩種并行處理器結(jié)構(gòu)。常見的共享存儲并行DSP系統(tǒng)結(jié)構(gòu)如圖1所示。

  共享存儲并行DSP系統(tǒng)的優(yōu)勢:由于它采用共享存儲結(jié)構(gòu),所以比較節(jié)省存儲資源。其次,共享總線節(jié)省了總線資源,可以提高系統(tǒng)的資源使用率。最后,也是最主要的,它采用主從式協(xié)同工作,使得各處理器分工明確,便于實現(xiàn)和調(diào)試。

  然而考慮到圖像編解碼時,完全共享存儲和總線往往會引起系統(tǒng)資源緊缺,而且在要求大量數(shù)據(jù)實時處理(如對高清圖像、視頻編解碼)時,完全共享存儲不能勝任。同時,采用DSP作為主控制器,不便于以后的系統(tǒng)升級和維護。最后,單一的共享存儲式結(jié)構(gòu)在DSP之間的通信方面明顯不如分布式。下文介紹的基于的改進共享存儲并行DSP系統(tǒng),更好的發(fā)揮了共享存儲并行DSP系統(tǒng)的優(yōu)勢,同時改進了上述缺點。

  實時系統(tǒng)實現(xiàn)

  本系統(tǒng)采用改進的共享存儲結(jié)構(gòu)設計,對一般的共享存儲并行DSP系統(tǒng)而言具有以下特點:

  ·SP之間采用分布耦合式,更加便于DSP之間的數(shù)據(jù)交換;

  ·引入DSP簇的概念,采用DSP簇共享存儲,解決存儲資源瓶頸;

  ·做主控制器,利于硬件實現(xiàn)并易于維護;

  ·擴展性較強,可以級聯(lián)以適應更高要求;

  ·采用獨立電源供電,減少電源線路對系統(tǒng)線路影響

  本系統(tǒng)由兩部分組成,第一部分為處理部分(Processboard),第二部分為控制預處理部分(Mainboard)。

  處理部分結(jié)構(gòu)

  Processboard由四片ADSP-TS201S組成,DSP之間采用松緊耦合的方式,構(gòu)成一個靈活高效的多處理單元并行結(jié)構(gòu)。所謂的松耦合是指四片DSP采用Link ports實現(xiàn)雙向互聯(lián)的方式。緊耦合是指兩片DSP構(gòu)成一個簇,DSP的外部總線連在簇總線上,外部存儲器也接在簇總線上。外部存儲器和各DSP的片內(nèi)存儲器作為共享資源都可以被總線上的DSP訪問。這種方式充分利用AD I公司DSP片上無縫連接的優(yōu)勢。Processboard結(jié)構(gòu)圖如圖2所示。

  本系統(tǒng)四片DSP拿出三組Link ports資源構(gòu)成雙向十字環(huán)連接,另外每片DSP還有一組Link ports與Mainboard連接,用于系統(tǒng)連部分之間的數(shù)據(jù)通信。這種主芯片近似完全對稱的結(jié)構(gòu)有利于PCB的合理布線。所有DSP的數(shù)據(jù)、地址以及控制信號等均通過一個150針的接口與Mainboard相連,構(gòu)成一個完整的系統(tǒng)平臺。

  在這樣的系統(tǒng)結(jié)構(gòu)中,待處理的信號可以經(jīng)過Link ports送至Mainboard上的,或者通過速度更快的LVDS接口經(jīng)串并轉(zhuǎn)換芯片輸入。由于兩個簇總線均接至FPGA,故輸入數(shù)據(jù)可以通過FPGA內(nèi)部做成數(shù)據(jù)總線開關,使得兩個DSP簇可以“乒乓”讀取和處理連續(xù)不斷輸入的待處理信號。處理完成的數(shù)據(jù)經(jīng)Link ports送回至Mainboard。對于一個DSP簇,利用緊耦合的方式,用一片8M×32位的SDRAM存放數(shù)據(jù)塊,通過DMA技術(shù)可在DSP內(nèi)核進行信號處理時高速傳輸數(shù)據(jù),提高了實時性并最大限度緩解了總線瓶頸。簇內(nèi)的DSP及外圍設備接口通過32位地址總線互聯(lián),映射到統(tǒng)一存儲空間。因此對外部存儲空間的訪問就等同于訪問外部接口設備。外部總線工作在100 MHz,單片DSP的總線吞吐率達到1 GB 每秒。

  控制預處理部分結(jié)構(gòu)

  Mainboard由兩個FPGA和一片ADSP-TS201S組成。系統(tǒng)采用模塊化設計,可分為三個模塊。控制模塊由兩個FPGA完成系統(tǒng)的控制功能。后處理模塊包括DSP及其外圍電路。擴展模塊由八個150針的接口組成,完成與Processboard的通信。為擴展存儲空間,該系統(tǒng)上包含了四片SRAM和四片16位SDRAM(均分為兩組,擴展為32位),兩個FPGA還可以用來做一部分預處理(如JPEG2000圖像壓縮編碼中的小波預處理)。Mainboard結(jié)構(gòu)如圖3所示。

  系統(tǒng)供電方案

  由于本系統(tǒng)的元器件較多且大部分工作功率較大,在每塊板上各自設計供電系統(tǒng)是不合適的。同時由于系統(tǒng)內(nèi)數(shù)據(jù)交換速度達到數(shù)百兆每秒,將電源集成至系統(tǒng)內(nèi)部電路板會影響系統(tǒng)正常工作甚至導致各種布線問題。

  本系統(tǒng)采用了獨立電源供電,即整個系統(tǒng)供電都來自一個獨立設計的電源系統(tǒng)。這種供電方式類似于個人PC上的供電系統(tǒng)。電源系統(tǒng)結(jié)構(gòu)如圖4所示。

  電源系統(tǒng)芯片采用TI公司的電源模塊PTH系列,該系列芯片具有穩(wěn)定易使用且供電功率高的特點。5V輸入電壓系統(tǒng)后經(jīng)過五片PTH芯片轉(zhuǎn)換成所需的電壓(1.0V,1.5V,1.8V,2.5V,3.3V),經(jīng)電源接口送入Mainboard和Processboard。

  系統(tǒng)工作流程

  當高速圖像數(shù)據(jù)傳入Mainboard上的大FPGA時,該FPGA實現(xiàn)對數(shù)據(jù)的分組和預處理,如果數(shù)據(jù)量超過FPGA內(nèi)部存儲器的范圍,則將數(shù)據(jù)放入外部存儲器中進行緩存;數(shù)據(jù)分組完畢后由大FPGA負責將數(shù)據(jù)傳輸至Processboard,Processboard并行處理完后再分別傳送回Mainboard的小FPGA(如果數(shù)據(jù)分組適當,數(shù)據(jù)將同步傳送至小FPGA),最后由小FPGA實現(xiàn)數(shù)據(jù)重組和合并功能后,送至Mainboard的DSP進行后期處理,處理完再由輸出端口輸出。這樣系統(tǒng)完成了一次處理過程。

  系統(tǒng)工作時最大的問題是并行任務分配與調(diào)度問題。任務分配和算法的好壞直接影響到并行系統(tǒng)的性能,影響系統(tǒng)執(zhí)行任務的效率,進而影響系統(tǒng)的實時性。在多DSP 系統(tǒng)中,任務分配使得各個處理器能夠均勻分配到子任務,使各處理單元的空閑時間減少,從而得到較高的執(zhí)行效率。例如在中把一幅圖像平均分割,使各處理器得到相同大小的子圖像,有效提高了系統(tǒng)編碼效率,滿足其實時性要求。由于本系統(tǒng)的復雜度,采用FPGA來做任務分配與調(diào)度是可行的。

  實時系統(tǒng)的擴展

  由于在設計上采用控制與處理的分離設計,這個系統(tǒng)有非常好的擴展性。如圖5所示,系統(tǒng)對Processboard和Mainboard的擴展都支持,具體表現(xiàn)在以下幾方面:

  (1)Processboard的擴展—Mainboard給出了四組有效的Processboard擴展接口,也就是說最多可以擴展至四塊Processboard。圖中畫出了八個接口,其中兩兩一組,目的是方便調(diào)試兩板之間的通信,還利于整個系統(tǒng)的散熱。

  (2)Mainboard的板級擴展—通過板上預留的接口,Mainboard可實現(xiàn)32位的級聯(lián)擴展。當接上其余Mainboard時,系統(tǒng)工作方式如下:級聯(lián)后,每一級專門負責自己的任務,第一塊板的所有FPGA都用來實現(xiàn)預處理和基本控制,其余級聯(lián)板可以用來完成類似于Processboard的任務,也可以完成多級處理的任務,這種工作方式適用于多級處理。

  Processboard擴展時會遇到時鐘資源匱乏的問題,由于每片F(xiàn)PGA所提供的全局始終資源僅為16個,而每擴展一塊Processboard時所需的資源是5個,所以采用單片F(xiàn)PGA時最多只能實現(xiàn)三塊Processboard的擴展。為解決這個問題,我們采用了雙FPGA的設計方法,兩塊FPGA分別掌管Processboard的進出時鐘,這樣設計最大的不僅將時鐘資源翻倍,同時還可以方便FPGA的編程,便于系統(tǒng)調(diào)試。

  系統(tǒng)性能

  選取分辨率分別為1600×1280、1280×1024、1024×960的6副圖像,利用實時圖像編碼系統(tǒng)進行圖像編碼,采用JPEG2000圖像壓縮編碼標準,表1為該系統(tǒng)的壓縮結(jié)果和采用KDU算法的軟件壓縮結(jié)果,通過對比能發(fā)現(xiàn),該系統(tǒng)壓縮效果的PSNR值與KDU的相差甚小,而且可以達到在分辨率1440×1280的情況下實現(xiàn)每秒45幀的素壓縮速度,完全可以勝任圖像序列和高清視頻的實時壓縮要求。


  
  結(jié)語

  通過對共享存儲并行DSP系統(tǒng)的研究與改進,本文以高性能的 ADSP-TS201S芯片為基礎,設計出一個改進的基于FPGA的多處理器并行系統(tǒng)。通過實踐證明,該系統(tǒng)能夠?qū)崿F(xiàn)對高清圖像和視頻的實時壓縮編碼。

  參考文獻:

  1. Analog Devices INC. ADSP-TS201 TigerSHARC Embedded Processor Data Sheet (Rev. A). 2004

  2. Analog Devices INC. ADSP-TS201 TigerSHARC Processor Hardware Reference, Revision 1.0, November 2004

  3. 劉書明,蘇 濤等. TigerSHARC DSP應用系統(tǒng)設計. 北京:電子工業(yè)出版社, 2004.

  4. 王二力,李世杰.基于ADSP-TS101的多DSP并行處理系統(tǒng).單片基于嵌入式應用,2005(12)



評論


相關推薦

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

關閉