王國輝,張曉宇,關 永,劉永梅
(1.首都師范大學電子系統(tǒng)可靠性技術北京市重點實驗室,北京 100048;2.中國電子科技集團公司第五十四研究所衛(wèi)星通信與廣播電視專業(yè)部,石家莊 067000)
在現(xiàn)代產(chǎn)品質量要求中,可靠性占有突出的重要地位。而備份方案的設計與優(yōu)化是可靠性工程中一項基礎工作。SpaceWire[1]是為了現(xiàn)代高速設備之間通信而設計的全雙工的、點到點的、串行數(shù)據(jù)通信鏈路。一般主要用于衛(wèi)星、宇宙飛船、航天飛機上設備之間的通信,而這些設備都是工作在苛刻通信環(huán)境中。因此,最大限度地提高SpaceWire的可靠性是一項重要的研究課題。該項目要求 SpaceWire具有在750 km的太陽同步軌道上工作3年后可靠度為0.95的能力,而在FPGA上實現(xiàn)該系統(tǒng)的初始可靠度為0.8674,遠不能滿足需求。為了既達到設備高可靠度的要求,又能充分利用有限的FPGA片上資源,文獻[2-3]分別用TMR方法和形式化驗證的方法提高Spacewire節(jié)點可靠性。
本文提出一種基于FPGA的SpaceWire總線冗余備份優(yōu)化方法。該方法通過調整內部功能子模塊的可靠度,進行整個系統(tǒng)的備份優(yōu)化,提高系統(tǒng)的可靠度。
SpaceWire節(jié)點[4]內部主要包括控制、發(fā)送、接收、恢復、錯誤、時間、信譽及波特率選擇八大功能模塊。其工作流程如圖1所示。
圖1 SpaceWire功能模塊工作流程
8個模塊的功能分別如下[5]:
(1)控制模塊:該模塊的主要功能是控制鏈路的多個狀態(tài)之間的轉換,包括接收到意外錯誤的處理,如超時、斷開或發(fā)生奇偶錯誤等。
(2)發(fā)送模塊:該模塊的主要功能是對數(shù)據(jù)進行 DS(Din和Sin)編碼并將其按串行發(fā)送出去。
(3)接收模塊:該模塊的主要功能是對 DS信號進行編碼,以產(chǎn)生一個被傳送到主機系統(tǒng)的序列。
(4)恢復模塊:該模塊的主要功能是將接收到的Data和Strobe信號進行異或操作,以此得到接收模塊需要使用的時鐘信號。
(5)錯誤模塊:該模塊的主要功能是對鏈路發(fā)生的各種錯誤進行相應的處理,遇到錯誤就把錯誤讀出去。
(6)時間模塊:該模塊的主要功能是提供用于鏈路初始化的超時設定。時間計數(shù)模塊為控制模塊提供計時的服務。
(7)信譽模塊:該模塊的主要功能是控制接收器接收到的常字符的個數(shù)。
(8)波特率選擇模塊:該模塊的主要功能是控制發(fā)送模塊發(fā)送信號的頻率。
2.2.1 串聯(lián)系統(tǒng)與并聯(lián)系統(tǒng)
串聯(lián)系統(tǒng)由 n個部分串聯(lián)而成,即任一部分失效就引起系統(tǒng)失效。并聯(lián)系統(tǒng)由 n個部件并聯(lián)而成,即只有當這n個部件全都失效時系統(tǒng)才失效[6]。串聯(lián)系統(tǒng)和并聯(lián)系統(tǒng)的可靠性框圖分別如圖2、圖3所示。
圖2 串聯(lián)系統(tǒng)可靠性框圖
圖3 并聯(lián)系統(tǒng)可靠性框圖
令第 i個部件的壽命為 Xi,可靠度為 Ri(t)={Xi>t},i=1,2,…,n。假定 X1,X2,…,Xn相互獨立,則串聯(lián)系統(tǒng)和并聯(lián)系統(tǒng)可靠度計算公式[7-8]分別如式(1)、式(2)所示:
2.2.2 串并混聯(lián)系統(tǒng)
圖4表示串并混聯(lián)系統(tǒng)。若各部分的可靠度分別為Rij(t),i=1,2,…,n;j=1,2,…,m,且各個部分的壽命相當獨立。則根據(jù)串聯(lián)系統(tǒng)和并聯(lián)系統(tǒng)可靠度計算公式式(1)、式(2),得到串并混聯(lián)系統(tǒng)可靠度計算公式如下:
圖4 串并混聯(lián)系統(tǒng)可靠性框圖
隨著EDA技術的發(fā)展,使用硬件描述語言[9]設計已經(jīng)成為一種趨勢。因此,在一片F(xiàn)PGA上實現(xiàn)SpaceWire節(jié)點設計并完成系統(tǒng)模塊級的優(yōu)化備份方案。
為了得到系統(tǒng)各模塊備份前的可靠度,假設:(1)空白FPGA可靠度為1。(2)3年時間中SEU、電磁干擾等事件等概率出現(xiàn)。(3)FPGA中每個工作中的CLB損害概率相同。(4)不在工作中的CLB不會受到損壞。
令Ri,i=1,2,…,8為模塊可靠度,APi,i=1,2,…,8是每個模塊的面積占用比,即該模塊占用整片PFGA中CLB的比值。面積占用比小,受到影響較小,正常工作時間長;面積占用比大,受到影響較大,正常工作時間短。選用 Xilinx公司 Spartan-3E(XC3S250E)FPGA的 CLB總數(shù)為 612個。SpaceWire節(jié)點中每個模塊占用 CLB具體數(shù)量情況如表1所示。
表1 各個模塊的可靠度
面積影響因子為 Ai,i=1,2,…,8,有 Ai=1/APi。t0表示能正常工作的時間,平均失效前時間(Mean Time To Failure,MTTF),MTTFi= Ai×t0。
系統(tǒng)中每個模塊的失效率為:
從而得到每個模塊的可靠度計算公式為:
根據(jù)串聯(lián)系統(tǒng)可靠度計算式(1)得到整個系統(tǒng)的可靠度R=0.8674。
評分分配法[10]是由同行專家從復雜程度、重要程度、技術實現(xiàn)的難易程度等多個因素給出評價,不僅能反映出系統(tǒng)的整體特征,也能從專家長期技術經(jīng)驗積累方面給出建議,以得出有效的備份方案。
評分分配法應用廣泛[11]。同行專家將根據(jù)影響系統(tǒng)的任務可靠性或者基本可靠性[12]的幾種主要因素給各個子模塊進行評分,得出每個子模塊的加權因子K,然后進行可靠性分配。
加權因子K的種類和大小,根據(jù)不同的產(chǎn)品,可以由各種因子組成??紤]SpaceWire節(jié)點的特點,主要考慮復雜因子、重要度因子、工作時間因子、技術因子等。各種因子的評分可以分成若干等級,一般常分為5級,以非常好、很好、好、較好、一般來表示。各個模塊加權因子的評分方法如下:
(1)復雜因子:元件數(shù)目及難易程度,最簡單的系統(tǒng)為1分,最復雜為5分。
(2)重要度因子:子模塊發(fā)生故障,將對整個系統(tǒng)構成影響,最關鍵評1分,非關鍵為5分。
(3)工作時間因子:工作時間長短,最短為1分,最長為5分。
(4)技術因子:成熟技術評1分,新技術評5分。
根據(jù) SpaceWire 節(jié)點的特點,發(fā)送模塊、接收模塊最為復雜重要,同時工作時間也最長。而信譽模塊和波特率選擇模塊結構最為簡單并且工作時間較短。其他模塊介于上述4個模塊之間。
專家給出的具體評分結果如表2所示。
表2 功能模塊評分結果與可靠度
各個模塊可靠性指標的計算如下:
(1)子模塊加權因子Ki:
其中,Cs表示整個系統(tǒng)的總評分數(shù);Ci表示第i個子模塊的評分數(shù)。
(2)子模塊評分數(shù):
其中,mij表示第i個子模塊第j個因子的評分數(shù)。
(3)系統(tǒng)總的評分系數(shù):
(4)子模塊可靠性指標,即子模塊失效率的計算:
其中,λs為系統(tǒng)總的失效率;λi為第i個子模塊的失效率。
如果可靠性指標給出的是可靠度為 0.95,則根據(jù)公式首先求出5.4217e–10,再根據(jù)子模塊的可靠度計算公式進行分配。
根據(jù)相關領域幾位專家打分求取平均值得到的評分數(shù)據(jù)以及由式(6)~式(9)得到各個模塊具體評分結果和可靠度分配如表2所示。
從3.2節(jié)可知,評分分配法是由同行專家從長期技術經(jīng)驗積累方面給出建議,以得出有效的備份方案。但是這種方法存在著專家的主觀因素、模糊加權分配等不足之處。因此,利用線性規(guī)劃法,從數(shù)學理論上,以復雜度為主要因子尋找最優(yōu)結果,也能找出相對較優(yōu)的備份方案,這就從復雜度因子上證明了評分分配法在備件分配上的科學性與有效性[13]。
假設系統(tǒng)由 n個相互獨立的子模塊串聯(lián)組成,在每個子模塊中只使用同一種部件(CLB)實現(xiàn)。對于 j=1,2,…,n,令Cj為一個第j個子模塊面積;Kj是使用第j個子模塊的個數(shù);Rj(Kj)表示當?shù)趈個子模塊使用Kj個時,第j個子系統(tǒng)的可靠度。顯然,系統(tǒng)的可靠度為:
系統(tǒng)由n個相互獨立的子模塊串聯(lián)而成。若第j個子模塊由Kj個相互獨立的第j種模塊并聯(lián)而成,第j種子模塊的可靠度為Pj,則并聯(lián)j個該模塊后,該系統(tǒng)可靠度為:
同時,求K1,K2,…,Kn滿足:
從 n個部件的串聯(lián)系統(tǒng)出發(fā),此時 R(1,1,…,1)=P1,P2,…,Pn。每次在某一個子模塊上增加一個相同的模塊,使系統(tǒng)可靠度上升得最快,直到系統(tǒng)可靠度達到或者超過 Rs為止。顯然,要使系統(tǒng)可靠度增加最快,只要在模塊中可靠度 P1,P2,…,Pn最小的位置上并聯(lián)一個與該模塊相同的模塊。根據(jù)式(12)~式(15)設計搜索算法,實現(xiàn)優(yōu)化的子模塊備份方案。
本項目通過Matlab設計搜索算法,完成優(yōu)化冗余備份方案設計。表3~表5分別給出了評分分配法和線性規(guī)劃法所得到的優(yōu)化備份方案。
表3 評分分配法優(yōu)化備份方案
表4 線性規(guī)劃法優(yōu)化備份方案1
表5 線性規(guī)劃法優(yōu)化備份方案2
從表3~表5中可以看出,評分分配法能夠給出有效的備份SpaceWire子模塊冗余備份方案,即備份控制模塊、發(fā)送模塊、接收模塊以及恢復模塊。而從綜合線性規(guī)劃法給出的 2套方案來看,也能得出相同結論。該種備份方案可使得整個系統(tǒng)的可靠度達到0.9778,占用CLB數(shù)為163個??梢?,在可靠度滿足要求的前提下,比備份整個Space Wire節(jié)點節(jié)約了有限的FPGA片上資源。
本文提出了一種SpaceWire冗余備份優(yōu)化方法?;谠u分分配法,對SpaceWire內部各功能模塊進行可靠度分配備份。同時,用線性規(guī)劃方法得到最優(yōu)解,從而得出優(yōu)化備份方案。用數(shù)學方法對評分分配法在復雜度因子選取時的科學性給以證明和補充。仿真實驗結果表明,將 2種方法結合,可以設計得到滿足可靠度要求的優(yōu)化備份方案。下一步工作將尋求更優(yōu)的備份方案,提高系統(tǒng)的可靠性,以及SpaceWire總線冗余備份技術的實用性。
[1]田 園, 張 杰.基于SpaceWire的鏈路狀態(tài)算法研究與設計[J].計算機工程, 2011, 37(23): 113-115.
[2]劉 濤, 賀強民, 黃 偉.TMR加固的SpaceWire節(jié)點的設計與實現(xiàn)[J].航天返回與遙感, 2012, 33(4): 64-69.
[3]董玲玲, 關 永.李曉娟, 等.用 LTL模型檢驗的方法驗證SpaceWire檢錯機制[J].計算機工程與應用, 2012, 48(22): 88-94.
[4]陳大羽, 王 琨, 李 濤, 等.空間高速總線 SpaceWire節(jié)點的設計與實現(xiàn)[J].航天返回與遙感, 2010, 31(4): 58-64.
[5]關 永.一種具有在苛刻環(huán)境中抗輻照干擾的高速通信芯片: 中國, 200810106375[P].2008-10-01.
[6]曹晉華, 程 侃.可靠性數(shù)學引論[M].北京: 高等教育出版社, 2006.
[7]袁子厚.串聯(lián)系統(tǒng)可靠度的計算表達式及其估計[J].武漢科技學院學報, 2005, 18(10): 45-47.
[8]賈 諾, 王 濤, 金鴻章.兩不同部件并聯(lián)可修系統(tǒng)穩(wěn)態(tài)可靠度的最優(yōu)控制[J].工程數(shù)學學報, 2009, 26(5): 855-860.
[9]彭 保, 范婷婷, 馬建國.基于Verilog HDL語言的FPGA設計[J].微計算機信息, 2004, 20(10): 80-82.
[10]劉 強, 毛社平.可靠性評分分配法研究[J].水雷戰(zhàn)與艦船防護, 2004, (2): 33-37.
[11]張 琳, 黃 敏, 劉 婷.航空發(fā)動機可靠性評分分配法[J].質量與可靠性, 2009, (2): 49-52.
[12]曾聲奎, 趙廷弟.系統(tǒng)可靠性設計分析教程[M].北京:北京航空航天大學出版社, 2001.
[13]薛聲家, 左小德.確定線性規(guī)劃全部最優(yōu)解的方法[J].數(shù)學的實踐與認識, 2005, 35(1): 101-105.