使用RapidIO技術(shù)搭建可重構(gòu)信號處理平臺
摘 要: 軍事領(lǐng)域常選擇ADI公司的TS201芯片用于信號處理平臺,但由于其采用基于電路交換的LINK口進行連接,難以實現(xiàn)軍方對電子系統(tǒng)設(shè)計提出的可重構(gòu)性的需求。FPGA可以用來實現(xiàn)接口轉(zhuǎn)換功能,如果利用FPGA將基于電路交換的LINK口轉(zhuǎn)換成基于包交換的其他形式的接口,就能在不改變硬件連接的基礎(chǔ)上,實現(xiàn)DSP系統(tǒng)的重構(gòu)。本文介紹了一種基于串行RapidIO技術(shù)的可重構(gòu)的信號處理平臺,并對其中核心的FPGA的邏輯設(shè)計進行了討論。
在雷達、聲納、電子對抗等軍用電子設(shè)備中,數(shù)字信號處理機作為實現(xiàn)信號處理算法的平臺,起著至關(guān)重要的作用。在傳統(tǒng)的信號處理平臺中,軍事領(lǐng)域多選用ADI公司的TigerShark系列的DSP芯片作為信號處理單元,在PCB的板內(nèi)和板間采用高速的LINK口進行互聯(lián)。
LINK口是一種源同步接口,可以達到很高的傳輸速度。但是,由于LINK口是基于電路交換的接口,連接的雙方獨占一條通路,LINK口一旦在硬件上連接起來,系統(tǒng)中的DSP網(wǎng)絡拓撲就固定不變了。由于信號處理算法的多樣性,系統(tǒng)中數(shù)據(jù)流的方向也很不確定,固定的DSP拓撲網(wǎng)絡只能針對一定的算法達到最優(yōu),當數(shù)據(jù)流方向改變較大時,同樣的信號處理平臺的傳輸效率就會大大降低。這時,如果能夠重新調(diào)整DSP網(wǎng)絡的拓撲結(jié)構(gòu),會大大提高平臺的性能。
為了實現(xiàn)系統(tǒng)可重構(gòu)的特性,需要利用專門的FPGA芯片,將基于電路交換的LINK口轉(zhuǎn)換成基于(帶有路由信息的)包交換的其他格式的接口進行傳輸?,F(xiàn)在比較流行的基于包交換的接口有串行 RapidIO接口、 PCI Express接口和千兆以太網(wǎng)接口等。
串行RapidIO、PCI Express和千兆以太網(wǎng)技術(shù)都可以提供高速、可靠的點對點互聯(lián)。串行RapidIO技術(shù)是專門為嵌入式系統(tǒng)互聯(lián)而設(shè)計的,只要有足夠多的交換機,就可以實現(xiàn)任意結(jié)構(gòu)的拓撲。PCI Express技術(shù)是著眼于最大的兼容PCI總線技術(shù)而設(shè)計,為了能夠兼容傳統(tǒng)的PCI總線技術(shù),PCI Express的拓撲結(jié)構(gòu)只能是樹形結(jié)構(gòu)。這種結(jié)構(gòu)在PC機和服務器內(nèi)非常適用,如果合適的話,也能用在嵌入式系統(tǒng)內(nèi)。但在PCI Express的結(jié)構(gòu)中除了要有交換機,還需要有一個根聯(lián)合體來做統(tǒng)一的管理,這增加了硬件的開銷。千兆以太網(wǎng)技術(shù)是百兆以太網(wǎng)技術(shù)的升級,最初用于局域網(wǎng)內(nèi)和廣域網(wǎng)內(nèi)的互聯(lián),是非常可靠的互聯(lián)選擇。但千兆以太網(wǎng)技術(shù)較前2種技術(shù)的效率稍低,而且系統(tǒng)延時較大,不太適合實時嵌入式系統(tǒng)內(nèi)部的互聯(lián)。在這3種技術(shù)中,串行RapidIO技術(shù)是在嵌入式系統(tǒng)內(nèi)實現(xiàn)互聯(lián)的最佳選擇[1]。
1 RapidIO技術(shù)
RapidIO是一種高性能、低引腳數(shù)、基于包交換的系統(tǒng)級互聯(lián)協(xié)議,是專門為多種多樣的嵌入式系統(tǒng)互聯(lián)而建立的一種標準[1]。RapidIO接口主要適用于芯片到芯片和電路板到電路板之間的連接。在2008年3月由RapidIO組織公布的2.0版本的規(guī)范中,串行RapidIO鏈路可以支持每路1.25、2.5、3.125、5、6.25 GBaud的傳輸速率[2](1,2,2.5,4,5 Gb/s的有效數(shù)據(jù)率)。現(xiàn)在FPGA的IP核能夠支持的主流配置是x1或x4的鏈路,每路支持2.5 Gb/s或3.125 Gb/s的傳輸速率。因此,如果采用x4的鏈路和3.125 Gb/s傳輸速率,就可以達到雙向各12.5 Gb/s的帶寬。另外,RapidIO也提供了較高級別的錯誤管理和錯誤恢復機制,是一種比較穩(wěn)定和可靠的互聯(lián)選擇[3]。
2 系統(tǒng)結(jié)構(gòu)設(shè)計
2.1 板卡內(nèi)DSP的連接結(jié)構(gòu)
DSP板是信號處理系統(tǒng)中最基本的組成模塊,它的結(jié)構(gòu)固定不變。本文選擇ADI公司的TS201系列芯片。每塊TS201芯片帶有4個高速LINK口,其中3個LINK口用于板卡內(nèi)DSP之間的連接,1個LINK口用來通過FPGA進行協(xié)議轉(zhuǎn)換,轉(zhuǎn)成串行RapidIO接口,實現(xiàn)與其他板卡之間的連接。板卡上共采用6塊TS201芯片,其拓撲結(jié)構(gòu)如圖1所示。圖中虛線部分表示DSP芯片之間的LINK口連接,實線部分表示DSP與FPGA的LINK口連接。
這種拓撲結(jié)構(gòu)能夠達到板卡內(nèi)DSP之間較高的傳輸速度,因為每個DSP直接或最多經(jīng)過一次中轉(zhuǎn)就能與板上任意其他的DSP進行通信。
2.2 板卡間DSP的連接結(jié)構(gòu)
在DSP板板卡之間用RapidIO接口連接有很多好處。最直接的好處是,由于RapidIO采用的是串行總線,這使得背板上的布線設(shè)計不再困難,系統(tǒng)可以擴展得更大。更重要的是,由于RapidIO是以數(shù)據(jù)包的格式傳送數(shù)據(jù)的,用戶可以通過改變數(shù)據(jù)包包頭中的路由信息來改變數(shù)據(jù)的流向。這使得系統(tǒng)的重構(gòu)變得十分容易。DSP板在系統(tǒng)中的連接如圖2所示。
在系統(tǒng)內(nèi), 任意2片(不同板卡上的)DSP芯片之間都可以建立連接。例如:如果用戶想要將DSP板1上的DSP4中的數(shù)據(jù)發(fā)送給DSP板3上的DSP6,只需在系統(tǒng)上電時提前將DSP板1上的FPGA內(nèi)部控制路由的寄存器(目標板ID號設(shè)為3,目標DSP分配的地址設(shè)置為6)通過軟件設(shè)置好即可。交換機收到數(shù)據(jù)后,會根據(jù)數(shù)據(jù)包中用戶配置的路由信息將數(shù)據(jù)包送往目標DSP板,然后,目標DSP板上的FPGA進一步將數(shù)據(jù)發(fā)送到目標DSP芯片。在下一次的算法設(shè)計中,如果數(shù)據(jù)的流向改變很大時,用戶可以根據(jù)數(shù)據(jù)流向的特點,重新優(yōu)化DSP網(wǎng)絡的拓撲結(jié)構(gòu),以適應不同的算法。
重構(gòu)DSP網(wǎng)絡拓撲的過程在傳統(tǒng)的信號處理平臺中是很難實現(xiàn)的。在多數(shù)情況下,由于DSP拓撲結(jié)構(gòu)不夠靈活,算法設(shè)計者受限于固定的DSP拓撲結(jié)構(gòu),只能降低系統(tǒng)的使用效率,從而使大量的DSP資源閑置,降低了系統(tǒng)的處理能力。而在這種新的信號處理平臺架構(gòu)中,用戶只需要通過軟件界面設(shè)置路由信息即可完成整個平臺結(jié)構(gòu)的改變,系統(tǒng)不會因為算法的改變而降低使用效率。
評論