劉歡,邢輝(北京環(huán)境特性研究所,北京 100859)
基于DSP+FPGA的高速數(shù)據(jù)處理與存儲系統(tǒng)設(shè)計
劉歡,邢輝
(北京環(huán)境特性研究所,北京 100859)
針對信號處理數(shù)據(jù)量大、實時性要求高的特點,從實際應用出發(fā),設(shè)計了以雙DSP+ FPGA為核心的并行信號處理模塊。為了滿足不同的信號處理任務需求,F(xiàn)PGA可以靈活地選擇與不同的DSP組成不同的信號處理結(jié)構(gòu),同時為滿足大數(shù)據(jù)存儲要求設(shè)計了可方便網(wǎng)絡(luò)控制的數(shù)據(jù)存儲模塊。模塊之間可以通過自定義LVDS接口實現(xiàn)互聯(lián),組成一個系統(tǒng)。
實時性;雙DSP+FPGA;數(shù)據(jù)存儲
隨著科學技術(shù)的飛速發(fā)展,在無線通信、軍事、工業(yè)、圖像和醫(yī)療等領(lǐng)域高速大數(shù)據(jù)采集已經(jīng)成為信號處理系統(tǒng)中不可或缺的部分,這就意味著在現(xiàn)代實時信號處理領(lǐng)域,在有限的時間內(nèi),需要處理和存儲的數(shù)據(jù)量更大,同時為達到實時性,還要求信號處理系統(tǒng)具有多任務并行處理能力,這就對信號處理系統(tǒng)的處理能力提出了更高要求。與此同時,無論是雷達信號目標識別還是可見光的目標識別,都需要采集大量數(shù)據(jù)加強數(shù)據(jù)庫建立,從而用來分析目標識別算法的性能,這無疑對數(shù)據(jù)存儲提出了挑戰(zhàn)。針對這些問題,本文采用兩片ADI公司的ADSP TS201設(shè)計了多 DSP松耦合的并行數(shù)字信號處理模塊,并以兩片Xilinx公司的Spartan3AN系列中的XC3S1400AN和TI公司的DP83865為核心設(shè)計了高速大容量、可以通過網(wǎng)口進行控制的數(shù)據(jù)存儲模塊,模塊之間通過鏈路口橋接構(gòu)成一個系統(tǒng)。
1.1FPGA選擇
FPGA 選擇 Xilinx公 司 的 Spartan3AN 系 列 中 的XC3S1400AN,此芯片含有 502個 I/O管腳[1]可以靈活地與DSP互聯(lián),同時可配成227對差分對,擴展成LVDS總線用于高速數(shù)據(jù)傳輸。選擇此芯片的另一個優(yōu)點是片內(nèi) Flash達到 16 Mbit,可將程序直接固化到片內(nèi),簡化了外圍結(jié)構(gòu)。
1.2信號處理芯片選擇
ADSP TS201是 ADI公司推出的一款性能極高的靜態(tài)超標量處理器,對大的信號處理任務和通信結(jié)構(gòu)進行了優(yōu)化,具有適合多DSP并行處理的突破性體系結(jié)構(gòu),可廣泛應用于大存儲量、高性能、高速度的信號處理和圖像處理系統(tǒng)中[2]。TS201的主要性能指標如下:
(1)最高工作主頻可達600 MHz,指令周期為1.67 ns,可支持單指令多數(shù)據(jù)(SIMD)操作;
(2)6位定點處理能力達4 800 MMAC/s,是C64X的1.6倍;浮點處理能力是C67X的2.6倍;
(3)DSP之間 LINK口通信可以達到單向最大速率為600 MB/s,雙向1.2 GB/s;
(4)獨立的片內(nèi)總線(4條 128位數(shù)據(jù)總線,4條 32位地址總線)可提供4 GB的尋址空間;
(5)可通過共享總線提供無縫連接以用于片內(nèi)集成總線的仲裁控制;
(6)片上SDRAM控制器和片上DMA控制器可提供14條DMA通道。
信號處理器可非常方便地構(gòu)建簡單的處理系統(tǒng),也可以利用其多處理器接口和資源方便地構(gòu)建多處理器系統(tǒng)。由于TS201特有的鏈路口具有強大的數(shù)據(jù)傳輸能力,在構(gòu)成多處理器系統(tǒng)時,既可以構(gòu)建總線共享的多處理器系統(tǒng)(緊耦合系統(tǒng)),又可以構(gòu)建鏈路口耦合系統(tǒng)(松耦合系統(tǒng))。以此為基礎(chǔ)還可以構(gòu)建總線共享和鏈路口耦合相結(jié)合的混合耦合系統(tǒng)[3-4]。松耦合系統(tǒng)是典型的鏈路口共享的多處理器體系結(jié)構(gòu)。其系統(tǒng)組成框圖如圖1所示。
圖1 松耦合體系組成框圖
緊耦合多處理器系統(tǒng)是一種典型的總線共享的多處理器體系結(jié)構(gòu),其系統(tǒng)組成框圖如圖2所示。
圖2 緊耦合體系組成框圖
混合耦合多處理器體系結(jié)構(gòu),其系統(tǒng)組成框圖如圖3所示。
圖3 混合耦合體系組成框圖
與其他兩種耦合相比,松耦合系統(tǒng)無需總線仲裁,所以編程控制較為簡單,另一方面由于松耦合系統(tǒng)結(jié)構(gòu)簡單,PCB實現(xiàn)較容易,本文根據(jù)實際需求選擇松耦合系統(tǒng)體系。
高速數(shù)據(jù)并行處理與存儲系統(tǒng)在標準的CPCI板卡上,按功能區(qū)域劃分設(shè)置2片TS201,2片XC3S1400AN,1片DP83865芯片和6片MT29F256G08AUCAB,實現(xiàn)多處理器綜合處理的超強處理和存儲能力,系統(tǒng)框圖如圖4所示。
圖4 信號處理與存儲系統(tǒng)組成框圖
3.1信號處理單元硬件設(shè)計
信號處理單元的運算結(jié)構(gòu)具有靈活性和可裁減性,F(xiàn)PGA可以靈活地選擇與不同的DSP組成不同的計算結(jié)構(gòu),滿足不同運算量的需求。對于運算量較小的任務,可以只使用FPGA和DSP1完成信號處理任務;而FPGA和兩個DSP組合在一起可以完成運算量更大的任務;同時為保證系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性,本硬件平臺在各級流水之間提供高速靈活的數(shù)據(jù)傳輸通道。FPGA與2片DSP采用高速通用總線和鏈路口互連。2片DSP之間采用LinkPort互連。
DSP本身就帶有 24 Mbit內(nèi)存,為了進一步提高硬件平臺的存儲能力,使之能夠進行一些復雜的數(shù)據(jù)處理,為DSP配置了高速SDRAM。硬件平臺的另一大特點是配置的靈活性。DSP1作為主DSP通過Link口完成第二片DSP的程序加載,由于本系統(tǒng)采取標準的CPCI板卡設(shè)計,便于不同處理系統(tǒng)的級聯(lián),不同的系統(tǒng)之間若要求時序統(tǒng)一,則可以通過Link口統(tǒng)一加載程序。
3.2存儲單元硬件設(shè)計
存儲單元控制采用千兆以太網(wǎng)接口,可以方便地與普通計算機互連。方案如圖5所示。
圖5 存儲單元方案設(shè)計
DSP處理的數(shù)據(jù)通過 Link口發(fā)往存儲單元,在FPGA內(nèi)將 Link口協(xié)議轉(zhuǎn)換成相應的位數(shù)據(jù)寫到 NAND FLASH存儲起來。可根據(jù)實際存儲需求配置不同容量和數(shù)量的FLASH芯片[5-6]。
千兆以太網(wǎng)模塊既完成存儲器與上位機通信的功能,又作為數(shù)據(jù)輸出接口。千兆以太網(wǎng)接口的物理層由物理層芯片DP83865實現(xiàn),物理層以上協(xié)議在FPGA內(nèi)部實現(xiàn)。數(shù)據(jù)傳輸采用UDP協(xié)議,上位機應用程序使用網(wǎng)絡(luò)編程與FPGA進行通信,發(fā)送相應的控制命令。主機可以通過發(fā)送上傳命令將存儲的信息讀出來。
軟件的外部接口主要有3種,如表1所示。
表1 軟件外部接口列表
系統(tǒng)上電以后信號處理單元以接收鏈路口中斷為觸發(fā)事件,驅(qū)動DSP處理器完成實時信號處理任務,并在處理完成后將處理結(jié)果通過DSP鏈路口回送至信號源端由其他系統(tǒng)執(zhí)行相應操作。
在信號處理的同時對信息數(shù)據(jù)及處理中間結(jié)果數(shù)據(jù)進行存儲,以便進行數(shù)據(jù)庫的建立及算法的分析改進。信號處理與存儲系統(tǒng)軟件工作調(diào)度流程圖如圖6所示。
圖6 信號處理與存儲系統(tǒng)軟件調(diào)度流圖
本文針對高速數(shù)據(jù)并行處理與存儲中存在的一些問題提出了高速信號并行處理與存儲系統(tǒng)。本系統(tǒng)采用ADI公司的 TigerSHARC處理器,每片 DSP處理器在600 MHz時鐘下提供 3.6 GFLOPS的 32位浮點運算能力,2片處理器的計算能力為7.2 GFlops@600 MHz。
在 Xilinx公司的芯片 XC3S1400AN上實現(xiàn)了 TS201 和FPGA的LVDS接口互連設(shè)計。
最終結(jié)果表明,在本文所提出的關(guān)鍵設(shè)計的要求下,LINK口通信能夠?qū)崿F(xiàn) DSP之間互連,板內(nèi) Link口的傳輸帶寬可以達到 800 MB/s,板間Link口的傳輸帶寬可以達到600 MB/s,由于本文要處理的數(shù)據(jù)不會大于20 MB/s,所以完全可以滿足數(shù)據(jù)傳輸要求。
擴展LVDS總線主要用于信號處理單元向數(shù)據(jù)存儲單元收發(fā)信息,數(shù)據(jù)傳輸速率最大為20 MB/s,而LVDS總線的傳輸速率可以達到 250 MB/s,且通信數(shù)據(jù)傳輸無誤碼、穩(wěn)定。該結(jié)果說明了以FPGA為核心的數(shù)據(jù)存儲單元有效地提高了數(shù)據(jù)存儲的可靠性,實現(xiàn)了高速、穩(wěn)定的數(shù)據(jù)傳輸。
[1]Xilinx.Spartan-3 generation FPGA userguide[EB/OL].(2007-04-09)[2015-03-10].http://www.xilinx.com.
[2]ADSP-T S201 TigerSHARC process or hardware reference[Z].ADI,2004.
[3]馮小平,曹向海,鮑丹.TigerSHARC處理技術(shù)及其應用[M].西安:西安電子科技大學出版社,2010.
[4]武岳.基于多 DSP的硬件平臺設(shè)計與調(diào)試[D].成都:電子科技大學,2007.
[5]晏敏,龍小奇,章兢,等.開放式大容量 NAND Flash數(shù)據(jù)存儲系統(tǒng)設(shè)計與實現(xiàn) [J].微電子學與計算機,2009,26(11):13-16.
[6]趙軍偉,李宏穆,莊阿龍,等.NandFLASH和 NorFLASH接口設(shè)計和驅(qū)動開發(fā)[J].嵌入式技術(shù),2009(14):40-43.
Design of high speed data paralle processing and storage system based on DSP+FPGA
Liu Huan,Xing Hui
(Beijing Institute of Environment Characteristics,Beijing 100859,China)
With the development of technical,data processing is characterized the theme as processing huge data and shorter processing time,especially real time processing are needed.Based on engineer need,a paralle signal processing card based on dual DSP+FPGA was developed.In order to meet the demand of different signal processing,F(xiàn)PGA can choose to cooperate with different DSP to implement different framework flexily.We designed a solid state data storage with large capacity which takes Gigabit Ethernet as control interface.System can be formed by these cards with user-defined LVDS,and it can afford high-speed data transmission channel.
real-time;dual DSP+FPGA;data storage
TP3
A
1674-7720(2015)15-0044-03
劉歡,邢輝.基于DSP+FPGA的高速數(shù)據(jù)處理與存儲系統(tǒng)設(shè)計[J].微型機與應用,2015,34(15):44-46.
2015-05-10)
劉歡(1985-),通信作者,男,在讀研究生,主要研究方向:信號與信息處理。E-mail:liuhuanlf@sina.com。
邢輝(1979-),男,研究生,高級工程師,主要研究方向:信號與信息處理。