王國輝,張曉宇,關 永,劉永梅
(1.首都師范大學電子系統可靠性技術北京市重點實驗室,北京 100048;2.中國電子科技集團公司第五十四研究所衛星通信與廣播電視專業部,石家莊 067000)
在現代產品質量要求中,可靠性占有突出的重要地位。而備份方案的設計與優化是可靠性工程中一項基礎工作。SpaceWire[1]是為了現代高速設備之間通信而設計的全雙工的、點到點的、串行數據通信鏈路。一般主要用于衛星、宇宙飛船、航天飛機上設備之間的通信,而這些設備都是工作在苛刻通信環境中。因此,最大限度地提高SpaceWire的可靠性是一項重要的研究課題。該項目要求 SpaceWire具有在750 km的太陽同步軌道上工作3年后可靠度為0.95的能力,而在FPGA上實現該系統的初始可靠度為0.8674,遠不能滿足需求。為了既達到設備高可靠度的要求,又能充分利用有限的FPGA片上資源,文獻[2-3]分別用TMR方法和形式化驗證的方法提高Spacewire節點可靠性。
本文提出一種基于FPGA的SpaceWire總線冗余備份優化方法。該方法通過調整內部功能子模塊的可靠度,進行整個系統的備份優化,提高系統的可靠度。
SpaceWire節點[4]內部主要包括控制、發送、接收、恢復、錯誤、時間、信譽及波特率選擇八大功能模塊。其工作流程如圖1所示。

圖1 SpaceWire功能模塊工作流程
8個模塊的功能分別如下[5]:
(1)控制模塊:該模塊的主要功能是控制鏈路的多個狀態之間的轉換,包括接收到意外錯誤的處理,如超時、斷開或發生奇偶錯誤等。
(2)發送模塊:該模塊的主要功能是對數據進行 DS(Din和Sin)編碼并將其按串行發送出去。
(3)接收模塊:該模塊的主要功能是對 DS信號進行編碼,以產生一個被傳送到主機系統的序列。
(4)恢復模塊:該模塊的主要功能是將接收到的Data和Strobe信號進行異或操作,以此得到接收模塊需要使用的時鐘信號。
(5)錯誤模塊:該模塊的主要功能是對鏈路發生的各種錯誤進行相應的處理,遇到錯誤就把錯誤讀出去。
(6)時間模塊:該模塊的主要功能是提供用于鏈路初始化的超時設定。時間計數模塊為控制模塊提供計時的服務。
(7)信譽模塊:該模塊的主要功能是控制接收器接收到的常字符的個數。
(8)波特率選擇模塊:該模塊的主要功能是控制發送模塊發送信號的頻率。
2.2.1 串聯系統與并聯系統
串聯系統由 n個部分串聯而成,即任一部分失效就引起系統失效。并聯系統由 n個部件并聯而成,即只有當這n個部件全都失效時系統才失效[6]。串聯系統和并聯系統的可靠性框圖分別如圖2、圖3所示。

圖2 串聯系統可靠性框圖

圖3 并聯系統可靠性框圖
令第 i個部件的壽命為 Xi,可靠度為 Ri(t)={Xi>t},i=1,2,…,n。假定 X1,X2,…,Xn相互獨立,則串聯系統和并聯系統可靠度計算公式[7-8]分別如式(1)、式(2)所示:

2.2.2 串并混聯系統
圖4表示串并混聯系統。若各部分的可靠度分別為Rij(t),i=1,2,…,n;j=1,2,…,m,且各個部分的壽命相當獨立。則根據串聯系統和并聯系統可靠度計算公式式(1)、式(2),得到串并混聯系統可靠度計算公式如下:


圖4 串并混聯系統可靠性框圖
隨著EDA技術的發展,使用硬件描述語言[9]設計已經成為一種趨勢。因此,在一片FPGA上實現SpaceWire節點設計并完成系統模塊級的優化備份方案。
為了得到系統各模塊備份前的可靠度,假設:(1)空白FPGA可靠度為1。(2)3年時間中SEU、電磁干擾等事件等概率出現。(3)FPGA中每個工作中的CLB損害概率相同。(4)不在工作中的CLB不會受到損壞。
令Ri,i=1,2,…,8為模塊可靠度,APi,i=1,2,…,8是每個模塊的面積占用比,即該模塊占用整片PFGA中CLB的比值。面積占用比小,受到影響較小,正常工作時間長;面積占用比大,受到影響較大,正常工作時間短。選用 Xilinx公司 Spartan-3E(XC3S250E)FPGA的 CLB總數為 612個。SpaceWire節點中每個模塊占用 CLB具體數量情況如表1所示。

表1 各個模塊的可靠度
面積影響因子為 Ai,i=1,2,…,8,有 Ai=1/APi。t0表示能正常工作的時間,平均失效前時間(Mean Time To Failure,MTTF),MTTFi= Ai×t0。
系統中每個模塊的失效率為:

從而得到每個模塊的可靠度計算公式為:

根據串聯系統可靠度計算式(1)得到整個系統的可靠度R=0.8674。
評分分配法[10]是由同行專家從復雜程度、重要程度、技術實現的難易程度等多個因素給出評價,不僅能反映出系統的整體特征,也能從專家長期技術經驗積累方面給出建議,以得出有效的備份方案。
評分分配法應用廣泛[11]。同行專家將根據影響系統的任務可靠性或者基本可靠性[12]的幾種主要因素給各個子模塊進行評分,得出每個子模塊的加權因子K,然后進行可靠性分配。
加權因子K的種類和大小,根據不同的產品,可以由各種因子組成。考慮SpaceWire節點的特點,主要考慮復雜因子、重要度因子、工作時間因子、技術因子等。各種因子的評分可以分成若干等級,一般常分為5級,以非常好、很好、好、較好、一般來表示。各個模塊加權因子的評分方法如下:
(1)復雜因子:元件數目及難易程度,最簡單的系統為1分,最復雜為5分。
(2)重要度因子:子模塊發生故障,將對整個系統構成影響,最關鍵評1分,非關鍵為5分。
(3)工作時間因子:工作時間長短,最短為1分,最長為5分。
(4)技術因子:成熟技術評1分,新技術評5分。
根據 SpaceWire 節點的特點,發送模塊、接收模塊最為復雜重要,同時工作時間也最長。而信譽模塊和波特率選擇模塊結構最為簡單并且工作時間較短。其他模塊介于上述4個模塊之間。
專家給出的具體評分結果如表2所示。

表2 功能模塊評分結果與可靠度
各個模塊可靠性指標的計算如下:
(1)子模塊加權因子Ki:

其中,Cs表示整個系統的總評分數;Ci表示第i個子模塊的評分數。
(2)子模塊評分數:

其中,mij表示第i個子模塊第j個因子的評分數。
(3)系統總的評分系數:

(4)子模塊可靠性指標,即子模塊失效率的計算:

其中,λs為系統總的失效率;λi為第i個子模塊的失效率。
如果可靠性指標給出的是可靠度為 0.95,則根據公式首先求出5.4217e–10,再根據子模塊的可靠度計算公式進行分配。
根據相關領域幾位專家打分求取平均值得到的評分數據以及由式(6)~式(9)得到各個模塊具體評分結果和可靠度分配如表2所示。
從3.2節可知,評分分配法是由同行專家從長期技術經驗積累方面給出建議,以得出有效的備份方案。但是這種方法存在著專家的主觀因素、模糊加權分配等不足之處。因此,利用線性規劃法,從數學理論上,以復雜度為主要因子尋找最優結果,也能找出相對較優的備份方案,這就從復雜度因子上證明了評分分配法在備件分配上的科學性與有效性[13]。
假設系統由 n個相互獨立的子模塊串聯組成,在每個子模塊中只使用同一種部件(CLB)實現。對于 j=1,2,…,n,令Cj為一個第j個子模塊面積;Kj是使用第j個子模塊的個數;Rj(Kj)表示當第j個子模塊使用Kj個時,第j個子系統的可靠度。顯然,系統的可靠度為:

系統由n個相互獨立的子模塊串聯而成。若第j個子模塊由Kj個相互獨立的第j種模塊并聯而成,第j種子模塊的可靠度為Pj,則并聯j個該模塊后,該系統可靠度為:

同時,求K1,K2,…,Kn滿足:

從 n個部件的串聯系統出發,此時 R(1,1,…,1)=P1,P2,…,Pn。每次在某一個子模塊上增加一個相同的模塊,使系統可靠度上升得最快,直到系統可靠度達到或者超過 Rs為止。顯然,要使系統可靠度增加最快,只要在模塊中可靠度 P1,P2,…,Pn最小的位置上并聯一個與該模塊相同的模塊。根據式(12)~式(15)設計搜索算法,實現優化的子模塊備份方案。
本項目通過Matlab設計搜索算法,完成優化冗余備份方案設計。表3~表5分別給出了評分分配法和線性規劃法所得到的優化備份方案。

表3 評分分配法優化備份方案

表4 線性規劃法優化備份方案1

表5 線性規劃法優化備份方案2
從表3~表5中可以看出,評分分配法能夠給出有效的備份SpaceWire子模塊冗余備份方案,即備份控制模塊、發送模塊、接收模塊以及恢復模塊。而從綜合線性規劃法給出的 2套方案來看,也能得出相同結論。該種備份方案可使得整個系統的可靠度達到0.9778,占用CLB數為163個。可見,在可靠度滿足要求的前提下,比備份整個Space Wire節點節約了有限的FPGA片上資源。
本文提出了一種SpaceWire冗余備份優化方法。基于評分分配法,對SpaceWire內部各功能模塊進行可靠度分配備份。同時,用線性規劃方法得到最優解,從而得出優化備份方案。用數學方法對評分分配法在復雜度因子選取時的科學性給以證明和補充。仿真實驗結果表明,將 2種方法結合,可以設計得到滿足可靠度要求的優化備份方案。下一步工作將尋求更優的備份方案,提高系統的可靠性,以及SpaceWire總線冗余備份技術的實用性。
[1]田 園, 張 杰.基于SpaceWire的鏈路狀態算法研究與設計[J].計算機工程, 2011, 37(23): 113-115.
[2]劉 濤, 賀強民, 黃 偉.TMR加固的SpaceWire節點的設計與實現[J].航天返回與遙感, 2012, 33(4): 64-69.
[3]董玲玲, 關 永.李曉娟, 等.用 LTL模型檢驗的方法驗證SpaceWire檢錯機制[J].計算機工程與應用, 2012, 48(22): 88-94.
[4]陳大羽, 王 琨, 李 濤, 等.空間高速總線 SpaceWire節點的設計與實現[J].航天返回與遙感, 2010, 31(4): 58-64.
[5]關 永.一種具有在苛刻環境中抗輻照干擾的高速通信芯片: 中國, 200810106375[P].2008-10-01.
[6]曹晉華, 程 侃.可靠性數學引論[M].北京: 高等教育出版社, 2006.
[7]袁子厚.串聯系統可靠度的計算表達式及其估計[J].武漢科技學院學報, 2005, 18(10): 45-47.
[8]賈 諾, 王 濤, 金鴻章.兩不同部件并聯可修系統穩態可靠度的最優控制[J].工程數學學報, 2009, 26(5): 855-860.
[9]彭 保, 范婷婷, 馬建國.基于Verilog HDL語言的FPGA設計[J].微計算機信息, 2004, 20(10): 80-82.
[10]劉 強, 毛社平.可靠性評分分配法研究[J].水雷戰與艦船防護, 2004, (2): 33-37.
[11]張 琳, 黃 敏, 劉 婷.航空發動機可靠性評分分配法[J].質量與可靠性, 2009, (2): 49-52.
[12]曾聲奎, 趙廷弟.系統可靠性設計分析教程[M].北京:北京航空航天大學出版社, 2001.
[13]薛聲家, 左小德.確定線性規劃全部最優解的方法[J].數學的實踐與認識, 2005, 35(1): 101-105.