《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 利用RapidIO技術(shù)搭建的可重構(gòu)信號處理平臺
利用RapidIO技術(shù)搭建的可重構(gòu)信號處理平臺
劉 垚1,2,孔 超1, 2,謝時(shí)根2,蔡惠智1,2
1.中國科學(xué)院聲學(xué)研究所,北京100190;2.北京中科海訊電子科技有限公司,北京100107
摘要: 軍事領(lǐng)域常選擇ADI公司的TS201芯片用于信號處理平臺,但由于其采用基于電路交換的LINK口進(jìn)行連接,難以實(shí)現(xiàn)軍方對電子系統(tǒng)設(shè)計(jì)提出的可重構(gòu)性的需求。FPGA可以用來實(shí)現(xiàn)接口轉(zhuǎn)換功能,如果利用FPGA將基于電路交換的LINK口轉(zhuǎn)換成基于包交換的其他形式的接口,就能在不改變硬件連接的基礎(chǔ)上,實(shí)現(xiàn)DSP系統(tǒng)的重構(gòu)。本文介紹了一種基于串行RapidIO技術(shù)的可重構(gòu)的信號處理平臺,并對其中核心的FPGA的邏輯設(shè)計(jì)進(jìn)行了討論。
中圖分類號: TP271+.82
文獻(xiàn)標(biāo)識碼: A
An implementation of reconfigurable signal processing system using RapidIO technology
LIU Yao1,2,KONG Chao1,2,XIE Shi Gen2,CAI Hui Zhi1,2
1.Institute of Acoustic, Chinese Academy of Sciences, Beijing 100190,China;2.Beijing Zhongkehaixun Electronic Technology Co. Ltd, Beijing 100107,China
Abstract: The DSP chip-TS201 from Analog Devices, Inc. uses link port, which is based on circuit switching ,to communicate. Such kind of interface makes it hard for the reconfiguration of an electronic system. FPGAs are usually used to realize an interface converter in electronic systems. If we use FPGA to convert the circuit-switching based interface to some other interface which is based on packet switching, we can realize the reconfiguration of a system. In this paper, a reconfigurable signal processing system using serial RapidIO technology is introduced, and the implementation of the crucial FPGA design is discussed.
Key words : serial RapidIO;LINK port;reconfigurable;signal processing system;DSP network topology

    在雷達(dá)、聲納、電子對抗等軍用電子設(shè)備中,數(shù)字信號處理機(jī)作為實(shí)現(xiàn)信號處理算法的平臺,起著至關(guān)重要的作用。在傳統(tǒng)的信號處理平臺中,軍事領(lǐng)域多選用ADI公司的TigerShark系列的DSP芯片作為信號處理單元,在PCB的板內(nèi)和板間采用高速的LINK口進(jìn)行互聯(lián)。
    LINK口是一種源同步接口,可以達(dá)到很高的傳輸速度。但是,由于LINK口是基于電路交換的接口,連接的雙方獨(dú)占一條通路,LINK口一旦在硬件上連接起來,系統(tǒng)中的DSP網(wǎng)絡(luò)拓?fù)?/a>就固定不變了。由于信號處理算法的多樣性,系統(tǒng)中數(shù)據(jù)流的方向也很不確定,固定的DSP拓?fù)渚W(wǎng)絡(luò)只能針對一定的算法達(dá)到最優(yōu),當(dāng)數(shù)據(jù)流方向改變較大時(shí),同樣的信號處理平臺的傳輸效率就會大大降低。這時(shí),如果能夠重新調(diào)整DSP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),會大大提高平臺的性能。
    為了實(shí)現(xiàn)系統(tǒng)可重構(gòu)的特性,需要利用專門的FPGA芯片,將基于電路交換的LINK口轉(zhuǎn)換成基于(帶有路由信息的)包交換的其他格式的接口進(jìn)行傳輸?,F(xiàn)在比較流行的基于包交換的接口有串行 RapidIO接口、 PCI Express接口和千兆以太網(wǎng)接口等。
    
串行RapidIO、PCI Express和千兆以太網(wǎng)技術(shù)都可以提供高速、可靠的點(diǎn)對點(diǎn)互聯(lián)。串行RapidIO技術(shù)是專門為嵌入式系統(tǒng)互聯(lián)而設(shè)計(jì)的,只要有足夠多的交換機(jī),就可以實(shí)現(xiàn)任意結(jié)構(gòu)的拓?fù)?。PCI Express技術(shù)是著眼于最大的兼容PCI總線技術(shù)而設(shè)計(jì),為了能夠兼容傳統(tǒng)的PCI總線技術(shù),PCI Express的拓?fù)浣Y(jié)構(gòu)只能是樹形結(jié)構(gòu)。這種結(jié)構(gòu)在PC機(jī)和服務(wù)器內(nèi)非常適用,如果合適的話,也能用在嵌入式系統(tǒng)內(nèi)。但在PCI Express的結(jié)構(gòu)中除了要有交換機(jī),還需要有一個(gè)根聯(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)延時(shí)較大,不太適合實(shí)時(shí)嵌入式系統(tǒng)內(nèi)部的互聯(lián)。在這3種技術(shù)中,串行RapidIO技術(shù)是在嵌入式系統(tǒng)內(nèi)實(shí)現(xiàn)互聯(lián)的最佳選擇[1]。
1 RapidIO技術(shù)
    RapidIO是一種高性能、低引腳數(shù)、基于包交換的系統(tǒng)級互聯(lián)協(xié)議,是專門為多種多樣的嵌入式系統(tǒng)互聯(lián)而建立的一種標(biāo)準(zhǔ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ù)率)?,F(xiàn)在FPGA的IP核能夠支持的主流配置是x1或x4的鏈路,每路支持2.5 Gb/s或3.125 Gb/s的傳輸速率。因此,如果采用x4的鏈路和3.125 Gb/s傳輸速率,就可以達(dá)到雙向各12.5 Gb/s的帶寬。另外,RapidIO也提供了較高級別的錯誤管理和錯誤恢復(fù)機(jī)制,是一種比較穩(wěn)定和可靠的互聯(lián)選擇[3]。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
2.1 板卡內(nèi)DSP的連接結(jié)構(gòu)

    DSP板是信號處理系統(tǒng)中最基本的組成模塊,它的結(jié)構(gòu)固定不變。本文選擇ADI公司的TS201系列芯片。每塊TS201芯片帶有4個(gè)高速LINK口,其中3個(gè)LINK口用于板卡內(nèi)DSP之間的連接,1個(gè)LINK口用來通過FPGA進(jìn)行協(xié)議轉(zhuǎn)換,轉(zhuǎn)成串行RapidIO接口,實(shí)現(xiàn)與其他板卡之間的連接。板卡上共采用6塊TS201芯片,其拓?fù)浣Y(jié)構(gòu)如圖1所示。圖中虛線部分表示DSP芯片之間的LINK口連接,實(shí)線部分表示DSP與FPGA的LINK口連接。

    這種拓?fù)浣Y(jié)構(gòu)能夠達(dá)到板卡內(nèi)DSP之間較高的傳輸速度,因?yàn)槊總€(gè)DSP直接或最多經(jīng)過一次中轉(zhuǎn)就能與板上任意其他的DSP進(jìn)行通信。
2.2 板卡間DSP的連接結(jié)構(gòu)
    在DSP板板卡之間用RapidIO接口連接有很多好處。最直接的好處是,由于RapidIO采用的是串行總線,這使得背板上的布線設(shè)計(jì)不再困難,系統(tǒng)可以擴(kuò)展得更大。更重要的是,由于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)上電時(shí)提前將DSP板1上的FPGA內(nèi)部控制路由的寄存器(目標(biāo)板ID號設(shè)為3,目標(biāo)DSP分配的地址設(shè)置為6)通過軟件設(shè)置好即可。交換機(jī)收到數(shù)據(jù)后,會根據(jù)數(shù)據(jù)包中用戶配置的路由信息將數(shù)據(jù)包送往目標(biāo)DSP板,然后,目標(biāo)DSP板上的FPGA進(jìn)一步將數(shù)據(jù)發(fā)送到目標(biāo)DSP芯片。在下一次的算法設(shè)計(jì)中,如果數(shù)據(jù)的流向改變很大時(shí),用戶可以根據(jù)數(shù)據(jù)流向的特點(diǎn),重新優(yōu)化DSP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),以適應(yīng)不同的算法。
    重構(gòu)DSP網(wǎng)絡(luò)拓?fù)涞倪^程在傳統(tǒng)的信號處理平臺中是很難實(shí)現(xiàn)的。在多數(shù)情況下,由于DSP拓?fù)浣Y(jié)構(gòu)不夠靈活,算法設(shè)計(jì)者受限于固定的DSP拓?fù)浣Y(jié)構(gòu),只能降低系統(tǒng)的使用效率,從而使大量的DSP資源閑置,降低了系統(tǒng)的處理能力。而在這種新的信號處理平臺架構(gòu)中,用戶只需要通過軟件界面設(shè)置路由信息即可完成整個(gè)平臺結(jié)構(gòu)的改變,系統(tǒng)不會因?yàn)樗惴ǖ母淖兌档褪褂眯省?br/>2.3 FPGA內(nèi)部的邏輯設(shè)計(jì)
    在DSP板卡上有一塊Altera公司的Stratix II GX系列的FPGA芯片。這塊FPGA芯片專門用來實(shí)現(xiàn)LINK口與RapidIO接口之間的數(shù)據(jù)轉(zhuǎn)換,將6路LINK口數(shù)據(jù)整合到1路RapidIO通路中。數(shù)據(jù)接收和發(fā)送的邏輯結(jié)構(gòu)如圖3所示。

    當(dāng)DSP發(fā)送數(shù)據(jù)時(shí),F(xiàn)PGA的LINK口接收模塊將收到的數(shù)據(jù)緩存到FIFO中,數(shù)據(jù)輪詢狀態(tài)機(jī)按順序檢查FIFO的存儲狀態(tài)。當(dāng)FIFO內(nèi)的數(shù)據(jù)滿足RapidIO包最大負(fù)載(256 B)時(shí),啟動1次RapidIO數(shù)據(jù)發(fā)送操作。另外,由于LINK口傳輸協(xié)議不包含數(shù)據(jù)長度,所以1次LINK口傳輸?shù)臄?shù)據(jù)長度不可能正好是256 B的整數(shù)倍。如果當(dāng)前FIFO內(nèi)有低于256 B的數(shù)據(jù),而當(dāng)前LINK口又沒有處于傳輸狀態(tài),也認(rèn)為LINK口完成了1次數(shù)據(jù)發(fā)送,這時(shí)也啟動一次RapidIO數(shù)據(jù)發(fā)送操作。
    在每次啟動RapidIO數(shù)據(jù)發(fā)送操作之前,配置寄存器模塊會根據(jù)不同的DSP號將對應(yīng)的路由信息輸入給RapidIO的IP核。RapidIO的IP核負(fù)責(zé)將輸入的路由信息和數(shù)據(jù)一起打包并發(fā)送出去。
    在RapidIO的數(shù)據(jù)接收端,當(dāng)RapidIO核接收到數(shù)據(jù)時(shí),首先檢查數(shù)據(jù)包包頭中的目標(biāo)板ID號信息。如果目標(biāo)板ID號與本地的ID號一致,說明數(shù)據(jù)包是發(fā)往這個(gè)板卡的,然后RapidIO核將接收到的數(shù)據(jù)和DSP地址信息傳遞給數(shù)據(jù)分發(fā)狀態(tài)機(jī),由數(shù)據(jù)分發(fā)狀態(tài)機(jī)根據(jù)地址信息將數(shù)據(jù)分發(fā)到對應(yīng)的FIFO中。最后,由LINK口發(fā)送模塊將數(shù)據(jù)傳給目標(biāo)DSP。
    這種將不同的信號相互交織在不同時(shí)間段內(nèi),沿著同一個(gè)信道傳輸,在接收端再用某種方法將各個(gè)時(shí)間段內(nèi)不同的信號提取出來的方式,類似于通信中的時(shí)分復(fù)用的機(jī)制。
2.4 功能仿真
    為了驗(yàn)證rapidIO IP核的邏輯功能和LINK口與rapidIO接口的轉(zhuǎn)換邏輯功能,將2個(gè)rapidIO核的td[3:0],rd[3:0]對接起來。其中一個(gè)rapidIO核的后端連接發(fā)送數(shù)據(jù)包的控制邏輯,另一個(gè)rapidIO核后端連接接收數(shù)據(jù)包的控制邏輯。將LINK口邏輯、接口轉(zhuǎn)換邏輯和rapidIO核邏輯串接起來,然后在數(shù)據(jù)發(fā)送端施加激勵信號,在數(shù)據(jù)接收端進(jìn)行數(shù)據(jù)檢驗(yàn)。整個(gè)過程如圖4所示。

    在仿真過程中,最關(guān)鍵的部分是驗(yàn)證rapidIO核的邏輯功能。Altera公司提供的rapidIO IP核的邏輯層接口符合avalon總線的接口時(shí)序[4](avalon總線是由Altera公司提出,用于在基于FPGA的片上系統(tǒng)中連接片內(nèi)處理器和片內(nèi)外設(shè)的總線結(jié)構(gòu))。對rapidIO核的控制可以參照avalon規(guī)范[5]。
2.5 缺陷及解決方案
    在系統(tǒng)中,每路LINK口實(shí)現(xiàn)300 MB/s的帶寬,如果6路LINK口同時(shí)發(fā)送數(shù)據(jù),總帶寬將達(dá)到14 Gb/s,已經(jīng)超出了RapidIO的IP核所能支持的最大帶寬。這時(shí),RapidIO鏈路將成為數(shù)據(jù)傳輸?shù)钠款i,從而造成DSP的傳輸速率降低。另外,當(dāng)少于3個(gè)DSP發(fā)送數(shù)據(jù)時(shí),又會造成RapidIO鏈路的浪費(fèi)。這像大城市中的交通一樣,在上下班高峰時(shí)道路會擁堵,在其他時(shí)間,道路又暢通無阻。生活中,很多人會避免上下班高峰時(shí)期出行。類似地,在使用此系統(tǒng)時(shí),應(yīng)該盡量避免在一塊DSP板卡上同時(shí)發(fā)送6個(gè)DSP的數(shù)據(jù)到其他板卡。
    本文提出了一種利用RapidIO技術(shù)搭建的可重構(gòu)的信號處理平臺,并簡要介紹了其邏輯功能的實(shí)現(xiàn)。該平臺的最大優(yōu)勢就是系統(tǒng)的可重構(gòu)性。使用這樣的信號處理平臺,DSP工程師可以根據(jù)不同算法的數(shù)據(jù)流向重新搭建出更加優(yōu)化的DSP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而提高數(shù)據(jù)的傳輸效率??傊芍貥?gòu)的信號處理平臺能夠靈活地改變系統(tǒng)中DSP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以適應(yīng)各種數(shù)據(jù)流向的應(yīng)用,為用戶和國家節(jié)省大量的設(shè)備購買費(fèi)用和研發(fā)時(shí)間。
參考文獻(xiàn)
[1] FULLER S.RapidIO:The embedded system interconnect. Wiley,ISBN:978-0-470-09291-0,US.,2005.
[2] RapidIO Trade Association.RapidIO interconnect Specification Rev.2.0.www.rapidio.org,2008.
[3] BOUVIER D,RapidIO:The interconnect architecture for high performance embedded systems.www.rapidio.org,2009.
[4] Altera Corparation.RapidIO megacore function user guide.  www.altera.com,2008.
[5] Altera Corparation.Avalon interface specification.www.altera.com,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。