上傳時(shí)間:2012年3月6日 關(guān)鍵詞:DSP、并行系統(tǒng)

0 引言

  在寬帶雷達(dá)信號(hào)處理中,存在諸如回波采樣率高、脈沖壓縮(匹配濾波)運(yùn)算量大、處理流程復(fù)雜、實(shí)時(shí)高分辨目標(biāo)檢測(cè)困難等一系列問(wèn)題。針對(duì)這些問(wèn)題,采用通 用計(jì)算機(jī)平臺(tái)難以應(yīng)對(duì)運(yùn)算量大和實(shí)時(shí)性等高要求,因此,需采用專用的數(shù)字信號(hào)處理器(DSP)來(lái)進(jìn)行高速運(yùn)算。盡管當(dāng)前的數(shù)字信號(hào)處理器已達(dá)到較高水平, 但單片DSP芯片的處理能力還是不能滿足寬帶雷達(dá)的性能要求,需要引入并行處理技術(shù),在本設(shè)計(jì)中使用4片DSP芯片組成并行處理系統(tǒng)。另外,為充分發(fā)揮 DSP芯片在復(fù)雜算法處理上的優(yōu)勢(shì)及FPGA在大數(shù)據(jù)量的底層算法上的優(yōu)勢(shì),設(shè)計(jì)了一種基于FPGA控制的多DSP并行處理系統(tǒng)。

1 系統(tǒng)設(shè)計(jì)

  基于FPGA控制的多DSP并行處理系統(tǒng)的原理圖如圖1所示。


整個(gè)雷達(dá)信號(hào)處理系統(tǒng)以高可靠性CPCI工控機(jī)為平臺(tái),內(nèi)置不同功能的信號(hào)處理板。板間的數(shù)據(jù)傳輸通過(guò)CPCI接口完成。根據(jù)雷達(dá)信號(hào)處理系統(tǒng)的任務(wù)分 配,本系統(tǒng)負(fù)責(zé)完成中頻數(shù)字信號(hào)的處理。根據(jù)前端信號(hào)采集板輸出數(shù)據(jù)的不同,數(shù)據(jù)將以串行或并行的方式輸送到本系統(tǒng)中。其中,串行信號(hào)通過(guò)CPCI的J3 口以差分的形式直接傳輸給DSP2,然后在4片DSP芯片間按照預(yù)定的算法進(jìn)行任務(wù)分配和并行處理,處理完畢后通過(guò)DSP4寫(xiě)入兩片擴(kuò)展連接成32輸出方 式的FIFO中,此時(shí),F(xiàn)PGA直接從FIFO中讀取數(shù)據(jù),完成與CPCI接口芯片PCI9656的時(shí)序轉(zhuǎn)換后將數(shù)據(jù)發(fā)送到PCI9656,通過(guò)CPCI總線經(jīng)J1和J2口傳輸?shù)嚼走_(dá)系統(tǒng)的其他功能模塊。對(duì)于并行信號(hào)而言,32位帶寬的信號(hào)首先通過(guò)J3口發(fā)送到F-PGA內(nèi)部寄存器中FPGA接收到數(shù)據(jù)后 將數(shù)據(jù)寫(xiě)入輸入緩存區(qū),并在完成一幀后給并行DSP輸出中斷。當(dāng)并行DSP采樣到中斷后,從數(shù)據(jù)緩存區(qū)讀取數(shù)據(jù),完成處理后,將數(shù)據(jù)傳輸?shù)骄彺?區(qū),F(xiàn)PGA再通過(guò)相同的處理方式經(jīng)CPCI接口的J1口和J2口將數(shù)據(jù)傳輸?shù)嚼走_(dá)系統(tǒng)的其他功能模塊。

2.DSP芯片選型 根據(jù)系統(tǒng)的性能要求,通過(guò)比較各種高性能DSP處理器,并著重對(duì)構(gòu)成并行處理系統(tǒng)的性能和便捷性進(jìn)行分析,確定選用AD公司的ADSP Tiger SHARC系列處理器中的TS201S組成多DSP并行系統(tǒng)。因?yàn)樵撓盗械奶幚砥髟跇?gòu)成并行處理系統(tǒng)時(shí)其本身就提供了實(shí)現(xiàn)互連所需的片內(nèi)總線仲裁控制和特有的鏈路口,可以以各種拓?fù)浣Y(jié)構(gòu)互連DSP,滿足大運(yùn)算量和片間通信靈活的要求。此外,選用ADSP Tiger SHARC還可以降低外圍設(shè)計(jì)的復(fù)雜度,增強(qiáng)系統(tǒng)的穩(wěn)定性。  TS201S芯片(600 MHz)主要性能指標(biāo):  (1)運(yùn)行速度:1.67 ns指令周期;每周期可執(zhí)行4條指令;  (2)DSP內(nèi)部有2個(gè)運(yùn)算模塊,支持的運(yùn)算類型有:32 b和40 b浮點(diǎn)運(yùn)算;8 b,16 b,32 b以及64 b定點(diǎn)運(yùn)算;  (3)每秒可執(zhí)行12×109次16 b定點(diǎn)運(yùn)算或3.6×109次浮點(diǎn)運(yùn)算;  (4)采用單指令多數(shù)據(jù)(SIMD)模式,每秒可提供4.8×109次的40 b乘加運(yùn)算;  (5)外部總線DMA傳輸速率1.2 GB/s(雙向);  (6)4個(gè)鏈路口,每個(gè)鏈路口最高提供1.2 GB/s的傳輸速率,可同時(shí)進(jìn)行DMA傳輸;   (7)多處理器處理能力,具有支持多處理器無(wú)縫連接的片內(nèi)仲裁邏輯,多處理器采用統(tǒng)一尋址的方式訪問(wèn),可以通過(guò)簇總線(ClusterBus)或鏈路口(Link Ports)方便地構(gòu)成多處理器系統(tǒng)?! ?8)片上SDRAM控制器,片上DMA控制器(提供14條DMA通道)。3 DSP并行處理結(jié)構(gòu)設(shè)計(jì)  ADSP-TS201S之間的數(shù)據(jù)傳輸通道可選擇的方式有如下兩種:高速鏈路口(LINK)方式和高速外部總線口(簇總線)。因此,由多ADSP- TS201 S組成的DSP并行處理系統(tǒng)從數(shù)據(jù)傳輸方式來(lái)看,不外乎有以下三種模型:高速鏈路口(LINK)耦合模型;高速外部總線口(簇總線)耦合模型;高速鏈路口 (LINK)與高速外部總線口(簇總線)混合耦合模型?! ?.1 基于鏈路口的多DSP并行處理系統(tǒng)  在這種連接方式下,各DSP用LINK口連接在一起,進(jìn)行通信控制和數(shù)據(jù)交換,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、連線少、可擴(kuò)展性強(qiáng),在DSP具有多個(gè) LINK口的情況下,可靈活組成線型、星型、環(huán)型、網(wǎng)絡(luò)型或超立方體型等多種拓?fù)浣Y(jié)構(gòu)。ADSP-TS201S具有4個(gè)全雙工的鏈路口通信端口。一個(gè)鏈路 口單向通信包含4位數(shù)據(jù)加上時(shí)鐘與握手信號(hào)一共12條引線,雙向共要24條引線。在內(nèi)核時(shí)鐘為600 MHz時(shí),單向數(shù)據(jù)傳輸率最高可達(dá)600 MB/s,雙向數(shù)據(jù)傳輸率可達(dá)1.2 GB/s,由于鏈路口通信是點(diǎn)對(duì)點(diǎn)的,所以具有很高的傳輸可靠性,但在傳輸數(shù)據(jù)時(shí)的共享性不如總線形式?! ?.2 基于共享總線的多DSP并行處理系統(tǒng)  共享總線就是系統(tǒng)中所有DSP的外部總線(地址、數(shù)據(jù)和訪問(wèn)控制總線)都直接連接在一起,各DSP片內(nèi)存儲(chǔ)器和寄存器以及掛接在總線上的 外部存儲(chǔ)器、外設(shè)都作為共享資源被各個(gè)DSP訪問(wèn)。ADSP-TS201S的外部總線為32 b,數(shù)據(jù)總線可以配置成32 b或者64 b。外部端口的運(yùn)行速度最高可以到125 MHz,數(shù)據(jù)吞吐量可以高達(dá)1 GB/s。為了與不同外部設(shè)備連接,ADSP-TS201S外部端口支持快速(流水線)、慢速和SDRAM協(xié)議。且支持以DMA方式進(jìn)行數(shù)據(jù)傳輸。另 外,ADSP-TS201S并行總線的最大特點(diǎn)是它具有無(wú)縫連接能力,無(wú)論是與SRAM、SDRAM、還是與處理器連接,只需要將相應(yīng)管腳對(duì)應(yīng)連接就能簡(jiǎn) 單方便的構(gòu)成一個(gè)最多由8個(gè)DSP構(gòu)成的多處理器系統(tǒng),充分共享8個(gè)DSP的內(nèi)部資源和外部的EPR-OM,SRAM,SDRAM等資源?! ?.3 基于外部總線共享和鏈路口混合耦合的多DSP并行處理系統(tǒng)  為兼顧數(shù)據(jù)速率、資源共享、易于控制以及DSP之間通信靈活等方面,在本設(shè)計(jì)中采用混合耦合模型的并行處理系統(tǒng)。將4個(gè)ADSP-TS201S的總線口都 相互連接好,各DSP的高速鏈路口也都相連,建立DSP到DSP的點(diǎn)對(duì)點(diǎn)通道與DSP間資源共享的工作塊模式。4片SDRAM中,每?jī)善瑪U(kuò)展連接成64 位,掛接到64位數(shù)據(jù)總線上,2片F(xiàn)LASH也通過(guò)總線訪問(wèn)??刂瓶偩€連接到FPGA,由FPGA統(tǒng)一控制4片DSP之間以及DSP與外部存儲(chǔ)器之間的數(shù) 據(jù)傳輸。4片DSP的工作塊連接方式如圖2所示。


4 FPGA與外設(shè)接口設(shè)計(jì)  4.1 FPGA選型  現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)是在專用ASIC的基礎(chǔ)上發(fā)展而來(lái)的,它克服了專用ASIC不夠靈活的缺點(diǎn)。其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對(duì)電路的修改 和維護(hù)很方便。目前,F(xiàn)PGA的容量已經(jīng)跨過(guò)了百萬(wàn)門(mén)級(jí),使得FPGA成為解決系統(tǒng)級(jí)設(shè)計(jì)的重要選擇方案之一。現(xiàn)在FPGA已經(jīng)成為多種數(shù)字信號(hào)處理應(yīng)用 的強(qiáng)有力的解決方案。由于可編程方案的靈活性,DSP系統(tǒng)設(shè)計(jì)可以適應(yīng)日益變化的標(biāo)準(zhǔn)、協(xié)議和性能需求。Vir-tex-5系列是當(dāng)前市場(chǎng)上最新,功能最 強(qiáng)大的FPGA,它采用65 nm芯片制造工藝,具有先進(jìn)的高性能和理想應(yīng)用的FPGA結(jié)構(gòu)。主要性能指標(biāo)如下:  (1)強(qiáng)大的時(shí)鐘管理能力;  (2)片上集成高達(dá)36 Kb的塊RAM和FIFO存儲(chǔ)器資源;  (3)高性能并行Select I/O技術(shù)和先進(jìn)的DSP48Eslice;  (4)靈活地加載和配置方案以及在所有設(shè)備上的系統(tǒng)監(jiān)測(cè)能力;  (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芯片?! ?.2 FPGA設(shè)計(jì)  根據(jù)系統(tǒng)功能要求,F(xiàn)PGA的任務(wù)主要分為4大部分?! ?1)控制數(shù)據(jù)在系統(tǒng)中的傳輸邏輯  在設(shè)計(jì)時(shí),將圖2控制總線中的所有信號(hào)都連接到FPGA中,由FPGA來(lái)統(tǒng)一調(diào)度數(shù)據(jù)在DSP之間以及DSP與外部存儲(chǔ)器之間的傳輸。這樣為任務(wù)并行處理 的分配和雷達(dá)信號(hào)流水線式的處理在處理算法上提供了最大程度的簡(jiǎn)便,并能充分發(fā)揮DSP處理復(fù)雜算法的運(yùn)算能力。  (2)控制數(shù)據(jù)緩存區(qū)(FIFC))的數(shù)據(jù)寫(xiě)入與讀取,通過(guò)外部中斷IRQ控制DSP與FPGA之間的數(shù)據(jù)傳輸  由于外部4片F(xiàn)IFO每?jī)善瑪U(kuò)展接成32位輸出/輸入方式,因此FPGA與FIFO進(jìn)行數(shù)據(jù)傳輸時(shí)采用單向數(shù)據(jù)傳輸方式。在單向數(shù)據(jù)傳輸時(shí)采用數(shù)據(jù)塊方式 傳輸,通過(guò)將握手信號(hào)連接到DSP的IRQx來(lái)產(chǎn)生中斷或者FLAGx,F(xiàn)PGA將從外部處理板接收到的數(shù)據(jù)寫(xiě)入輸入緩存區(qū),并在完成一幀后給并行DSP 輸出中斷,DSP從FIFO讀取完一幀數(shù)據(jù)后通過(guò)握手信號(hào)向FPGA告知可以進(jìn)行下一幀數(shù)據(jù)的傳送?! ?3)控制通過(guò)LINK口與DSP之間的通信  鏈路口通信有自己的通信協(xié)議,F(xiàn)PGA電路只需要按照鏈路口的通信協(xié)議進(jìn)行設(shè)計(jì)。ADSP-TS201S的鏈路口采用的是獨(dú)立的發(fā)送和接收通道,因此對(duì)應(yīng) 的FPGA也采用不同的接收電路和發(fā)送電路。FPGA接收或者發(fā)送DSP鏈路口邏輯電路都主要由兩部分組成:接收/發(fā)送模塊和接收緩沖/發(fā)送緩沖。接收模 塊用來(lái)與DSP鏈路口發(fā)送通道進(jìn)行接口和數(shù)據(jù)拆包處理,發(fā)送模塊用來(lái)與DSP鏈路口接收通道進(jìn)行連接和數(shù)據(jù)打包處理;接收緩沖/發(fā)送緩沖分別是用來(lái)配合接 收模塊和發(fā)送模塊進(jìn)行傳輸時(shí)作為數(shù)據(jù)緩沖區(qū),并實(shí)現(xiàn)與系統(tǒng)中其他接口或者FPGA中的其他模塊的接口的數(shù)據(jù)傳輸功能。  (4)控制CPCI接口模塊與CPCI總線間的數(shù)據(jù)傳輸  CPCI接口模塊由PCI9656組成,在FPGA中劃定一個(gè)獨(dú)立的功能模塊作為實(shí)現(xiàn)CPCI總線協(xié)議的接口控制器。該控制器主要包含一個(gè)FIFO控制邏 輯,完成本地板卡與CPCI總線之間的數(shù)據(jù)傳輸。主要完成以下功能:與PCI9656配合實(shí)現(xiàn)CPCI總線對(duì)目標(biāo)設(shè)備的讀和寫(xiě)、緩沖CPCI總線與 FIFO之間傳送的數(shù)據(jù)、控制FIFO的讀寫(xiě)。本地讀寫(xiě)CPCI總線只需對(duì)FIFO進(jìn)行讀寫(xiě)操作即可?! ?.3 CPCI傳輸接口設(shè)計(jì)  為了保證本系統(tǒng)與后面板上其他處理系統(tǒng)的數(shù)據(jù)傳輸速率和效率,在設(shè)計(jì)中采用PCI9656作為CPCI接口芯片。PCI9656作為專門(mén) 的I/O加速器,支持CPCI格式傳輸,數(shù)據(jù)傳輸時(shí)鐘主頻最高為66 MHz,數(shù)據(jù)傳輸帶寬為64 b。其峰值傳輸速率可達(dá)528 MB/s,通過(guò)系統(tǒng)框圖可以看到,在設(shè)計(jì)中使用了CPCI的J1,J2,J3,J4四個(gè)接口,根據(jù)CPCI傳輸協(xié)議,J1和J2為64位PCI數(shù)據(jù)傳輸接 口。J3,J4為自定義方式接口,設(shè)計(jì)中定義J3為處理板和后面板的數(shù)據(jù)傳輸接口,J4為上下處理板間的數(shù)據(jù)傳輸接口?! ?.4 外部設(shè)備接口設(shè)計(jì)  本系統(tǒng)通過(guò)公用總線連接的存儲(chǔ)器資源有:4個(gè)擴(kuò)展應(yīng)用的SDRAM,2個(gè)FLASH,2對(duì)擴(kuò)展應(yīng)用的FIFO,以及DSP片內(nèi)存儲(chǔ)器資源。所有存儲(chǔ)器資源都通過(guò)統(tǒng)一的地址空間映射來(lái)進(jìn)行區(qū)分。ADSP-TS201S的32位地址總線提供了高達(dá)4 GB的尋址空間,可以劃分為4部分:  (1)主機(jī)尋址空間。地址映射范圍0X80000000~0XFFFFFFFF,用于片外主機(jī)接口的地址映射空間。  2)外部存儲(chǔ)塊空間。地址映射范圍0X30000000~0X7FFFFFFF,用于處理器外圍設(shè)備存儲(chǔ)器接口地址空間映射,包括通用的存儲(chǔ)器設(shè)備和SDRAM存儲(chǔ)器。設(shè)計(jì)中主要對(duì)此空間進(jìn)行劃分,為外部存儲(chǔ)器分配單獨(dú)和惟一的地址空間。  (3)多處理器空間。地址映射范圍0XOC000000~0X2FFFFFFF,主要用于多處理器構(gòu)成的系統(tǒng)各個(gè)處理器間相互共享內(nèi)部存儲(chǔ)空間映射。  (4)片內(nèi)存儲(chǔ)空間。地址映射范圍0X00000000~0X03FFFFFF,定義內(nèi)部存儲(chǔ)器空間映射?! ⊥獠看鎯?chǔ)器可以分為SDRAM尋址空間和外部通用存儲(chǔ)空間。設(shè)計(jì)中,擴(kuò)展連接的SDRAM將分配占用SDRAM尋址空間,而外部FLASH和FIFO將分配占用通用存儲(chǔ)空間?! ∶?jī)善琒DRAM擴(kuò)展連接為64位形式,設(shè)計(jì)用MSSD0和MSSDl分別作為每?jī)善琒DRAM的共用片選信號(hào)的控制信號(hào),對(duì)應(yīng)SDRAM尋址空間為0X4000 0000~0X44000000和0X50000000~OX54000000,可以分別獲得128 MB的存儲(chǔ)器尋址范圍,滿足SDRAM尋址要求?! ⊥獠?jī)善現(xiàn)LASH的尋址空間劃分分別通過(guò)MS0_AB與BMS_AB和MS0_CD與BMS_CD這兩組信號(hào)作為片選信號(hào),分配尋址空間為0X30000000~0X34 000000和0X34000000~0X348000000,尋址空間范圍為128 MB?! ⊥獠?片F(xiàn)IFO,每?jī)善瑪U(kuò)展接成32位輸出/輸入方式,在進(jìn)行地址映射時(shí),實(shí)際上可以映射到一個(gè)地址尋址空間,而通過(guò)控制讀寫(xiě)信號(hào)來(lái)進(jìn)行區(qū)分,使用 MSl信號(hào)作為FIFO使能信號(hào),獲得分配的尋址空間0X38000000~0X40000000。為方便邏輯控制,MS1信號(hào)腳連接到FPGA上,通過(guò) FPGA的邏輯譯碼來(lái)獲得對(duì)FIFO的尋址控制?! ×硗猓瑢DSP TS201S的高八位地址線也連接到FPGA上,通過(guò)邏輯譯碼進(jìn)一步可以獲得較為細(xì)致的地址劃分方案,為設(shè)計(jì)帶來(lái)更多的靈活性,同時(shí)也確保了設(shè)計(jì)的可靠性。5 系統(tǒng)軟件設(shè)計(jì)  由于系統(tǒng)硬件是基于DSP+FPGA的結(jié)構(gòu),相應(yīng)的軟件也分為兩個(gè)功能模塊。FPGA主要完成整個(gè)系統(tǒng)的數(shù)據(jù)傳輸邏輯控制,因此FPGA具體的處理流程嵌套在DSP的信號(hào)處理流程中。4片DSP主要完成信號(hào)的處理,大致的系統(tǒng)設(shè)計(jì)流程如圖3所示。

  4片DSP并行工作時(shí),總線仲裁策略指定DSPl為主處理器,由它完成系統(tǒng)的初始化、數(shù)據(jù)程序配置、與CPCI工控機(jī)主機(jī)通信等,并參與運(yùn)算工作。當(dāng)系統(tǒng) 接收到數(shù)據(jù)時(shí),首先判斷信號(hào)的傳輸方式,若是并行信號(hào),由FPGA進(jìn)行相應(yīng)處理后寫(xiě)入FIFO中,同時(shí)通過(guò)外部中斷告知DPS-l,隨即DSPl發(fā)出中斷 申請(qǐng),總線仲裁令DSP1獲得總線控制權(quán),讀取FIFO中的數(shù)據(jù)并轉(zhuǎn)存至公共存儲(chǔ)區(qū);然后DSP1通過(guò)LINK口與其他DSP通信,進(jìn)行任務(wù)分配,其他 DSP依次循環(huán)獲得總線控制權(quán),讀取數(shù)據(jù)進(jìn)行處理然后再存入存儲(chǔ)區(qū);最后,由DSP4控制將存儲(chǔ)區(qū)里的數(shù)據(jù)寫(xiě)入FIF-O,同時(shí)通知FPGA讀取并完成時(shí) 序轉(zhuǎn)換后傳輸?shù)絇CI9656,由PCI9656將數(shù)據(jù)傳輸?shù)紺PCI總線,完成這一幀數(shù)據(jù)的處理。  若系統(tǒng)接收到的數(shù)據(jù)是由J3口傳輸來(lái)的串行信號(hào),則先 由DSP2發(fā)出中斷申請(qǐng),總線仲裁令DSP2獲得總線控制權(quán),將接收到的數(shù)據(jù)轉(zhuǎn)存至公共存儲(chǔ)區(qū);然后通過(guò)同樣的方式在4片DSP間進(jìn)行任務(wù)分配和處理,由 DSP4寫(xiě)入FIFO,最后由FPGA和PCI9656聯(lián)合將數(shù)據(jù)傳輸?shù)紺PCI總線,完成串行信號(hào)的處理。6 結(jié)語(yǔ)  本文介紹了一種基于PFGA的多DSP并行處理系統(tǒng)的設(shè)計(jì),重點(diǎn)對(duì)DSP并行結(jié)構(gòu)設(shè)計(jì)進(jìn)行了分析,并介紹了FPGA設(shè)計(jì)和外部設(shè)備接口設(shè)計(jì)。實(shí)際應(yīng)用表 明,該多DSP并行處理系統(tǒng)應(yīng)用于寬帶雷達(dá)信號(hào)處理時(shí),能夠滿足任務(wù)中的各項(xiàng)指標(biāo),還能完成設(shè)計(jì)外的其他功能,并且易于控制,穩(wěn)定可靠。本文提供的系統(tǒng)設(shè) 計(jì)方案能夠?yàn)樘幚韺拵Ю走_(dá)信號(hào)的其他研究人員提供一定的參考。