一種基于流水線的SpaceWire路由器研究
近年來,隨著SpaceWire總線技術(shù)在航天航空領(lǐng)域的不斷應(yīng)用,SpaceWire路由器在理論和技術(shù)應(yīng)用方面也得到了飛速發(fā)展。國外,歐洲航天局(ESA)已經(jīng)將速度為200 Mb/s抗輻射的SpaceWire路由器應(yīng)用到ESA的航天任務(wù)中。國內(nèi),目前對SpaceWire路由器的研究還處于初級階段,設(shè)計(jì)的SpaceWire路由器最高速度也只能達(dá)到100 Mb/s。為了提高路由器的傳輸速度,這里提出了一種基于流水線技術(shù)的SpaceWire路由器。
本文引用地址:http://www.ex-cimer.com/article/158063.htm
1 SpaceWire路由器概述
SpaceWire路由器由一定數(shù)量鏈接接口單元和路由單元構(gòu)成。接口單元主要負(fù)責(zé)連接各SpaceWire接點(diǎn),路由單元負(fù)責(zé)數(shù)據(jù)的路由交換。
1.1 SpaceWire數(shù)據(jù)鏈路層接口單元
SpaceWire數(shù)據(jù)鏈路接口主要由連接器、LVDS驅(qū)動器、編碼器、譯碼器、狀態(tài)機(jī)、收發(fā)FIFO以及主機(jī)接口組成,其結(jié)構(gòu)如圖1所示。
發(fā)送器接收來自發(fā)送FIFO的數(shù)據(jù),使用DS編碼技術(shù)編碼這些數(shù)據(jù)并且進(jìn)行發(fā)送。接收器負(fù)責(zé)解碼DS(Din和Sin)信號產(chǎn)生N―Chars字符序列(data,EOP,EEP),這些字符序列通過接收FIFO傳送給主機(jī)系統(tǒng)。
FIFO的使用簡化了數(shù)據(jù)鏈路與主機(jī)系統(tǒng)之間的接口。在系統(tǒng)復(fù)位以后,發(fā)送和接收FIFO都是空的。在鏈路連接建立以后,如果接收到FCT表明鏈路另一端允許向它發(fā)送數(shù)據(jù),那么被寫入發(fā)送FIFO的數(shù)據(jù)將被發(fā)送。當(dāng)接收FIFO內(nèi)仍然有可用空間時(shí),接收FIFO能夠接收數(shù)據(jù)。主機(jī)系統(tǒng)從接收FIFO中讀取數(shù)據(jù)。在FIFO全空或全滿以前,F(xiàn)IFO的半空或半滿標(biāo)志會觸發(fā)處理器干預(yù)對FIFO的讀寫操作。這種機(jī)制能夠控制通過鏈路的數(shù)據(jù)流,使數(shù)據(jù)鏈路接口保持高速數(shù)據(jù)吞吐。
狀態(tài)機(jī)用來負(fù)責(zé)控制接口單元的整體操作,它會提供鏈路初始化,普通操作和錯(cuò)誤服務(wù)。
1.2 SpaceWire路由器單元
為了簡化基于SpaceWire的通訊系統(tǒng)的復(fù)雜度,很重要的就是對SpaceWire路由單元的設(shè)計(jì)。如圖2所示,在圖中所設(shè)計(jì)的SpaceWire路由器中包括8個(gè)SpaceWire端口,即2個(gè)外部端口、1個(gè)內(nèi)部配置端口、路由表、控制寄存器、狀態(tài)/錯(cuò)誤寄存器、控制邏輯、無阻塞交互開關(guān)等。
評論