- 相關(guān)推薦
利用FPGA實(shí)現模式可變的衛星數據存儲器糾錯系統
摘要:比較討論了航天器數據存儲器中漢明碼和TMR兩種典型糾錯系統的原理、實(shí)現以及數據可靠性的估計,在此基礎上提出了一種集成這兩種系統模式并可在實(shí)際應用中根據需要切換模式的糾錯系統設計方案,探討了該系統的特點(diǎn)和優(yōu)勢,介紹了利用FPGA實(shí)現該系統的過(guò)程和經(jīng)驗。空間飛器在太空環(huán)境中面臨的主要問(wèn)題之一就是輻射。太空中的各種高能粒子(包括高能質(zhì)子、中子、α粒子、得離子等)具有很高的動(dòng)能,通過(guò)時(shí)可能會(huì )影響半導體電路的邏輯狀態(tài),甚至對半導體材料造成永久損害。單個(gè)高能粒子對電子器件功能產(chǎn)生的影響稱(chēng)之為單粒子效應。其中,導致存儲內容在'0'、'1'之間發(fā)生變化的單粒子翻轉(SEU)問(wèn)題特別受以關(guān)注。
微小衛星的研發(fā)思路是周期短、成本低、技術(shù)新,因此大量采用市場(chǎng)上容易取得的商業(yè)級電子器件。這些器件具有高密度、低功耗、低成本、擴展性強等特點(diǎn),但通常沒(méi)有經(jīng)過(guò)嚴格的抗輻射測試,也沒(méi)有采用完善的抗輻射工藝。解決微小衛星的抗輻射問(wèn)題需要采取綜合措施,包括整體防護、設計冗余等,而對具體數據存儲器則通常采用編碼、備份等方法利用信息冗余應對SEU現象。與物理存儲器件相配合,實(shí)現上述檢錯/糾錯功能的電路就是微小衛星星載計算機系統的數據差錯檢測和糾正模塊(Error Detection And Correction,EDAC)。
1 漢明碼與TMR方案比較
在微小衛星的EDAC模塊設計中,經(jīng)常采用編碼(主要是漢明碼)或三倍冗余判決(Triple Modular Redundancy,TMR)的方案。下面分別說(shuō)明這兩種方案并加以比較。
1.1 線(xiàn)性分組碼
編碼是在數據通信和數據存儲領(lǐng)域廣泛使用的檢錯/糾錯方法。
線(xiàn)性分組碼是使用很廣泛的差錯控制編碼[1],其信息位和監督位的關(guān)聯(lián)由一組線(xiàn)性代數方程組表示。(n,k)線(xiàn)性分組碼的編碼就是建立由m(m=n-k)個(gè)生成冗余位的方程構成的方程組,并由此線(xiàn)性方程組轉化為k×n的生成矩陣G。編碼時(shí)將信息位向量(k維)乘以生成矩陣G,即得到碼字向量[Cn-1…C0],見(jiàn)式(1)。
[Cn-1,Cn-2,∧,Cn-k,Cm-1,∧,C0]=[Cn-1,Cn-2,∧,Cn-k] ×Gk×n (1)
將式(1)表示的方程組作移位變換,可以得到由式(2)表示的形式,H稱(chēng)為監督矩陣。解碼時(shí)通過(guò)監督矩陣H與讀出的碼字向量C的乘積結果一校驗子S來(lái)判斷是否出錯。當讀出的碼字微量C乘上H后得到一個(gè)零向量,表示沒(méi)有出錯;否則表示碼字在存儲之后發(fā)生了變化,即有錯誤發(fā)生。
S=Hm×n×[Cn-1, ∧,C0]T (2)
當碼字中某位(單一位)發(fā)生錯誤時(shí),會(huì )得到唯一的非零校驗子S向量,該向量只與碼字出錯位置的圖樣有關(guān),而與碼字C無(wú)關(guān)。
漢明碼是能糾正單個(gè)錯誤的線(xiàn)性分級。其對應的G矩陣即為漢明碼生成矩陣。這種編碼下,分組編碼總長(cháng)是2m-1位,信息位長(cháng)度是2m-m-1位,即(2m-1,2m-m-1)漢明碼。(2m-1,2m-m-1)漢明碼是編碼效率最高的糾單錯線(xiàn)性分組碼。但考慮到一般計算機存儲系統以字節為單位,而2m-m-1通常不是8的倍數,所以對漢明碼加以擴展后,可以得到(12,8)、(22,16)等分組編碼方案。這些方案具有一些新的特點(diǎn),例如一種(22,16)方案可以做到糾單錯、檢雙錯,稱(chēng)作漢明SEC-DED碼[2]。還可以通過(guò)優(yōu)選,得到最佳監督矩陣H,使得運算電路最為簡(jiǎn)單、快速。
1.2 TMR
TMR的原理是將同一份信息保存在三份物理存儲空間中。讀取的時(shí)候比較三份內容,如果不完全相同,就取兩個(gè)一致的值為直值。在CPU通過(guò)總線(xiàn)向內存寫(xiě)入數據(WR有效)時(shí),每一比特數據通過(guò)三態(tài)門(mén)同時(shí)寫(xiě)到三個(gè)對應的比特存儲單元中。當總線(xiàn)向內存請求數據(RD有效)時(shí),三份同時(shí)存儲的內容到達比較器,比較器邏輯按照前述規則輸出數據內容及是否發(fā)生2/3判決的標記。根據總線(xiàn)要求,多路開(kāi)關(guān)可以將數據內容或者每3比特比較器的2/3判決標記輸出到總線(xiàn)上,后者可供分析研究可靠性時(shí)使用。
1.3 兩種方案的比較
從存儲空間的絕對大小角度考慮,編碼方案比冗余判決方案要節省大量的存儲空間。如果采用(22,16)漢明碼,每1MB有效內存需要實(shí)際物理內存1.375MB。而采用TMR方案則需要3MB實(shí)現物理內容。
從系統的糾錯可靠性角度考慮,首先假定內存的單粒子翻轉事件(SEU)所發(fā)生的物理地址[3]和時(shí)間都是均勻分布的。設每一比特內存單元在單位時(shí)間內發(fā)生單粒子翻轉的概率為σ。則每m比特內存結構中v比特發(fā)生SEU的概率為:
采用(22,16)漢明碼方案后,可以糾正每22比特內存行單元中的單比特錯誤。對于一行22比特編碼記錄,不發(fā)生SEU以及只有一比特發(fā)生SEU的概率和,即為該行內存單元的可靠性。因此,每22比特的行漢明碼內存單元可靠性為:
每22比特行單元的有效容量是16位,即2個(gè)字節。故對于有效大小為N字節的漢明碼內存系統,由N/2個(gè)行單元構成。其可靠性為:
【利用FPGA實(shí)現模式可變的衛星數據存儲器糾錯系統】相關(guān)文章:
利用FPGA實(shí)現MMC2107與SDRAM接口設計03-18
利用VB的MSComm控件實(shí)現GPS數據采集03-07
利用ColdFire uClinux實(shí)現數據采集和傳輸03-19
基于FPGA的實(shí)時(shí)SAR成像系統轉置存儲的實(shí)現03-07
基于FPGA的TS201 linkport數據通信設計與實(shí)現03-30
WCDMA主同步的FPGA實(shí)現03-07