王韓 孫紅勝 陳昌明
摘 要: 研究了一種符合VPX標(biāo)準(zhǔn)的多處理器數(shù)字信號(hào)處理系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)基于VPX標(biāo)準(zhǔn)3U板卡,采用2片ADSP TS201作為上層運(yùn)算單元,1片Kintex 7系列FPGA作為底層處理單元和數(shù)據(jù)交換中心,提出利用鏈路口將ADSP TS201與FPGA互連,組成靈活的三點(diǎn)環(huán)型架構(gòu)。系統(tǒng)指標(biāo)和實(shí)際應(yīng)用表明,該系統(tǒng)具有很強(qiáng)的運(yùn)算能力和較高的靈活性。
關(guān)鍵詞: 數(shù)字信號(hào)處理; TS201; FPGA; VPX; 鏈路口
中圖分類號(hào): TN409?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)05?0078?03
實(shí)時(shí)數(shù)字信號(hào)處理,數(shù)據(jù)量大、處理速度要求高,因此需要根據(jù)運(yùn)算需求和應(yīng)用環(huán)境,選擇合適的計(jì)算芯片進(jìn)行合理的架構(gòu),組成適應(yīng)于不同需求的數(shù)字信號(hào)處理系統(tǒng)。DSP在處理速度上,往往不及FPGA,但在算法的易實(shí)現(xiàn)性方面,DSP還有相當(dāng)?shù)膬?yōu)勢(shì)。FPGA的特點(diǎn)是運(yùn)算能力強(qiáng)和邏輯可配置,使用FPGA能增強(qiáng)系統(tǒng)性能和靈活性。結(jié)合兩者優(yōu)點(diǎn),采用DSP+FPGA作為核心架構(gòu),已經(jīng)成為目前數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)的流行方式。本文設(shè)計(jì)了一種基于雙DSP與FPGA,符合VPX標(biāo)準(zhǔn)的高速數(shù)字信號(hào)處理系統(tǒng)。該系統(tǒng)采用VPX 3U板卡標(biāo)準(zhǔn),使用ADI公司的ADSP TigerSHARC 201系列數(shù)字信號(hào)處理芯片(TS201)與Xilinx公司的 Kintex 7系列FPGA芯片,提供強(qiáng)大的數(shù)據(jù)運(yùn)算能力。同時(shí)配有豐富的數(shù)據(jù)存儲(chǔ)資源,以提高系統(tǒng)的綜合性能。整個(gè)系統(tǒng)具有運(yùn)算能力強(qiáng)、結(jié)構(gòu)靈活、可擴(kuò)展性好等特點(diǎn),能廣泛應(yīng)用于寬擴(kuò)頻通信、軟件無線電、雷達(dá)信號(hào)處理等高速數(shù)字信號(hào)處理領(lǐng)域。
1 系統(tǒng)的設(shè)計(jì)
整個(gè)數(shù)字信號(hào)處理系統(tǒng)可分為DSP,F(xiàn)PGA和VPX總線3個(gè)部分。DSP部分的核心是2片ADSP TS201芯片,同時(shí)配有擴(kuò)展存儲(chǔ)能力的SDRAM芯片和用于存儲(chǔ)非易失性數(shù)據(jù)的FLASH芯片。根據(jù)DSP的特點(diǎn),DSP部分主要負(fù)責(zé)處理相對(duì)復(fù)雜的上層運(yùn)算。FPGA部分采用Xilinx公司的Kintex 7系列芯片,連接有DDR3以擴(kuò)展存儲(chǔ)能力,增加SRAM芯片以豐富可利用的高速緩存資源,F(xiàn)PGA部分主要負(fù)責(zé)算法相對(duì)簡(jiǎn)單但數(shù)據(jù)量較大的底層運(yùn)算和系統(tǒng)的數(shù)據(jù)交換。2片DSP與1片F(xiàn)PGA之間采用鏈路口相互連接,形成三點(diǎn)架構(gòu)[1]。這種三點(diǎn)互聯(lián)的松耦合、環(huán)型架構(gòu)方式,使得整個(gè)系統(tǒng)既可以按串行的流水線方式運(yùn)作,也可以按兩點(diǎn)或三點(diǎn)并行的方式運(yùn)行,具有很大的靈活性。另外,系統(tǒng)通過VPX總線和外部連接,采用PCIe高速串行傳輸協(xié)議,保證了系統(tǒng)的數(shù)據(jù)交換能力。系統(tǒng)功能框圖,如圖1所示。
1.1 DSP部分設(shè)計(jì)
DSP芯片選用ADI公司的TigerSHARC系列ADSP TS201芯片。相比于目前一些主流的高端DSP芯片,如TI公司的C6678多核DSP等,TS201的運(yùn)算性能略顯不足,但TS201功耗低、發(fā)熱量較小,更加適合于VPX導(dǎo)冷散熱機(jī)箱。且TS201具有很好的多片聯(lián)合能力,采用多片聯(lián)合的方式能彌補(bǔ)TS201在運(yùn)算能力方面的不足[2]。
圖1 數(shù)字信號(hào)處理系統(tǒng)功能框圖
TS201是一款高性能的靜態(tài)超標(biāo)量數(shù)字信號(hào)處理芯片,采用單指令多數(shù)據(jù)(SIMD)架構(gòu),在最高600 MHz時(shí)鐘的驅(qū)動(dòng)下,能夠提供3.6 GFLOPS的32位浮點(diǎn)處理能力或14.4 GOPS的16位定點(diǎn)處理能力。芯片有24 Mb的內(nèi)部存儲(chǔ)資源和14通道的DMA單元,保障了大數(shù)據(jù)量運(yùn)算時(shí),數(shù)據(jù)的內(nèi)部存儲(chǔ)和調(diào)度[3]。外部接口包括外部總線接口、HOST接口、鏈路口(LinkPorts)、SDRAM接口以及E2PROM接口。外部總線接口和HOST口,使TS201能夠方便地與外部處理器或其他TS201聯(lián)合工作,組成多核處理系統(tǒng)。4個(gè)鏈路口,采用低壓差分信號(hào)技術(shù)(LVDS)和雙數(shù)據(jù)率傳輸技術(shù)(DDR),每個(gè)接口都有獨(dú)立的收發(fā)模塊,能同時(shí)進(jìn)行數(shù)據(jù)收發(fā),總吞吐能力[3]可達(dá)4 GB/s。使用該接口能及時(shí)將數(shù)據(jù)讀入或送出,實(shí)現(xiàn)芯片內(nèi)處理能力與外部I/O能力的平衡[4]。
VPX 3U標(biāo)準(zhǔn)板卡,面積資源有限,使用多片DSP雖然能提高系統(tǒng)的處理能力,但同時(shí)也會(huì)增加PCB布線制板的難度,降低系統(tǒng)的可靠性。綜合各方面因素考慮,本系統(tǒng)使用兩片TS201芯片相互聯(lián)合。兩片TS201之間利用外部總線接口和2條鏈路口相連。外部總線接口,對(duì)總線上的資源進(jìn)行統(tǒng)一的地址編碼,使TS201能互相訪問對(duì)方的片內(nèi)資源和總線上的其他資源,具有很好的共享性,是一種緊耦合的連接方式。鏈路口傳輸能力強(qiáng),能大大提高TS201之間的數(shù)據(jù)交換能力,是一種松耦合的連接方式。兩種接口相結(jié)合,形成一種松緊耦合的連接方式,兼具共享性和高性能。
為提高系統(tǒng)的綜合性能,滿足各類算法的處理要求,在TS201之間的總線上掛載了兩片大容量的SDRAM芯片,既可以用于中間處理數(shù)據(jù)的存儲(chǔ),也可以作為共享內(nèi)存用于數(shù)據(jù)交換。另外還掛載了一片F(xiàn)LASH芯片,用于存儲(chǔ)啟動(dòng)程序和其他非易失性數(shù)據(jù)。
1.2 FPGA部分設(shè)計(jì)
Kintex 7是Xilinx公司推出的一類高性能的系列產(chǎn)品,本系統(tǒng)選用的具體型號(hào)為XC7K325T。該芯片具有35萬個(gè)邏輯單元,并有4 000個(gè)數(shù)字信號(hào)計(jì)算單元(DSP Slices),單元采用25×18位乘法器,適合于運(yùn)算過程相對(duì)簡(jiǎn)單、數(shù)據(jù)量大、速度要求高的底層運(yùn)算,其可級(jí)聯(lián)的加法器結(jié)構(gòu)有利于快速實(shí)現(xiàn)信號(hào)的濾波處理。芯片的內(nèi)部RAM資源總?cè)萘窟_(dá)32 Mb。其I/O支持大部分的單端、差分傳輸標(biāo)準(zhǔn),同時(shí)內(nèi)置有源同步接口邏輯和數(shù)控阻抗,滿足各類芯片的各種接口協(xié)議要求。芯片內(nèi)有1個(gè)支持PCIe X8 Gen2協(xié)議的IP硬核。另外還有16個(gè)GTX接口單元,能支持包括PCIe,Serial RapidIO在內(nèi)的多種高速串行傳輸協(xié)議[5]。
FPGA配置有DDR3存儲(chǔ)資源,采用滿頁突發(fā)的訪問方式,既可以滿足各種運(yùn)算存儲(chǔ)需求,又可以經(jīng)過FPGA和鏈路口與DSP連接,擴(kuò)充DSP的可用存儲(chǔ)空間。另外,配置有1片總?cè)萘?44 MB的SRAM,工作時(shí)鐘可達(dá)360 MHz,采用雙數(shù)據(jù)率傳輸技術(shù),在FPGA片內(nèi)RAM資源不足時(shí),可作為高速緩存使用。
除了進(jìn)行數(shù)據(jù)處理,F(xiàn)PGA還是整個(gè)系統(tǒng)的數(shù)據(jù)交換中心。一方面FPGA與VPX總線連接,作為系統(tǒng)與外部數(shù)據(jù)交換的總通道;另一方面,F(xiàn)PGA與DSP部分相連,DSP部分?jǐn)?shù)據(jù)的收發(fā)都需要經(jīng)過FPGA。
FPGA與2片DSP之間各使用2個(gè)鏈路口互連,形成一個(gè)環(huán)型的三點(diǎn)架構(gòu)。各個(gè)節(jié)點(diǎn)之間都能相互直接收發(fā)數(shù)據(jù),每個(gè)節(jié)點(diǎn)都可以作為運(yùn)算的中心,既可以各節(jié)點(diǎn)單獨(dú)運(yùn)行,又可以一點(diǎn)為中心兩點(diǎn)并行,還可以三點(diǎn)同時(shí)并行,在算法實(shí)現(xiàn)上具有很大的靈活性。
1.3 VPX總線與系統(tǒng)的連接設(shè)計(jì)
本系統(tǒng)基于VPX 3U板卡標(biāo)準(zhǔn),通過支持高速差分傳輸?shù)腗ultiGig RT2連接器,接插到VPX機(jī)箱背板上,與VPX總線相連。MultiGig RT2連接器分為P0,P1和P2三個(gè)連接區(qū)域[6]。其中,P0區(qū)域與系統(tǒng)的電源、復(fù)位、參考時(shí)鐘、配置模塊和I2C總線部分相連接,VPX總線通過P0模塊為系統(tǒng)提供電源,對(duì)系統(tǒng)進(jìn)行控制。P1區(qū)域有12對(duì)高速差分線與FPGA相連,其中8對(duì)作為PCIe協(xié)議的傳輸線,是系統(tǒng)與外部進(jìn)行數(shù)據(jù)交換的主通道。FPGA通過內(nèi)部的PCIe IP硬核,實(shí)現(xiàn)與VPX總線上其他支持PCIe協(xié)議的系統(tǒng)之間的數(shù)據(jù)交換。P2區(qū)域?yàn)轭A(yù)留的32對(duì)高速差分線,與FPGA相連,可以實(shí)現(xiàn)SDI,SRIO,SATA等串行傳輸協(xié)議,也可以作為自定義接口與VPX總線上其他系統(tǒng)進(jìn)行連接。
2 系統(tǒng)指標(biāo)與應(yīng)用實(shí)例
系統(tǒng)的處理能力:?jiǎn)伟?2位浮點(diǎn)運(yùn)算速度每秒7.2億次,16位定點(diǎn)運(yùn)算速度每秒28.8億次,F(xiàn)PGA內(nèi)部數(shù)字信號(hào)處理單元能提供2 845 GMAC/s的運(yùn)算能力。系統(tǒng)的存儲(chǔ)資源:DSP部分內(nèi)外部動(dòng)態(tài)存儲(chǔ)能力560 Mb,另外還有一片4 Mb的FLASH芯片;FPGA內(nèi)部RAM資源16 Mb,外部SRAM資源144 MB,擴(kuò)展DDR3存儲(chǔ)資源512 MB。系統(tǒng)的數(shù)據(jù)交換能力:DSP之間數(shù)據(jù)交換總帶寬可達(dá)20.8 Gb/s;FPGA與2片DSP之間總傳輸能力達(dá)到32 Gb/s;系統(tǒng)與VPX總線相連的PCIe接口,傳輸能力可達(dá)40 Gb/s。
以O(shè)FDM調(diào)制解調(diào)仿真算法為例,對(duì)系統(tǒng)的性能和設(shè)計(jì)思想進(jìn)行驗(yàn)證。OFDM信號(hào)的調(diào)制和解調(diào)過程既有相對(duì)復(fù)雜的上層編碼算法,也有運(yùn)算量較大的底層FFT/IFFT運(yùn)算。根據(jù)DSP部分與FPGA部分的運(yùn)算能力和特點(diǎn),結(jié)合OFDM算法的實(shí)現(xiàn)過程,最終采用三點(diǎn)并行處理的方式,仿真算法在系統(tǒng)上的配置如圖2所示。
實(shí)際測(cè)試表明,本系統(tǒng)能很好地實(shí)現(xiàn)OFDM調(diào)制解調(diào)仿真算法,且與單一的DSP系統(tǒng)或FPGA系統(tǒng)相比,性能上有顯著提高,易實(shí)現(xiàn)性方面有明顯改善。
3 結(jié) 語
目前,VPX標(biāo)準(zhǔn)以其出色的電氣特性、優(yōu)良的機(jī)械結(jié)構(gòu),正逐漸成為軍事通信、航空航天等高可靠性領(lǐng)域的推薦標(biāo)準(zhǔn)。在基于VPX標(biāo)準(zhǔn)的信號(hào)處理設(shè)備中,數(shù)字信號(hào)處理系統(tǒng)往往是不可缺少的部分。本文設(shè)計(jì)的基于TS201與FPGA的、符合VPX標(biāo)準(zhǔn)的數(shù)字信號(hào)處理系統(tǒng),具有很強(qiáng)的運(yùn)算能力和靈活的架構(gòu)方式,能夠適應(yīng)各種類型的處理算法;利用高速的鏈路口,將各處理器互聯(lián),有效地解決了處理速度與I/O能力不平衡的問題;利用標(biāo)準(zhǔn)的PCIe接口與外部VPX總線連接,使系統(tǒng)能夠方便地與其他系統(tǒng)相連,實(shí)現(xiàn)功能擴(kuò)展。綜上所述,本文設(shè)計(jì)的數(shù)字信號(hào)處理系統(tǒng)具有一定的應(yīng)用前景和推廣價(jià)值,并已成功應(yīng)用于某軟件無線電平臺(tái)項(xiàng)目中。
參考文獻(xiàn)
[1] 杜金榜,鐘小鵬,王躍科.多DSP并行處理系統(tǒng)的設(shè)計(jì)與開發(fā)[J].計(jì)算機(jī)測(cè)量與控制,2006,14(5):658?660.
[2] 劉書明.ADSP TS20XS系列DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[3] Analog Device. ADSP TS201 TigerSHARC embedded processor: datasheet (Rev. C) [EB/OL]. [2006?11?05]. http: //www.analog.com/media/en/technical_documentation/data_sheets/.
[4] WU Q, GAO Q, LI X W, et al. Hardware design of image information processor based on ADSP?TS201 DSPs [C]// 2009 IEEE International Workshop on Imaging Systems and Techniques. Shenzhen, China: IEEE, 2009: 155?158.
[5] Xilinx. 7 series FPGAs overview [EB/OL]. [2014?02?18]. http://www.xilinx.com/support/documentation/data_sheets.
[6] VMEbus International Trade Association. American national standard for VPX baseline standard: ANSI/VITA 46.0?2007 [S]. US: VMEbus International Trade Association, 2007: 10.
[7] 陳春輝,黃俊,陳亞駿.利用FPGA實(shí)現(xiàn)與TS201的LinkPort高速數(shù)據(jù)互聯(lián)[J].信息技術(shù),2007,31(3):56?58.
[8] Analog Device. ADSP TS201 TigerSHARC processor hardware reference [EB/OL]. [2005?04?11]. http://www.analog.com/media/en/technical_documentation/data_sheets/.