新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于流水線的SpaceWire路由器研究

一種基于流水線的SpaceWire路由器研究

作者: 時間:2014-12-30 來源:網(wǎng)絡 收藏

  近年來,隨著總線技術(shù)在航天航空領域的不斷應用,在理論和技術(shù)應用方面也得到了飛速發(fā)展。國外,歐洲航天局 (ESA)已經(jīng)將速度為200 Mb/s抗輻射的應用到ESA的航天任務中。國內(nèi),目前對SpaceWire的研究還處于初級階段,設計的 SpaceWire路由器最高速度也只能達到100 Mb/s。為了提高路由器的傳輸速度,這里提出了一種基于技術(shù)的SpaceWire路由器。

本文引用地址:http://2s4d.com/article/267507.htm

  1 SpaceWire路由器概述

  SpaceWire路由器由一定數(shù)量鏈接接口單元和路由單元構(gòu)成。接口單元主要負責連接各SpaceWire接點,路由單元負責數(shù)據(jù)的路由交換。

  1.1 SpaceWire數(shù)據(jù)鏈路層接口單元

  SpaceWire數(shù)據(jù)鏈路接口主要由連接器、LVDS驅(qū)動器、編碼器、譯碼器、狀態(tài)機、收發(fā)FIFO以及主機接口組成,其結(jié)構(gòu)如圖1所示。

  

 

  發(fā)送器接收來自發(fā)送FIFO的數(shù)據(jù),使用DS編碼技術(shù)編碼這些數(shù)據(jù)并且進行發(fā)送。接收器負責解碼DS(Din和Sin)信號產(chǎn)生N—Chars字符序列(data,EOP,EEP),這些字符序列通過接收FIFO傳送給主機系統(tǒng)。

  FIFO的使用簡化了數(shù)據(jù)鏈路與主機系統(tǒng)之間的接口。在系統(tǒng)復位以后,發(fā)送和接收FIFO都是空的。在鏈路連接建立以后,如果接收到FCT表明鏈路另一端允許向它發(fā)送數(shù)據(jù),那么被寫入發(fā)送FIFO的數(shù)據(jù)將被發(fā)送。當接收FIFO內(nèi)仍然有可用空間時,接收FIFO能夠接收數(shù)據(jù)。主機系統(tǒng)從接收FIFO中讀取數(shù)據(jù)。在FIFO全空或全滿以前,F(xiàn)IFO的半空或半滿標志會觸發(fā)處理器干預對FIFO的讀寫操作。這種機制能夠控制通過鏈路的數(shù)據(jù)流,使數(shù)據(jù)鏈路接口保持高速數(shù)據(jù)吞吐。

  狀態(tài)機用來負責控制接口單元的整體操作,它會提供鏈路初始化,普通操作和錯誤服務。

  1.2 SpaceWire路由器單元

  為了簡化基于SpaceWire的通訊系統(tǒng)的復雜度,很重要的就是對SpaceWire路由單元的設計。如圖2所示,在圖中所設計的SpaceWire路由器中包括8個SpaceWire端口,即2個外部端口、1個內(nèi)部配置端口、路由表、控制寄存器、狀態(tài)/錯誤寄存器、控制邏輯、無阻塞交互開關(guān)等。

  

 

  低延遲、蟲洞路由和無阻塞交換開關(guān)使數(shù)據(jù)包能夠到達任意一個SpaceWire端口和外部端口,或者也可以由配置端口直接訪問任意一個SpaceWire端口和外部端口。所設計SpaceWire端口完全支持SpaceWire標準,提供高速的、雙向的通訊。每個外部端口包括一個發(fā)送FIFO和一個接收FIFO,可以發(fā)送接收字符和包結(jié)束標志。

  Time—code端口會和計數(shù)器一起被提供用來方便Time—code的傳播。當一個有效的Time—code到達一個路由端口時,它也會被發(fā)送到其他 Spacewire端口,一個TICK_OUT信號會在Time—code端口被產(chǎn)生。路由器可以用Time—code端口提供的TICK_IN信號做為 Time—code的操作管理。

  配置端口可以配置任何SpaceWire端口和外部端口。它包括可以控制SpaceWire端口、外部端口和交換開關(guān)的寄存器。配置端口為各種端口和交換開關(guān)都設置了狀態(tài)寄存器。用配置端口的讀命令可以讀這些寄存器,從而來讀出路由器的狀態(tài)和錯誤信息,而且一些狀態(tài)引腳上的狀態(tài)和錯誤信息可以被選擇輸出。

  路由表可以通過配置端口來訪問。邏輯地址端口映射和優(yōu)先位都可以在路由表中進行設置,路由表常常用來控制組適應路由和交互開關(guān)中的優(yōu)先仲裁。

  1.3 蟲洞路由

  SpaceWire路由器是基于蟲洞路由上進行設計的。蟲洞路由是包路由的一種形式。每一個包的包頭包含著目的地的地址信息。每當有一個包到達路由器時,它就立即檢測這個包的目的地址,然后按照該地址轉(zhuǎn)發(fā)這個包到相應的輸出端口。如果要求的輸出端口是“空閑”(free)狀態(tài),則這個包會被立即轉(zhuǎn)發(fā)到這個輸出端口。這時,該端口就會被打上“忙”(blasy)狀態(tài)標記,直到這個包的最后一個字符即“包尾”(EOP)通過路由器轉(zhuǎn)發(fā)出去。

  蟲洞路由如圖3所示,圖中一個包從一個節(jié)點發(fā)出,通過路由器到達另外一個節(jié)點。包頭標記為黑色,其余部分為灰色。路由器負責在輸入端口和空閑的輸出端口之間建立連接,當檢測到EOP或EEP時,斷開連接,釋放輸出端口為空閑狀態(tài),準備接收其他端口來的包。輸出端口忙時,輸入端口阻塞輸入包,直到其空閑。通過輸入端口相遠節(jié)點發(fā)送FCT來實現(xiàn),直到輸出端口空閑時,路由器才取消阻塞。以上是蟲洞路由和流量控制之間的關(guān)系。

  

路由器相關(guān)文章:路由器工作原理


路由器相關(guān)文章:路由器工作原理


塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理

上一頁 1 2 下一頁

關(guān)鍵詞: SpaceWire 路由器 流水線

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉