段丙皇,杜川華,朱小鋒,李 悅,陳泉佑,*
(1.中國工程物理研究院 電子工程研究所,四川 綿陽 621999;2.中國科學院 國家空間科學中心,北京 100190)
銀河系宇宙射線和太陽系宇宙射線進入大氣層時,將與大氣原子通過多次級聯(lián)反應產生中子等多種粒子[1-2]。航空航天中電子學系統(tǒng)的飛行高度縱跨非電離層(60 km以下)和電離層(60~1 000 km為電離層),在該飛行高度范圍內運動將累計受到一定注量的中子輻射。大氣中子雖然不帶電,但能與半導體器件中的材料原子發(fā)生非彈性相互作用或散裂反應在電子器件內淀積電離電荷,從而誘發(fā)單粒子效應[3]。20世紀90年代末,IBM和Boeing公司利用飛行試驗測試了中子誘發(fā)器件的翻轉率[4]。國內外對于半導體器件中子單粒子效應的研究主要是利用中子源產生的高能中子模擬單粒子效應[5-8]。北京大學、中國科學院物理研究所、中國科學院空間科學與應用中心等分別采用仿真方法研究了臨近空間大氣中子誘發(fā)電子器件的單粒子翻轉(SEU)[9-10]。微處理器是各種電子學系統(tǒng)的核心器件,一旦發(fā)生錯誤將導致整個系統(tǒng)正常工作狀態(tài)被破壞,可能產生嚴重后果。對于傳統(tǒng)半導體器件,由于器件特征尺寸較大,引起器件節(jié)點翻轉需要的電荷量較大,中子次級粒子在硅材料中的最大線性能量傳輸值(LET)不足以引發(fā)單粒子效應。然而,隨著半導體制造技術的發(fā)展、器件特征尺寸不斷縮小和電源電壓的不斷降低,使得器件節(jié)點發(fā)生翻轉所需的臨界電荷越來越小,處理器中子單粒子效應逐漸被重視[10-14]。
本文研制一套微處理器中子單粒子效應測試系統(tǒng),可全面、準確地對微處理器的電源電壓、多種存儲資源、內部功能和接口模塊進行監(jiān)測?;贜G-11加速器中子源設備,對被測微處理器開展14 MeV中子單粒子效應輻照試驗,研究獲得器件中的敏感模塊和器件的中子單粒子效應截面。
微處理器屬于功能復雜的大規(guī)模集成電路,需研制專用的測試系統(tǒng)來監(jiān)測其內部各單元模塊是否發(fā)生單粒子效應。為使監(jiān)測電路盡量不受中子輻照的影響,采用子母板的形式進行測試系統(tǒng)設計。圖1為TM4C1294NCPDT型微處理器設計中子單粒子效應測試系統(tǒng)示意圖,主要由上位機、直流電源、主控母板、被測子板和通信線纜組成。被測子板和主控母板均放置到輻照室內,被測子板放置在靠近中子源的位置。主控母板通過1 m短線與子板連接,放置在遠離中子源的位置,并采取鉛磚進行輻射屏蔽。上位機和直流電源放置于測試大廳,通過60 m的長線與主控母板連接。
圖1 中子單粒子效應測試系統(tǒng)示意圖Fig.1 Application scenario for single event effect monitoring system
主控母板是整個測試系統(tǒng)的控制核心,其硬件設計方案如圖2所示,由2片監(jiān)控微控制器(MCU)、電源轉換芯片、電壓/電流監(jiān)視器和其他外圍電路組成,其主要實現(xiàn)對待測器件電源和功能的控制監(jiān)測。主控母板采用電源模塊將外部輸入的24 V直流電源轉換為2路獨立電源:1路用于為功能監(jiān)控MCU供電、1路用于為待測子板供電。電源監(jiān)控MCU通過串口將電壓/電流監(jiān)視器采集到的輸出電壓/電流數(shù)據(jù)上傳到上位機,當檢測到采集的電壓/電流數(shù)據(jù)超過設定的器件電流閾值參數(shù),電源監(jiān)控MCU通過控制繼電器模塊實現(xiàn)對待測器件電源的定時斷電和定時上電功能。采用1片功能監(jiān)控MCU通過切換多路復用器和模擬開關的不同通道,實現(xiàn)對被測MCU器件多個模擬模塊、多路通用異步接收/發(fā)送裝置(UART)和集成總線通信(I2C)接口的功能控制;功能監(jiān)控MCU通過控制器局域網絡總線(CAN)和通用輸入/輸出(GPIO)接口實現(xiàn)對被測器件CAN和GPIO接口的功能控制。
圖2 主控母板硬件設計方案Fig.2 Hardware design scheme of master control board
測試系統(tǒng)軟件主要包括電源監(jiān)控MCU程序、功能監(jiān)控MCU程序及上位機控制程序。
1)電源監(jiān)控MCU程序
電源電流檢測電路由電源監(jiān)控MCU、電壓/電流監(jiān)視器和繼電器組成。電壓/電流監(jiān)視器用于監(jiān)視系統(tǒng)溫度、電壓和電流,其采樣率為14 kHz,電流檢測范圍為0~2 A,檢測精度為0.19 mA/bit。電源監(jiān)控MCU程序每秒讀一次電壓/電流監(jiān)視器采集到的數(shù)據(jù),并通過串口將采集到的數(shù)據(jù)上傳到上位機。當檢測到采集的電壓/電流超過設定的器件閾值參數(shù)(電流閾值設定為200 mA,約為器件正常工作電流的3倍),電源監(jiān)控MCU通過控制繼電器實現(xiàn)對待測器件電源的定時通斷,防止單粒子閂鎖(SEL)對器件造成物理損壞。
2)功能監(jiān)控MCU程序
功能檢測電路由功能監(jiān)控MCU、多路復用器和模擬開關組成。被測TM4C1294NCPDT型微處理器的片上資源主要有:可擦編程只讀存儲器(EEPROM)、閃速存儲器(FLASH)、模數(shù)轉換器(ADC)、UART、I2C、CAN、GPIO等單元模塊,針對各單元模塊的測試控制程序如下。
(1)EEPROM/FLASH測試:由功能監(jiān)控MCU控制被測MCU的UART接口,實現(xiàn)對被測MCU內部EEPROM/FLASH不同地址空間存儲數(shù)據(jù)的回讀操作,并與正確值(默認為55)進行比對分析。
(2)ADC測試:功能監(jiān)控MCU產生1路模擬信號給4通道多路復用器,并輸出到被測MCU的不同模擬輸入通道,通過檢測模數(shù)轉換的結果,實現(xiàn)對被測MCU的ADC功能測試。
(3)UART測試:功能監(jiān)控MCU控制多路復用器,實現(xiàn)對被測MCU內部的4個UART模塊數(shù)據(jù)收發(fā)的輪詢測試。
(4)I2C測試:功能監(jiān)控MCU控制雙向轉換開關,實現(xiàn)對被測MCU內部的8個I2C模塊數(shù)據(jù)收發(fā)的輪詢測試。
(5)CAN測試:由功能監(jiān)控MCU的CAN接口直接調用被測MCU內部的CAN模塊,實現(xiàn)對被測MCU內部的CAN模塊數(shù)據(jù)收發(fā)的功能測試。
(6)GPIO測試:功能監(jiān)控MCU的GPIO接口直接調用被測MCU內部的GPIO接口,實現(xiàn)對被測MCU內部的GPIO接口數(shù)據(jù)收發(fā)的功能測試。
(7)算術邏輯單元(ALU)運算功能測試:被測MCU循環(huán)執(zhí)行加、減、乘、除運算功能,由功能監(jiān)控MCU控制被測MCU的UART接口完成對被測MCU不同運算數(shù)據(jù)的輸入和運算結果的輸出數(shù)據(jù)監(jiān)測,實現(xiàn)對被測MCU ALU運算功能的測試。
(8)快速傅里葉變換(FFT)測試:功能監(jiān)控MCU控制被測MCU的UART接口完成對被測MCU快速傅里葉變換運算結果的輸出功能,實現(xiàn)對被測MCU運算功能的測試。
微處理器在執(zhí)行任務過程中會同時調用運算單元、控制單元、存儲單元以及輸入輸出等多個單元。當微處理器出現(xiàn)中子單粒子效應時,需要根據(jù)出錯現(xiàn)象,結合正在執(zhí)行的測試內容以及自動生成的日志等,共同判斷單粒子效應發(fā)生的具體單元模塊。如ADC模塊測試時,微處理器接收到ADC測試指令后,依次檢測每個ADC通道數(shù)模轉換結果,并將檢測結果通過UART接口傳遞給監(jiān)控MCU。當發(fā)現(xiàn)某個ADC通道數(shù)模轉換結果總出錯,則可判斷為該ADC模塊發(fā)生了單粒子效應;若輻照過程中ADC各通道數(shù)模轉換結果全出錯,且輻照停止后ADC測試正常,則單粒子效應發(fā)生在UART接口模塊;若輻照過程中和輻照停止后,均檢測到ADC轉換結果錯誤,則發(fā)生單粒子效應的位置可能是微處理器內部程序儲存器。
3)上位機控制程序
上位機控制程序采用LabVIEW進行設計,主要實現(xiàn)人機交互界面、參數(shù)配置、測試初始化、測試程序管理及結果顯示與保存等功能。
利用研制的中子單粒子效應測試系統(tǒng),在中國工程物理研究院核物理與化學研究所的NG-11加速器中子源上進行輻照試驗。該源利用氘氚核反應產生能量為14 MeV的中子,全空間中子注量率為1.0×1011cm-2·s-1,輻照試驗中被測子板固定于距源16 cm處,該位置中子注量率為3.1×107cm-2·s-1。子板中心法線指向中子源,由器件尺寸引起的輻照注量均勻性<5%。中子單粒子效應輻照試驗流程如圖3所示,正常啟動測試軟件后,自動循環(huán)執(zhí)行微處理器測試序列,并開始中子輻照。測試過程中測試系統(tǒng)通過運行測試序列監(jiān)測處理器狀態(tài),測試內容包括Operator、FFT、ADC、UART、I2C、CAN、GPIO、片上Flash和片上EEPROM。當測到處理器某一功能模塊單元出現(xiàn)單粒子效應后,記錄試驗現(xiàn)象和對應的累積中子注量。
圖3 中子單粒子效應輻照試驗流程Fig.3 Experimental test flow of neutron-induced single event effect
累積中子注量為3.5×1011cm-2的14 MeV中子輻照條件下,中子單粒子效應測試系統(tǒng)總共捕獲到23次中子單粒子效應現(xiàn)象,發(fā)生單粒子效應的單元模塊及次數(shù)列于表1。I2C、ADC和FFT等功能模塊及內部Flash和EEPROM存儲單元均出現(xiàn)中子單粒子效應,其中,I2C出現(xiàn)單粒子效應的頻率最高(9次),屬于中子輻射最敏感單元。
表1 微處理器中子單粒子效應試驗結果Table 1 Detected single event effect event in tested microprocessor
測試系統(tǒng)從上電后開始輻照,到出現(xiàn)第1個中子單粒子效應的最低中子注量為1.4×109cm-2。楊善潮等[11]總結了大量中子輻照試驗結果,發(fā)現(xiàn)西安反應堆脈沖工況下的靜態(tài)隨機存取存儲器(SRAM)翻轉效應與穩(wěn)態(tài)工況下相同,仍然是獨立單粒子事件簡單疊加造成的,反應堆實驗條件下脈沖和穩(wěn)態(tài)中子單粒子效應不存在效應機理層面的差異。因此,本試驗觀察到的輻射效應仍為中子單粒子效應,而不是位移損傷效應。試驗結果表明,被測微處理器中ALU和FFT運算模塊發(fā)生了單粒子效應后,未影響其他單元的正常工作。這表示入射粒子大概率打在了被測微處理器內部邏輯運算單元中的寄存器,該寄存器數(shù)據(jù)出錯只會影響單次計算的結果。
圖4、5分別為I2C功能模塊單元出現(xiàn)單粒子效應的測試軟件及器件工作電流變化曲線的截圖。由圖4可看出,測試系統(tǒng)循環(huán)執(zhí)行測試序列到第7輪次時,前4路I2C測試結果為通過(PASS),第5路I2C測試結果為失敗(FAIL),隨后剩余3路測試測結果也為失敗。這表示第5路I2C在測試過程中發(fā)生了單粒子效應,并導致整個I2C模塊功能失效。圖5為軟件捕獲的器件發(fā)生單粒子效應時工作電流的變化,在單粒子效應發(fā)生時刻,器件工作電流從約80 mA下降至65 mA左右。由上述試驗結果可知,1路I2C測試序列出錯,會導致后續(xù)其他路I2C測試出錯,且會伴隨有器件工作電流的局部下降現(xiàn)象。通過分析TM4C1294NCPDT型微處理器內部I2C的結構和工作原理可知,I2C通過數(shù)據(jù)線(SDA)和時鐘線(SCL)進行接口間、外部隨機存儲內存(RAM)和只讀內存(ROM)等I2C通信器件間的雙向數(shù)據(jù)傳輸。1個I2C測試序列出錯,后續(xù)其他I2C測試也會出錯,這說明發(fā)生單粒子效應的位置可能不在某一個通道上,而是I2C模塊的功能控制單元。微處理器內部I2C模塊包含數(shù)據(jù)緩存寄存器、狀態(tài)控制寄存器和通道選擇控制寄存器等,當入射粒子打在數(shù)據(jù)緩存寄存器或狀態(tài)控制寄存器時,會使得I2C傳輸數(shù)據(jù)錯誤或功能失效,而在I2C功能失效的情況下,被測微處理器處于靜止狀態(tài),會導致器件工作電流出現(xiàn)下降。
圖4 I2C發(fā)生單粒子效應的測試軟件截圖Fig.4 Screenshot of testing software when single event effect occurs in I2C unit
圖5 I2C發(fā)生單粒子效應時處理器工作電流變化曲線Fig.5 Device working current change when single event effect occurs in I2C unit
圖6為微處理器內部EEPROM發(fā)生單粒子效應時測試系統(tǒng)自動生成的日志,可看出,在整個存儲單元內很多行與列同時發(fā)生了翻轉,表現(xiàn)出爆發(fā)式錯誤的現(xiàn)象。這種出錯模式與常規(guī)SRAM的單粒子表現(xiàn)形式不同,并沒有表現(xiàn)出單位翻轉、多位翻轉或多單元翻轉的特點,這與一些動態(tài)隨機存取存儲器(DRAM)的單粒子效應模式有點類似,說明發(fā)生單粒子效應的位置應為微處理器EEPROM外圍的控制邏輯。
圖6 EEPROM發(fā)生單粒子效應時測試系統(tǒng)自動生成的日志Fig.6 Automatically generated single event effect record for EEPROM
對于整個被測微處理器,器件的單粒子效應截面等于發(fā)生單粒子事件的次數(shù)除以總的累積中子注量。理論上,統(tǒng)計的單粒子事件數(shù)越多,截面計算值越準確。實際試驗過程中,隨著氘氚核反應對靶的消耗,加速器源提供的中子輻射場時間有限,只能進行有限輪次的測試試驗。根據(jù)表1列出的試驗結果,可算出微處理器單粒子效應截面σ為:
根據(jù)試驗結果可知,微處理器在14 MeV中子輻照條件下發(fā)生中子單粒子效應的截面約為6.6×10-11cm2,最敏感單元為I2C。需注意的是,微處理器的單粒子效應截面還與器件運行狀態(tài)和程序占空比有關,程序占空比越高,越易發(fā)生單粒子效應[15]。
基于ARM架構的處理器設計了一款監(jiān)測微處理器中子單粒子效應的測試系統(tǒng)。該測試系統(tǒng)可監(jiān)測被測微處理器中Operator、FFT、ADC、UART、I2C、CAN、GPIO、片上Flash和片上EEPROM等功能單元或存儲單元的工作狀態(tài)是否正常,并檢測器件工作電壓電流隨時間的變化。利用研制的單粒子效應測試系統(tǒng)在加速器14 MeV中子源上進行中子輻照驗證試驗。累積中子注量為3.5×1011cm-2輻照條件下,測試系統(tǒng)監(jiān)測檢到CMOS 65 nm工藝的TM4C1294NCPDT處理器共發(fā)生23次中子單粒子效應。I2C為敏感模塊單元,共發(fā)生9次單粒子效應。通過輻照試驗證明了測試系統(tǒng)的可靠性,估算了TM4C1294NCPDT處理器的14 MeV中子單粒子效應截面約為6.6×10-11cm2。