顧展弘,羅 晟,徐 睿
(中國(guó)電子科技集團(tuán)公司第58研究所,江蘇 無(wú)錫 214035)
星載計(jì)算機(jī)是衛(wèi)星控制系統(tǒng)的核心,它擔(dān)負(fù)著航天器的姿態(tài)及軌道控制、數(shù)據(jù)處理與傳輸、控制各種操作的執(zhí)行,航天任務(wù)能否順利完成很大程度上取決于星載計(jì)算機(jī)的工作情況。其中的靜態(tài)存儲(chǔ)器作為星載計(jì)算機(jī)的重要組成部分,直接影響整機(jī)的可靠性,因此必須采用各種手段來(lái)提高其可靠性。
漢明碼是由R.Hamming在1950年提出的一種線性分組碼[1],由于其簡(jiǎn)單高效的特性,目前仍被廣泛應(yīng)用[2]。漢明碼是一種可以糾正單個(gè)錯(cuò)誤的常用校驗(yàn)碼[3],其實(shí)現(xiàn)原理是在傳輸?shù)臄?shù)據(jù)源碼中加入一些冗余碼,使這些數(shù)據(jù)源碼與冗余碼之間根據(jù)某種規(guī)則建立一定的關(guān)系,一旦合法數(shù)據(jù)編碼出現(xiàn)某些錯(cuò)誤時(shí),數(shù)據(jù)源碼與檢驗(yàn)碼之間的關(guān)系被破壞,就形成非法編碼,而接收端可以通過(guò)檢測(cè)編碼的合法性來(lái)發(fā)現(xiàn)錯(cuò)誤直至糾正錯(cuò)誤[4]。
本電路中采用的糾錯(cuò)編碼是[12,8]漢明碼,源碼8位,冗余碼4位,能夠?qū)崿F(xiàn)檢測(cè)并糾正任意一位錯(cuò)誤的功能。
[12,8]漢明碼的編碼算法主要由異或邏輯構(gòu)成,令c為編碼后的碼字,m為編碼前的信息位,則編碼邏輯為:
[12,8]漢明碼的解碼邏輯包括計(jì)算伴隨式s,查找錯(cuò)誤圖樣e和糾錯(cuò)三個(gè)步驟。其中,計(jì)算伴隨式s的主要邏輯為:
伴隨式s計(jì)算完成后,錯(cuò)誤圖樣e根據(jù)表1查找得到。在邏輯實(shí)現(xiàn)時(shí),錯(cuò)誤圖樣e采用譯碼實(shí)現(xiàn),糾錯(cuò)步驟采用異或操作進(jìn)行。
該電路的主要功能是完成CPU對(duì)外部SRAM的數(shù)據(jù)存取和SEU的檢測(cè)及糾錯(cuò),同時(shí)還負(fù)責(zé)實(shí)現(xiàn)對(duì)接口信號(hào)的產(chǎn)生。電路采用EDAC技術(shù)可以簡(jiǎn)單有效地提高系統(tǒng)的容錯(cuò)能力,無(wú)需軟件初始化,具有實(shí)時(shí)性和自動(dòng)完成的特點(diǎn)。
表1 伴隨式與錯(cuò)誤圖樣的關(guān)系
該電路的核心部分即為EDAC(Error Detection and Correction錯(cuò)誤檢測(cè)與糾正)編解碼模塊,實(shí)現(xiàn)糾正SRAM存儲(chǔ)數(shù)據(jù)發(fā)生的單粒子翻轉(zhuǎn)錯(cuò)誤,圖1為該模塊功能框圖。
圖1 編解碼模塊功能框圖
總體設(shè)計(jì)思想是當(dāng)CPU向SRAM寫(xiě)入數(shù)據(jù)時(shí),數(shù)據(jù)位DB經(jīng)過(guò)ASIC生成校驗(yàn)位CB,數(shù)據(jù)位與校驗(yàn)位同時(shí)寫(xiě)入靜態(tài)存儲(chǔ)器SRAM中。當(dāng)CPU從SRAM中讀取數(shù)據(jù)時(shí),數(shù)據(jù)位和校驗(yàn)位均讀到EDAC中,使用剛剛讀入的數(shù)據(jù)位重新生成校驗(yàn)位,新生成的校驗(yàn)位與原來(lái)寫(xiě)入時(shí)的校驗(yàn)位做異或運(yùn)算,其結(jié)果就是校驗(yàn)子。由生成的校驗(yàn)子控制糾錯(cuò)單元,哪一位出錯(cuò)就將相應(yīng)位的數(shù)據(jù)取反,實(shí)現(xiàn)糾錯(cuò)。
該電路采用半定制標(biāo)準(zhǔn)單元正向設(shè)計(jì),包括系統(tǒng)設(shè)計(jì)、邏輯設(shè)計(jì)、布局布線、版圖提取與驗(yàn)證、后仿真等工作。前端網(wǎng)表綜合使用Design Compiler,功能仿真使用NCSim,后端布局布線使用Silicon Ensemble,時(shí)序驗(yàn)證使用PrimeTime,后仿真使用Hsim,參數(shù)提取和版圖驗(yàn)證使用Dracula。
該電路電源電壓5V,最高工作頻率33MHz,芯片面積9.5mm×9.5mm,CPGA181封裝,采用0.5μm單多晶三鋁N阱CMOS工藝制造,經(jīng)電路測(cè)試及系統(tǒng)試用,各項(xiàng)性能指標(biāo)達(dá)到設(shè)計(jì)要求。
本文介紹了一種糾錯(cuò)編解碼電路的設(shè)計(jì),該電路可在空間輻射條件下有效完成CPU對(duì)外部SRAM的數(shù)據(jù)存取和SEU的檢測(cè)及糾錯(cuò),可應(yīng)用于星載計(jì)算機(jī)的數(shù)據(jù)管理系統(tǒng)。
[1] 王新梅.糾錯(cuò)碼——原理與方法[M].西安:西安電子科技大學(xué)出版社,2001. 30-36.
[2] 曹雪虹,張宗橙.信息論與編碼[M].北京:清華大學(xué)出版社,2004. 60-65.
[3] 王海波,等.糾錯(cuò)編碼技術(shù)在俄羅斯深空測(cè)控通信系統(tǒng)中的應(yīng)用和發(fā)展[J].遙測(cè)遙控,2009, 30(4):6-10.
[4] 劉淑芬,崔星.計(jì)算機(jī)RAM檢錯(cuò)糾錯(cuò)電路的設(shè)計(jì)與實(shí)現(xiàn)[J].航天控制,2003(4): 59-67.