?

民用飛機適航審定中的單粒子翻轉考慮

2016-10-18 16:01吳健
科技視界 2016年22期

吳健

【摘 要】本文討論了民用飛機機載電子硬件審查中的單粒子翻轉問題。首先介紹了單粒子翻轉現象及其產生的原因,根據可編程電子硬件的工藝類型闡述了單粒子翻轉的影響,從芯片設計和用戶系統設計兩方面總結了單粒子翻轉的常用減緩策略。

【關鍵詞】單粒子翻轉;機載電子硬件;適航審定

0 前言

隨著半導體技術的快速發展,可編程邏輯電子器件在民用飛機領域得到了越來越廣泛的應用。常見的可編程電子器件包括可編程邏輯器件(PLD)、復雜可編程邏輯器件(CPLD)、現場可編程門陣列(FPGA)、專用集成電路(ASIC)等??删幊唐黧w積小、配置靈活,能夠以較低的功耗實現復雜的功能。但可編程器件內部的邏輯規模巨大,對外部不可見,要想實現對每個邏輯門狀態的完全驗證很難實現。為此,開發者通常采取嚴格的研制流程,例如DO-254[1],保證器件工作的可靠性。影響可編程器件可靠性的因素既有設計錯誤,也有外部因素,外部因素包括單粒子翻轉。適航當局在機載電子硬件的審查過程中,對單粒子翻轉引起的失效及其減緩策略給予了特別的關注。

本文以常見的可編程邏輯器件FPGA為例,闡述可編程邏輯器件的單粒子翻轉現象及其減緩策略。

1 單粒子翻轉現象

單粒子翻轉指的是半導體存儲器件內部的存儲單元的狀態變化,例如從0變到1或從1變到0。其物理原因是存儲單元的電荷由于外界影響而發生了變化。理論上來說,任何半導體器件都有單粒子翻轉的可能。單粒子翻轉可能影響存儲器件中的一個或多個比特位。

即使沒有系統設計的邏輯錯誤,如果單粒子翻轉改變了系統運行的關鍵狀態,仍然有可能對系統產生災難性的影響。例如,對飛機而言,如果空速和迎角發生錯誤,則可能使系統產生錯誤的響應,嚴重影響飛行安全。因此,如何通過合適的設計手段來避免單粒子翻轉的不利影響,從而提高系統的穩健性成為飛機設計人員必須考慮的問題。

對于半導體器件而言,單粒子翻轉主要有兩個來源:中子和α粒子[2]。

中子主要由于宇宙中的高能質子與大氣分子碰撞而產生。高度越大,單位時間和單位面積內的中子數量越多。當不帶電的中子穿過半導體的不同材料層時,會產生離子(帶電粒子),當離子路徑穿過耗盡區或者接近P-N結時,其產生的電子或空穴會使存儲單元的狀態發生變化。

α粒子為低能量粒子,主要由封裝材料引起。帶電的α粒子能夠產生離子化路徑,從而使存儲單元的電荷狀態發生變化。由于α粒子的能量低,只有那些與硅片非常接近的封裝材料才會對其產生影響。在半導體領域,廠家會采用超低α粒子的封裝材料,盡量減少對半導體的影響。

2 單粒子翻轉對不同類型FPGA的影響

單粒子翻轉對不同工藝的可編程電子器件有著不同的影響。單粒子翻轉對FPGA的影響主要體現對其內部隨機存儲單元(RAM)的影響。無論何種類型的FPGA,只要其內部有RAM,都可能受到單粒子翻轉的影響。FPGA內部的RAM包括用于配置的RAM和嵌入式RAM。

2.1 FPGA的工藝類型

常見的可編程器件主要有以下三種工藝:

(1)Flash:基于flash的FPGA斷電后配置邏輯不消失,上電后可立即啟動,無需從外部加載配置文件。Flash工藝 FPGA可重復編程。

(2)SRAM:基于SRAM的FPGA可重復編程,其配置單元斷電后信息丟失,每次上電時需重新加載。所以,該類型的FPGA必須在外部配置一塊存儲芯片來存儲配置文件,而且它需要上電配置的時間。

(3)反熔絲:只能一次編程,無法更改邏輯配置,無需啟動加載過程。

2.2 對器件配置單元的影響

可編程邏輯器件的的配置單元用來存儲硬件描述語言經過綜合、布局和布線后生成的配置文件,決定了器件的邏輯功能。

基于Flash和反熔絲工藝的FPGA,其配置單元不會受到單粒子翻轉的影響。

基于SRAM的FPGA,其配置單元則可能由于單粒子翻轉的影響而發生狀態變化,必須有適當的措施檢測單粒子翻轉引起的錯誤,并在上一層級的設計中抑制單粒子翻轉產生的不利影響。

2.3 對器件嵌入式RAM的影響

為了進一步擴展器件功能,芯片廠商會在FPGA中引入嵌入式RAM,用來在程序運行中臨時存儲數據。嵌入式RAM不僅存在于基于SRAM的器件中,還存在于基于Flash和反熔絲的FPGA。

這些器件的嵌入式RAM容易受到單粒子翻轉的影響,影響系統的正常運行,必須有措施檢測到數據的損壞。

3 單粒子翻轉減緩策略

對單粒子翻轉的減緩,可以從芯片設計和用戶設計的角度來進行。

3.1 芯片設計技術

對于芯片生產廠家,其可以利用低α粒子的封裝材料,還可采用特殊的交錯和布局技術,減少單粒子翻轉發生的概率,或增強對單粒子翻轉引起錯誤的檢測和糾錯能力。

根據器件運行的不同階段,可分為上電時檢測和運行時檢測。

3.2 上電時檢測

在器件上電時檢測配置文件的完整性。對基于Flash和反熔絲的器件,因其對單粒子翻轉不敏感,無需進行此類檢測。對基于SRAM的器件,常用的做法是CRC校驗。很多FPGA器件提供了該功能,只需在代碼中啟用即可。例如可利用芯片的32位CRC校驗內置特性檢測配置單元存儲中發生的錯誤。如果用戶自己實現檢測功能,則會占用額外的芯片資源。

3.3 運行時檢測

有的器件可以提供對內部嵌入式RAM的錯誤檢測和糾正。例如,有的FPGA可檢測并糾正嵌入式SRAM中單個比特位的錯誤,檢測兩個比特位的錯誤但不糾正。

此外,還可以在更高層級采取措施防止單粒子翻轉的不利影響。

在設備級,可以實現指令-監控架構,通過一個獨立的通道檢測另一個通道發生的錯誤。

對于計算機,除了指令監控架構,可采用三模冗余技術[3]:給一個處理器配備三份內存,同步運行,在比較模塊中實時比較三份內存的差異,如果發現異常則對錯誤的內容進行糾正。這種架構可以檢測并糾正其中某個內存發生的錯誤,大大降低了單粒子翻轉引起的故障,提高了系統可靠性。

系統層級也可以實現多種監控器,根據期望的正常運行范圍對系統的實際運行狀態進行持續監控,檢測被監控對象的異常行為,包括由單粒子翻轉引起的錯誤。系統邏輯根據監控器的輸出采取合適的響應,并根據需要告知用戶。

4 結論

單粒子翻轉會使半導體存儲單元的狀態發生變化,對飛機的安全運行產生重要影響。本文討論了單粒子翻轉的現象和產生的原因、對不同類型FPGA的影響,以及芯片設計和用戶邏輯設計中的減緩措施。民用飛機的高安全性要求使得單粒子翻轉得到了適航審查當局和研制單位的日益重視。

【參考文獻】

[1]DO-254: Design Assurance Guidance for Airborne Electronic Hardware. RTCA, April 2000.

[2]White Paper: WP-01206-1.0. Introduction to Single-Event Upsets. Altera Corporation, Sep. 2013.

[3]張碩,伊小素,孫進輝,張倩.SRAM型FPGA帶刷新的新分層三模冗余技術容錯分析[J]. 實驗技術與管理, 2012(11):44-49.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合