文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.10.003
中文引用格式: 楊曉,,陳媛媛,,王志斌,,等. 激光告警DSP加載系統(tǒng)的可靠性設(shè)計[J].電子技術(shù)應(yīng)用,2015,,41(10):17-19,,23.
英文引用格式: Yang Xiao,Chen Yuanyuan,,Wang Zhibin,,et al. Reliable design of laser warning DSP bootloading system[J].Application of Electronic Technique,2015,,41(10):17-19,,23.
0 引言
為了對抗激光對于固定軍事目標(biāo)的威脅,,激光對抗技術(shù)的研究已經(jīng)成為一個重要課題,。高性能激光告警接收機(jī)采用面陣探測器,具有高速峰值檢測和實時判斷的功能,,能夠?qū)崿F(xiàn)高速可靠地探測軍用制導(dǎo)武器所發(fā)出的各種波長的窄脈沖激光的目的,。系統(tǒng)高層處理算法處理的數(shù)據(jù)量較低層算法少,算法的控制結(jié)構(gòu)復(fù)雜,,適于用運算速度高,、尋址方式靈活、通信機(jī)制強(qiáng)大的DSP來實現(xiàn),。
數(shù)據(jù)送到DSP后,,由于高能帶電粒子造成單粒子翻轉(zhuǎn)會導(dǎo)致程序無法正確運行,存儲數(shù)據(jù)的差錯也會對激光信號的判別造成影響,。因此如何克服空間粒子效應(yīng)的影響成為高性能DSP能否在空間中應(yīng)用的關(guān)鍵,。
1 基于光柵衍射的激光探測原理
激光告警設(shè)備是能夠?qū)す馔{信號進(jìn)行識別、截獲,、測量并做出實時告警的光電偵察設(shè)備,,能夠在地面空間等環(huán)境工作。它以發(fā)射的光的功率,、波長,、調(diào)制特性和光信號的脈沖寬度、脈沖頻率,、及編碼等技術(shù)參數(shù)為依據(jù)來制定相應(yīng)的光對抗措施[1],。
入射激光經(jīng)過接收窗口入射到光學(xué)子系統(tǒng),然后在面陣焦平面探測器光敏單元成像,,并通過FPGA采集信號,,DSP快速處理,輸出結(jié)果經(jīng)處理后將信息顯示在液晶顯示器上,,顯示出入射激光波長和方向等信息,。根據(jù)總體設(shè)計方案,探測實驗系統(tǒng)中光學(xué)子系統(tǒng)主要由激光接收窗口,、光柵,、透鏡組合,,以及面陣焦平面探測器組成。衍射光柵激光波長和方向探測原理結(jié)構(gòu)簡圖如圖1所示,。
2 空間粒子效應(yīng)及處理方法
單粒子效應(yīng)在激光告警技術(shù)應(yīng)用中可能出現(xiàn)的主要問題包括:程序存儲中數(shù)據(jù)改變,,導(dǎo)致計算錯誤,不能正確判斷到來的激光信號的角度和波長信息,;程序存儲區(qū)發(fā)生位變化,,使各個內(nèi)部程序不能正確執(zhí)行;寄存器等系統(tǒng)功能失效等情況,。單粒子效應(yīng)主要故障類型見表1,。
經(jīng)統(tǒng)計,在上述故障中出現(xiàn)最多的是單粒子翻轉(zhuǎn),,它不會造成硬件損毀,,可以通過采取有效的措施修復(fù)。在防止單粒子效應(yīng)對電子芯片的影響時常用到的容錯措施有定期重配置,、周期擦除,、三模冗余、EDAC等手段[2],。
三模冗余(Triple Modular Redundancy,,TMR)方法以實現(xiàn)簡單和效果可靠被廣泛地應(yīng)用于單粒子翻轉(zhuǎn)的容錯處理中。由于片外冗余方式易增加電路的復(fù)雜性和功耗等,,這里采用片內(nèi)冗余:外置存儲器分配三個地址空間對程序數(shù)據(jù)燒寫操作,,保證某一位地址空間的數(shù)據(jù)出現(xiàn)錯誤時仍有其他程序正確執(zhí)行[3,4],。
3 系統(tǒng)可靠性設(shè)計
DSP在整個系統(tǒng)中主要完成數(shù)據(jù)處理,,確定激光的波長,、方位角和俯仰角,,DSP程序的正確運行對于整個系統(tǒng)至關(guān)重要。DSP抗單粒子主要從硬件和軟件方面來考慮,,硬件方面采用“看門狗”電路進(jìn)行DSP故障的實時檢測,,軟件方面采用TMR的程序設(shè)計。
3.1 看門狗電路
針對可能出現(xiàn)的程序跑飛甚至是死機(jī)問題,,系統(tǒng)在電路中設(shè)計了專門的硬件“看門狗”進(jìn)行加固,。MAX706是MAXIM公司推出一種專門用來監(jiān)控微處理器工作狀態(tài)的監(jiān)控電路,具有“看門狗”功能,。當(dāng)檢測到DSP發(fā)生故障死機(jī)時產(chǎn)生復(fù)位脈沖,。原理圖如圖2所示。
WDI端與DSP的IO口連接,,主程序產(chǎn)生的脈沖信號通過GPIO3引腳傳輸給看門狗電路的輸入端,,當(dāng)DSP程序出現(xiàn)問題死機(jī),在間隔1.6 s后看門狗定時器溢出,WDI拉低產(chǎn)生復(fù)位操作,。電路還提供了手動復(fù)位方式,,通過S3接通電路,電平拉低后使能人工復(fù)位輸入端MR,輸出有效的復(fù)位信號,。
3.2 數(shù)據(jù)的預(yù)處理
處理數(shù)據(jù)前對從FPGA傳輸過來的數(shù)據(jù)進(jìn)行預(yù)先處理,,在DSP程序中對幀頭標(biāo)志、圖像亮點個數(shù)標(biāo)志等影響程序運行流程的標(biāo)志位進(jìn)行TMR設(shè)計,,然后判斷圖像中亮點的個數(shù),。激光經(jīng)過閃耀光柵發(fā)生衍射,再經(jīng)過透鏡組入射到探測器上,,會有正負(fù)一級和零級3個亮點,。程序判斷出有3個亮點后,才繼續(xù)運行計算波長方位角和俯仰角,。其流程圖如圖3所示,。
3.3 DSP程序燒寫與程序引導(dǎo)中的抗SEU設(shè)計
用高性能、超低功耗,、部門架構(gòu)靈活等特點的Flash存儲器CMOS 3.0V引導(dǎo)扇區(qū)閃存AM29LV160作為DSP的外部程序存儲器,,將主程序工程做三模冗余備份。首先將引導(dǎo)程序在內(nèi)的所有程序下載到DSP內(nèi)存RAM(0x00000000)中,,進(jìn)而對Flash進(jìn)行數(shù)據(jù)燒寫,,在寫入Flash中存儲時存入不同的地址空間做備份處理。部分程序代碼如下:
void Flash(void)
{
unsigned short j;
int i=0;
i= ReadID();
EraseChip(); //擦除Flash
for(i=0;i<0x40000;i+=2)
{
j=*(unsigned short *)i;
WriteFlash(0x90000000+i,j);
WriteFlash(0x90040000+i,j);
WriteFlash(0x90080000+i,j);
}
}
與RAM型器件中出現(xiàn)的單粒子翻轉(zhuǎn)現(xiàn)象而引起的故障不同,,F(xiàn)lash的單粒子翻轉(zhuǎn)類錯誤長期存在,。針對Flash器件可能出現(xiàn)的單粒子翻轉(zhuǎn)現(xiàn)象,采用三模冗余結(jié)合定時刷新技術(shù),。在進(jìn)行完差錯檢驗并得到正確的數(shù)據(jù)以后,,每隔一段時間自動執(zhí)行Flash燒寫并進(jìn)行再次備份的方式,將原來有可能累積的錯誤數(shù)據(jù)不斷擦除,,即能確保設(shè)備的運行速度也保證了即使設(shè)備處于長時間的輻射影響中,,也不會使錯誤積累。
3.4 差錯檢驗及校正
備份在Flash中的程序在下載到DSP以后,,為了保證能夠正確運行,,需要在運行之前進(jìn)行差錯檢驗和表決,驗證是否有bit位發(fā)生變化,。這里通過在上電自舉的二次引導(dǎo)程序中增加輸出數(shù)據(jù)的差錯判決單元的方法來實現(xiàn)這一功能,。如果在判決中發(fā)現(xiàn)有地址中的數(shù)據(jù)出現(xiàn)錯誤則進(jìn)行校正,確保運行的程序正確無誤[5,,6],。
引導(dǎo)程序以逐位檢驗的方式進(jìn)行檢錯,,表決時采用三中取二原則,對三個主程序的每一個地址的各位依次進(jìn)行表決,,以確定要運行的主程序數(shù)據(jù),。其原理圖如圖4所示。
差錯檢驗及表決過程如下:
cmpeq B3,B2,B0//比較寄存器B3和B2,,
//相等時B0置一,,否則置零
[!B0] cmpeq B3,B1,B0//若B0不等于一比較
//B3和B1,相等則將B0置一,,否則置零
[!B0] cmpeq B2,B1,B0
[!B0] stw B1,*B3//若B0的值不等于一,,
//則將寄存器B3地址中的數(shù)據(jù)存入B1中
stw B3,*B4++//將寄存器B4地址中的數(shù)據(jù)
//寫入B3,尋址后B4自動加一
add 1,A1,A1
cmplt A1,B5,B0 //A1與B5比較,,A1小于B5時
//B0置1,,否則置零
[B0] b loop//B0為1程序跳至loop循環(huán)
b_c_int00//否則跳至主程序入口
在進(jìn)行二次引導(dǎo)的時候,從起始地址開始進(jìn)行依次判決并循環(huán)操作直到最后一位地址結(jié)束,,隨后進(jìn)入主程序執(zhí)行相關(guān)操作,。
4 實驗
受實驗條件限制無法模擬高能粒子輻射環(huán)境,針對抗單粒子翻轉(zhuǎn)只對DSP上電引導(dǎo)程序差錯屏蔽功能實驗驗證:在一個備份地址中寫入錯誤數(shù)據(jù)i,,執(zhí)行完操作后可以看到DSP內(nèi)存空間中的數(shù)據(jù)更新為校正后的正確數(shù)據(jù),。實驗步驟如下:
(1)首先在ccs3.3中對引導(dǎo)程序和主程序進(jìn)行編譯,正確無誤后通過JTAG接口下載燒寫進(jìn)DSP內(nèi)部RAM中,。運行Flash燒寫程序?qū)?shù)據(jù)存至三個不同的地址空間作為備份,,結(jié)果如圖5所示。
(2)關(guān)閉ccs使開發(fā)板脫離仿真環(huán)境,,對DSP進(jìn)行重新上電啟動上電自舉程序,,DSP將會在二次引導(dǎo)時完成差錯檢驗及校正,之后進(jìn)行主程序的執(zhí)行,。利用DSP仿真通過JTAG接口查看DSP內(nèi)部存儲空間中的數(shù)據(jù),。能夠驗證已將錯誤屏蔽掉。結(jié)果如圖6所示,。
5 結(jié)論
本文解決了激光告警設(shè)備進(jìn)行實時高速激光信號采集與處理時高能粒子翻轉(zhuǎn)造成DSP芯片無法正常工作的問題,。提出了以對外擴(kuò)展非易失性存儲器Flash芯片作為存儲模塊,,并采用自啟動技術(shù)進(jìn)行程序的引導(dǎo),,調(diào)用以及執(zhí)行。通過信號預(yù)處理,、三模冗余以及在引導(dǎo)程序中增加判決單元進(jìn)行檢驗糾錯的方法進(jìn)行DSP抗輻射程序的加固,。保證了設(shè)備能夠在脫離PC進(jìn)入空間環(huán)境后穩(wěn)定運行。
參考文獻(xiàn)
[1] 張記龍,,田二明,,王志斌.基于正弦透射光柵的激光告警接收機(jī)研究[J].紅外與激光工程,,2006,35(3):326-330.
[2] 周順燕,,吳丹.一種基于Flash型FPGA的高可靠系統(tǒng)設(shè)計[J].微計算機(jī)信息,,2009,25(8):134-136.
[3] 邢克飛,,楊俊,,周永彬,等.星載高性能DSP加固設(shè)計方法研究.[J]電子器件,,2007,,30(1):206-209.
[4] 王大慶,劉曉旭,,王宇,,等.基于軟件的星載DSP減緩單粒子效應(yīng)措施研究[J].空間電子技術(shù),2013(1):40-43.
[5] 鄭歡歡,,穆占杰.基于C6000系列DSP片外Flash自啟動方法[J].信息化研究,,2011,37(5):34-37.
[6] 馮軼,,衛(wèi)育新.基于S320C6713及AM29LV800B的上電自舉設(shè)計[J].電子設(shè)計工程,,2009,17(2):82-84.