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