基于FPGA的星載計(jì)算機(jī)自檢EDAC電路設(shè)計(jì)
摘要:為了消除空間環(huán)境中單粒子翻轉(zhuǎn)(SEU)的影響,目前星載計(jì)算機(jī)中均對(duì)RAM存儲(chǔ)單元采用檢錯(cuò)糾錯(cuò)(EDAC)設(shè)計(jì)。隨著FPGA在航天領(lǐng)域的廣泛應(yīng)用,FPGA已成為EDAC功能實(shí)現(xiàn)的最佳硬件手段。本文介紹了EDAC的編碼和實(shí)現(xiàn),提出一種功能完善的、具有自檢、自糾錯(cuò)功能的EDAC電路設(shè)計(jì),并采用仿真工具對(duì)該EDAC電路的功能進(jìn)行了驗(yàn)證。
本文引用地址:http://butianyuan.cn/article/189975.htm1 引言
隨著人類(lèi)對(duì)空間探索的深入,空間環(huán)境對(duì)空間飛行器的電子設(shè)備和器件的影響逐漸顯現(xiàn) 出來(lái)。空間輻射效應(yīng),特別是單粒子效應(yīng),對(duì)空間任務(wù)的完成具有潛在的巨大危害。星載計(jì) 算機(jī)是衛(wèi)星的核心部件,在空間輻照環(huán)境下,必須充分考慮單粒子翻轉(zhuǎn)現(xiàn)象對(duì)星載計(jì)算機(jī)程 控功能的破壞或影響。針對(duì)該問(wèn)題, 目前普遍采用糾錯(cuò)檢錯(cuò)(EDAC)設(shè)計(jì)對(duì)星載計(jì)算機(jī)的RAM 存儲(chǔ)單元進(jìn)行糾錯(cuò)檢錯(cuò)處理來(lái)消除SEU故障。
EDAC功能可采用硬件和軟件兩種手段來(lái)實(shí)現(xiàn)。采用軟件手段實(shí)現(xiàn),需要在讀寫(xiě)RAM存儲(chǔ) 單元時(shí),對(duì)存儲(chǔ)數(shù)據(jù)和冗余信息進(jìn)行計(jì)算,因而要占用大量的CPU時(shí)間。對(duì)于星載計(jì)算機(jī)而 言,由于CPU器件選型的局限,限制了CPU的性能,使CPU資源非常寶貴,因此目前普遍采用 的是硬件手段來(lái)實(shí)現(xiàn)EDAC功能。隨著FPGA在通信信息特別是在航天領(lǐng)域的廣泛應(yīng)用,F(xiàn)PGA 已成為EDAC功能實(shí)現(xiàn)的最佳硬件手段。從目前可獲得的資料看,近些年歐美發(fā)射的衛(wèi)星均采 用了FPGA作為星載計(jì)算機(jī)的核心器件。
2 基于漢明碼的傳統(tǒng)EDAC設(shè)計(jì)
2.1漢明編碼
目前有許多編碼可以用來(lái)作為抗SEU的糾錯(cuò)碼使用,漢明編碼是最常用的EDAC編碼,由 Hamming于1950年構(gòu)造。這種編碼可以進(jìn)行檢錯(cuò)和糾錯(cuò),可以檢測(cè)1比特和2比特錯(cuò)誤,只能 糾正1比特錯(cuò)誤,因此適用于單組數(shù)據(jù)中出現(xiàn)多個(gè)錯(cuò)誤位概率較低的情況,這恰與SEU經(jīng)常會(huì) 修改星上RAM存儲(chǔ)單元1比特信息的情況相符。
漢明編碼的實(shí)現(xiàn)增加的硬件資源主要是存儲(chǔ)器單元,用來(lái)存儲(chǔ)冗余數(shù)據(jù),另外還增加了 編碼和解碼電路,參加編碼和解碼的異或門(mén)電路隨著原始數(shù)據(jù)位數(shù)的增加而線性增加。在處 理性能方面,編碼和解碼造成一定的延時(shí),增加了存儲(chǔ)器的讀寫(xiě)時(shí)間。
2.2傳統(tǒng)的EDAC電路設(shè)計(jì)
傳統(tǒng)的EDAC電路設(shè)計(jì)僅實(shí)現(xiàn)讀寫(xiě)功能,基本原理框圖如圖1所示.寫(xiě)操作時(shí),CPU將數(shù)據(jù)送入EDAC編碼模塊中,EDAC編碼模塊根據(jù)該數(shù)據(jù)生成校驗(yàn)碼,并將原始數(shù)據(jù)和校驗(yàn)碼分別寫(xiě) 入數(shù)據(jù)RAM和校驗(yàn)RAM中;讀操作時(shí),CPU將數(shù)據(jù)RAM和校驗(yàn)RAM中的數(shù)據(jù)取出,送入EDAC糾錯(cuò)模 塊中,EDAC糾錯(cuò)模塊將正確的數(shù)據(jù)送至CPU。這里EDAC編碼糾錯(cuò)模塊的硬件實(shí)現(xiàn)可以是專(zhuān)用 芯片,也可以采用通用的中小規(guī)模集成電路搭建。
評(píng)論