盛江坤, 許 鵬, 王茂成, 姚志斌, 羅尹虹, 楊 業, 劉臥龍, 趙銘彤, 王 迪, 王忠明
(1. 火箭軍工程大學, 西安 710025; 2. 強脈沖輻射環境模擬與效應國家重點實驗室, 西安 710024; 3. 西北核技術研究所, 西安 710024)
數字信號處理器(digital signal processor,DSP)是一種獨特的微處理器,是電子系統的核心器件之一,在雷達、通信及導航等方面有著廣泛應用,在航天領域也得到了廣泛關注[1-2]。在空間應用中,空間輻射環境會引起集成電路的單粒子效應。質子或重離子擊中集成電路靈敏區會造成集成電路邏輯狀態翻轉,進而引發集成電路功能中斷,甚至功能失效,嚴重影響航天器在軌可靠運行[3]。因此,DSP作為電子系統的核心,準確評估其抗單粒子性能,可為航天應用提供重要支撐。
集成電路的抗單粒子性能地面驗證方法通常有輻照實驗和硬件故障注入2種[4-9]。在不同應用場景下,DSP的配置程序和功能各不相同,地面驗證實驗存在實驗量大和成本高等問題;硬件故障注入則存在注入時機難以把握、測試周期長及系統復雜度增加等問題。針對當前地面驗證方法存在的問題,本文提出了DSP動態截面中功能性瞬態故障截面的預估計算方法,該方法可以在僅開展靜態偏置實驗的情況下,結合數據緩存流程,預估DSP功能性瞬態故障截面,從而降低實驗量和實驗成本。在西安200 MeV質子應用裝置(Xi’an 200 MeV Proton Application Facility,XiPAF)上開展了質子單粒子效應實驗,驗證了預估方法的有效性。
國內外對單粒子功能故障的研究主要關注DSP的各類本征截面,包括內部存儲區數據位翻轉截面和各組成電路模塊的功能故障截面,其中,功能故障是電路模塊內部寄存器翻轉等原因造成的,如功能執行錯誤和功能中斷等[10-12]。Joshi等在重離子環境下測量了SMJ320C6701的內部RAM翻轉及DMA控制器、各外設接口、存儲區控制器和CPU的功能故障[4];Hiemstra等在質子環境下監測了SMJ320C6701的內部RAM翻轉及運算邏輯單元和DMA控制器的功能故障[5];王月玲等在重離子環境下記錄了國產DSP的內部RAM翻轉及CPU和外設接口的功能中斷[6]。
與某特定應用最為直接的、系統開發人員或用戶最為關心的參數是DSP在該特定應用下的功能故障截面。特定應用的功能故障截面是DSP運行的功能和內部存儲區數據位翻轉截面及各組成電路模塊功能故障截面共同作用的結果。DSP等處理器類器件的工作原理是根據指令調用相應硬件資源進行各類數據處理,對內部存儲區的占用量根據應用的不同而不同,對內部存儲區的訪問和各類硬件資源的調用存在隨機性、連續性和周期性,因此,直接使用DSP本征的單粒子截面可能會低估特定應用下DSP的抗單粒子性能。
在電子系統中,DSP的典型應用可抽象為圖 1所示的流程,可能存在多次數據處理、緩存和執行流程。

圖1 DSP典型功能執行流程Fig.1 Flow of typical function execution of DSP
DSP的內部存儲區占電路面積最大,因此在執行各類計算的過程中,如果存儲區中緩存的數據發生單粒子翻轉,可能會導致數據處理錯誤,繼而引起后級相關的執行錯誤,如接口輸出錯誤等。該類故障會在緩存數據被刷新后自動恢復。而程序存儲區數據位翻轉、電路模塊功能故障或中斷造成的程序跑飛、指令不響應及接口功能失效等故障需要通過熱復位或上電復位才能恢復。2類故障的產生機理和表征模式均不相同,為此,將前者定義為電路的單粒子功能性瞬態故障(single event functional transient fault,SEFT),后者仍為傳統意義上的單粒子功能中斷故障。當前,對于DSP特定應用下的單粒子功能故障研究及故障的進一步細化分析未見報道。進一步細化功能故障,結合DSP的應用功能、占用資源及本征截面共同評估特定應用下的DSP抗單粒子性能,可為DSP在航天應用中的精細化選型和針對性加固提供重要依據。
DSP的內部存儲區數據位翻轉截面可通過輻照實驗獲取,表示為
(1)
其中,n為實驗測量得到的數據位翻轉數,N為存儲區容量,Φ為入射粒子的累積注量。
單粒子功能性瞬態故障截面可分為集成電路的功能性瞬態故障截面和電路中某個功能的功能性瞬態故障截面。設功能k累計測量到的單粒子功能性瞬態故障數量為qk,則功能k的功能性瞬態故障截面定義為
(2)
整個電路檢測到的單粒子功能性瞬態故障總數為q,功能總數為K,則DSP的功能性瞬態故障截面定義為
(3)
在分析集成電路內部存儲區數據位翻轉截面和功能性瞬態故障截面關系之前,需要先設定4個前提條件:一是存儲區數據位翻轉為獨立隨機事件;二是為簡化概率計算而假設內部存儲區數據位翻轉截面趨于0;三是不考慮數據計算中的糾錯,只要有一位與該功能相關的數據位發生翻轉,即會引起數據計算或執行錯誤,對于糾錯方法,可在系統級抗單粒子性能評估中通過統計學方法對預估結果進行擴展;四是在數據量不大的情況下,某一功能只考慮一次數據位翻轉引發的功能性瞬態故障,不考慮邏輯位多位翻轉和單一地址多次翻轉的情況。
將某一數據位從被刷新到被訪問的時間定義為數據位有效時間t,將該數據位從被刷新到下一次被刷新的時間定義為t′,有t (4) 當功能k內有Qk個數據位的時候,單位時間內功能k發生功能性瞬態故障的概率為 (5) 定義數據位緩存時間有效占比 (6) 功能k的功能性瞬態故障截面為 (7) 電路所有功能總的數據位為Q時,其功能性瞬態故障截面為 (8) 即某一功能的功能性瞬態故障截面等于內部存儲區數據位翻轉截面乘以該功能下所有數據位緩存時間有效占比之和;整個集成電路的功能性瞬態故障截面等于內部存儲區數據位翻轉截面乘以配置程序用到的所有數據位緩存時間有效占比之和。 為驗證功能性瞬態故障截面預估方法有效性,在XiPAF上開展了DSP質子輻照實驗,實驗選取的質子能量為60 MeV,注量率為3.3×106cm-2·s-1。 DSP型號為德州儀器公司的TMS320C6455。該電路是一款高性能單核定點數字信號處理器,采用C64X+TM內核,基于德州儀器開發的第三代VelociTITM超長指令字結構開發,主頻可達1 GHz,指令周期1 ns,每周期執行8條32位指令,最大峰值速度8 000 Mbit·s-1,線程為90 nm。器件內部集成大容量兩級存儲系統,L1P和L1D為32 Kbit,L2為2 Mbit,均可以映射到存儲空間。外圍接口方面,集成有多通道緩沖串口(multichannel buffered serial port,McBSP)、64位通用定時器(TIMER)、32位主機接口(host-port interface,HPI)、通用輸入輸出端口(general-purpose input/output,GPIO)及外部存儲器接口(external memory interface,EMIF)等。 開展質子實驗時,采用2種輻照偏置,分別為靜態偏置和動態偏置。靜態偏置是指DSP處于主機接口加載模式下的上電初始狀態,此時可通過主機接口訪問DSP的內部存儲區數據,進行內部存儲區數據位翻轉截面測量。動態偏置是指DSP處于運行特定應用的狀態,該應用程序模擬數據處理和緩存的典型功能,運行頻率為1 GHz。動態偏置的典型程序為2個256點快速傅里葉變換(fast Fourier transform,FFT)計算程序,計算框圖如圖2所示。 (a) No.1 計算程序1首先進行各類配置和初始化工作,包括使能并配置McBSP、EMIF及鎖相環;然后,計算時域波形和FFT旋轉因子時域波形由6個余弦波疊加而成,緩存在一個大小為256的數組中;之后,進行FFT計算,將得到的幅度譜前128個數據填充到數組Magn [1920][128]中,完成數組Magn [1920][128]的初始化;最后,再次執行FFT計算,將計算得到的幅度譜前128個數據填充到數組Magn[k][128]中,并將數組Magn[k+1][128]的數據通過McBSP和EMIF不斷發送至測試系統,在累加k后,循環執行該操作,不斷輸出數據。計算程序中的M值對應數據緩存量。 計算程序2和計算程序1相似,不同的是緩存計算結果的數組有2個,分別是Magn_1[960][128]和Magn_2[960][128]。2個數組交替填充和發送數據,在順序填充數組Magn_1[960][128]的時候,通過McBSP和EMIF順序發送數組Magn_2[960][128]的數據。 發送的數據定義為數據幀,數據幀中至少出現一位數據錯誤,認為對應的功能出現一次單粒子功能瞬態故障。針對計算程序1,將數組Magn[1920][128]第k行的計算、緩存及發送過程定義為功能k,如圖3所示。針對計算程序2,將數組Magn_j[1920][128]第k行的計算、緩存及發送過程定義為功能k_j,如圖4所示。由圖3和圖4可見,計算程序1的數據位有效占比約為1,計算程序2的數據位有效占比約為0.5。 圖3 FFT計算程序1功能定義Fig.3 Function definition for FFT Program No.1 圖4 FFT計算程序2功能定義Fig.4 Function definition for FFT Program No.2 利用示波器觀察發現,每一次FFT計算得到128個數據并寫入緩存需要的時間約為548 μs,通過McBSP將這些數據輸出需要的時間約為1 174 μs,通過EMIF將這些數據輸出需要的時間約為136 μs,共計約1 858 μs。為了對功能性瞬態故障截面計算方法進行有效驗證,針對不同的M值,設計了4組實驗,實驗設計參數如表1所列。 表1 實驗設計參數Tab.1 Design parameters of experiment 利用自研的測試系統對實驗器件進行了在線測試。測試系統由控制計算機、測試板(包括數字板和電源板)及輻照板組成,實驗布局如圖5所示。 圖5 質子實驗布局Fig.5 Layout of proton experiment 控制計算機用于測試控制與測試數據接收;輻照板上安裝有實驗器件,并通過撥碼開關對部分實驗器件IO引腳上拉或下拉實現實驗器件的上電初始化設置,實驗器件的上電加載模式設置為HPI加載;電源板為實驗器件供電,監測閉鎖事件,并與實驗器件的HPI、McBSP及EMIF相連,對實驗器件進行功能測試。 靜態偏置下利用測試系統進行數據位翻轉測試,動態偏置下進行接口測試。靜態偏置下,測試板在輻照前通過主機接口對實驗器件L2存儲區填充數據,輻照時循環回讀數據,并與預期數據進行比較,記錄錯誤數據,實現數據位翻轉測試。翻轉測試結果用于計算被測器件的內部存儲區數據位翻轉截面。動態偏置下,測試板在輻照前通過HPI對實驗器件配置計算程序,輻照時連續監測實驗器件McBSP和EMIF的輸出數據,并與預期數據進行比較,驗證實驗器件是否出現數據幀錯誤、程序跑飛及不響應等現象,實現接口測試。 動態偏置下,接口測試的故障類型根據失效現象可分為功能中斷和數據幀錯誤。功能中斷一般表現為程序跑飛和接口無輸出等情況,數據幀錯誤表現為實驗器件接口時序輸出正常,但是輸出數據與預期數據不符,這可能是計算錯誤導致,也有可能是外圍接口功能故障導致。當出現功能中斷或連續出現錯誤數較多的數據幀錯誤時(錯誤數閾值由測試人員根據實際情況設定),測試系統將自動重新配置實驗器件并進行測試。 靜態偏置下,數據位翻轉數隨質子累積注量的增加呈線性變化,質子注量累積到1×109cm-2時,測量得到的數據位翻轉數為671個,L2存儲區為2 Mbit,利用式(1)計算得到內部存儲區數據位翻轉截面為 根據統計分布規律和質子注量不確定度,計算得到內部存儲區數據位翻轉截面相對測量不確定度在95%置信度下為11%[13]。 動態偏置下,4組實驗各監測了約15萬幀數據,檢測到幾十到幾百個功能性瞬態故障,同時監測到了接口功能中斷和錯誤數較多的連續非致命故障。 第4組實驗檢測到接口功能中斷2次,表現為接口沒有數據輸出和測試系統等待數據超時,被測器件重新上電復位并加載計算程序后功能正常,接口數據輸出正常。由于2個接口同時出現功能中斷,因此接口故障的可能性較小,分析認為這一現象是程序存儲區發生數據翻轉進而造成程序跑飛,或是CPU內核發生了單粒子功能中斷造成的。 第2、3、4組實驗各檢測到錯誤數較多的連續非致命故障2次、3次、3次,其中,第2組實驗第1次故障表現為McBSP輸出的高16位數據出錯,低16位數據和外部存儲器接口監測結果正常,分析認為是McBSP功能模塊部分功能失效造成的;第2組實驗第2次、第3組實驗第2、第3次故障表現為連續數據幀錯誤不同,但2個接口的同一幀數據錯誤相同,表明程序運行正常,外設接口功能正常,分析認為這一現象是數據存儲區控制器發生功能故障,CPU訪問緩存數據發生錯誤造成的;第3組實驗第1次和第4組實驗全部3次故障表現為連續數據幀錯誤相同,分析認為這一現象是時域波形及旋轉因子等緩存常量發生翻轉引起的。針對這些現象,還需要進一步結合數字信號處理器的組成結構和工作原理,通過優化實驗方案及故障注入等手段進一步深入研究其產生機理。 其他檢測到的數據幀錯誤中,每幀數據均只有1個數據位發生翻轉,且McBSP和EMIF檢測到的幀錯誤是相同的,分析認為是功能性瞬態故障,即數據位在緩存期間出現了單粒子翻轉。實驗結果如表2所列,其中,W是數據幀監測次數,q為監測到的整個電路的單粒子功能性瞬態故障總數。 表2 功能性瞬態故障測量結果Tab.2 SEFT test results 根據功能性瞬態故障截面的定義,針對實驗器件加載的計算程序,某一功能k的功能性瞬態故障截面為 (9) 每一個功能緩存的數據為128個32位有符號整形,因此Qk等于4 096,從而可以根據每組實驗設定的M值得到被測器件所有功能總的數據位Q。利用式(7)可通過內部存儲區數據位翻轉截面預估某一功能的功能性瞬態故障截面,并利用式(8)可預估整個電路的功能性瞬態故障截面。通過實驗測量值計算得到的功能性瞬態故障截面和通過內部存儲區數據位翻轉截面預估的功能性瞬態故障截面如表3所列。 表3 功能性瞬態故障截面的實驗值和預估值Tab.3 Experimental and estimated results of SEFT cross section 根據統計分布規律和質子注量不確定度,給出了95%置信度下的相對測量不確定度[13]。由表3可知,實驗測量值和基于內部存儲區數據位翻轉截面的計算值相對偏差小于5%,驗證了基于內部存儲區數據位翻轉截面和數據位緩存時間有效占比預估功能性瞬態故障截面的方法的有效性。 本文針對單粒子效應引起的DSP功能性瞬態故障,提出了利用DSP內部存儲區數據位翻轉截面和數據位緩存時間有效占比預估功能性瞬態故障截面的方法,該方法可在僅開展靜態偏置實驗的情況下,預估DSP功能性瞬態故障截面,降低了實驗量和實驗成本。在XiPAF上開展了DSP質子輻照實驗,得到的功能性瞬態故障截面與通過預估方法計算得到的截面相對偏差小于5%,驗證了預估方法的有效性。預估方法表明,數字信號處理器的功能性瞬態故障截面與緩存數據量和數據位緩存時間有效占比有關,與單次運行的絕對時間無關,數據量越大,緩存時間有效占比越大,功能性瞬態故障截面越高。由于DSP功能中斷主要有指令集的位翻轉引起程序跑飛、配置寄存器翻轉造成功能失效、數據常量翻轉造成永久性計算錯誤和各硬件模塊的本征功能中斷等情況,與內部存儲區數據位翻轉有著重要關系,因此功能性瞬態故障截面的預估方法也可以應用到功能中斷截面的預估中。3 質子輻照實驗
3.1 實驗器件
3.2 輻照偏置




3.3 測試方法

4 實驗結果與分析



5 小結