基于ADSP-TS201S的多DSP并行系統(tǒng)
0 引言
在寬帶雷達(dá)信號處理中,存在諸如回波采樣率高、脈沖壓縮(匹配濾波)運算量大、處理流程復(fù)雜、實時高分辨目標(biāo)檢測困難等一系列問題。針對這些問題,采用通 用計算機(jī)平臺難以應(yīng)對運算量大和實時性等高要求,因此,需采用專用的數(shù)字信號處理器(DSP)來進(jìn)行高速運算。盡管當(dāng)前的數(shù)字信號處理器已達(dá)到較高水平, 但單片DSP芯片的處理能力還是不能滿足寬帶雷達(dá)的性能要求,需要引入并行處理技術(shù),在本設(shè)計中使用4片DSP芯片組成并行處理系統(tǒng)。另外,為充分發(fā)揮 DSP芯片在復(fù)雜算法處理上的優(yōu)勢及FPGA在大數(shù)據(jù)量的底層算法上的優(yōu)勢,設(shè)計了一種基于FPGA控制的多DSP并行處理系統(tǒng)。
1 系統(tǒng)設(shè)計
基于FPGA控制的多DSP并行處理系統(tǒng)的原理圖如圖1所示。
整個雷達(dá)信號處理系統(tǒng)以高可靠性CPCI工控機(jī)為平臺,內(nèi)置不同功能的信號處理板。板間的數(shù)據(jù)傳輸通過CPCI接口完成。根據(jù)雷達(dá)信號處理系統(tǒng)的任務(wù)分 配,本系統(tǒng)負(fù)責(zé)完成中頻數(shù)字信號的處理。根據(jù)前端信號采集板輸出數(shù)據(jù)的不同,數(shù)據(jù)將以串行或并行的方式輸送到本系統(tǒng)中。其中,串行信號通過CPCI的J3 口以差分的形式直接傳輸給DSP2,然后在4片DSP芯片間按照預(yù)定的算法進(jìn)行任務(wù)分配和并行處理,處理完畢后通過DSP4寫入兩片擴(kuò)展連接成32輸出方 式的FIFO中,此時,F(xiàn)PGA直接從FIFO中讀取數(shù)據(jù),完成與CPCI接口芯片PCI9656的時序轉(zhuǎn)換后將數(shù)據(jù)發(fā)送到PCI9656,通過CPCI 總線經(jīng)J1和J2口傳輸?shù)嚼走_(dá)系統(tǒng)的其他功能模塊。對于并行信號而言,32位帶寬的信號首先通過J3口發(fā)送到F-PGA內(nèi)部寄存器中FPGA接收到數(shù)據(jù)后 將數(shù)據(jù)寫入輸入緩存區(qū),并在完成一幀后給并行DSP輸出中斷。當(dāng)并行DSP采樣到中斷后,從數(shù)據(jù)緩存區(qū)讀取數(shù)據(jù),完成處理后,將數(shù)據(jù)傳輸?shù)骄彺?區(qū),F(xiàn)PGA再通過相同的處理方式經(jīng)CPCI接口的J1口和J2口將數(shù)據(jù)傳輸?shù)嚼走_(dá)系統(tǒng)的其他功能模塊。
2 DSP芯片選型
根據(jù)系統(tǒng)的性能要求,通過比較各種高性能DSP處理器,并著重對構(gòu)成并行處理系統(tǒng)的性能和便捷性進(jìn)行分析,確定選用AD公司的ADSP Tiger SHARC系列處理器中的TS201S組成多DSP并行系統(tǒng)。因為該系列的處理器在構(gòu)成并行處理系統(tǒng)時其本身就提供了實現(xiàn)互連所需的片內(nèi)總線仲裁控制和特有的鏈路口,可以以各種拓?fù)浣Y(jié)構(gòu)互連DSP,滿足大運算量和片間通信靈活的要求。此外,選用ADSP Tiger SHARC還可以降低外圍設(shè)計的復(fù)雜度,增強(qiáng)系統(tǒng)的穩(wěn)定性。
TS201S芯片(600 MHz)主要性能指標(biāo):
(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的傳輸速率,可同時進(jìn)行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口連接在一起,進(jìn)行通信控制和數(shù)據(jù)交換,系統(tǒng)結(jié)構(gòu)簡單、連線少、可擴(kuò)展性強(qiáng),在DSP具有多個 LINK口的情況下,可靈活組成線型、星型、環(huán)型、網(wǎng)絡(luò)型或超立方體型等多種拓?fù)浣Y(jié)構(gòu)。ADSP-TS201S具有4個全雙工的鏈路口通信端口。一個鏈路 口單向通信包含4位數(shù)據(jù)加上時鐘與握手信號一共12條引線,雙向共要24條引線。在內(nèi)核時鐘為600 MHz時,單向數(shù)據(jù)傳輸率最高可達(dá)600 MB/s,雙向數(shù)據(jù)傳輸率可達(dá)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ù)吞吐量可以高達(dá)1 GB/s。為了與不同外部設(shè)備連接,ADSP-TS201S外部端口支持快速(流水線)、慢速和SDRAM協(xié)議。且支持以DMA方式進(jìn)行數(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中,每兩片擴(kuò)展連接成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ù)需要配置,對電路的修改 和維護(hù)很方便。目前,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級,使得FPGA成為解決系統(tǒng)級設(shè)計的重要選擇方案之一?,F(xiàn)在FPGA已經(jīng)成為多種數(shù)字信號處理應(yīng)用 的強(qiáng)有力的解決方案。由于可編程方案的靈活性,DSP系統(tǒng)設(shè)計可以適應(yīng)日益變化的標(biāo)準(zhǔn)、協(xié)議和性能需求。Vir-tex-5系列是當(dāng)前市場上最新,功能最 強(qiáng)大的FPGA,它采用65 nm芯片制造工藝,具有先進(jìn)的高性能和理想應(yīng)用的FPGA結(jié)構(gòu)。主要性能指標(biāo)如下:
(1)強(qiáng)大的時鐘管理能力;
(2)片上集成高達(dá)36 Kb的塊RAM和FIFO存儲器資源;
(3)高性能并行Select I/O技術(shù)和先進(jìn)的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)強(qiáng)大的片上微處理器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ù)并行處理 的分配和雷達(dá)信號流水線式的處理在處理算法上提供了最大程度的簡便,并能充分發(fā)揮DSP處理復(fù)雜算法的運算能力。
(2)控制數(shù)據(jù)緩存區(qū)(FIFC))的數(shù)據(jù)寫入與讀取,通過外部中斷IRQ控制DSP與FPGA之間的數(shù)據(jù)傳輸
由于外部4片F(xiàn)IFO每兩片擴(kuò)展接成32位輸出/輸入方式,因此FPGA與FIFO進(jìn)行數(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告知可以進(jìn)行下一幀數(shù)據(jù)的傳送。
(3)控制通過LINK口與DSP之間的通信
鏈路口通信有自己的通信協(xié)議,F(xiàn)PGA電路只需要按照鏈路口的通信協(xié)議進(jìn)行設(shè)計。ADSP-TS201S的鏈路口采用的是獨立的發(fā)送和接收通道,因此對應(yīng) 的FPGA也采用不同的接收電路和發(fā)送電路。FPGA接收或者發(fā)送DSP鏈路口邏輯電路都主要由兩部分組成:接收/發(fā)送模塊和接收緩沖/發(fā)送緩沖。接收模 塊用來與DSP鏈路口發(fā)送通道進(jìn)行接口和數(shù)據(jù)拆包處理,發(fā)送模塊用來與DSP鏈路口接收通道進(jìn)行連接和數(shù)據(jù)打包處理;接收緩沖/發(fā)送緩沖分別是用來配合接 收模塊和發(fā)送模塊進(jìn)行傳輸時作為數(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總線對目標(biāo)設(shè)備的讀和寫、緩沖CPCI總線與 FIFO之間傳送的數(shù)據(jù)、控制FIFO的讀寫。本地讀寫CPCI總線只需對FIFO進(jìn)行讀寫操作即可。
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。其峰值傳輸速率可達(dá)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個擴(kuò)展應(yīng)用的SDRAM,2個FLASH,2對擴(kuò)展應(yīng)用的FIFO,以及DSP片內(nèi)存儲器資源。所有存儲器資源都通過統(tǒng)一的地址空間映射來進(jìn)行區(qū)分。ADSP-TS201S的32位地址總線提供了高達(dá)4 GB的尋址空間,可以劃分為4部分:
(1)主機(jī)尋址空間。地址映射范圍0X80000000~0XFFFFFFFF,用于片外主機(jī)接口的地址映射空間。
(2)外部存儲塊空間。地址映射范圍0X30000000~0X7FFFFFFF,用于處理器外圍設(shè)備存儲器接口地址空間映射,包括通用的存儲器設(shè)備和SDRAM存儲器。設(shè)計中主要對此空間進(jìn)行劃分,為外部存儲器分配單獨和惟一的地址空間。
(3)多處理器空間。地址映射范圍0XOC000000~0X2FFFFFFF,主要用于多處理器構(gòu)成的系統(tǒng)各個處理器間相互共享內(nèi)部存儲空間映射。
(4)片內(nèi)存儲空間。地址映射范圍0X00000000~0X03FFFFFF,定義內(nèi)部存儲器空間映射。
外部存儲器可以分為SDRAM尋址空間和外部通用存儲空間。設(shè)計中,擴(kuò)展連接的SDRAM將分配占用SDRAM尋址空間,而外部FLASH和FIFO將分配占用通用存儲空間。
每兩片SDRAM擴(kuò)展連接為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,每兩片擴(kuò)展接成32位輸出/輸入方式,在進(jìn)行地址映射時,實際上可以映射到一個地址尋址空間,而通過控制讀寫信號來進(jìn)行區(qū)分,使用 MSl信號作為FIFO使能信號,獲得分配的尋址空間0X38000000~0X40000000。為方便邏輯控制,MS1信號腳連接到FPGA上,通過 FPGA的邏輯譯碼來獲得對FIFO的尋址控制。
另外,將ADSP TS201S的高八位地址線也連接到FPGA上,通過邏輯譯碼進(jìn)一步可以獲得較為細(xì)致的地址劃分方案,為設(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工控機(jī)主機(jī)通信等,并參與運算工作。當(dāng)系統(tǒng) 接收到數(shù)據(jù)時,首先判斷信號的傳輸方式,若是并行信號,由FPGA進(jìn)行相應(yīng)處理后寫入FIFO中,同時通過外部中斷告知DPS-l,隨即DSPl發(fā)出中斷 申請,總線仲裁令DSP1獲得總線控制權(quán),讀取FIFO中的數(shù)據(jù)并轉(zhuǎn)存至公共存儲區(qū);然后DSP1通過LINK口與其他DSP通信,進(jìn)行任務(wù)分配,其他 DSP依次循環(huán)獲得總線控制權(quán),讀取數(shù)據(jù)進(jìn)行處理然后再存入存儲區(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間進(jìn)行任務(wù)分配和處理,由 DSP4寫入FIFO,最后由FPGA和PCI9656聯(lián)合將數(shù)據(jù)傳輸?shù)紺PCI總線,完成串行信號的處理。
6 結(jié)語
本文介紹了一種基于PFGA的多DSP并行處理系統(tǒng)的設(shè)計,重點對DSP并行結(jié)構(gòu)設(shè)計進(jìn)行了分析,并介紹了FPGA設(shè)計和外部設(shè)備接口設(shè)計。實際應(yīng)用表 明,該多DSP并行處理系統(tǒng)應(yīng)用于寬帶雷達(dá)信號處理時,能夠滿足任務(wù)中的各項指標(biāo),還能完成設(shè)計外的其他功能,并且易于控制,穩(wěn)定可靠。本文提供的系統(tǒng)設(shè) 計方案能夠為處理寬帶雷達(dá)信號的其他研究人員提供一定的參考。
評論