999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高速SpaceFibre總線節點的系統設計*

2021-10-10 04:16:04安軍社江源源
國防科技大學學報 2021年5期

祝 平,朱 巖,安軍社,江源源,周 莉

(1.中國科學院 國家空間科學中心 復雜航天系統電子信息技術重點實驗室, 北京 100190;2. 中國科學院大學, 北京 100049)

隨著空間技術的飛速發展,星上任務的規模和復雜度也相應地提升,面對星上各類載荷設備越來越多的數據量,需要考慮不同數據源的傳輸需求和載荷設備之間靈活的互聯方案。傳統的控制器局域網絡(Controller Area Network, CAN) 總線、1553 B越來越難以滿足空間任務的發展需求。2003年,歐空局提出的SpaceWire總線協議支持全雙工點對點和靈活的路由組網,但傳輸速度最高只有400 Mbit/s。

針對航天傳輸任務中的諸多需求,2019年歐空局在SpaceWire總線的基礎上提出了面向高速傳輸的新一代高速互聯總線網絡SpaceFibre[1]的標準。SpaceFibre支持點對點全雙工傳輸,采用8 B/10 B編碼,單通道速率最高可達6.25 Gbit/s,多通道傳輸速率可達50 Gbit/s,支持光纖和電纜傳輸;支持路由網絡結構,拓撲靈活,能夠實現各類星載設備的互聯。同時SpaceFibre能夠在網絡層兼容SpaceWire,實現已有SpaceWire設備的平穩升級。

SpaceFibre技術在國外的研究開始較早,逐漸成為國際上星載總線技術的研究熱點。英國鄧迪大學的Parks等[2-4]研發了基于各類抗輻照和商業FPGA的SpaceFibre節點知識產權(Intellectual Property,IP)核和路由IP,以及路由設備SUNRISE及配套的測試分析儀STAR Fire和STAR Fire MK3[5],并設計了一款抗輻照的SpaceFibre超高速串行接口VHiSSI[6],完成了測試和流片。德國比勒費爾德大學的Jungewelter等[7]和瑞典Cobham Gaisler公司的Siegle等[8]也研制了相關的節點IP。日本電氣股份有限公司的Hiroki等[9]在研發的新型納米橋現場可編程門陣列(NanoBridge Filed Programmable Gate Array,NBFPGA)上實現了SpaceFibre傳輸來自光學傳感器和合成孔徑雷達的高清圖像,并在“創新衛星技術驗證項目”中進行了驗證。

國內對SpaceWire技術的研究較成熟,對 SpaceFibre技術的研究尚處于起步階段。上海創景計算機系統有限公司的徐曙清等[10]對SpaceWire和SpaceFibre的研究現狀進行了概述。北京航空航天大學的伊小素等[11]針對SpaceFibre的服務質量(Quality of Service, QoS)機制進行了仿真研究,張春熹等[12]對SpaceFibre的即插即用技術進行了性能分析。

本文通過研究SpaceFibre網絡協議,針對SpaceFibre網絡中的關鍵問題和技術,提出一種SpaceFibre總線節點的系統設計方案。為了解決多路虛擬通道的流量控制申請沖突,提出了輪詢仲裁算法;針對QoS調度機制中諸多參數和變量的計算比較,設計了一個能高效進行QoS參數計算并完成QoS調度的狀態機;針對復雜的錯誤檢測隔離恢復(Fault Detection Isolation and Recovery, FDIR)機制設計了一個并行的分區存儲架構和重發控制算法,能實現備份的清除和重發,降低了處理延遲;針對各類數據的循環冗余校驗碼和偽隨機序列的生成,設計了對應的并行處理方案。最后搭建仿真平臺,通過仿真驗證和板上測試,結果表明本文設計方案實現了SpaceFibre總線節點的功能,串行傳輸速度可達3.125 Gbit/s,滿足實際高速數據傳輸需求。

1 SpaceFibre協議棧

SpaceFibre協議棧包括物理層、通道層、多通道層、數據鏈路層、網絡層以及管理層,協議棧框架如圖1所示。

圖1 SpaceFibre協議棧Fig.1 Protocol of SpaceFibre

物理層主要實現數據的串并轉換、串行收發以及時鐘恢復,傳輸介質可采用光纖或者電纜;通道層主要通過鏈路初始化狀態機以及通道控制字實現鏈路的連接,并完成8 B/10 B編解碼、字符同步字同步、時鐘矯正等功能;多通道層主要實現多通道的控制,提高數據傳輸的吞吐率;數據鏈路層主要實現對多路數據的管理調度發送和接收,為虛擬通道和廣播通道提供流量控制、QoS服務、FDIR錯誤恢復以及數據編號、組幀解幀等功能;網絡層主要通過虛擬網絡的劃分實現路由各個端口虛擬通道之間的數據交換和路由;管理層主要實現各層命令參數的配置和狀態的讀取。

相比SpaceWire總線,SpaceFibre在傳輸性能和傳輸速度上都有很大的提升,其性能對比見表1。SpaceFibre采用多路虛擬通道機制,能夠實現對多路數據的傳輸;引入QoS機制,為各類數據流提供不同帶寬和優先級的管理調度和傳輸服務;傳輸過程中為數據流提供確認,傳輸錯誤時能實現基于FDIR的錯誤恢復,并提供有保障的高可靠傳輸服務。由于其優越的性能,SpaceFibre成為星載互聯總線技術的研究熱點,有重要的研究意義。

表 1 SpaceWire和SpaceFibre性能對比

2 節點系統設計

通過對SpaceFibre網絡協議的研究,提出了一種基于FPGA的單通道SpaceFibre總線節點的系統設計方案。其中,數據鏈路層包括4路虛擬通道,通道層為單通道,物理層傳輸速度可達3.125 Gbit/s。FPGA內部提供了豐富的可編程邏輯資源,集成了高速串行接口吉比特收發器(Gigabit Transceiver X, GTX)核,便于編程實現和靈活移植,具備一定的通用性。節點系統涉及數據鏈路層、通道層、物理層以及管理層,架構如圖2所示。

圖2 SpaceFibre節點系統設計方案Fig.2 System design scheme of SpaceFibre node

2.1 物理層

物理層采用FPGA的GTX IP實現。在配置GTX IP時,參考時鐘為125 MHz,數據位寬設置為32位,串行速率可設置為3.125 Gbit/s,對應的GTX用戶時鐘為78.125 MHz。同時GTX實現了通道層的部分功能,如8 B /10 B編解碼、字符及字同步、時鐘矯正等功能。

2.2 通道層

通道層功能包括通道層控制功能和GTX所實現的通道層部分功能。通道層控制功能包括通道初始化狀態機、通道字插入以及通道字檢測。通道初始化狀態機通過INIT1、INIT2以及INIT3控制字三次握手成功后,在ACTIVE狀態下進行穩定的數據收發。通道字插入根據狀態機指令生成通道控制字,并發送來自數據鏈路層的數據字。通道字檢測根據接收到的通道控制字生成狀態機指令,同時把接收的數據字傳輸到數據鏈路層。

2.3 數據鏈路層

數據鏈路層主要包括發送模塊、接收模塊,以及鏈路復位模塊。

發送模塊發送來自上層的數據和廣播信息。由介質訪問控制(Media Access Control,MAC)模塊實現多路輸出虛擬通道(Virtual Channel, VC),基于QoS機制的調度,對三類重要數據,即數據幀、廣播幀和流量控制字(Flow Control Token,FCT)按照發送順序依次編號,進行基于循環冗余校驗(Cyclic Redundancy Check,CRC)的組幀。在數據發送的同時,備份到錯誤恢復緩存,以便接收方接收錯誤時進行重發恢復。數據復用模塊按照數據優先級順序對數據進行搶占式發送,無數據發送時發送空閑幀。

接收模塊主要進行數據的接收,并根據接收狀態生成確認控制字和非確認控制字(ACKnowledge/Negative ACKnowledge,ACK/NACK)。當廣播幀、數據幀以及FCT控制字正確接收時,生成ACK發送到發送方,以刪除發送方錯誤恢復緩存中已成功接收的備份;當接收時發生CRC錯誤或序列號錯誤,錯誤恢復控制模塊生成NACK發送到發送方,以請求發送方的錯誤恢復緩存進行備份重發恢復。當接收數據從輸入虛擬通道緩存中被讀走,向發送方發送FCT,告知空出的接收緩存空間,實現流量的控制。

鏈路復位模塊通過接收管理層的復位命令,實現了鏈路復位的控制,完成各層的復位。

2.4 管理層

管理層包括命令配置模塊和狀態讀取模塊,分別對各層的命令配置寄存器進行實時的配置,對狀態寄存器進行實時的讀取。

3 關鍵技術及實現

3.1 基于輪詢仲裁的多虛擬通道流量控制

SpaceFibre節點的數據鏈路層支持多路虛擬通道,通過FCT控制字實現對每個VC的流量控制:每當被從輸入VC中讀取64個數據字后,接收方都會向數據發送方發送一個FCT,每個FCT攜帶對應的VC編號;發送方收到FCT后,被告知在接收方相應的輸入VC中空出了緩存空間,可繼續發送數據,實現VC的流量控制。

由于多路輸入VC中的數據可以同時被讀出,會存在多路輸入VC同時有空閑并同時向發送方提出FCT發送申請,因此會產生FCT發送申請沖突。為了解決多路VC的FCT發送申請沖突,對多路VC采用了輪詢仲裁算法,輪詢仲裁算法按照默認的輪詢順序,對各路VC的FCT發送申請沖突依次完成仲裁。FCT輪詢仲裁算法步驟如下所示。

步驟1:初始化設置默認輪詢順序。

步驟2:收到多個VC的FCT申請,按輪詢順序響應第一順位申請,發送對應的申請FCT_req(i)。

步驟3:收到FCT已發送確認FCT_ack(i),根據輪詢順序置i+1為第一順位。

步驟4:響應申請直至發送完所有申請。

3.2 基于處理狀態機的QoS機制

QoS機制通過配置QoS參數實現對各個VC中數據的調度,為各路VC中的數據提供不同質量的傳輸服務。QoS機制主要由MAC模塊實現,過程如下:在滿足發送條件的VC中選擇優先級最高的VC中的數據進行組幀發送,每發送完一段數據幀后,更新各個VC的優先級并進行下一輪發送。由于QoS機制涉及諸多參數和變量,在每幀數據被發送調度之前需要對各參數變量進行計算和比較,因此參數變量的計算和比較的效率關系到數據幀的傳輸效率。

若節點中存在i個VC,每個VC都會被分配對應的QoS參數:一個優先權R[i],一個帶寬預留比例BwPer[i],以及一個64位寬的時間片調度表TimeSlot[i]。優先權R[i]=0時優先等級最高;預留帶寬比例是為該VC所預留的可用帶寬比例;時間片調度表中的01序列指示了當前時間片中該VC是否具有發送權;時間片長度可由上層網絡定義。QoS變量包括帶寬信用(BwCredit)和優先級(Precedence),其中優先權和優先級的換算公式如式(1)所示;帶寬信用和帶寬預留比例,以及每次VC發送的數據量相關,如式(2)所示;優先級為優先權和帶寬信用之和,綜合考量了各個VC的優先權等級和剩余的帶寬信用情況,如式(3)所示,各參數如表2所示。

Priority[i]=2B(Q-1-R[i])+B

(1)

(2)

Precedence[i]=Priority[i]+BwCredit[i]

(3)

為了高效地進行QoS調度,設計了一個處理狀態機:每次調度前,先選出當前時間片內允許發送數據的VC發送申請,比較各VC的優先級,并選出優先級最高的VC進行組幀發送;在該VC發送數據的同時統計所有VC鏈路上的AvailableBw[n]和該VC發送的數據字UsedBw[i],數據段發送截止時數據發送量也已計數完畢;最后在發送幀尾時進行QoS變量計算更新,以進行下一輪的優先級比較和調度,實現了與數據發送的并行處理。各QoS參數由管理層寫入,變量的計算和比較各占一個時鐘周期,發生在數據幀幀頭和幀尾的發送過程,對數據幀的發送幾乎無延遲。QoS狀態機流程如圖3所示。

表2 QoS公式參數

圖3 QoS狀態機流程Fig.3 QoS state machine flow

3.3 基于重發控制算法的FDIR機制

FDIR機制對已發送的重要數據進行備份,以便進行數據的錯誤恢復。SpaceFibre中三類重要數據分別為廣播幀、FCT和數據幀,優先級依次降低,如圖4所示。在發送方發送數據時,對各類數據按照發送序列號Tx_seq編號依次備份,按優先級搶占式發送。接收方若成功接收數據,則發送正確確認控制字ACK;若數據接收錯誤,則發送錯誤確認控制字NACK。ACK和NACK均攜帶接收方已成功接收的序列號Rx_seq,發送方收到ACK(Rx_seq)后清除備份中Tx_seq小于等于Rx_seq的備份,即刪除接收方已成功接收的數據備份;收到NACK(Rx_seq)后先清除已成功接收的數據備份,再對未成功接收的數據備份按照優先級進行重發恢復,重發序號從Rx_seq+1開始,備份重新進行校驗組幀。

由于三類數據格式不同,發送時按照優先級搶占式發送,發送編號混雜,給按優先級重發恢復帶來困難;在清除和重發時,需要對比接收序列號Rx_seq和各備份的發送序列號Tx_seq的大小,而發送序列號均在各備份的幀尾,直接比較會導致延時過大。因此,需要設計合理的存儲結構和重發控制算法。

圖4 SpaceFibre的重要數據格式Fig.4 Important data format of SpaceFibre

為了提高FDIR的處理效率,本文提出了一種邊發邊備的并行分區存儲架構,按數據類型對備份進行分區存儲,在數據發送的同時進行備份。同時,針對該并行分區存儲架構,提出了FDIR機制的主控狀態機和一種高效的存儲分區重發控制算法,實現對不同數據類型的備份、清除和快速重發恢復。

邊發邊備的并行分區存儲架構按照數據優先級對三類數據進行分區備份,在數據正常組幀發送的同時備份到各自的存儲分區,備份操作對數據發送不會造成延遲。當收到ACK/NACK進行備份清除或錯誤重發恢復時,根據不同數據形式設計了并行分區存儲的內部架構,如圖5所示。

圖5 并行分區存儲架構Fig.5 Parallel partitioned storage architecture

對于廣播幀和數據幀,雖幀長不同但幀格式相似,故存儲分區架構相同,分區內部包括備份緩存和標識緩存。其中,備份緩存用來存放數據備份,標識緩存用來存放備份標識。當每幀數據存入備份緩存時,對應的地址指針更新以指示該備份的存儲地址,同時該備份對應的備份標識也存入標識緩存。為了高效地識別備份,設計了備份標識結構:{重發標識+備份幀尾地址+備份發送序列號}。重發標識是為了區分備份緩存未重發的數據和已重發且又再次被備份到緩存中的數據,從而避免多次重發;備份幀尾地址是對幀的存儲位置進行標識,當收到ACK/NACK進行備份清除時,以便及時地釋放備份中的緩存空間;備份發送序列號是為了在備份清除時無須讀出完整數據備份,即可進行序列號比較。

對于FCT控制字備份,由于僅有一個數據字,序列號便于讀取比較,故為了節省存儲資源,僅設置一個FCT緩存,同時為了區分已重發數據和未重發數據,FCT備份數據的高位加入重發標識。

針對該并行分區存儲架構,設計了FDIR機制主控狀態機,狀態機如圖6所示。針對各備份分區內部的存儲架構,提出了重發控制算法,實現了各個分區的正確備份清除和錯誤備份重發恢復。重發控制算法步驟如下所示。

圖6 FDIR主控狀態機Fig.6 Main state machine of FDIR

步驟1:收到ACK/NACK,得到Rx_seq,與各分區中備份的Tx_seq比較,各分區并行執行備份刪除:對數據幀和廣播幀分區中的標識緩存,若Tx_seq≤Rx_seq,則刪除該備份的標識,同時更新該備份數據緩存中的地址指針以釋放緩存空間;對于FCT分區,直接比較備份緩存中的Tx_seq和Rx_seq, 若Tx_seq≤Rx_seq,則直接刪除備份。當分區的備份數據Tx_seq>Rx_seq時,無須刪除備份。

步驟2:數據備份清除完畢后,若主控狀態是ACK,則返回正常備份狀態;若主控狀態是NACK,則進入數據重發狀態。

步驟3:在數據重發時,先翻轉重發標識,更新發送序列號Tx_seq=Rx_seq。首先根據優先級重發廣播幀,重發的同時備份重發數據和備份標識,當備份標識中的重發標識均為翻轉后的重發標識時說明重發結束,緩存中均為重發數據;然后重發FCT,重發的同時備份FCT,當備份標識中的重發標識均為翻轉后的重發標識說明重發結束;最后重發數據幀,重發過程同廣播幀。

步驟4:重發結束后,返回數據正常備份狀態。

通過重發控制算法,在清除備份時無須從緩存中依次讀出備份,僅需刪除標識緩存中的備份標識,并更新備份的地址指針,即可釋放備份的緩存空間,操作簡單高效,提高了備份緩存的利用率。同時,各分區在接收正常數據備份的過程中,能夠并行地執行備份清除操作,對數據的正常發送無延遲影響。在錯誤重發時,通過重發控制算法能夠對各類數據按照優先級依次重發,并可以對重發后的數據再次備份,利用重發標識能有效地區分原有備份和重發備份。針對不同的數據格式設計了不同的備份分區存儲架構和重發控制算法,提升了FDIR的數據處理效率。

3.4 數據并行處理方案

3.4.1 并行CRC

SpaceFibre中數據幀、廣播幀、FCT及其他控制字均需要進行CRC校驗,其中數據幀CRC校驗生成式為G(X)=X16+X12+X5+ 1,原理如圖7所示,CRC校驗范圍包括32位的幀頭、32位的數據以及高16位的幀尾。廣播幀的CRC生成式為G(X) =X8+X2+X+ 1,CRC校驗范圍包括32位的幀頭、32位的數據以及高24位的幀尾。FCT及其他控制字為一個32位的數據字,CRC校驗范圍均為高24位,CRC生成式與廣播幀相同。

圖7 CRC16計算原理Fig.7 Principle of CRC16

由于串行CRC算法需要占用多個時鐘周期才能得到多位數據的CRC,若通過對串行CRC校驗進行時鐘倍頻,會因頻率過高導致系統不穩定;采用查表法則會占用過多的存儲資源,通過對CRC算法的比較[13-15],選擇采用基于公式遞推法的并行CRC算法,能夠在一個時鐘下實現多位數據的CRC計算。以數據幀為例,若32位的數據為D[i](i=0,…,31),在第1個時鐘時對D[0]進行校驗,可以計算出該時鐘下各CRC寄存器的表達式C[i](i=0,…,15);以此類推,即可得到32個時鐘后,對32位數據進行CRC校驗后的各CRC寄存器表達式C[i]。故根據CRC寄存器的初始值和各表達式,即可完成在一個時鐘下32位數據的并行CRC計算。

由于不同數據格式的CRC校驗范圍不同,如數據幀既需要對32位數據進行CRC計算,又需要對幀尾的16位數據進行CRC計算,僅采用32位并行CRC表達式不能滿足校驗需求。故針對不同數據特征設計了不同的CRC校驗方案:對數據幀采用了基于CRC16的32位數據和16位數據的組合并行CRC算法;對廣播幀采用了基于CRC8的32位數據和24位數據的組合并行CRC算法;對FCT等控制字采用基于CRC8的24位數據并行CRC。采用不同的組合并行CRC算法,一個時鐘即可對多位數據進行CRC校驗,校驗時能應對數據校驗長度的變化,提高了節點的數據處理效率。

3.4.2 并行偽隨機碼

在SpaceFibre中,空閑幀的內部由32位寬的偽隨機數組成,偽隨機數的生成式為G(X)=X16+X5+X4+X3+1。不同于CRC校驗,偽隨機碼的生成無須數據輸入,僅需偽隨機寄存器的串行輸出序列。但若串行計算偽隨機碼則會占用過多的時鐘周期,采用倍頻會導致高速系統不穩定,故借鑒CRC校驗中的方法,采用并行的公式遞推法。由于沒有外部輸入,因此32位偽隨機序列的表達式可以只由偽隨機序列的初始值I(i)(i= 0,…,15)表示。16位的偽隨機序列寄存器表達式為L(i)(i= 0,…,15),輸出32位的偽隨機序列表達式依次為P(i)(i= 0,…,31)。

偽隨機碼計算原理如圖8所示,輸出偽隨機碼P(i)即為每個時鐘偽隨機序列寄存器L(15)。以一個字節的偽隨機碼為例,第1個時鐘后P(0)=L(15)=I(15);第2個時鐘后P(1)=L(15)=I(14),…,P(8)=L(15)=I(8)。通過遞推可以看出,在已知偽隨機序列的初始值I(i)的情況下,只需依次求得8個時鐘下所有L(15)的表達式,即可一次性求得一個并行的8位并行偽隨機碼。經過8個時鐘后,偽隨機序列寄存器的表達式如下:

(4)

圖8 PRBS計算原理Fig.8 Principle of PRBS

由于需要計算一組32位的偽隨機序列碼,為了便于進行公式推導,32位偽隨機序列的表達式可以分為4個字節的偽隨機序列。在第2個字節的偽隨機碼計算時,以上述第1個字節經過8個時鐘后的偽隨機序列寄存器的值作為第2個字節推導時的初始值,再次對第2個字節進行如第1個字節的推導過程,求出8個時鐘下P(i)(i=8,…,15)的值。通過重復上述迭代推導,最終可以獲得32個時鐘內,每個時鐘下各個輸出的偽隨機數表達式P(0)~P(31)。因此,在一個時鐘下,通過計算32位偽隨機碼的表達式,可以一次得出并行的32位偽隨機碼,提高了空閑幀中偽隨機碼的計算效率。此外,32個時鐘周期后的偽隨機序列寄存器的值可以作為下一個32位偽隨機碼計算的初始值I(i)(i=0,…,15),將其直接代入偽隨機碼表達式P(i)即可計算下一個32位偽隨機碼序列。迭代計算簡單,表達式利用初始值寄存器和邏輯門表示,節省了時鐘資源。

4 仿真分析

為了驗證節點系統的設計方案,采用自頂向下的方法使用Verilog硬件描述語言完成了節點的設計,以ModelSim10.5作為仿真平臺,對節點間的數據傳輸、FCT申請的輪詢仲裁、虛擬通道的QoS調度、FDIR機制以及數據的并行處理等關鍵功能進行了仿真分析。

在數據傳輸時例化兩個節點,并為發送方的4個虛擬通道構造4路數據源,搭建一個雙節點的收發系統。將4路數據源分別寫入4個對應的輸出虛擬通道,經過發送方QoS調度、數據編號組幀以及GTX發送,在接收方通過GTX接收、數據校驗解幀以及寫入對應的輸入虛擬通道等操作后,從接收方對應的輸入虛擬通道讀出。數據收發如圖9所示,在兩個節點之間實現了對應虛擬通道之間的數據傳輸功能。

圖9 數據的發送和接收Fig.9 Sending and receiving of data

在輸入虛擬通道中,當各路緩存中的數據同時被讀走后產生了FCT申請沖突,為了解決該沖突,對FCT申請進行輪詢仲裁。FCT輪詢仲裁如圖10所示,當4路VC同時出現FCT申請沖突時,依次受理了VC0、VC1、VC2、VC3的FCT申請,實現了輪詢仲裁功能,處理了FCT的發送申請沖突。

圖10 FCT申請輪詢仲裁Fig.10 Polling arbitration of FCT request

在基于QoS調度過程中,為了給不同數據流提供不同質量的傳輸服務,需要為各路VC配置不同的QoS參數。給出一種QoS參數配置方案:VC0、VC1、VC2和VC3的優先權分別為R[0]=0,R[1]=1,R[2]=2,R[3]=3;帶寬百分比BwPer[0]=10%,BwPer[1]=20%,BwPer[2]=20%,BwPer[3]=25%,VC的調度表TimeSlot[i]均設置為全1,帶寬信用限制B=10 000。QoS調度仿真如圖11所示,MAC模塊先選擇最高優先級VC0中的數據發送,并按照優先級依次發送VC1、VC2、VC3中的數據。數據發送后各VC對應的帶寬信用BwCredit降低,而各VC的優先級Precedence也隨之降低;數據不發送時,帶寬信用和優先級緩慢增長。各QoS參數變化規律符合式(2)和式(3),滿足QoS的調度規則,同時QoS參數計算和比較對每幀數據的發送幾乎無延遲影響,為各路數據源的傳輸提供了QoS服務。

圖11 QoS調度仿真Fig.11 Simulation of QoS scheduling

在基于FDIR機制進行錯誤重發時,結合重發控制算法,該分區存儲架構能實現高效的重發恢復。當發送方發送Tx_seq分別為2、3、4、5、6、7號數據幀的同時,進行了數據備份。接收方在成功接收2、3、4號后產生接收錯誤,并發送錯誤確認NACK(Rx_seq=4),即已正確接收序號為前4的數據。發送方通過重發控制算法比較Tx_seq和Rx_seq,刪除了標識緩存中的標識釋放備份緩存,并重發了備份緩存中未成功接收的5、6、7號數據幀。通過與普通重發控制算法的對比,如圖12所示,在對序號為2、3、4的數據備份進行清除時,僅用3個時鐘即可實現備份的刪除,并成功重發了后續備份,降低了3個數據幀長的延時,實現了高效的錯誤重發恢復。

(a) 重發控制算法(a) Retransmission control algorithm

在數據的并行處理中,通過計算CRC的32位并行表達式,實現了一個時鐘內完成32位數據的CRC校驗,其他CRC計算同理。通過計算推導出的并行32位偽隨機序列寄存器和并行偽隨機序列的輸出表達式,實現了一個時鐘即可計算出32位并行的偽隨機數。并行數據計算如圖13所示,并行的數據處理方案提高了節點的數據處理效率。

(a) 并行CRC計算(a) CRC parallel computation

最后,在Xilinx XC6VLX240T-2FFG1156 FPGA上實現了SpaceFibre節點系統的設計方案。通過搭建測試平臺,把節點IP分別例化到兩塊Virtex-6官方評估板的 FPGA上,利用串行光纖實現了節點間的高速數據傳輸,板上主時鐘頻率為78.125 MHz,串行傳輸速率可達3.125 Gbit/s。該節點傳輸性能可以滿足在大容量存儲等高速數傳項目中的傳輸要求。其資源占用情況如表3所示。

表3 Virtex-6 XC6VLX240T資源占用

5 結論

SpaceFibre總線網絡能夠提供基于QoS機制和FDIR機制的高速數據傳輸,網絡拓撲靈活,成了未來航天高速總線網絡的研究熱點。本文在對SpaceFibre協議研究的基礎上提出了一種基于FPGA的SpaceFibre總線終端節點的系統設計方案,并針對節點中的關鍵問題和技術,設計實現了FCT申請輪詢仲裁、基于QoS機制的調度處理、基于FDIR機制的錯誤重發恢復以及數據并行處理等關鍵技術;最后給出了數據傳輸和各個關鍵技術的仿真測試結果,驗證了節點的功能,為后續SpaceFibre總線網絡進一步實現和在軌應用奠定了技術基礎。

主站蜘蛛池模板: 免费国产好深啊好涨好硬视频| 国产香蕉在线| 97久久免费视频| 性色一区| 福利国产微拍广场一区视频在线| 亚洲欧美日韩综合二区三区| 久久国产成人精品国产成人亚洲| 久久久久亚洲av成人网人人软件| 国产精品女人呻吟在线观看| 另类专区亚洲| 国产自视频| 97人妻精品专区久久久久| 国内精品久久人妻无码大片高| 久久综合亚洲色一区二区三区| 全部免费特黄特色大片视频| 9cao视频精品| 国产剧情伊人| 亚洲侵犯无码网址在线观看| 欧美另类精品一区二区三区| 欧美视频在线观看第一页| 成人午夜视频免费看欧美| 天天操精品| 亚洲无码高清一区| 日韩欧美一区在线观看| 538精品在线观看| 国产亚洲高清视频| 亚洲电影天堂在线国语对白| 国产91全国探花系列在线播放| 国产白浆视频| 伊人大杳蕉中文无码| 野花国产精品入口| 精品视频一区二区三区在线播 | 精品成人一区二区| 亚洲第一极品精品无码| 手机精品福利在线观看| 久久国产精品影院| 国产精品福利在线观看无码卡| 在线视频一区二区三区不卡| 国产农村妇女精品一二区| 精品国产Av电影无码久久久| 日韩成人在线网站| 亚洲精品国产精品乱码不卞| 国产麻豆aⅴ精品无码| 亚洲天堂日韩av电影| 丰满的少妇人妻无码区| 亚洲欧洲日韩综合| 一区二区三区国产| 色偷偷综合网| 日韩免费中文字幕| 欧美精品在线免费| 日韩欧美国产成人| 福利片91| 中文字幕首页系列人妻| 欧美日韩国产成人高清视频| 黄片在线永久| 亚洲国产精品成人久久综合影院| 一本色道久久88综合日韩精品| 777午夜精品电影免费看| 丝袜无码一区二区三区| 国产成人精品视频一区二区电影| 国产亚洲美日韩AV中文字幕无码成人 | 中文毛片无遮挡播放免费| 免费一级α片在线观看| 亚洲αv毛片| 久久亚洲黄色视频| 高清久久精品亚洲日韩Av| 四虎综合网| 成人噜噜噜视频在线观看| 欧美日韩va| 国产激爽大片高清在线观看| 曰韩人妻一区二区三区| 好吊妞欧美视频免费| 日本精品一在线观看视频| 老色鬼欧美精品| 成人午夜视频在线| 久久久久久尹人网香蕉| 国产精品深爱在线| 国产成人久久综合777777麻豆| 国产女人18水真多毛片18精品| 无码一区中文字幕| 国产主播在线观看| 国产日本欧美在线观看|