一種基于Flash型FPGA的高可靠系統設計
摘要:本文以星載測控系統為背景,提出了一種基于 Actel Flash FPGA的高可靠設計方案。采用不易發生單粒子翻轉的 flash FPGA芯片,結合 FPGA內部的改進型三模冗余、分區設計和降級重構,實現了高實時、高可靠的系統。
本文引用地址:http://www.104case.com/article/189953.htm2 引言
在復雜的空間環境中存在各種高能粒子和宇宙射線,星載系統的電子器件容易發生單粒子翻轉等錯誤,造成整個系統的崩潰。對于星載系統而言,可靠性是非常重要的一項性能指標。在系統研制時,必須保證系統在局部出現故障時屏蔽和容忍錯誤,把錯誤造成的損失降到昀低。比較常用的可靠性措施包括選用抗擾等級高的元器件和適當的屏蔽設計等,但是這些措施都無法絕對預防永久性故障的發生,為了滿足衛星可靠性的要求必須進行冗余設計。
本文中的設計就采用 Flash型 FPGA取代了 SRAM型 FPGA,前者在結構上的特點決定了它不容易發生單粒子翻轉等錯誤,從而在固件上提高了可靠性。同時采用了改進型的 TMR冗余設計,在保障可靠性的同時也兼顧了實時性。
3 基本思想和系統實現
3.1 Flash型 FPGA概述目前廣泛用于電子產品的 FPGA(Field-Programmable Gate Array,現場可編程門陣列)主要有反熔絲型、SRAM型和 Flash型三種。反熔絲型 FPGA利用熔絲點的通斷來存儲編程信息,只能燒寫一次,可靠性很高,但是同時開發成本也很高,一般只在成熟正品中使用。
SRAM型 FPGA使用非常廣泛,它的可編程單元是六管結構,編程信息是保存在附加的 PROM里的,每次上電時從 PROM中加載到 FPGA中,斷電后編程內容消失。在航天應用中,SRAM型 FPGA昀大的缺點是容易發生單粒子翻轉(Single Event Upset, SEU),以及上電加載過程中容易產生錯誤指令。
Flash型 FPGA的可編程單元是兩個三極管組成的 flash開關,其中一個只在編程時起傳感器作用,另一個控制開關的通斷,兩個管子共享的浮柵門存儲了編程信息。 Flash型 FPGA無需附加 PROM,上電時間也很短,另外 flash相比于 SRAM不容易出現單粒子翻轉,因此 Flash型 FPGA很適合航天應用。
本文中的遙控系統采用 Actel公司的 ProASIC plus系列的 APA300芯片。
3.2 系統描述
本文主要實現了高可靠遙控系統中將地面和星載計算機發送的串行碼字譯碼成對應通道指令脈沖的功能,全部功能在一塊 FPGA中實現。遙控電路板上采用兩塊相同的 FPGA進行雙機熱備份,通過 54LVC244選擇輸出。每塊 FPGA內部又采用了下面描述的改進型 TMR設計。該系統完成了遙控譯碼的功能,各指令響應正常。
本文重點介紹 FPGA片內的改進型 TMR冗余設計。
3.3 改進型 TMR設計
三模冗余(TMR)是一種常用的容錯技術,把需要容錯的部分復制三份,然后由表決器根據多數表決原則輸出結果。TMR屬于靜態冗余技術,它能夠掩蓋 1個子系統的錯誤,而不能修復錯誤。當 2個或 2個以上的子系統出錯,或者表決器出錯時,TMR系統將輸出錯誤的結果。TMR技術的優點是簡單易行,對于瞬時出現的錯誤具有良好的容錯效果,但是代價是付出了 3倍的面積開銷。
評論