




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于FPGA的星載計(jì)算機(jī)自檢EDAC電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用摘要:為了消除空間環(huán)境中單粒子翻轉(zhuǎn)(SEU)的影響,目前星載計(jì)算機(jī)中均對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ì),并采用仿真工具對該EDAC電路的功能進(jìn)行了驗(yàn)證。
1引言
隨著人類對空間探索的深入,空間環(huán)境對空間飛行器的電子設(shè)備和器件的影響逐漸顯現(xiàn)出來??臻g輻射效應(yīng),特別是單粒子效應(yīng),對空間任務(wù)的完成具有潛在的巨大危害。星載計(jì)算機(jī)是衛(wèi)星的部件,在空間輻照環(huán)境下,必須充分考慮單粒子翻轉(zhuǎn)現(xiàn)象對星載計(jì)算機(jī)程控功能的破壞或影響。針對該問題,目前普遍采用糾錯(cuò)檢錯(cuò)(EDAC)設(shè)計(jì)對星載計(jì)算機(jī)的RAM存儲(chǔ)單元進(jìn)行糾錯(cuò)檢錯(cuò)處理來消除SEU故障。
EDAC功能可采用硬件和軟件兩種手段來實(shí)現(xiàn)。采用軟件手段實(shí)現(xiàn),需要在讀寫RAM存儲(chǔ)單元時(shí),對存儲(chǔ)數(shù)據(jù)和冗余信息進(jìn)行計(jì)算,因而要占用大量的CPU時(shí)間。對于星載計(jì)算機(jī)而言,由于CPU器件選型的局限,限制了CPU的性能,使CPU資源非常寶貴,因此目前普遍采用的是硬件手段來實(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漢明編碼
目前有許多編碼可以用來作為抗SEU的糾錯(cuò)碼使用,漢明編碼是常用的EDAC編碼,由Hamming于1950年構(gòu)造。這種編碼可以進(jìn)行檢錯(cuò)和糾錯(cuò),可以檢測1比特和2比特錯(cuò)誤,只能糾正1比特錯(cuò)誤,因此適用于單組數(shù)據(jù)中出現(xiàn)多個(gè)錯(cuò)誤位概率較低的情況,這恰與SEU經(jīng)常會(huì)修改星上RAM存儲(chǔ)單元1比特信息的情況相符。
漢明編碼的實(shí)現(xiàn)增加的硬件資源主要是存儲(chǔ)器單元,用來存儲(chǔ)冗余數(shù)據(jù),另外還增加了編碼和解碼電路,參加編碼和解碼的異或門電路隨著原始數(shù)據(jù)位數(shù)的增加而線性增加。在處理性能方面,編碼和解碼造成一定的延時(shí),增加了存儲(chǔ)器的讀寫時(shí)間。
2.2傳統(tǒng)的EDAC電路設(shè)計(jì)
傳統(tǒng)的EDAC電路設(shè)計(jì)僅實(shí)現(xiàn)讀寫功能,基本原理框圖如圖1所示.寫操作時(shí),CPU將數(shù)據(jù)送入EDAC編碼模塊中,EDAC編碼模塊根據(jù)該數(shù)據(jù)生成校驗(yàn)碼,并將原始數(shù)據(jù)和校驗(yàn)碼分別寫入數(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)可以是專用芯片,也可以采用通用的中小規(guī)模集成電路搭建。
SEU造成的RAM單元1比特錯(cuò)誤如果不定時(shí)清除,就會(huì)產(chǎn)生累積,使計(jì)算機(jī)由此處理的結(jié)果產(chǎn)生出2比特甚至更多比特錯(cuò)誤,這種情況下將無法采用EDAC功能進(jìn)行數(shù)據(jù)糾錯(cuò),導(dǎo)致系統(tǒng)錯(cuò)誤操作甚至任務(wù)失敗。因此定時(shí)對RAM存儲(chǔ)單元進(jìn)行更新是必要的,但在傳統(tǒng)EDAC電路設(shè)計(jì)下,對RAM存儲(chǔ)單元的更新只能由計(jì)算機(jī)的CPU(單片機(jī))進(jìn)行,其操作流程如下:
(1)從存儲(chǔ)單元讀出數(shù)據(jù);
(2)將讀出數(shù)據(jù)重寫入;
(3)重復(fù)(1)~(2),直至全部單元更新完。
以航天計(jì)算機(jī)常用的80C32單片機(jī)為例,CPU對外部存儲(chǔ)單元的讀或?qū)懖僮餍枰?個(gè)指令周期,讀完再寫入需要4個(gè)指令周期,每個(gè)指令周期包含12個(gè)時(shí)鐘。假設(shè)CPU時(shí)鐘為20MHz,更新1M個(gè)RAM存儲(chǔ)單元需要的CPU時(shí)間為:4×12×1M20MHz=2.4s。
對于星上非常緊張的CPU資源來說,這是難以接受的,大大增加了星上CPU軟件的設(shè)計(jì)難度。這種方法的另一個(gè)大的缺點(diǎn)是無法獲得數(shù)據(jù)錯(cuò)誤信息,因?yàn)镃PU直接讀取的是糾錯(cuò)后的數(shù)據(jù),所以無法對星上SEU造成RAM單元出錯(cuò)的概率和錯(cuò)誤模式進(jìn)行統(tǒng)計(jì)。
3基于FPGA的自檢EDAC設(shè)計(jì)
3.1功能分析
由于FPGA的內(nèi)部大量的邏輯資源,使EDAC電路設(shè)計(jì)可以實(shí)現(xiàn)更加復(fù)雜的功能。在星載計(jì)算機(jī)中,為了提高效率并節(jié)省CPU資源,一個(gè)理想的EDAC電路設(shè)計(jì),應(yīng)具有以下三部分功能:
(1)數(shù)據(jù)讀寫功能。在CPU寫操作時(shí),對原始數(shù)據(jù)進(jìn)行編碼,生成校驗(yàn)碼,并將原始數(shù)據(jù)和校驗(yàn)碼存儲(chǔ);在CPU讀操作時(shí),從存儲(chǔ)器中取出原始數(shù)據(jù)和校驗(yàn)碼,進(jìn)行計(jì)算,如有錯(cuò)誤,將錯(cuò)誤糾正后輸出,如無錯(cuò)誤,直接將原始數(shù)據(jù)輸出。
(2)自檢、自糾錯(cuò)功能。在CPU控制要求下,可自動(dòng)對所有EDAC保護(hù)的RAM存儲(chǔ)區(qū)進(jìn)行順序讀取和校驗(yàn),檢測出錯(cuò)誤數(shù)據(jù)或校驗(yàn)碼。在自檢狀態(tài)下,如果由CPU配置為自糾錯(cuò)狀態(tài),當(dāng)某一RAM單元檢測出單比特錯(cuò)誤后,自動(dòng)將正確數(shù)據(jù)和校驗(yàn)碼重新寫入該RAM單元。該項(xiàng)功能的實(shí)施,基本上可保證SEU對計(jì)算機(jī)RAM區(qū)造成的影響及時(shí)得到修復(fù)。
(3)錯(cuò)誤信息處理功能。在CPU讀操作或者自檢狀態(tài)下,通過輸出錯(cuò)誤標(biāo)志信號(hào),對CPU產(chǎn)生中斷,對產(chǎn)生的錯(cuò)誤進(jìn)行相應(yīng)處理。在CPU讀操作或者自檢狀態(tài)下,如果檢測出錯(cuò)誤,將出錯(cuò)的地址、原始數(shù)據(jù)和校驗(yàn)碼進(jìn)行暫存,可由CPU讀取,進(jìn)行相應(yīng)處理。
3.2設(shè)計(jì)與實(shí)現(xiàn)
根據(jù)以上分析,筆者設(shè)計(jì)了如圖2所示的自檢EDAC電路,EDAC的功能主要由FPGA來實(shí)現(xiàn)。到目前為止,具有航天等級(jí)的FPGA芯片已經(jīng)具有內(nèi)置的CPU硬核以及高達(dá)2.5Mbit的RAM資源,因此該設(shè)計(jì)中的CPU和RAM模塊均可以是FPGA內(nèi)部資源,當(dāng)內(nèi)部資源無法滿足設(shè)計(jì)要求時(shí),也可以采用外置CPU芯片或外置RAM芯片。
在本設(shè)計(jì)中,我們采用外置的CPU芯片和內(nèi)置的RAM單元,作為自檢EDAC電路的硬件平臺(tái)(或環(huán)境、資源)。CPU芯片在這里起到的作用是啟動(dòng)EDAC自檢,處理錯(cuò)誤中斷,向地面?zhèn)魉湾e(cuò)誤信息,并根據(jù)地面要求對錯(cuò)誤信息進(jìn)行處理。
在該設(shè)計(jì)中,檢測一個(gè)存儲(chǔ)單元地址僅需要4個(gè)時(shí)鐘周期,如果開啟自糾錯(cuò)功能,并且檢測到單比特錯(cuò)誤,再增加2個(gè)時(shí)鐘周期用來糾錯(cuò)。因此如果時(shí)鐘為20MHz,并且錯(cuò)誤數(shù)據(jù)較少,則更新1M個(gè)RAM存儲(chǔ)單元需要的時(shí)間約為:4×1M20MHz=0.2s。
更重要的是,在這0.2s的時(shí)間里,僅在出現(xiàn)錯(cuò)誤時(shí)需要向計(jì)算機(jī)產(chǎn)生中斷,進(jìn)行相應(yīng)處理,對地面進(jìn)行錯(cuò)誤,因而CPU處理時(shí)間很短,節(jié)省了寶貴的CPU資源。
3.3仿真與驗(yàn)證
在空間環(huán)境下普遍存在的SEU,在地面環(huán)境下是很難獲得的,為了在地面對該EDAC電路設(shè)計(jì)進(jìn)行驗(yàn)證,需要采取故障注入手段。由于在本例中RAM存儲(chǔ)單元采用FPGA內(nèi)部資源,因此故障注入變得相對簡單。在FPGA進(jìn)行程序綜合時(shí),可將預(yù)先編制好的RAM存儲(chǔ)單元初始化文件一起綜合。因此我們可在編制RAM存儲(chǔ)單元初始化文件時(shí),對某些比特位進(jìn)行修改,以模擬空間環(huán)境下SEU對RAM存儲(chǔ)單元的影響。
在這里采用Xilinx公司的XQRV300為硬件載體,該型號(hào)FPGA芯片在航天領(lǐng)域內(nèi)被廣泛使用。為節(jié)省仿真時(shí)間,數(shù)據(jù)RAM存儲(chǔ)單元采用256*8bit,檢驗(yàn)RAM存儲(chǔ)單元采用25*bit。在RAM存儲(chǔ)單元初始化文件中,人工加入了12個(gè)單比特錯(cuò)誤,以及1個(gè)兩比特錯(cuò)誤,如下表所示。
為仿真簡便起見,向存儲(chǔ)單元存放的正確數(shù)據(jù)與存儲(chǔ)單元地址相同。
時(shí)鐘選擇為20MHz,通過采用ModelSim軟件進(jìn)行布線后仿真,我們可以得到圖3所示結(jié)果。
圖中:Clk—系統(tǒng)時(shí)鐘;
En—EDAC模塊使能控制;
Check—自檢啟動(dòng)/使能信號(hào)(信號(hào)上升沿觸發(fā)巡檢,信號(hào)為低暫停巡檢);
Rw_En—自糾錯(cuò)使能信號(hào)(為高允許糾錯(cuò));
Err—錯(cuò)誤中斷(標(biāo)志)信號(hào);
Rw—自糾錯(cuò)標(biāo)志信號(hào)(為高表示正在進(jìn)行自糾錯(cuò)操作);
MErr—多比特錯(cuò)誤中斷(標(biāo)志)信號(hào);
Checking—自檢標(biāo)志(為高表示尚未完成本次巡檢操作);
Err_Sum,Err_A,Err_D,Err_C—錯(cuò)誤計(jì)數(shù),錯(cuò)誤地址,原始數(shù)據(jù),原始校驗(yàn)碼;
D,A,Wr,Rd—單片機(jī)數(shù)據(jù)、地址、寫操作、讀操作信號(hào);
從圖中可以看出,啟動(dòng)EDAC自檢后,EDAC開始巡檢RAM存儲(chǔ)單元,產(chǎn)生錯(cuò)誤中斷(標(biāo)志)信號(hào),給出錯(cuò)誤信息。當(dāng)單片機(jī)需要處理中斷時(shí),將Check信號(hào)置‘0’,可暫時(shí)停止巡檢,此時(shí)單片機(jī)可對RAM存儲(chǔ)單元進(jìn)行正常讀寫操作。等中斷處理完后,單片機(jī)將Check信號(hào)置‘1’,恢復(fù)RAM巡檢操作。
另外可通過Rw_En的置‘0’或‘1’,來控制禁止或允許進(jìn)行自糾錯(cuò)操作。
當(dāng)出現(xiàn)可識(shí)別的多位錯(cuò)誤時(shí),產(chǎn)生Err和MErr兩個(gè)錯(cuò)誤中斷(標(biāo)志)信號(hào),但由于漢明碼僅能糾正單比特錯(cuò)誤,因此不進(jìn)行自糾錯(cuò)操作。
從原注入錯(cuò)誤數(shù)據(jù)對應(yīng)的地址讀出數(shù)據(jù),仿真輸出結(jié)果如圖4所示。
可以看出除一個(gè)地址(FFH)由于兩位錯(cuò)仍輸出錯(cuò)誤外,其他地址輸出數(shù)據(jù)均與地址相同,即為正確數(shù)據(jù)。
其中,24H、3CH、60H三個(gè)地址雖然輸出正確數(shù)據(jù),但仍報(bào)錯(cuò),表明存儲(chǔ)器內(nèi)數(shù)據(jù)仍然為錯(cuò)誤數(shù)據(jù),在輸出時(shí)進(jìn)行了糾錯(cuò)。這是由于在上次巡檢到這部分地址空間時(shí),通過把Rw_En信號(hào)拉低,從而禁止了自動(dòng)糾錯(cuò),導(dǎo)致這三個(gè)地址錯(cuò)誤數(shù)據(jù)未被糾正。而在對其他地址進(jìn)行數(shù)據(jù)讀取時(shí),未產(chǎn)生錯(cuò)誤標(biāo)志,證明其他錯(cuò)誤數(shù)據(jù)已被糾錯(cuò)。
4結(jié)論
本文在采用FPGA芯片實(shí)現(xiàn)基本EDAC讀寫功能的設(shè)計(jì)思路基礎(chǔ)上,創(chuàng)建了一種新型的可對RAM存儲(chǔ)單元進(jìn)行自檢的EDAC功能模塊。該模塊不但可以對RAM存儲(chǔ)單元進(jìn)行快速巡檢,巡檢時(shí)間僅為傳統(tǒng)EDAC方法的十二分之一,還可以自動(dòng)糾正已發(fā)現(xiàn)的錯(cuò)誤。該模塊的優(yōu)點(diǎn)在于節(jié)省了單片機(jī)資源,幾乎不需要單片機(jī)的參與即可完成所有自檢功能,從而使基于FP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國際化教育中跨文化交流能力培養(yǎng)的跨文化教育政策創(chuàng)新研究報(bào)告
- 城市生活垃圾分類公眾參與機(jī)制優(yōu)化與長效管理效果評估分析研究報(bào)告
- 2025年醫(yī)院電子病歷系統(tǒng)在醫(yī)院信息化建設(shè)中的知識(shí)圖譜構(gòu)建應(yīng)用報(bào)告
- 2025年互聯(lián)網(wǎng)醫(yī)療平臺(tái)在線問診服務(wù)與患者疾病管理報(bào)告
- 海洋生態(tài)保護(hù)與修復(fù)2025:政策法規(guī)與海洋生態(tài)修復(fù)技術(shù)標(biāo)準(zhǔn)應(yīng)用分析報(bào)告
- 咨詢工程師付子健課件
- 2025年海上風(fēng)能資源評估與深遠(yuǎn)海風(fēng)電場技術(shù)交流與合作平臺(tái)報(bào)告
- 2025年福建省廈門市雙十中學(xué)英語八年級(jí)第二學(xué)期期末檢測試題含答案
- 數(shù)字文化產(chǎn)業(yè)發(fā)展報(bào)告:2025年商業(yè)模式創(chuàng)新與文化產(chǎn)業(yè)發(fā)展與文化產(chǎn)業(yè)創(chuàng)新
- 2025年教育信息化基礎(chǔ)設(shè)施建設(shè)與教育信息化產(chǎn)業(yè)創(chuàng)新趨勢研究報(bào)告
- 垃圾焚燒發(fā)電行業(yè)潤滑
- 鋁合金門窗安裝施工方案
- 采血后預(yù)防淤青的按壓方式
- 胃癌化療患者的護(hù)理查房
- 香菇種植可行性分析報(bào)告
- 2025年會(huì)考地理考試試題及答案
- 2025-2030全球智慧康養(yǎng)平臺(tái)行業(yè)調(diào)研及趨勢分析報(bào)告
- 安全生產(chǎn)網(wǎng)格員培訓(xùn)
- 醫(yī)院預(yù)防職務(wù)犯罪講座
- 食品安全主題墻框架
- 吸脂術(shù)護(hù)理查房
評論
0/150
提交評論