




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【Word版本下載可任意編輯】 FPGA的星載計算機自檢EDAC電路設計 1 引言 隨著人類對空間探索的深入,空間環境對空間飛行器的電子設備和器件的影響逐漸顯現 出來。空間輻射效應,特別是單粒子效應,對空間任務的完成具有潛在的巨大危害。星載計 算機是衛星的部件,在空間輻照環境下,必須充分考慮單粒子翻轉現象對星載計算機程 控功能的破壞或影響。針對該問題, 目前普遍采用糾錯檢錯(EDAC)設計對星載計算機的RAM 存儲單元開展糾錯檢錯處理來消除SEU故障。 EDAC功能可采用硬件和軟件兩種手段來實現。采用軟件手段實現,需要在讀寫RAM存儲 單元時,對存儲數據和冗余信息開展計算,因而要占用大量的CP
2、U時間。對于星載計算機而 言,由于CPU器件選型的局限,限制了CPU的性能,使CPU資源非常寶貴,因此目前普遍采用 的是硬件手段來實現EDAC功能。隨著FPGA在通信信息特別是在航天領域的廣泛應用,FPGA 已成為EDAC功能實現的硬件手段。從目前可獲得的資料看,近些年歐美發射的衛星均采 用了FPGA作為星載計算機的器件。 2 基于漢明碼的傳統EDAC設計 2.1漢明編碼 目前有許多編碼可以用來作為抗SEU的糾錯碼使用,漢明編碼是常用的EDAC編碼,由 Hamming于1950年構造。這種編碼可以開展檢錯和糾錯,可以檢測1比特和2比特錯誤,只能 糾正1比特錯誤,因此適用于單組數據中出現多個錯誤
3、位概率較低的情況,這恰與SEU經常會 修改星上RAM存儲單元1比特信息的情況相符。 漢明編碼的實現增加的硬件資源主要是存儲器單元,用來存儲冗余數據,另外還增加了 編碼和解碼電路,參加編碼和解碼的異或門電路隨著原始數據位數的增加而線性增加。在處 理性能方面,編碼和解碼造成一定的延時,增加了存儲器的讀寫時間。 2.2傳統的EDAC電路設計 傳統的EDAC電路設計僅實現讀寫功能,基本原理框圖如圖1所示.寫操作時,CPU將數據送入EDAC編碼模塊中,EDAC編碼模塊根據該數據生成校驗碼,并將原始數據和校驗碼分別寫 入數據RAM和校驗RAM中;讀操作時,CPU將數據RAM和校驗RAM中的數據取出,送入E
4、DAC糾錯模 塊中,EDAC糾錯模塊將正確的數據送至CPU。這里EDAC編碼糾錯模塊的硬件實現可以是專用 芯片,也可以采用通用的中小規模集成電路搭建。 SEU造成的RAM單元1比特錯誤如果不定時去除,就會產生累積,使計算機由此處理的結 果產生出2比特甚至更多比特錯誤,這種情況下將無法采用EDAC功能開展數據糾錯,導致系 統錯誤操作甚至任務失敗。因此定時對RAM存儲單元開展更新是必要的,但在傳統EDAC電路 設計下,對RAM存儲單元的更新只能由計算機的CPU(單片機)開展,其操作流程如下: (1) 從存儲單元讀出數據; (2) 將讀出數據重寫入; (3) 重復(1)(2),直至全部單元更新完。
5、以航天計算機常用的80C32單片機為例,CPU對外部存儲單元的讀或寫操作需要2個指令 周期,讀完再寫入需要4個指令周期,每個指令周期包含12個時鐘。假設CPU時鐘為20MHz, 更新1M個RAM存儲單元需要的CPU時間為:4121M 20MHz = 2.4s。 對于星上非常緊張的CPU資源來說,這是難以承受的,大大增加了星上CPU軟件的設計難 度。這種方法的另一個大的缺點是無法獲得數據錯誤信息,因為CPU直接讀取的是糾錯后的 數據,所以無法對星上SEU造成RAM單元出錯的概率和錯誤模式開展統計。 3 基于FPGA的自檢EDAC設計 3.1 功能分析 由于FPGA的內部大量的邏輯資源,使EDAC
6、電路設計可以實現更加復雜的功能。在星載計 算機中,為了提高效率并節省CPU資源,一個理想的EDAC電路設計,應具有以下三部分功能: (1)數據讀寫功能。在CPU寫操作時,對原始數據開展編碼,生成校驗碼,并將原始數 據和校驗碼存儲;在CPU讀操作時,從存儲器中取出原始數據和校驗碼,開展計算,如有錯 誤,將錯誤糾正后輸出,如無錯誤,直接將原始數據輸出。 (2)自檢、自糾錯功能。在CPU控制要求下,可自動對所有EDAC保護的RAM存儲區開展 順序讀取和校驗,檢測出錯誤數據或校驗碼。在自檢狀態下,如果由CPU配置為自糾錯狀態, 當某一RAM單元檢測出單比特錯誤后,自動將正確數據和校驗碼重新寫入該RAM
7、單元。該項功 能的實施,基本上可保證SEU對計算機RAM區造成的影響及時得到修復。 (3)錯誤信息處理功能。在CPU讀操作或者自檢狀態下,通過輸出錯誤標志信號,對CPU 產生中斷,對產生的錯誤開展相應處理。在CPU讀操作或者自檢狀態下,如果檢測出錯誤, 將出錯的地址、原始數據和校驗碼開展暫存,可由CPU讀取,開展相應處理。 3.2 設計與實現 根據以上分析,筆者設計了如圖2所示的自檢EDAC電路,EDAC的功能主要由FPGA來實現。 到目前為止,具有航天等級的FPGA芯片已經具有內置的CPU硬核以及高達2.5Mbit的RAM資源, 因此該設計中的CPU和RAM模塊均可以是FPGA內部資源,當內
8、部資源無法滿足設計要求時,也 可以采用外置CPU芯片或外置RAM芯片。 在本設計中,我們采用外置的CPU芯片和內置的RAM單元,作為自檢EDAC電路的硬件平臺 (或環境、資源)。CPU芯片在這里起到的作用是啟動EDAC自檢,處理錯誤中斷,向地面傳 送錯誤信息,并根據地面要求對錯誤信息開展處理。 在該設計中,檢測一個存儲單元地址僅需要4個時鐘周期,如果開啟自糾錯功能,并且 檢測到單比特錯誤,再增加2個時鐘周期用來糾錯。因此如果時鐘為20MHz,并且錯誤數據較 少,則更新1M個RAM存儲單元需要的時間約為:41M 20MHz = 0.2s。 更重要的是,在這0.2s的時間里,僅在出現錯誤時需要向計
9、算機產生中斷,開展相應處 理,對地面開展錯誤,因而CPU處理時間很短,節省了寶貴的CPU資源。 3.3 仿真與驗證 在空間環境下普遍存在的SEU,在地面環境下是很難獲得的,為了在地面對該EDAC電路 設計開展驗證,需要采取故障注入手段。由于在本例中RAM存儲單元采用FPGA內部資源,因 此故障注入變得相對簡單。在FPGA開展程序綜合時,可將預先編制好的RAM存儲單元初始化 文件一起綜合。因此我們可在編制RAM存儲單元初始化文件時,對某些比特位開展修改,以 模擬空間環境下SEU對RAM存儲單元的影響。 在這里采用Xilinx公司的XQRV300為硬件載體,該型號FPGA芯片在航天領域內被廣泛使
10、用。為節省仿真時間,數據RAM存儲單元采用256*8bit,檢驗RAM存儲單元采用25*bit。在 RAM存儲單元初始化文件中,人工參加了12個單比特錯誤,以及1個兩比特錯誤,如下表所示。 為仿真簡便起見,向存儲單元存放的正確數據與存儲單元地址相同。 時鐘選擇為20MHz,通過采用ModelSim軟件開展布線后仿真,我們可以得到圖3所示結果。 圖中: Clk 系統時鐘; En EDAC 模塊使能控制; Check 自檢啟動/使能信號(信號上升沿觸發巡檢,信號為低暫停巡檢); Rw_En 自糾錯使能信號(為高允許糾錯); Err 錯誤中斷(標志)信號; Rw 自糾錯標志信號(為高表示正在開展自糾
11、錯操作); MErr 多比特錯誤中斷(標志)信號; Checking 自檢標志(為高表示尚未完成本次巡檢操作); Err_Sum,Err_A,Err_D,Err_C 錯誤計數,錯誤地址,原始數據,原始校驗碼; D,A,Wr,Rd 單片機數據、地址、寫操作、讀操作信號; 從圖中可以看出,啟動EDAC自檢后,EDAC開始巡檢RAM存儲單元,產生錯誤中斷(標志) 信號,給出錯誤信息。當單片機需要處理中斷時,將Check信號置0,可暫時停止巡檢, 此時單片機可對RAM存儲單元開展正常讀寫操作。等中斷處理完后,單片機將Check信號置 1,恢復RAM巡檢操作。 另外可通過Rw_En的置0或1,來控制禁止
12、或允許開展自糾錯操作。 當出現可識別的多位錯誤時,產生Err和MErr兩個錯誤中斷(標志)信號,但由于漢明碼僅能糾正單比特錯誤,因此不開展自糾錯操作。 從原注入錯誤數據對應的地址讀出數據,仿真輸出結果如圖4所示。 可以看出除一個地址(FFH)由于兩位錯仍輸出錯誤外,其他地址輸出數據均與地址相同,即為正確數據。 其中,24H、3CH、60H三個地址雖然輸出正確數據,但仍報錯,說明存儲器內數據仍然 為錯誤數據,在輸出時開展了糾錯。這是由于在上次巡檢到這部分地址空間時,通過把Rw_En 信號拉低,從而禁止了自動糾錯,導致這三個地址錯誤數據未被糾正。而在對其他地址開展 數據讀取時,未產生錯誤標志,證明其他錯誤數據已被糾錯。 4 結論 本文在采用FPGA芯片實現基本EDAC讀寫功能的設計思路根底上,創立了一種新型的可對 RAM存儲單元開展自檢的EDAC功能模塊。該模塊不但可以對RAM存儲單元開展快速巡檢,巡檢 時間僅為傳統EDAC方法的十二分之一,還可以自動糾正已發現的錯誤。該模塊的優點在 于節省了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 取消汽車股權保護協議書
- 未完項目管理移交協議書
- 上海寶鋼年度供應協議書
- 買賣林木合同定金協議書
- 承包合同到期解除協議書
- 公司引入資金合作協議書
- 家政服務品牌加盟協議書
- 校園學生糾紛調解協議書
- 投資入股礦山開采協議書
- 單位和融媒體合作協議書
- 2023年普通高等學校招生全國統一考試(全國甲卷)物理試題含答案
- 構建素養導向的小學數學“套餐式”作業設計的實踐與研究
- 華佗古本五禽戲知到智慧樹章節測試課后答案2024年秋安徽中醫藥大學
- 2025年管理類聯考《英語二》真題復盤卷(帶解析)
- 2025年嚴紀律轉作風樹形象心得體會樣本(3篇)
- 六年級下冊科學復習心得分享會
- 嬰幼兒喂養的正確方法
- 水泥道路路面修復施工方案
- 2025年廣東省普通高中生物學業水平合格性考試綜合測評卷(二)(含解析)
- 心臟康復基層指南
- 高考數學專項復習:極值點偏移與拐點偏移問題【七大題型】解析版
評論
0/150
提交評論