晏慧強,黃曉彬,謝文虎
(無錫中微億芯有限公司,江蘇無錫 214072)
在宇航環(huán)境中存在著大量的宇宙射線和高能粒子,這些射線和粒子會穿透航天器的屏蔽層,對元器件造成輻射效應(yīng),使器件的性能退化或功能異常,引起航天器的在軌安全問題。現(xiàn)場可編程門陣列(FPGA)作為1 種功能非常強大的電路,在航空、航天領(lǐng)域得到了非常廣泛的應(yīng)用。因此如何確保SRAM 型FPGA 能夠在宇航環(huán)境下有效工作是1 個非常值得研究的問題。
通過配置刷新控制電路對FPGA 進行配置循環(huán)刷新是解決該問題的重要方法。FPGA 刷新控制電路作為抗單粒子翻轉(zhuǎn)系統(tǒng)的核心器件,對其抗輻照性能的驗證尤為重要。因此,本文提出了1 種FPGA 刷新控制電路的抗單粒子翻轉(zhuǎn)性能驗證方法,對其抗輻照性能進行有效驗證。
本試驗采用的FPGA 刷新控制電路所構(gòu)建的配置刷新系統(tǒng)如圖1 所示。該系統(tǒng)采用了3 片普通工業(yè)級SPI Flash 存儲完全相同的FPGA 碼流,并通過配置刷新控制電路進行3 模校驗后輸出給目標(biāo)FPGA 器件。此時FPGA 的配置模式為從串模式,即FPGA 的M0、M1、M2 信號都被設(shè)置成高電平。配置刷新控制電路通過同步時鐘(CCLK) 信號把數(shù)據(jù)通過DATA_CFG 端口輸出給FPGA 器件,完成對FPGA 電路的配置和循環(huán)刷新操作。
圖1 FPGA 配置刷新系統(tǒng)
FPGA 刷新控制電路的工作流程如圖2 所示。信號PROGRAM_B 和INIT_B 作為電路的復(fù)位信號,DONE 信號則作為配置完成的標(biāo)志。當(dāng)電路完成對FPGA 的配置后,電路即可對FPGA 進行周期性的刷新操作。
圖2 配置FPGA 刷新控制電路的工作流程
FPGA 刷新控制電路的單粒子效應(yīng)測試系統(tǒng)的硬件部分如圖3 所示。硬件系統(tǒng)包括1 臺NI 工控機、1臺外接電腦和FPGA 刷新控制電路試驗板。在該系統(tǒng)中,NI 工控機作為該系統(tǒng)的核心監(jiān)測和控制儀器,負責(zé)為試驗板提供電源,監(jiān)測電流數(shù)據(jù),并且通過串口程序監(jiān)測被輻照的電路是否有錯誤數(shù)據(jù)發(fā)出。外接電腦則通過局域網(wǎng)與NI 工控機進行遠程連接,實現(xiàn)對NI 工控機的遠程操控,避免輻射源對人體造成傷害。FPGA 刷新控制電路試驗板則用于實時監(jiān)控輻照電路發(fā)出的數(shù)據(jù)是否發(fā)生錯誤翻轉(zhuǎn)。當(dāng)檢測到錯誤數(shù)據(jù)時,F(xiàn)PGA 刷新控制電路試驗板通過串口通知NI 工控機進行記錄。
圖3 FPGA 刷新控制電路的單粒子效應(yīng)測試系統(tǒng)的硬件部分
根據(jù)對該配置刷新控制電路相關(guān)信號和工作模式的分析,可以看出配置刷新控制電路的主要功能是確保輸出給FPGA 的數(shù)據(jù)為燒錄到SPI Flash 中的原始數(shù)據(jù),即通過該系統(tǒng)對數(shù)據(jù)完成準(zhǔn)確的校驗和輸出,因此可以把在一定能量輻照環(huán)境下電路的輸出數(shù)據(jù)的正確性作為電路是否具備抗該能量等級輻照能力的判斷依據(jù)。在試驗板上劃分了輻照區(qū)和非輻照區(qū),刷新控制電路的試驗板如圖4 所示。
圖4 配置刷新控制電路的試驗板
本試驗板采用XC4VLX60 作為錯誤對比統(tǒng)計電路。在試驗中,通過編程使XC4VLX60 可對2 個配置刷新控制電路的PRO_B、INIT_B 和CLK_IN 信號進行控制,對DATA_CFG 和CCLK 信號進行監(jiān)測對比,以及通過UART 接口與NI 工控機串口界面進行交互。
在試驗板中對輻照區(qū)與非輻照區(qū)的供電進行了分割處理,分別通過2 個DB-9 接口進行供電。通過對供電的分割處理,實現(xiàn)了NI 工控機對被輻照電路的VCCINT_1V8 和VCCO_3V3 電源的獨立監(jiān)控。
本系統(tǒng)需要通過計算機軟件與試驗板的交互完成整個輻照試驗的工作流程,實現(xiàn)對輻照區(qū)和非輻照區(qū)配置電路的輸出數(shù)據(jù)的對比統(tǒng)計。本次試驗設(shè)計的軟件部分包含了FPGA 程序和計算機程序。
3.2.1 FPGA 程序設(shè)計
FPGA 程序需要完成對輻照區(qū)和非輻照區(qū)配置刷新控制電路的工作控制,并且在工作過程中對配置刷新控制電路的輸出數(shù)據(jù)進行采集對比,通過串口向上位機上傳對比結(jié)果。根據(jù)需求設(shè)計的FPGA 程序模塊分為RESET_MANEGER、SEU_FLOW 和UART_TX,其整體結(jié)構(gòu)框架如圖5 所示。
圖5 FPGA 程序的結(jié)構(gòu)框架
FPGA 程序中不同的模塊用于實現(xiàn)系統(tǒng)中不同的功能。RESET_MANEGER 模塊實現(xiàn)啟動復(fù)位管理的功能,SEU_FLOW 模塊實現(xiàn)系統(tǒng)工作流程管理、向配置刷新控制電路輸出激勵信號和檢測對比數(shù)據(jù)的功能,UART_TX 模塊則實現(xiàn)把檢測結(jié)果和刷新循環(huán)周期2 組數(shù)據(jù)上傳給計算機程序的功能。
本系統(tǒng)通過對比2 顆分別處于輻照環(huán)境和非輻照環(huán)境下的刷新控制電路輸出的數(shù)據(jù)是否一致,來驗證電路的抗輻照性能。因此,在設(shè)計FPGA 程序時,2 顆刷新控制電路的工作激勵信號通過同一個時鐘源進行激勵。本試驗利用FPGA 可并行產(chǎn)生信號的特點,分別產(chǎn)生2 路相位完全相同的PRO_B、INIT_B、CLK_IN 和DONE 信號,用于激勵2 顆刷新控制電路同步工作,進而在DATA_CFG 和CCLK 端口產(chǎn)生同步數(shù)據(jù)。當(dāng)FPGA 檢測到2 顆刷新控制電路輸出的DATA_CFG 數(shù)據(jù)不一致時,則證明被輻照的刷新控制電路輸出的數(shù)據(jù)因其被輻照而產(chǎn)生錯誤。此時,F(xiàn)PGA通過UART_TX 模塊向計算機發(fā)送數(shù)據(jù)0X96。同時,每次刷新周期完成后則通過刷新控制電路輸出的REFRESH_BUSY 信 號 進 行 標(biāo) 記 。 每 次REFRESH_BUSY 信 號 被 拉 低 時,F(xiàn)PGA 通 過UART_TX 模塊向計算機發(fā)送數(shù)據(jù)0X5A。計算機則通過統(tǒng)計FPGA 發(fā)送的數(shù)據(jù)實現(xiàn)對錯誤的比特數(shù)和刷新周期的統(tǒng)計。
3.2.2 計算機程序設(shè)計
計算機程序用于統(tǒng)計在輻照刷新控制電路工作過程中的刷新周期數(shù)和輻照環(huán)境下電路輸出錯誤數(shù)據(jù)的比特數(shù)。本試驗設(shè)計的單粒子翻轉(zhuǎn)(SEU)數(shù)據(jù)統(tǒng)計程序界面如圖6 所示,其包含了串口開關(guān)按鈕、開始測試按鈕、停止測試按鈕、刷新循環(huán)次數(shù)窗口、錯誤比特數(shù)窗口、循環(huán)反饋窗口和錯誤反饋窗口,以及循環(huán)次數(shù)、循環(huán)反饋、錯誤次數(shù)和錯誤反饋的TXT 文本路徑添加顯示按鈕。
圖6 SEU 數(shù)據(jù)統(tǒng)計程序界面
試驗過程中通過串口開關(guān)按鈕打開相應(yīng)位號的串口,并按下開始測試按鈕,此時可以通過串口接收來自錯誤對比統(tǒng)計電路關(guān)于刷新周期和錯誤比特數(shù)的反饋。當(dāng)計算機串口接收到0X5A 的指令時,則在刷新循環(huán)次數(shù)窗口進行遞增操作,并把0X5A 指令顯示在刷新循環(huán)反饋窗口,同時更新循環(huán)次數(shù)和循環(huán)反饋的TXT 文本。當(dāng)計算機串口接收到0X96 的指令時,則在錯誤比特數(shù)窗口進行遞增操作,并把0X96 指令顯示在錯誤反饋窗口,同時更新錯誤次數(shù)和錯誤反饋的TXT 文本。
試驗前根據(jù)靶室的條件,將試驗板、探測器固定在輻照支架上,保證試驗裝置與試驗支架移動的一致性,確保入射離子輻照到被測電路。試驗前還需要進行試驗板的固定、安裝、調(diào)試,檢查單粒子效應(yīng)檢測系統(tǒng),確保各項功能正常。試驗系統(tǒng)的檢查流程如圖7所示。
圖7 試驗系統(tǒng)的檢查流程
對于重離子測試而言,如果離子入射方向與電路表面有一定的角度,則有效LET 值為垂直入射時的LET 值除以入射角θ 的余弦。如果入射角度發(fā)生變化,有效注量也隨之改變,見公式(1):
其中ELTe為有效LET 值,ELT0為垂直入射時的LET值。在試驗時對本系統(tǒng)分別進行了2 種LET 值的能量輻射試驗,其LET 值分別為37.2 MeV·mg-1·cm-2和75.4 MeV·mg-1·cm-2。配置刷新控制電路的抗輻照測試結(jié)果如表1 所示。
表1 配置刷新控制電路的抗輻照測試結(jié)果
在LET 值為37.2 MeV·mg-1·cm-2的環(huán)境下對2顆電路進行輻照試驗,設(shè)置電路的輻照劑量為107cm-2,注量率為11400 cm-2·s-1,電源VCCO 的電流為6.6~8.5 mA,將電源VCCINT 的電流穩(wěn)定在15.2 mA,上位機接收到366 組0X5A 數(shù)據(jù),未檢測到數(shù)據(jù)0X96,即在366 輪刷新周期過程中,將被輻照電路和無輻照電路的數(shù)據(jù)進行比對,其數(shù)據(jù)完全一致。
在LET 值為75.4 MeV·mg-1·cm-2的環(huán)境下對2顆電路進行輻照試驗,設(shè)置電路的輻照劑量為107cm-2,注量率為13000 cm-2·s-1,電源VCCO 的電流為6.6~8.5 mA,將電源VCCINT 的電流穩(wěn)定在15.2 mA。上位機接收到311 組0X5A 數(shù)據(jù),持續(xù)檢測到數(shù)據(jù)0X96,即在311 輪刷新周期過程中,將被輻照電路和無輻照電路的數(shù)據(jù)進行比對,其數(shù)據(jù)持續(xù)不一致。
從測試數(shù)據(jù)對比可以看出,該電路具備了LET 值為37.2 MeV·mg-1·cm-2環(huán)境下的抗單粒子翻轉(zhuǎn)能力,但不具備LET 值為75.4 MeV·mg-1·cm-2的環(huán)境下的抗單粒子翻轉(zhuǎn)能力。
SRAM 型FPGA 在宇航環(huán)境下的應(yīng)用比較廣泛,而配置刷新控制電路是FPGA 在宇航環(huán)境下修正單粒子翻轉(zhuǎn)、保證FPGA 功能正常運行的關(guān)鍵器件。本測試系統(tǒng)通過實際測試,驗證了FPGA 刷新控制電路的抗單粒子翻轉(zhuǎn)效應(yīng)能力。測試結(jié)果與理論預(yù)期的一致性進一步驗證了本測試系統(tǒng)的有效性,為FPGA 刷新控制電路的抗輻照設(shè)計提供了有效的參考。