基于ADSP-TS201S的多DSP并行系統(tǒng)
0 引言
在寬帶雷達信號處理中,存在諸如回波采樣率高、脈沖壓縮(匹配濾波)運算量大、處理流程復雜、實時高分辨目標檢測困難等一系列問題。針對這些問題,采用通 用計算機平臺難以應(yīng)對運算量大和實時性等高要求,因此,需采用專用的數(shù)字信號處理器(DSP)來進行高速運算。盡管當前的數(shù)字信號處理器已達到較高水平, 但單片DSP芯片的處理能力還是不能滿足寬帶雷達的性能要求,需要引入并行處理技術(shù),在本設(shè)計中使用4片DSP芯片組成并行處理系統(tǒng)。另外,為充分發(fā)揮 DSP芯片在復雜算法處理上的優(yōu)勢及FPGA在大數(shù)據(jù)量的底層算法上的優(yōu)勢,設(shè)計了一種基于FPGA控制的多DSP并行處理系統(tǒng)。
1 系統(tǒng)設(shè)計
基于FPGA控制的多DSP并行處理系統(tǒng)的原理圖如圖1所示。
整個雷達信號處理系統(tǒng)以高可靠性CPCI工控機為平臺,內(nèi)置不同功能的信號處理板。板間的數(shù)據(jù)傳輸通過CPCI接口完成。根據(jù)雷達信號處理系統(tǒng)的任務(wù)分 配,本系統(tǒng)負責完成中頻數(shù)字信號的處理。根據(jù)前端信號采集板輸出數(shù)據(jù)的不同,數(shù)據(jù)將以串行或并行的方式輸送到本系統(tǒng)中。其中,串行信號通過CPCI的J3 口以差分的形式直接傳輸給DSP2,然后在4片DSP芯片間按照預定的算法進行任務(wù)分配和并行處理,處理完畢后通過DSP4寫入兩片擴展連接成32輸出方 式的FIFO中,此時,F(xiàn)PGA直接從FIFO中讀取數(shù)據(jù),完成與CPCI接口芯片PCI9656的時序轉(zhuǎn)換后將數(shù)據(jù)發(fā)送到PCI9656,通過CPCI 總線經(jīng)J1和J2口傳輸?shù)嚼走_系統(tǒng)的其他功能模塊。對于并行信號而言,32位帶寬的信號首先通過J3口發(fā)送到F-PGA內(nèi)部寄存器中FPGA接收到數(shù)據(jù)后 將數(shù)據(jù)寫入輸入緩存區(qū),并在完成一幀后給并行DSP輸出中斷。當并行DSP采樣到中斷后,從數(shù)據(jù)緩存區(qū)讀取數(shù)據(jù),完成處理后,將數(shù)據(jù)傳輸?shù)骄彺?區(qū),F(xiàn)PGA再通過相同的處理方式經(jīng)CPCI接口的J1口和J2口將數(shù)據(jù)傳輸?shù)嚼走_系統(tǒng)的其他功能模塊。
2 DSP芯片選型
根據(jù)系統(tǒng)的性能要求,通過比較各種高性能DSP處理器,并著重對構(gòu)成并行處理系統(tǒng)的性能和便捷性進行分析,確定選用AD公司的ADSP Tiger SHARC系列處理器中的TS201S組成多DSP并行系統(tǒng)。因為該系列的處理器在構(gòu)成并行處理系統(tǒng)時其本身就提供了實現(xiàn)互連所需的片內(nèi)總線仲裁控制和特有的鏈路口,可以以各種拓撲結(jié)構(gòu)互連DSP,滿足大運算量和片間通信靈活的要求。此外,選用ADSP Tiger SHARC還可以降低外圍設(shè)計的復雜度,增強系統(tǒng)的穩(wěn)定性。
TS201S芯片(600 MHz)主要性能指標:
(1)運行速度:1.67 ns指令周期;每周期可執(zhí)行4條指令;
(2)DSP內(nèi)部有2個運算模塊,支持的運算類型有:32 b和40 b浮點運算;8 b,16 b,32 b以及64 b定點運算;
(3)每秒可執(zhí)行12×109次16 b定點運算或3.6×109次浮點運算;
(4)采用單指令多數(shù)據(jù)(SIMD)模式,每秒可提供4.8×109次的40 b乘加運算;
(5)外部總線DMA傳輸速率1.2 GB/s(雙向);
(6)4個鏈路口,每個鏈路口最高提供1.2 GB/s的傳輸速率,可同時進行DMA傳輸;
(7)多處理器處理能力,具有支持多處理器無縫連接的片內(nèi)仲裁邏輯,多處理器采用統(tǒng)一尋址的方式訪問,可以通過簇總線(ClusterBus)或鏈路口(Link Ports)方便地構(gòu)成多處理器系統(tǒng)。
(8)片上SDRAM控制器,片上DMA控制器(提供14條DMA通道)。
3 DSP并行處理結(jié)構(gòu)設(shè)計
ADSP-TS201S之間的數(shù)據(jù)傳輸通道可選擇的方式有如下兩種:高速鏈路口(LINK)方式和高速外部總線口(簇總線)。因此,由多ADSP- TS201 S組成的DSP并行處理系統(tǒng)從數(shù)據(jù)傳輸方式來看,不外乎有以下三種模型:高速鏈路口(LINK)耦合模型;高速外部總線口(簇總線)耦合模型;高速鏈路口 (LINK)與高速外部總線口(簇總線)混合耦合模型。
3.1 基于鏈路口的多DSP并行處理系統(tǒng)
在這種連接方式下,各DSP用LINK口連接在一起,進行通信控制和數(shù)據(jù)交換,系統(tǒng)結(jié)構(gòu)簡單、連線少、可擴展性強,在DSP具有多個 LINK口的情況下,可靈活組成線型、星型、環(huán)型、網(wǎng)絡(luò)型或超立方體型等多種拓撲結(jié)構(gòu)。ADSP-TS201S具有4個全雙工的鏈路口通信端口。一個鏈路 口單向通信包含4位數(shù)據(jù)加上時鐘與握手信號一共12條引線,雙向共要24條引線。在內(nèi)核時鐘為600 MHz時,單向數(shù)據(jù)傳輸率最高可達600 MB/s,雙向數(shù)據(jù)傳輸率可達1.2 GB/s,由于鏈路口通信是點對點的,所以具有很高的傳輸可靠性,但在傳輸數(shù)據(jù)時的共享性不如總線形式。
3.2 基于共享總線的多DSP并行處理系統(tǒng)
共享總線就是系統(tǒng)中所有DSP的外部總線(地址、數(shù)據(jù)和訪問控制總線)都直接連接在一起,各DSP片內(nèi)存儲器和寄存器以及掛接在總線上的 外部存儲器、外設(shè)都作為共享資源被各個DSP訪問。ADSP-TS201S的外部總線為32 b,數(shù)據(jù)總線可以配置成32 b或者64 b。外部端口的運行速度最高可以到125 MHz,數(shù)據(jù)吞吐量可以高達1 GB/s。為了與不同外部設(shè)備連接,ADSP-TS201S外部端口支持快速(流水線)、慢速和SDRAM協(xié)議。且支持以DMA方式進行數(shù)據(jù)傳輸。另 外,ADSP-TS201S并行總線的最大特點是它具有無縫連接能力,無論是與SRAM、SDRAM、還是與處理器連接,只需要將相應(yīng)管腳對應(yīng)連接就能簡 單方便的構(gòu)成一個最多由8個DSP構(gòu)成的多處理器系統(tǒng),充分共享8個DSP的內(nèi)部資源和外部的EPR-OM,SRAM,SDRAM等資源。
3.3 基于外部總線共享和鏈路口混合耦合的多DSP并行處理系統(tǒng)
為兼顧數(shù)據(jù)速率、資源共享、易于控制以及DSP之間通信靈活等方面,在本設(shè)計中采用混合耦合模型的并行處理系統(tǒng)。將4個ADSP-TS201S的總線口都 相互連接好,各DSP的高速鏈路口也都相連,建立DSP到DSP的點對點通道與DSP間資源共享的工作塊模式。4片SDRAM中,每兩片擴展連接成64 位,掛接到64位數(shù)據(jù)總線上,2片F(xiàn)LASH也通過總線訪問。控制總線連接到FPGA,由FPGA統(tǒng)一控制4片DSP之間以及DSP與外部存儲器之間的數(shù) 據(jù)傳輸。4片DSP的工作塊連接方式如圖2所示。
4 FPGA與外設(shè)接口設(shè)計
4.1 FPGA選型
現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)是在專用ASIC的基礎(chǔ)上發(fā)展而來的,它克服了專用ASIC不夠靈活的缺點。其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對電路的修改 和維護很方便。目前,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級,使得FPGA成為解決系統(tǒng)級設(shè)計的重要選擇方案之一。現(xiàn)在FPGA已經(jīng)成為多種數(shù)字信號處理應(yīng)用 的強有力的解決方案。由于可編程方案的靈活性,DSP系統(tǒng)設(shè)計可以適應(yīng)日益變化的標準、協(xié)議和性能需求。Vir-tex-5系列是當前市場上最新,功能最 強大的FPGA,它采用65 nm芯片制造工藝,具有先進的高性能和理想應(yīng)用的FPGA結(jié)構(gòu)。主要性能指標如下:
(1)強大的時鐘管理能力;
(2)片上集成高達36 Kb的塊RAM和FIFO存儲器資源;
(3)高性能并行Select I/O技術(shù)和先進的DSP48Eslice;
(4)靈活地加載和配置方案以及在所有設(shè)備上的系統(tǒng)監(jiān)測能力;
(5)集成100 Mb/s~3.75 Gb/s的Rocket I/OGTP收發(fā)器,150Mb/s~6.5 Gb/s的Rocket I/OGTX收發(fā)器;
(6)強大的片上微處理器PowerPC440。
綜合處理板功能需求,性能分析、系統(tǒng)兼容以及I/O管腳需求等各因素,F(xiàn)PGA選擇Xilinx公司的Vir-tex-5系列XC5VSX50TFF1136芯片。
4.2 FPGA設(shè)計
根據(jù)系統(tǒng)功能要求,F(xiàn)PGA的任務(wù)主要分為4大部分。
(1)控制數(shù)據(jù)在系統(tǒng)中的傳輸邏輯
在設(shè)計時,將圖2控制總線中的所有信號都連接到FPGA中,由FPGA來統(tǒng)一調(diào)度數(shù)據(jù)在DSP之間以及DSP與外部存儲器之間的傳輸。這樣為任務(wù)并行處理 的分配和雷達信號流水線式的處理在處理算法上提供了最大程度的簡便,并能充分發(fā)揮DSP處理復雜算法的運算能力。
(2)控制數(shù)據(jù)緩存區(qū)(FIFC))的數(shù)據(jù)寫入與讀取,通過外部中斷IRQ控制DSP與FPGA之間的數(shù)據(jù)傳輸
由于外部4片F(xiàn)IFO每兩片擴展接成32位輸出/輸入方式,因此FPGA與FIFO進行數(shù)據(jù)傳輸時采用單向數(shù)據(jù)傳輸方式。在單向數(shù)據(jù)傳輸時采用數(shù)據(jù)塊方式 傳輸,通過將握手信號連接到DSP的IRQx來產(chǎn)生中斷或者FLAGx,F(xiàn)PGA將從外部處理板接收到的數(shù)據(jù)寫入輸入緩存區(qū),并在完成一幀后給并行DSP 輸出中斷,DSP從FIFO讀取完一幀數(shù)據(jù)后通過握手信號向FPGA告知可以進行下一幀數(shù)據(jù)的傳送。
(3)控制通過LINK口與DSP之間的通信
鏈路口通信有自己的通信協(xié)議,F(xiàn)PGA電路只需要按照鏈路口的通信協(xié)議進行設(shè)計。ADSP-TS201S的鏈路口采用的是獨立的發(fā)送和接收通道,因此對應(yīng) 的FPGA也采用不同的接收電路和發(fā)送電路。FPGA接收或者發(fā)送DSP鏈路口邏輯電路都主要由兩部分組成:接收/發(fā)送模塊和接收緩沖/發(fā)送緩沖。接收模 塊用來與DSP鏈路口發(fā)送通道進行接口和數(shù)據(jù)拆包處理,發(fā)送模塊用來與DSP鏈路口接收通道進行連接和數(shù)據(jù)打包處理;接收緩沖/發(fā)送緩沖分別是用來配合接 收模塊和發(fā)送模塊進行傳輸時作為數(shù)據(jù)緩沖區(qū),并實現(xiàn)與系統(tǒng)中其他接口或者FPGA中的其他模塊的接口的數(shù)據(jù)傳輸功能。
(4)控制CPCI接口模塊與CPCI總線間的數(shù)據(jù)傳輸
CPCI接口模塊由PCI9656組成,在FPGA中劃定一個獨立的功能模塊作為實現(xiàn)CPCI總線協(xié)議的接口控制器。該控制器主要包含一個FIFO控制邏 輯,完成本地板卡與CPCI總線之間的數(shù)據(jù)傳輸。主要完成以下功能:與PCI9656配合實現(xiàn)CPCI總線對目標設(shè)備的讀和寫、緩沖CPCI總線與 FIFO之間傳送的數(shù)據(jù)、控制FIFO的讀寫。本地讀寫CPCI總線只需對FIFO進行讀寫操作即可。
4.3 CPCI傳輸接口設(shè)計
為了保證本系統(tǒng)與后面板上其他處理系統(tǒng)的數(shù)據(jù)傳輸速率和效率,在設(shè)計中采用PCI9656作為CPCI接口芯片。PCI9656作為專門 的I/O加速器,支持CPCI格式傳輸,數(shù)據(jù)傳輸時鐘主頻最高為66 MHz,數(shù)據(jù)傳輸帶寬為64 b。其峰值傳輸速率可達528 MB/s,通過系統(tǒng)框圖可以看到,在設(shè)計中使用了CPCI的J1,J2,J3,J4四個接口,根據(jù)CPCI傳輸協(xié)議,J1和J2為64位PCI數(shù)據(jù)傳輸接 口。J3,J4為自定義方式接口,設(shè)計中定義J3為處理板和后面板的數(shù)據(jù)傳輸接口,J4為上下處理板間的數(shù)據(jù)傳輸接口。
4.4 外部設(shè)備接口設(shè)計
本系統(tǒng)通過公用總線連接的存儲器資源有:4個擴展應(yīng)用的SDRAM,2個FLASH,2對擴展應(yīng)用的FIFO,以及DSP片內(nèi)存儲器資源。所有存儲器資源都通過統(tǒng)一的地址空間映射來進行區(qū)分。ADSP-TS201S的32位地址總線提供了高達4 GB的尋址空間,可以劃分為4部分:
(1)主機尋址空間。地址映射范圍0X80000000~0XFFFFFFFF,用于片外主機接口的地址映射空間。
(2)外部存儲塊空間。地址映射范圍0X30000000~0X7FFFFFFF,用于處理器外圍設(shè)備存儲器接口地址空間映射,包括通用的存儲器設(shè)備和SDRAM存儲器。設(shè)計中主要對此空間進行劃分,為外部存儲器分配單獨和惟一的地址空間。
(3)多處理器空間。地址映射范圍0XOC000000~0X2FFFFFFF,主要用于多處理器構(gòu)成的系統(tǒng)各個處理器間相互共享內(nèi)部存儲空間映射。
(4)片內(nèi)存儲空間。地址映射范圍0X00000000~0X03FFFFFF,定義內(nèi)部存儲器空間映射。
外部存儲器可以分為SDRAM尋址空間和外部通用存儲空間。設(shè)計中,擴展連接的SDRAM將分配占用SDRAM尋址空間,而外部FLASH和FIFO將分配占用通用存儲空間。
每兩片SDRAM擴展連接為64位形式,設(shè)計用MSSD0和MSSDl分別作為每兩片SDRAM的共用片選信號的控制信號,對應(yīng)SDRAM尋址空間為0X4000 0000~0X44000000和0X50000000~OX54000000,可以分別獲得128 MB的存儲器尋址范圍,滿足SDRAM尋址要求。
外部兩片F(xiàn)LASH的尋址空間劃分分別通過MS0_AB與BMS_AB和MS0_CD與BMS_CD這兩組信號作為片選信號,分配尋址空間為0X30000000~0X34 000000和0X34000000~0X348000000,尋址空間范圍為128 MB。
外部4片F(xiàn)IFO,每兩片擴展接成32位輸出/輸入方式,在進行地址映射時,實際上可以映射到一個地址尋址空間,而通過控制讀寫信號來進行區(qū)分,使用 MSl信號作為FIFO使能信號,獲得分配的尋址空間0X38000000~0X40000000。為方便邏輯控制,MS1信號腳連接到FPGA上,通過 FPGA的邏輯譯碼來獲得對FIFO的尋址控制。
另外,將ADSP TS201S的高八位地址線也連接到FPGA上,通過邏輯譯碼進一步可以獲得較為細致的地址劃分方案,為設(shè)計帶來更多的靈活性,同時也確保了設(shè)計的可靠性。
5 系統(tǒng)軟件設(shè)計
由于系統(tǒng)硬件是基于DSP+FPGA的結(jié)構(gòu),相應(yīng)的軟件也分為兩個功能模塊。FPGA主要完成整個系統(tǒng)的數(shù)據(jù)傳輸邏輯控制,因此FPGA具體的處理流程嵌套在DSP的信號處理流程中。4片DSP主要完成信號的處理,大致的系統(tǒng)設(shè)計流程如圖3所示。
4片DSP并行工作時,總線仲裁策略指定DSPl為主處理器,由它完成系統(tǒng)的初始化、數(shù)據(jù)程序配置、與CPCI工控機主機通信等,并參與運算工作。當系統(tǒng) 接收到數(shù)據(jù)時,首先判斷信號的傳輸方式,若是并行信號,由FPGA進行相應(yīng)處理后寫入FIFO中,同時通過外部中斷告知DPS-l,隨即DSPl發(fā)出中斷 申請,總線仲裁令DSP1獲得總線控制權(quán),讀取FIFO中的數(shù)據(jù)并轉(zhuǎn)存至公共存儲區(qū);然后DSP1通過LINK口與其他DSP通信,進行任務(wù)分配,其他 DSP依次循環(huán)獲得總線控制權(quán),讀取數(shù)據(jù)進行處理然后再存入存儲區(qū);最后,由DSP4控制將存儲區(qū)里的數(shù)據(jù)寫入FIF-O,同時通知FPGA讀取并完成時 序轉(zhuǎn)換后傳輸?shù)絇CI9656,由PCI9656將數(shù)據(jù)傳輸?shù)紺PCI總線,完成這一幀數(shù)據(jù)的處理。若系統(tǒng)接收到的數(shù)據(jù)是由J3口傳輸來的串行信號,則先 由DSP2發(fā)出中斷申請,總線仲裁令DSP2獲得總線控制權(quán),將接收到的數(shù)據(jù)轉(zhuǎn)存至公共存儲區(qū);然后通過同樣的方式在4片DSP間進行任務(wù)分配和處理,由 DSP4寫入FIFO,最后由FPGA和PCI9656聯(lián)合將數(shù)據(jù)傳輸?shù)紺PCI總線,完成串行信號的處理。
6 結(jié)語
本文介紹了一種基于PFGA的多DSP并行處理系統(tǒng)的設(shè)計,重點對DSP并行結(jié)構(gòu)設(shè)計進行了分析,并介紹了FPGA設(shè)計和外部設(shè)備接口設(shè)計。實際應(yīng)用表 明,該多DSP并行處理系統(tǒng)應(yīng)用于寬帶雷達信號處理時,能夠滿足任務(wù)中的各項指標,還能完成設(shè)計外的其他功能,并且易于控制,穩(wěn)定可靠。本文提供的系統(tǒng)設(shè) 計方案能夠為處理寬帶雷達信號的其他研究人員提供一定的參考。
評論