高可靠性微控制器設計研究
2.2 糾錯檢錯(EDAC)
2.2.1 EDAC概述
EDAC可以用來(lái)檢測電子設備中由SEU引起的存儲為翻轉錯誤。EDAC的基本結構包括3個(gè)部分:編碼模塊,解碼模塊,存儲模塊。其中EDAC 編碼模塊將需要處理的數據進(jìn)行相關(guān)算法的編碼,產(chǎn)生校驗碼,與待處理數據一同存入存儲模塊。數據需要讀出的時(shí)候,EDAC解碼模塊將數據與相應校驗碼進(jìn)行解碼處理,得出正確結構。編碼與解碼所采用的編碼方式可以根據需要選擇,如漢明碼,最佳奇權碼,藤原英二碼等等。
2.2.2 漢明碼介紹
下面以擴展漢明碼為例說(shuō)明編碼糾錯檢錯的原理。 擴展漢明碼(Extended Hamming Code)在存儲系統的糾錯檢錯中得到了廣泛應用。他的最小碼距是4,對于數據位數 k,校驗位數 r,他們之間的關(guān)系需滿(mǎn)足 2r-1 ≥ k+r。如果數據位 k增加一倍,校驗位 r也只需要增加1位,所以它具有相當高的編碼效率。 8位數據經(jīng)過(guò)4位編碼后的數據結構如下:
C= [D7D6D5D4D3D2D1D0C3C2C1C0]其中 D7~D0是數據位,C3~C0是校驗位:
C3= D7 D6 D5 D4 ; C2= D7 D3 D2 D1; C1= D6 D5 D3 D2 D0 ; C0= D6 D4 D3 D1 D0
解碼時(shí)需計算存儲數據的伴隨向量 S: S3= C3 CB3;S2= C2 CB2 ;S1= C1CB1;S0= C0 CB0 其中 CB0,CB1,CB2,CB3為 8位數據在解碼時(shí)刻的校驗位。根據算得的伴隨向量 S我們就可以判斷數據位是否發(fā)生錯誤及錯誤發(fā)生的位置。
2.3 兩種糾錯方法的比較
TMR與 EDAC都屬于硬件冗余,對于不同字長(cháng)的存儲器,他們所占用的面積開(kāi)銷(xiāo)和時(shí)間開(kāi)銷(xiāo)是不同的。TMR所占用的面積開(kāi)銷(xiāo)包括冗余的2個(gè)目標器件以及判決器及附屬電路邏輯,EDAC所增加的面積開(kāi)銷(xiāo)則包括了增加的校驗位,編碼器,解碼器及附屬邏輯 1。根據以上分析我們可以得出結論,對于保護寄存器,寄存器組等容量較小的存儲器件,TMR有實(shí)現簡(jiǎn)單,增加面積較少的有點(diǎn)。而對于大容量的存儲器,則應當采用 EDAC來(lái)進(jìn)行糾錯檢錯。
3高可靠性 8051具體方案設計及實(shí)現通過(guò)對 SEU的機理分析及 mc8051結構分析可以得出,容易受到粒子輻射的關(guān)鍵部位有
3:特殊寄存器(Special Function Register ,SFR),內部 ram,外部 ram。本論文就上述三個(gè)模塊對 mc8051IP核進(jìn)行了該進(jìn)。
3.1特殊寄存器(SFR)
mc8051IP核的特殊寄存器(SFR)均在 control_mem文件中實(shí)現。該模塊實(shí)現 8051譯碼功能。SFR字節地址范圍是80H-FFH,他們在 RAM中并不是完全連續的,21個(gè) SFR離散的分布在上述字節區域的128個(gè)字節單元中。在mc8051IP核中并沒(méi)用將這些SFR設計在內部 ram中,而是對應地址分別實(shí)現的。對 SFR的加固處理是采用了 TMR技術(shù)。具體實(shí)現步驟如下:
綜合后結果截取如下圖:
評論