一種基於SpaceWire接口交叉備份的冗餘容錯系統的製作方法
2023-06-05 17:22:06 3

本發明涉及星載設備容錯設計領域,具體涉及一種基於spacewire接口交叉備份的冗餘容錯系統。
背景技術:
spacewire作為一種面向星載電子設備互聯的高速串行標準,具有簡單、可靠、靈活等特點,可實現節點設備點對點連接或基於路由器的網絡連接,在國內外太空飛行器任務中得到了大量應用。
星載spacewire節點設備和網絡設計中,為了避免發生單點故障,普遍採用雙機冗餘備份的容錯設計方案來提高可靠性,即在設備之間互聯或設備連接路由器時,採用spacewire鏈路接口完全交叉備份的設計方案,具體參見文獻「spacewire:spacecraftonboarddata-handlingnetwork」(actaastronautica,第66期2010年)和「星載spacewire網絡備份容錯協議設計」(計算機測量與控制第23卷第2期2015年)。在接口完全交叉備份設計中,每個spacewire節點設備的主機和備機分別提供2路spacewire鏈路接口,用於連接到另一端設備的主份和備份,節點設備與節點設備相連的拓撲如圖1所示,節點設備與路由器相連的拓撲如圖2所示,這種spacewire鏈路接口完全交叉備份方法可保證設備具有較高的可靠性,消除鏈路接口單點故障模式。
但這種設計方式在太空飛行器spacewire網絡應用中存在以下問題:
(1)電纜多,成本高,電纜網的重量負擔和布線難度大,並且隨著節點設備數量增加問題更加突出;
(2)佔用了過多的路由器埠,而冗餘鏈路大部分時間或者一直處於不工作的空閒狀態,大大降低了網絡系統的集成度和利用率。
技術實現要素:
有鑑於此,本發明提供了一種基於spacewire接口交叉備份的冗餘容錯系統,能夠避免由網絡拓撲複雜造成衛星系統電纜數量多、實施難度大和研製成本高的問題。
一種基於spacewire接口交叉備份的冗餘容錯系統,所述系統包括多個spacewire接口節點;每個spacewire接口節點由結構相同的主機和備機構成,主機和備機均包括順連的spacewire接口晶片、主功能模塊和存儲器;
所述存儲器用於存儲spacewire接口晶片在不同鏈路傳輸模式下工作的埠及邏輯地址信息,且主機和備機的存儲器存儲的信息相同;
所述主功能模塊用於根據當前的鏈路傳輸模式,將相應的埠及邏輯地址信息傳輸至spacewire接口晶片;
每個spacewire接口晶片,包括至少一個外部spacewire鏈路接口以及至少一個內部spacewire鏈路接口;屬於同一spacewire接口節點的內部spacewire鏈路接口互連;不同spacewire接口節點通過各自的外部spacewire鏈路接口對應連接,使兩spacewire接口節點的主機之間、兩spacewire接口節點的備機之間或兩spacewire接口節點的主備機之間實現通信。
較佳地,所述系統包括兩個spacewire接口節點。
較佳地,所述spacewire接口節點包括兩個內部spacewire鏈路接口。
較佳地,所述系統採用路徑尋址的通信方式或邏輯尋址的通信方式進行通信。
較佳地,所述系統包括多個spacewire接口節點和一個具有冗餘功能的路由設備;
每個spacewire接口節點由結構相同的主機和備機構成,主機和備機均包括順連的spacewire接口晶片、主功能模塊和存儲器;
所述存儲器用於存儲spacewire接口晶片在不同鏈路傳輸模式下工作的埠及邏輯地址信息,且主機和備機的存儲器存儲的信息相同;
所述主功能模塊用於根據當前的鏈路傳輸模式,將相應埠及邏輯地址信息傳輸至spacewire接口晶片;
每個spacewire接口晶片,包括至少一個外部spacewire鏈路接口以及至少一個內部spacewire鏈路接口;屬於同一spacewire接口節點的內部spacewire鏈路接口互連;不同spacewire接口節點通過各自的外部spacewire鏈路接口對應連接,使spacewire接口節點的主機和路由設備的主機,以及spacewire接口節點的備機和路由設備的備機之間實現通信。
較佳地,所述系統採用路徑尋址的通信方式或邏輯尋址的通信方式進行通信。
較佳地,所述系統包括兩個spacewire接口節點。
有益效果:
在節點設備的雙機之間建立橋接鏈路,利用橋接鏈路實現主、備機的對外冗餘通道,與現有方案相比,該系統在消除鏈路接口單點故障模式的同時,可將對外鏈路數量減少1/2,降低了系統集成的難度;同時,在熱備份節點設備中,橋接鏈路可直接用於主備機的信息交互(譬如健康數據等),增強了節點設備的自主管理能力。
附圖說明
圖1為現有技術中節點設備與節點設備相連的拓撲。
圖2為現有技術中節點設備與路由設備相連的拓撲。
圖3為本發明的節點設備功能組成與對外接口圖。
圖4為本發明節點設備與節點設備相連的拓撲。
圖5為本發明節點設備與路由設備相連的拓撲。
具體實施方式
下面結合附圖並舉實施例,對本發明進行詳細描述。
本發明提供了一種基於spacewire接口交叉備份的冗餘容錯系統,包括多個spacewire接口節點,或多個spacewire接口節點和一個具有冗餘功能的路由設備。較佳地,本實施例選擇兩個進行說明。其中,主機和備機功能結構完全相同,均包括一個路由器、一個主功能模塊和一個spacewire接口晶片,spacewire接口晶片、主功能模塊和存儲器順次連結。路由器中存有路由表。spacewire接口晶片支持熱備份工作。其中,路由表用於控制spacewire接口晶片中各接口的工作狀態,以及控制來自外部或主功能模塊所傳輸數據的傳輸路徑。主功能模塊根據spacewire鏈路接口的工作狀態,對spacewire接口晶片的路由表進行動態配置,在組織數據包時對包頭地址進行配置,從而支持通過主鏈路接口和冗餘鏈路接口進行通信。所述spacewire接口晶片實現通信功能;
其中,spacewire接口晶片,包括兩個以上的spacewire鏈路接口,且至少有一個spacewire鏈路接口對外連結,作為本機工作時的主鏈路接口,對應連結到路由設備或其他節點設備的主備機上,此外,還需至少一個spacewire鏈路接口用內部連結,在路由表的控制下,各spacewire鏈路接口之間支持內部互通。這樣一來,通過橋接鏈路,即可構成本機的冗餘鏈路接口,實現spacewire接口的交叉備份。主機中用於對內連結的spacewire鏈路接口與備機中用於對內連結的spacewire鏈路接口通過橋接鏈路的方式互連,其中,橋接鏈路的方式包括內部連接或外部引線。為了提高可靠性,將主機中的所有對內連結的spacewire鏈路接口與備機中所有對內連結的spacewire鏈路接口均一一對應連接。
當兩個spacewire接口交叉備份的節點設備互連時:
如圖4所示,其中一個節點設備1中主機的對外spacewire鏈路接口與另一節點設備2中主機的對外spacewire鏈路接口連接;節點設備1中備機的對外spacewire鏈路接口與另一節點設備2中備機的對外spacewire鏈路接口連接;
當容錯系統中涉及路由設備時:
如圖5所示,節點設備1中主機的對外spacewire鏈路接口與路由設備中主機的對外鏈路接口連接;節點設備1中備機的對外spacewire鏈路接口與路由設備中備機的對外鏈路接口連接;節點設備2中主機的對外spacewire鏈路接口與路由設備中主機的對外鏈路接口連接;節點設備2中備機的對外spacewire鏈路接口與路由設備中備機的對外鏈路接口連接;
在進行數據傳輸時,可按常規的路徑尋址通信方式或邏輯尋址的通信方式進行通信即可。
例如:實施例
如圖3所示,同一機箱內設計獨立的spacewire(spw)節點設備主備機,單機由spw接口晶片、路由表和主功能模塊組成。spw接口晶片實現通信功能,提供4路功能相同的spw鏈路接口,其中的1路接口用於和設備內部主功能模塊通信,在圖中標記為內部埠,各路spw接口之間在晶片內部支持路由交換,雙機的spw接口晶片支持熱備份工作;路由表存儲接口晶片在不同模式下工作的路由表信息;主功能模塊為節點設備其他所有功能的集合,同時還負責將路由表信息配置到spw接口晶片中。圖3中spw節點設備的主機和備機分別從本機的spw接口晶片對外引出1路獨立的spw鏈路接口,用於連接到另一端設備的主份和備份,同時主備機之間利用各自接口晶片上的spw鏈路接口2和接口3,在本設備外部和內部分別就近建立了橋接鏈路1和橋接鏈路2。
將spw節點設備、路由設備連接成網絡系統,圖4所示為兩臺節點設備相連的拓撲,二者主機的獨立鏈路互連,備機的獨立鏈路互連,節點設備主備機之間建立了1條橋接鏈路。圖5所示為節點設備與路由器相連的拓撲,節點主機的獨立鏈路連接到主份路由器上,節點備機的獨立鏈路連接到備份路由器上,節點設備主備機之間建立了1條橋接鏈路,路由器主備機之間建立了2條橋接鏈路。根據網絡連接拓撲中的物理埠號,即可確定節點設備路徑尋址通信方式下使用的路徑地址,如圖5中,節點設備1主機通過spw鏈路1、spw鏈路2和spw橋接鏈路2,向節點設備2備機發送數據包採用的路徑地址為,共4位元組組成,每級路徑地址由1個字節表示,取值範圍為1~31,用於指定spw晶片的輸出物理埠號,數據包每經過一級晶片在輸出埠刪除包頭的1位元組路徑地址,當數據包到達目標節點時,路徑地址正好全部剝離。
對於邏輯尋址的通信方式,首先為節點設備分配邏輯地址如下表1所示。
表1節點設備邏輯地址分配表
根據節點設備邏輯地址和網絡拓撲確定節點設備和路由器的路由表,採用主鏈路接口和冗餘鏈路接口分別對應不同的路由表,在冗餘鏈路接口工作時,spw接口晶片和路由器工作在熱備份模式。在圖4和圖5網絡中,圖4中設備1與圖5中設備1路由表相同,圖4中設備2與圖5中設備2路由表相同,由於節點設備2本身是雙機冷備份,所以主機和備機的路由表也相同,圖5中還需要配置路由器的路由表,各晶片的路由表具體如下表2所示,其中建立了邏輯地址與晶片物理埠的對應關係,當spw晶片接收到數據包時,根據路由表檢查包頭邏輯地址對應本晶片的輸出埠,然後通過該埠輸出數據包。表2中的冗餘鏈路對於節點設備1、節點設備2和路由器分別對應了圖4、圖5中的橋接鏈路1~3,路由器的路由表根據採用的鏈路不同還可以有其他的配置方式,本文不再列舉。
表2spw晶片路由表
正常工作狀態下,在圖4和圖5中,spw節點設備1、節點設備2和路由器的主機工作,備機不工作,節點設備主機各自優先使用本機的獨立鏈路接口進行對外數據包發送或接收,即獨立鏈路作為本機的主鏈路,此時主機接口晶片配置主鏈路工作模式的路由表,備機接口晶片可不工作。
如圖4中,正常狀態下節點設備1主機向節點設備2主機發送數據包,在數據包包頭寫入目標節點邏輯地址86,則數據包通過查找路由表,經過節點設備1主機spw接口晶片、spw鏈路1和節點設備2主機spw接口晶片傳輸,成功到達目標節點。若spw鏈路1發生故障,節點設備1和節點設備2的主機均檢測到埠1故障,從而禁止該埠,啟動備機對外的獨立鏈路,並配置主機接口晶片為冗餘鏈路工作模式路由表,配置備機接口晶片為主鏈路工作模式路由表,則對於節點設備1主機向節點設備2主機發送數據包的上層應用,不會受到影響,仍然在數據包包頭寫入目標節點邏輯地址86,則數據包通過查找路由表,經過節點設備1主機spw接口晶片、spw橋接鏈路1、節點設備1備機spw接口晶片、spw鏈路2、節點設備2備機spw接口晶片、spw橋接鏈路2、節點設備2主機spw接口晶片傳輸,成功到達目標節點。圖4中其他節點主機或備機相互通信時的接口冗餘工作機制與上述過程一致。
如圖5中,正常狀態下節點設備1主機向節點設備2主機發送數據包,在數據包包頭寫入目標節點邏輯地址86,則數據包通過查找路由表,經過節點設備1主機spw接口晶片、spw鏈路1、路由器主機、spw鏈路2和節點設備2主機spw接口晶片傳輸,成功到達目標節點。若spw鏈路2發生故障,路由器主機檢測到埠3故障,節點設備2主機檢測到埠1故障,從而分別禁止故障的埠,啟動備機對外的獨立鏈路,節點設備2配置主機接口晶片為冗餘鏈路工作模式路由表,配置備機接口晶片為主鏈路工作模式路由表,路由器主機配置冗餘鏈路工作模式路由表,路由器備機配置主鏈路工作模式路由表,則對於節點設備1主機向節點設備2主機發送數據包的上層應用,不會受到影響,仍然在數據包包頭寫入目標節點邏輯地址86,數據包通過查找路由表,經過節點設備1主機spw接口晶片、spw鏈路1、路由器主機、spw橋接鏈路3、路由器備機、spw鏈路4、節點設備2備機spw接口晶片、spw橋接鏈路2、節點設備2主機spw接口晶片傳輸,成功到達目標節點。圖5中其他節點主機或備機相互通信時的接口冗餘工作機制與上述過程一致。
利用橋接鏈路的接口交叉備份容錯設計方法大大節省了網絡中路由器的埠資源,特別是在節點設備數量較多的情況下,能夠顯著降低路由器設備的硬體規模和設計難度,相比現有方法,路由器上連接的節點設備數量可提升一倍。
綜上所述,以上僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。