基于DSP的高性能通用并行彈載計算機設(shè)計與實現(xiàn)
該彈載計算機選用標準cPCI 6U板型,板內(nèi)集成了兩個處理節(jié)點,同時可承載兩個PMC子板。
2.1 DSP+FPGA共享總線型處理節(jié)點
彈上控制和信號處理系統(tǒng)中,低層的信號處理算法處理的數(shù)據(jù)量大,對處理速度要求高,但運算結(jié)構(gòu)相對簡單,適于用FPGA實現(xiàn),這樣能同時兼顧速度及靈活性。高層處理算法處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復雜,適于用運算速度高,尋址方式靈活,通信機制強大的DSP來實現(xiàn)。
為此,筆者設(shè)計的彈載計算機主要包括DSP,F(xiàn)P-GA,SDRAM和CPLD。DSP主要實現(xiàn)數(shù)據(jù)的高層算法處理和控制,F(xiàn)PGA實現(xiàn)對外的接口,并可對輸入輸出的數(shù)據(jù)進行低層算法預處理,SDRAM用來緩存數(shù)據(jù),CPLD用來實現(xiàn)一些輔助邏輯。選用的DSP芯片是ADI公司的TS201,單片處理能力3.6 GFLOPS,內(nèi)核時鐘頻率600 MHz,片內(nèi)內(nèi)存24 Mb,125 MHz/64 b片外總線,具有1 GB的SDRAM訪問能力,還有4個Link口,每個Link口收發(fā)獨立,最高帶寬為1.2 GB/s。
所有特點都使得TS201適合多片擴展,構(gòu)成一個大規(guī)模高性能的信號處理系統(tǒng)。選用的FPGA芯片為Xilinx公司的VirtexⅡpro系列XC2VP20,它的規(guī)模約200萬門,內(nèi)部集成了1 584 Kb的RAM,88個18×18 b的乘法器,8個傳輸速率可達3.125 Gb/s的Rock-etIO高速通道,這些特點使得該FPGA適合實現(xiàn)數(shù)據(jù)的傳輸和預處理。而且它的管腳兼容XC2VP30/40,可實現(xiàn)FPGA規(guī)模的進一步擴展。每個處理節(jié)點包括兩片TS201,一片F(xiàn)PGA,最高4 GB的SDRAM,以及一片CPLD,并共享總線。之所以只用兩片TS201,是考慮到總線上設(shè)備太多,會使得總線時鐘頻率降低,帶寬變小,并行度和效率都不高。兩片TS201共享總線充分發(fā)揮了處理能力、傳輸能力、存儲能力的匹配性。TS201總線上的SDRAM最高支持1 GB的空間,通過CPLD進行邏輯控制,可使SDRAM擴展到4 GB,增加了存儲能力,適應大容量存儲應用的場合。
2.2 多層次互聯(lián)網(wǎng)絡(luò)
互聯(lián)網(wǎng)絡(luò)是構(gòu)建一個并行處理和控制系統(tǒng)的關(guān)鍵。本彈載計算機利用系統(tǒng)PCI總線、TS201的Link口,基于FPGA的RocketIO物理通道實現(xiàn)的串行RapidIO協(xié)議,以及利用CPLD實現(xiàn)的同步定時總線,構(gòu)成了不同層次的互聯(lián)網(wǎng)絡(luò),以便適應信號處理系統(tǒng)中不同類型的數(shù)據(jù)流傳輸。cPCI標準通過J1,J2連接64 b系統(tǒng)PCI總線,PCI橋把系統(tǒng)PCI總線轉(zhuǎn)換為局部PCI總線。每個處理節(jié)點通過FPGA(FPGA 0和FPGA 1)實現(xiàn)PCI接口,兩個處理節(jié)點和兩個PMC子板共享局部PCI總線,并通過PCI橋與系統(tǒng)PCI總線連接在一起。這使得系統(tǒng)主控模塊可以通過PCI總線實現(xiàn)對每個處理節(jié)點以及PMC子板的控制。同時各個節(jié)點之間也可通過。PCI總線交換數(shù)據(jù)。但由于總線的限制,只能實現(xiàn)一些低速、非實時的數(shù)據(jù)交換。TS201具有4個高速Link口,可實現(xiàn)多片TS201之間的高速數(shù)據(jù)傳輸。對于板內(nèi)的4片TS201,利用各自2個Link口構(gòu)成1個環(huán)形Link連接,使得板內(nèi)4片TS201緊密耦合在一起。另外,每片TS201的1個Link口共4個Link口連到FPGA 2(稱之為Link Switch)上,同時每個PMC的PJ4上也定義兩個Link口,板卡的J4上定義4個Link口,所有這些Link口都連到FPGA2上。通過FPGA2,可以靈活地配置板內(nèi)、板內(nèi)與PMC子板、板間不同節(jié)點構(gòu)成不同的Link互聯(lián)網(wǎng)絡(luò),并且可以利用。FPGA的動態(tài)加載功能,動態(tài)地配置不同的Link互聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)。FPGA2同時還與J5上的32 b自定義接口連接,可實現(xiàn)一些用戶自定義接口。同時每個處理節(jié)點內(nèi)的2片TS201還有1個Link口都連到了節(jié)點內(nèi)總線上的FPGA(FPGA0和FPGA1),與該FPGA對外的串行RapidIO接口相配合,實現(xiàn)外部串行RapidIO數(shù)據(jù)流與TS201內(nèi)部數(shù)據(jù)的交換。Link口具有大帶寬、低延時的特點,因此適合用來傳輸原始數(shù)據(jù)流和一些帶寬大,實時性強的中間數(shù)據(jù)流。串行RapidIO是基于包交換的第三代互聯(lián)協(xié)議,相比TS201的Link協(xié)議,它具有更為完善的分層協(xié)議定義(包括邏輯層、傳輸層和物理層)。該協(xié)議使得模塊具有更強的通用性,不僅可以與同類型的各模塊互聯(lián),還可以與任何具有串行RapidIO接口的異構(gòu)模塊互聯(lián)。利用FPGA的Rocke-tIO物理通道,通過FPGA編程可實現(xiàn)串行RapidIO協(xié)議。FPGA0和FPGA1通過4個RocketIO通道直接相連,可實現(xiàn)二者之間4個1×模式或1個4×模式的串行RapidIO接口。同時,F(xiàn)PGA0和FPGAl還各自通過4個RocketIO與J3相連,這樣通過J3,彈載計算機就可以以8個1×模式或2個4×模式的串行RapidIO接口與其他模塊互聯(lián),構(gòu)成多個模塊之間的串行Ra-pidIO互聯(lián)網(wǎng)絡(luò)。串行RapidIO網(wǎng)絡(luò)也具有大帶寬的特性,而且相比Link口具有更為完善的協(xié)議控制,但正是由于復雜的協(xié)議控制,使它的傳輸延時相比Link口更大。因此,它可與Link網(wǎng)絡(luò)形成很好的互補,用來傳輸大帶寬,延時要求不高的數(shù)據(jù)流。在J3上定義了8 b同步定時信號,用來實現(xiàn)各個節(jié)點之間的同步定時控制。這些信號通過RS 245驅(qū)動后與每個節(jié)點內(nèi)部的CPLD相連。每片TS201可通過中斷或讀寫寄存器等方式對節(jié)點內(nèi)的CPLD進行操作,進而通過CPLD內(nèi)部邏輯產(chǎn)生相應的同步定時信號進行各個節(jié)點之間的同步。RS 245的雙向性使得每個節(jié)點既可以發(fā)出同步信號,也可以接收同步信號,更加靈活。該模塊所有對外的互聯(lián)接口都是通過J1~J5接插件連接,這樣就可以在底板上把各個模塊之間的各個接口連接起來。而且既可以使用固定拓撲結(jié)構(gòu)的無源底板,也可以使用帶有交換芯片的有源底板或?qū)iT的交換板,靈活構(gòu)建各類互聯(lián)網(wǎng)絡(luò)。
評論