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