新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的抗SEU存儲器的設計實現

        基于FPGA的抗SEU存儲器的設計實現

        作者: 時間:2012-10-06 來源:網絡 收藏

        O 引言

        本文引用地址:http://www.104case.com/article/148367.htm

        隨著我國航空航天事業的迅猛發展,衛星的應用越來越廣泛。然而,太空環境復雜多變,其中存在著各種宇宙射線與高能帶電粒子,它們對運行于其中的電子器件會產生各種輻射效應。輻射效應對電子器件的影響不可忽視,因為輻射會使器件的性能參數發生退化,以至失效,從而影響衛星的可靠運行,縮短衛星的使用壽命。輻射效應對電子器件的影響很多,其中最主要的有總劑量效應(TID)和單粒子效應(S-EE)。SEE按產生的影響主要包括單粒子翻轉()、單粒子閂鎖(SEL)和單粒子燒毀(SEB)等三種類型,其中以最為常見。在各種輻射效應當中,最為敏感,所以,對輻射首先要考慮的就是抗SEU

        事實上,不同的空間環境和應用需求,對的數量與質量也有不同的要求。例如:在上傳指令與下載星載儀器儀表的狀態時,要求數據有很高的可靠性,此時對內存容量則沒有特別的要求;而在處理某些用途的圖像數據時,對數據可靠性的要求則相應較低,此時則需要較大的內存容量。所以在采用具體SEU方法時,也要因其不同情況而做出適合的選擇。

        本文將采用擴展漢明碼編碼(Extended Hamming Code)與三模冗余(Triple Modular Redundancy,TMR)相結合的方法,并利用二者檢錯糾錯的不同特點,來對SRAM進行檢錯糾錯模式可調SEU。這樣既可存儲器的抗SEU設計。又可滿足對存儲器使用靈活性的要求。

        1 擴展漢明碼與TMR檢錯糾錯原理

        1.1 擴展漢明碼檢錯糾錯原理

        擴展漢明碼是一種常用的能檢測兩位錯同時能糾正一位錯的編碼方法。它是在漢明碼的基礎上.在碼字上再加入一個對所有碼元都進行校驗的校驗位而得到的,故稱為擴展漢明碼。

        擴展漢明碼是線性分組碼的一種,其信息位和監督位的關聯可由一組線性代數方程組表示。(n,k)線性分組碼的編碼就是去建立由r(其中r=n-k)個生成冗余位的方程式構成的方程組,再由此方程組轉化為kxn的生成矩陣G。編碼時,可將信息位向量(k維)乘以生成矩陣G,從而得到碼字向量(n維),如下式所示:

        將式(1)表示的方程組作移位變換,可以得到式(2),通常稱H為監督矩陣。

        解碼時,通過監督矩陣H與讀出的碼字向量C的乘積結果可判斷該碼字是否出錯。若讀出的碼字向量C乘上監督矩陣H后得到一個零向量,則表示沒有出錯;否則表示碼字在存儲之后受到了單粒子效應的影響,有錯誤發生。通常將監督矩陣與讀出的碼字向量C的乘積記作S,稱為校驗子。當碼字中某一位發生錯誤時,就會得到唯一的S向量,該向量只與碼字出錯的位置有關,而與碼字C無關。通過S向量可以定位出錯的位置,并對出錯數據進行改正。

        作為線性分組碼的一種,擴展漢明碼的分組編碼總長為2r位,信息位長度為2r-1-r位,即(2r,2r-l-r)擴展漢明碼。本設計采用了16位RAM存儲器,所以對應使用(22,16)擴展漢明碼。

        1.2 TMR檢錯糾錯原理

        TMR是一種常見的硬件冗余技術。它的原理是在相同的一組硬件單元上同時發生錯誤的概率要比在單一硬件單元上發生錯誤的概率小。它的基本方法是將所需容錯的硬件單元增加到三倍或更多,并將各個單元的輸出連接到一個表決器上,由表決器選擇所有硬件單元中的絕大多數輸出值作為整體的輸出值。圖1所示為三模冗余系統結構圖。

        圖1中,A1、A2、A3三個模塊同時執行同樣的操作,并將其輸出送給表決器,然后由表決器對接收到的三路數據進行比較。如果三個模塊同時給出三個相同的輸出,則表決器輸出任何一路作為正確輸出。如果其中任一模塊出錯,其輸出不同于其它兩個模塊,則表決器依然輸出正確結果。如果有兩個模塊同時出錯,且變成相同的狀態,表決器則會誤認為這是正確的結果并輸出,不過這種情況的出現雖然可能,但概率非常小。當然,如果這兩個模塊同時出錯,但出錯狀態不同,則表決器此時將無法做出選擇,但可以產生中斷。

        2 內存配置方案

        通過上面對擴展漢明碼與TMR兩種檢錯糾錯方式的介紹,可以發現其二者各有優勢,分別適用于不同的環境條件和應用需求。但是,這兩種方案對于內存配置的要求是不同的,所以在對整個電路的設計之前,首先要對內存作如下配置。

        本設計中使用了3片16bit的SRAM。并分別采用(22,16)漢明碼和TMR兩種檢錯糾錯方法。對于(22,16),一般采用(16+8)位的存儲器來,而TMR,則采用16位的存儲器來。若要支持這兩種方法,則必須首先為存儲器設計一種特別的內存配置方式。本設計采用如圖2所示的內存配置方案。

        內存配置方案

        對于圖2所示的內存配置方案,當系統工作在TMR模式時,所有的片選信號都被相同的信號驅動,這樣就構成了TMR需要的3個16位內存空間;而當系統工作在漢明碼模式時,它們則ah、al、bh為一組,bl、ch、cl為另一組,并分別被相同的片選信號驅動,從而構成了兩個獨立的(16+8)位的內存空間。本設計采用了3片128 K×16bit的SRAM,如果設置每片SRAM的低4K×16bit空間工作在TMR模式,則從圖中可以看出,該SRAM芯片組中還有兩個124 K×(16+8) bit的空間可以工作于擴展漢明碼模式。

        3 電路設計

        上述內存配置方案,本文設計了如圖3所示的抗SEU存儲器電路。該電路包含了4個功能模塊。

        抗SEU存儲器電路
        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长阳| 六盘水市| 同心县| 德州市| 牡丹江市| 常熟市| 东乡族自治县| 增城市| 东至县| 白河县| 保德县| 阿勒泰市| 安泽县| 茌平县| 房产| 琼中| 镇巴县| 高清| 土默特右旗| 班玛县| 罗平县| 通辽市| 那曲县| 高州市| 平江县| 锡林浩特市| 岳西县| 清河县| 邢台县| 垦利县| 巴彦县| 巴林右旗| 浦北县| 滦平县| 会东县| 五原县| 临沂市| 乐都县| 曲沃县| 延吉市| 府谷县|