国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SRAM型FPGA的多源自主重構方法

2022-04-07 12:34李璐芳周雙喜黑花閣喻琪超林長青孫勝利
系統(tǒng)工程與電子技術 2022年4期
關鍵詞:寄存器熔絲存儲器

李璐芳, 周雙喜, 黑花閣, 喻琪超,林長青, 孫勝利,*

(1. 中國科學院上海技術物理研究所, 上海 200083; 2. 中國科學院智能紅外感知重點實驗室,上海 200083; 3. 中國科學院大學, 北京 100049)

0 引 言

紅外遙感相機在軌運行時,需要長時間對目標進行觀測成像,國內(nèi)外對航天故障的統(tǒng)計顯示:約有40%的故障源自太空輻射,太空中的單粒子翻轉(single event upset, SEU)將對紅外遙感相機運行狀態(tài)、圖像質(zhì)量產(chǎn)生影響。在紅外遙感相機中應用最為廣泛的是Xilinx公司Virtex系列靜態(tài)隨機存儲器(static random-access memory,SRAM)型現(xiàn)場可編程邏輯門陣列(field programmable gate array, FPGA),SRAM工藝的FPGA受空間高能粒子影響較大,內(nèi)部配置存儲器的邏輯狀態(tài)常常受單粒子的影響,可能會影響整個系統(tǒng)的正常工作。航天高可靠性應用的設計必須要考慮單粒子效應對FPGA配置存儲器的影響。配置存儲器的打翻可能會導致器件的功能和性能發(fā)生變化,SRAM型FPGA除了配置存儲器易受到單粒子效應的影響外,其內(nèi)部包含的鎖存器、觸發(fā)器、塊RAM存儲等用戶可用資源也易受單粒子效應的影響,這些內(nèi)部資源受單粒子效應影響可能導致器件應用的功能發(fā)生中斷。由于FPGA所實現(xiàn)功能取決于存儲在器件中數(shù)百萬個配置存儲單元中的數(shù)據(jù),所以配置存儲器陣列發(fā)生SEU可能會對預期的功能產(chǎn)生不利影響。

雖然降低SEU影響的措施有很多種,比如可以通過三模冗余(triple modular redundancy, TMR)對內(nèi)部關鍵寄存器進行三模冗余設計,或者使用多片F(xiàn)PGA進行備份,但是必須通過刷新糾正SEU所導致的錯誤,否則錯誤數(shù)會越來越多。雖然TMR能夠提高FPGA可靠性,但是也會降低經(jīng)過布局布線后的最大時鐘速度,增加FPGA的資源使用量,增大芯片功耗。如果FPGA邏輯設計本身就很復雜,則TMR設計后所帶來的資源和功耗往往是系統(tǒng)設計所無法容忍的。因此在具體設計時,可針對部分關鍵邏輯和電路進行TMR加固設計。國內(nèi)外多個研究機構對該類型FPGA進行了單粒子翻轉特性的試驗,其中某型號衛(wèi)星在軌數(shù)據(jù)表明,在未做抗單粒子加固措施的條件下,在軌測試期間(共73天),400萬門FPGA共發(fā)生496次翻轉事件,60萬門FPGA共發(fā)生74次翻轉事件,雖然小門數(shù)FPGA翻轉概率小,但是研究數(shù)據(jù)表明用多片小門數(shù)FPGA代替一片大門數(shù)FPGA的方法并不能降低SEU次數(shù),因此在軌應用時需要采取一定的抗單粒子加固措施。

SRAM型FPGA器件在實時回讀(功能不中斷的回讀)時,SRAM cell易受噪聲影響,導致存儲值翻轉,甚至導致系統(tǒng)功能錯誤,航天應用時,需在保證系統(tǒng)功能不中斷的前提下,進行抗SEU的加固。因此,不推薦在航天應用時,通過持續(xù)的回讀配置存儲值,判斷是否發(fā)生SEU,依據(jù)回讀比較結果再進行SEU系統(tǒng)加固。SRAM cell在寫操作時,不易受到噪聲影響,所以推薦在航天應用時,系統(tǒng)功能不中斷的情況下,通過對配置存儲器進行刷新的方式,來恢復發(fā)生SEU翻轉的SRAM cell存儲值,消除SRAM cell發(fā)生SEU后的累計錯誤位。經(jīng)研究數(shù)據(jù)表明,SRAM 型FPGA 對SEU敏感,同時存在單粒子功能中斷,對于紅外遙感相機圖像信息處理電路等關鍵部位,應慎用SRAM 型FPGA,若使用則需要相應的加固技術。通過重配置的方法可以有效地減緩SEU與單粒子功能中斷(single event function interrupt, SEFI)的影響,所以動態(tài)重配置是防護SRAM 型FPGA SEU與SEFI的有效手段。

國內(nèi)比較常用的加固技術采用TMR+scrubbing+reload的容錯系統(tǒng),文獻[5]使用配置PROM作為外部配置存儲器,使用300萬門大容量Virtex-2系列作為實現(xiàn)應用設計的FPGA,用反熔絲FPGA對Virtex-2系列FPGA的配置數(shù)據(jù)進行毫秒級周期刷新。文獻[19]綜述了幾種FPGA抗SEU的設計方法,FPGA的TMR設計、重配置、自動刷新技術、回讀和刷新技術以及局部動態(tài)可重構技術等,通過采用以上一種或者多種容錯設計方法,可以增強FPGA對于空間SEU的防護能力,有利于提高紅外遙感相機在軌工作的可靠性。文獻[20]對常規(guī)采用的配置刷新方式、回讀刷新和定時刷新進行了對比,得出結論:定時刷新方法簡單可靠,并且占用存儲空間小。文獻[21]提出了FPGA自主刷新+三模冗余的解決方案,在保證FPGA抗單粒子性能的基礎上提高了系統(tǒng)的資源利用率。文獻[22]提出了FPGA可重構技術的分類以及動態(tài)可重構技術的原理,并在此基礎之上選取Virtex-4系列FPGA 給出一種動態(tài)重構的應用以及具體實現(xiàn)。

近幾年,國內(nèi)772所和復旦微電子等為了應對SRAM型FPGA在軌SEU問題,推出了針對Xilinx公司Virtex系列以及國產(chǎn)相應FPGA的刷新芯片,可以實現(xiàn)上電配置、定時刷新、回讀刷新、在軌重構功能,但該刷新芯片僅支持特定型號的存儲器件和Xilinx公司一些主流的FPGA。

1 基于SRAM型FPGA多源自主重構的架構

綜上,對各種解決SEU的方法進行對比,如表1所示,并得出以下結論。

對于以上各種解決SEU的方法,總結出以下幾點:

(1) 抗SEU的加固技術主要采取如表1中的一種或者幾種組合措施。因此,只有根據(jù)實際需求情況,各種措施共同配合,才能達到較好的抗SEU效果。

(2) 由于紅外遙感相機中不同規(guī)模探測器對圖像信息獲取以及處理能力不同,因此對FPGA的資源大小要求也不同。如果反熔絲FPGA的核心算法不兼容SRAM FPGA型號,那么每當使用不同資源類型大小的SRAM FPGA 都需要對反熔絲FPGA核心算法進行升級。

(3) 紅外遙感相機在軌運行時由于壽命、故障等原因?qū)е绿綔y器性能衰減,造成圖像性能參數(shù)發(fā)生變化不滿足使用要求時,需要在軌進行調(diào)整,使圖像性能滿足使用要求。

(4) 國產(chǎn)刷新芯片可滿足以上基本功能,但只支持特定型號的NOR FLASH或者SPI FLASH等存儲器件,選擇性有限。

(5) 國產(chǎn)刷新芯片僅支持Xilinx公司主流FPGA以及國產(chǎn)相應的FPGA,仍不能覆蓋所有相關FPGA型號的需求。

表1 方案對比Table 1 Option comparison

針對以上問題,結合實際工程應用需求,設計了一種基于SRAM型FPGA的多源自主刷新重構方法,不僅可以實時監(jiān)測SRAM型FPGA的健康狀況,在軌回讀SRAM型FPGA工作寄存器的狀態(tài),還可以對SRAM型FPGA進行全部重配置和時間可設置的動態(tài)部分配置,并且對SRAM型FPGA內(nèi)的關鍵寄存器進行TMR設計。除此之外還有以下優(yōu)點:

(1) 可根據(jù)器件IDCODE自主識別所用SRAM型FPGA的型號。針對紅外遙感相機中不同規(guī)模的探測器對圖像信息獲取以及處理要求不同,對FPGA資源需求也不相同,如果采取一片反熔絲FPGA管理幾片不同類型的SRAM型FPGA,不僅增加了硬件資源,還增加了設計難度。因此為了更好提高本架構的系統(tǒng)兼容性,本設計可以對多種型號的不同資源類型大小SRAM型FPGA(比如Virtex-2/4/5/7全系列等)的IDCODE進行自主識別并對其進行重構和刷新,提高系統(tǒng)沿用性。

(2) 可選擇多源外部程序存儲器進行定時刷新以及重構,如果采用的多源存儲器都為PROM,那么程序燒寫完成后,不能根據(jù)在軌使用需求對SRAM型FPGA內(nèi)的程序進行上注更新,因此選擇NOR FLASH對SRAM型FPGA內(nèi)的程序進行上注存儲,根據(jù)使用需求對上注的程序選擇自主重構。當NOR FLASH內(nèi)上注程序不滿足使用需求時,又可切回PROM對SRAM型FPGA內(nèi)的程序進行更新,并且兼容各種可上注NOR FLASH型號。因此該項功能可增加系統(tǒng)靈活性、提高系統(tǒng)可靠性。

(3) 通過在軌監(jiān)測紅外遙感相機圖像性能參數(shù),當發(fā)生變化不滿足使用需求時,對上注程序進行自主重構,使圖像性能參數(shù)滿足使用需求。

以反熔絲FPGA為核心處理器件,系統(tǒng)框圖如圖1所示,有接口關系的器件有PROM、flash、NOR FLASH以及SRAM型FPGA。

反熔絲FPGA左側,與SRAM型FPGA的SelectMAP接口對程序數(shù)據(jù)進行讀寫操作,SelectMAP 接口是一個8位的雙向數(shù)據(jù)端口,是定時刷新、配置和回讀的數(shù)據(jù)接口,可以通過它對Virtex FPGA進行配置,也可以通過它讀回配置數(shù)據(jù),是Virtex FPGA 最快的配置方式。與SRAM型FPGA的控制接口控制SRAM型FPGA進行不同程序源存儲器的定時刷新和重配置,以及控制切換選擇程序刷新重配置通道和上注程序通道。與SRAM型FPGA的上注/回讀程序通道接口主要完成在控制接口切換為上注程序通道時,對NOR FLASH進行程序上注和回讀對比。

反熔絲FPGA右側,與PROM、flash和NOR FLASH接口主要為刷新和重配置數(shù)據(jù)通道,還有上注程序數(shù)據(jù)以及控制線選擇通道。

圖1 系統(tǒng)框圖Fig.1 System architecture

2 基于SRAM型FPGA多源自主重構的算法流程

反熔絲型FPGA需要完成上電配置、全部重配置、定時動態(tài)刷新(部分配置)控制以及配合SRAM型FPGA完成在軌上注程序的管理,整體算法流程如圖2所示。

圖2 整體算法流程圖Fig.2 Overall algorithm flow chart

(1) 在系統(tǒng)上電階段從外部存儲器加載SRAM型FPGA的配置數(shù)據(jù)或者發(fā)送指令全部重配置SRAM型FPGA配置區(qū),實現(xiàn)系統(tǒng)上電后SRAM型FPGA正常運行和程序重配置。

(2) 在刷新信號有效后,對SRAM型FPGA的配置區(qū)進行周期性的刷新,實現(xiàn)在軌定時刷新。

(3) 當SRAM型FPGA進行在軌上注預設程序時,反熔絲FPGA與NOR FLASH存儲器的數(shù)據(jù)通道將自主切換至讀/寫通道,對參數(shù)或者程序進行讀/寫工作,實現(xiàn)在軌程序上注以及回讀。當監(jiān)測到相關圖像性能參數(shù)發(fā)生變化時,可進行自主程序重構使圖像性能滿足系統(tǒng)要求。

(4) 自主識別SRAM型FPGA的IDCODE,實現(xiàn)了系統(tǒng)兼容Xilinx Virtex全系列(Virtex-2,Virtex-4,Virtex-5,Virtex-7系列)。

(5) 多源選擇外部存儲器,實現(xiàn)了從PROM,flash,NOR FLASH任意源切換的功能。

(6) 在軌回讀SRAM型FPGA狀態(tài)寄存器狀態(tài),對SRAM型FPGA的健康情況進行實時監(jiān)控。

2.1 上電配置和全部重配置

在系統(tǒng)上電階段從外部程序存儲器加載SRAM型FPGA的配置數(shù)據(jù),實現(xiàn)SRAM型FPGA的正常運行,與上電配置的不同之處是重配置需要發(fā)送指令,反熔絲FPGA對接收到的重配置指令解析后,對SRAM型FPGA進行全部重配置;上電配置是接收到外部復位信號后,先進行上電復位,然后進行全部配置,具體配置流程如下所示:

(1) 上電復位結束后,將SRAM型FPGA的PROG信號置低至少300 ns后置高,清空FPGA配置存儲器。

(2)檢測SRAM型FPGA的配置寄存器初始化信號(initialization, INIT),若其值為高,將SelectMAP接口的片選信號(ChipSelect, CS)、讀寫信號(ReadWrite, RDWR)置低,同時將程序存儲器PROM的使能信號(ChipEnable, CE)置低,輸出使能端(OutputEnable, OE)置高,使得數(shù)據(jù)從外部存儲器到SRAM型FPGA的數(shù)據(jù)通道開通。若INIT為低,則持續(xù)檢查INIT的值,直到其值為高,進行配置。若此時收到全部重配置指令,則進行全部重配置。

(3) 檢測SRAM型FPGA的輸出配置結束信號DONE,若DONE值為高,說明配置成功,然后將CS置高使得數(shù)據(jù)總線呈高阻態(tài)等待后續(xù)操作;若DONE值為低,則對DONE值持續(xù)檢查,直到其值為高。

2.2 周期定時自動刷新

FPGA應該要被刷新以防止配置存儲器中的SEU錯誤累加而影響系統(tǒng)的正常工作。配置幀是配置數(shù)據(jù)在Virtex FPGA配置存儲器中可以讀寫的最小單位,多組配置幀組成一個配置幀列,配置幀列分為可配置邏輯塊(configurable logic block, CLB)幀列、輸入/輸出緩沖器(input/output buffer, IOB)幀列、全局時鐘(global clock, GCLK)幀列、數(shù)字信號處理(digital signal processing, DSP)幀列、塊隨機存儲器(block random access memory, BRAM)內(nèi)連幀列、BRAM 幀列。一個完整的配置文件就是由所有配置位置的幀信息和一些必要的首尾控制字組成。在不影響當前程序正常運行條件下,其中CLB 幀列、IOB 幀列、GCLK 幀列、DSP 幀列、BRAM 內(nèi)連幀列為可在線重配置幀(在線重配置不影響FPGA 正常功能),BRAM 幀列為不可在線重配置幀(在線重配置會造成FPGA RAM 區(qū)數(shù)據(jù)錯誤)。FPGA自動刷新是指周期性地對配置信息進行刷新,無論是否發(fā)生SEU,均對FPGA配置區(qū)進行刷新操作。為了減少刷新中斷,本設計采用基于幀的刷新算法,這種算法把刷新最小單位限制在一幀范圍內(nèi),根據(jù)FPGA刷新配置區(qū)的寄存器命令序列對FPGA配置區(qū)進行刷新,并且可以根據(jù)實際需求對刷新周期進行參數(shù)設置(2 s,10 s,60 s等)。具體算法如下所示,定時刷新過程流程如圖3所示。

圖3 定時刷新過程流程圖Fig.3 Timing refresh flow chart

(1) 定時刷新使能信號為高時啟動周期性刷新。接著置低SRAM型FPGA的片選CS信號,開通數(shù)據(jù)通道。

(2) 根據(jù)FPGA刷新配置區(qū)的寄存器命令序列對SRAM型FPGA的相關寄存器進行設置,完成刷新起始地址FAR寄存器的設置。

(3) 根據(jù)FPGA刷新配置區(qū)的寄存器命令序列完成對寫FDRI寄存器指令的設置后,開始寫配置數(shù)據(jù)量,指示刷新的第一步是從地址0開始寫入數(shù)量等同CLB幀塊的配置數(shù)據(jù);在設置完后的下一個時鐘,開始刷新從PROM來的CLB幀塊的第一幀配置數(shù)據(jù)。

(4) 最后向數(shù)據(jù)總線寫入一幀空閑字節(jié)以配合流水邏輯,將最后一幀有效配置數(shù)據(jù)寫入FPGA內(nèi)部配置寄存器,完成對SRAM型FPGA內(nèi)部配置寄存器的刷新過程。

(5) 狀態(tài)機回轉,再次檢測刷新使能信號進行周期性刷新。

2.3 上注數(shù)據(jù)讀寫通道切換以及自主重構

在軌可通過衛(wèi)星總線通信指令對NOR FLASH存儲器進行程序上注,并根據(jù)對相機圖像性能參數(shù)的監(jiān)測情況,對程序進行自主重構。本文以相機非均勻性校正后的殘余非均勻性為監(jiān)控參數(shù),通過上注預設了2套非均勻性算法程序,分別為定標法和基于場景法校正算法。根據(jù)非均勻性的變化情況,在軌默認選擇定標法進行自主重構,當定標法無法滿足系統(tǒng)要求時,自主切換至另外一套基于場景法程序進行重構,使紅外遙感相機的殘余非均勻性符合系統(tǒng)使用要求。當紅外遙感相機在軌運行監(jiān)測到系統(tǒng)性能參數(shù)發(fā)生變化需要上注程序時,切換至NOR FLASH與反熔絲FPGA,反熔絲FPGA與SRAM型FPGA的8位數(shù)據(jù)通道以及NOR FLASH的控制線和地址線等,實現(xiàn)反熔絲FPGA作為NOR FLASH上注程序到SRAM型FPGA的通路選擇開關,切換至上注數(shù)據(jù)讀寫模式時,要確保停止刷新配置區(qū)。利用NOR FLASH存儲空間大的優(yōu)勢,可以存儲多套參數(shù)或程序,并且上注完成后通過回讀與實際寫入的程序進行對比,確保上注程序的有效性。按照上述流程可對NOR FLASH寫入多套參數(shù)和程序,并且可以對NOR FLASH內(nèi)的參數(shù)和程序進行擦除重寫,成功實現(xiàn)了既可以在軌多套參數(shù)和程序上注、又可以對多套上注程序進行定時刷新以及重配置,增加了SRAM型FPGA在軌運行的可靠性,上注數(shù)據(jù)讀寫通道切換流程圖如圖4所示。具體算法如下所示:

(1) 準備開始上注程序,反熔絲FPGA收到來自SRAM型FPGA的SRAM型FPGA與NOR FLASH的上注程序通道信號S1、NOR FLASH的讀/寫程序通道信號S2和停止刷新不回讀標志位同時有效,數(shù)據(jù)和控制主動權在SRAM型FPGA,此時SRAM型FPGA對NOR FLASH執(zhí)行寫操作。

(2) 當SRAM型FPGA與NOR FLASH的上注程序通道信號S1有效停止刷新不回讀標志位有效時,數(shù)據(jù)和控制主動權在SRAM型FPGA,此時SRAM型FPGA對NOR FLASH執(zhí)行讀操作。

(3) 完成對NOR FLASH的讀寫操作后,也能當系統(tǒng)性能指標無法滿足系統(tǒng)要求時,自主切換至另外一套程序進行重構,滿足使用要求。也可發(fā)送指令從NOR FLASH定時刷新和重配置。

圖4 上注數(shù)據(jù)讀寫通道切換流程圖Fig.4 Switching the inject data between read and write

2.4 自主識別SRAM型FPGA

自主識別SRAM型FPGA的IDCODE,實現(xiàn)了系統(tǒng)兼容Xilinx Virtex系列FPGA。每一款FPGA都有其固定的ID編碼,該編碼是一個固定的由供應商來制定的值,用來鑒定識別該FPGA的制造商和型號。ID寄存器提供了一個很方便的方法來識別進行測試或者編程的FPGA的ID編碼,通過配置寄存器內(nèi)發(fā)送的IDCODE指令,可以將所用的FPGA的ID編碼讀出來進行檢查。通過對不同F(xiàn)PGA的ID進行識別,能夠檢測并判斷目前正在運行的FPGA屬于哪種系列。FPGA的ID可以通過Virtex-2/Virtex-4/Virtex-5/Virtex-7等系列的IDCODE編碼表進行查找。

具體算法流程如下所示:

(1) 在執(zhí)行重配置指令時,SRAM型FPGA進行配置初始化,在器件進行同步化后,在配置數(shù)據(jù)下載前必須先通過器件自身的ID檢查,FPGA會解同步,然后進行配置數(shù)據(jù)的下載。

(2) 在執(zhí)行定時刷新指令時,首先回讀SRAM型FPGA的IDCODE,然后根據(jù)回讀的IDCODE,對不同類型的SRAM型FPGA的刷新配置區(qū)刷新序列代碼進行調(diào)用,實現(xiàn)了對不同系列SRAM型FPGA刷新代碼的兼容。

2.5 多源外部存儲器切換

SRAM型FPGA可以從不同外部程序存儲器芯片中(PROM、flash和NOR FLASH)進行程序動態(tài)定時刷新以及全部重構??梢酝ㄟ^指令對定時刷新以及程序重構源進行選擇,提高了SRAM型FPGA在軌使用的可靠性,多源外部存儲器切換流程如圖5所示。

圖5 多源外部存儲器切換流程Fig.5 Switch of multi-source external memory

多源選擇外部存儲器,實現(xiàn)了PROM,flash以及NOR FLASH內(nèi)多套程序任意源切換的功能。系統(tǒng)上電運行正常后,刷新/重配置數(shù)據(jù)通道(SelectMAP接口)優(yōu)先級最高,此時可以發(fā)送從PROM刷新/重載,從flash刷新/重載以及從NOR FLASH刷新/重載指令,通過指令解析單元,分別對相應的指令進行解析并且對相應的程序存儲器執(zhí)行對應指令的操作。只有當SRAM型FPGA與NOR FLASH的上注程序通道信號S1有效時,把數(shù)據(jù)通道切換至NOR FLASH上注程序讀寫通道。

2.6 在軌回讀FPGA工作狀態(tài)

為了更好地實現(xiàn)SRAM型FPGA在軌工作的可靠性,可以在軌通過selectMAP接口回讀SRAM型FPGA狀態(tài)寄存器的關鍵狀態(tài)信息,狀態(tài)寄存器內(nèi)的信息發(fā)生變化,可以判斷FPGA在軌工作出現(xiàn)SEU,那么此時FPGA應該要被完全重配置。因此能有效判斷SRAM型FPGA在軌工作狀態(tài),是否受單粒子等空間環(huán)境影響,能及時有效地提高其在軌運行的可靠性。

以Virtex-4 FPGA為例,其狀態(tài)寄存器共32 bits,如果bit5或者bit6返回“0”會有三態(tài)輸出或者不能對器件進行同步更新;如果bit7翻轉,FPGA會被打翻,喪失功能。因此通過回讀狀態(tài)寄存器內(nèi)的信息,判斷器件有無翻轉,根據(jù)需要進行重新配置或者定時刷新,以減輕SEU造成的影響,根據(jù)Virtex-4 FPGA狀態(tài)寄存器檢測命令,實現(xiàn)了對FPGA狀態(tài)寄存器的讀取操作。

3 系統(tǒng)驗證

系統(tǒng)中的SRAM型FPGA以Xilinx公司 Virtex-4系列FPGA為例,反熔絲FPGA以Actel公司A54SX72A為例,驗證周期性定時刷新、程序上注、數(shù)據(jù)源切換以及系統(tǒng)功能。

3.1 定時刷新驗證

首先程序中設置刷新時間間隔為2 s,系統(tǒng)運行時,通過示波器觀察Virtex-4 FPGA的寫信號CS為“0”,此時開通數(shù)據(jù)通道,由于配置時鐘CCLK為4 MHz,2 s定時刷新部分配置數(shù)據(jù)有大約1 996 000個數(shù)據(jù)(8 bit并行數(shù)據(jù)),因此2 s定時刷新的部分配置數(shù)據(jù)長度約為499 000 μs,約499 ms,如圖6所示。實測刷新時間間隔為2 s,如圖7所示。

圖6 刷新數(shù)據(jù)時間 Fig.6 Data refresh time

圖7 刷新時間間隔Fig.7 Refresh interval

經(jīng)過查找.bit或者.rbt文件,找出第一個同步字FF FF FF FF在第一行配置數(shù)據(jù),到最后一個配置數(shù)據(jù)頭共有98個數(shù)(8 bit并行數(shù)據(jù)),配置時鐘CCLK為4 MHz,因此到后一個配置數(shù)據(jù)頭的時間為98×0.25 μs=24.5 μs。通過觀察示波器數(shù)據(jù)位的輸出,從配置數(shù)據(jù)頭的第一個FF到最后一個數(shù)據(jù)間隔時間為24.5 μs,如圖8所示。

圖8 配置數(shù)據(jù)幀頭時間Fig.8 Time of the header of the configure data

3.2 程序上注驗證

上注程序后,通過Xinlinx公司的集成軟件環(huán)境(integrated software environment, ISE)中的ChipScope工具插核回讀數(shù)據(jù)是否上注成功。從ChipScope工具插核回讀第一包與實際注數(shù)包比對,上注數(shù)據(jù)正確,如圖9所示。

從ChipScope插核回讀最后一包上注數(shù)據(jù)與實際注數(shù)包比對,上注數(shù)據(jù)正確,如圖10所示。

3.3 數(shù)據(jù)源切換驗證

對不同數(shù)據(jù)源用指令進行切換,數(shù)據(jù)源切換后,通過示波器觀察刷新數(shù)據(jù)時間約為499 ms,刷新時間間隔為2 s,配置幀頭時間為24.5 μs,如圖6~圖8所示,每次通過刷新指令切換不同數(shù)據(jù)源均符合以上要求,說明對不同數(shù)據(jù)源用指令切換操作成功。

圖9 回讀第一包上注數(shù)據(jù)示意圖Fig.9 Readback of the first injected data

圖10 回讀最后一包注數(shù)包Fig.10 Readback of the last injected data

3.4 系統(tǒng)功能驗證

該方法已在軌應用于某型號紅外遙感相機,并對關鍵測控信號進行TMR。該型號紅外遙感相機圖像用SRAM型FPGA采集紅外圖像時發(fā)現(xiàn)閃點(高亮度孤立點)增加的現(xiàn)象。經(jīng)過分析是由于SRAM型FPGA中控制圖像排列時序的寄存器單元受空間環(huán)境中單粒子影響發(fā)生了翻轉,導致時序不匹配,數(shù)據(jù)讀寫的建立時間不滿足要求造成圖像散點增加,最終導致SRAM型FPGA的SEU故障發(fā)生。經(jīng)過在軌連續(xù)監(jiān)測,該現(xiàn)象的SEU故障發(fā)生概率約為1.5年/次,沒有進行該架構設計的其他星上載荷監(jiān)測到SEU發(fā)生故障概率平均約1月/次,由此可見該架構和算法能有效降低SEU的故障次數(shù),滿足工程實用性的需求。

對紅外遙感相機圖像的非均勻性指標進行預設,若其變化超過5%(可設置),則對圖像參數(shù)算法進行程序自主重構,使圖像性能達到系統(tǒng)要求指標范圍5%以內(nèi)。圖11為程序自主重構前參數(shù)效果圖,圖12為程序自主重構后參數(shù)調(diào)整效果圖。

圖11 參數(shù)調(diào)整前圖像Fig.11 Image before parameter adjustment

圖12 參數(shù)調(diào)整后圖像Fig.12 Image after parameter adjustment

通過以上系統(tǒng)功能性驗證表明,本設計實現(xiàn)了多源刷新重構,對于在軌遇到性能參數(shù)發(fā)生變化影響系統(tǒng)使用時,可通過在軌程序自主重構滿足系統(tǒng)在軌使用性能,并且在工程項目中得到很好的應用。

4 結 論

本文提出了基于Xilinx Virtex系列SRAM型FPGA的自主多源重構方法,針對不同Xilinx Virtex系列FPGA能夠自主識別,采用不同存儲器源頭,對SRAM型FPGA進行靈活刷新、重構,不僅提供了可以通過在軌上注程序并且自主重構滿足圖像性能的辦法,還有效減少了SRAM型FPGA在軌遇到單粒子問題的次數(shù),成功實現(xiàn)了在軌定時刷新+多源+自主的抗單粒子高可靠性方案。

猜你喜歡
寄存器熔絲存儲器
熔絲制造的三維連續(xù)編織填充圖案
靜態(tài)隨機存儲器在軌自檢算法
Lite寄存器模型的設計與實現(xiàn)
一種具有預修調(diào)功能的數(shù)字修調(diào)系統(tǒng)
2017款別克君越車蓄電池經(jīng)常虧電
常用電子測速法在某數(shù)字信號處理器中的應用*
D 2017款別克新君越ECM模塊刷新失敗
移位寄存器及算術運算應用
存儲器——安格爾(墨西哥)▲
Buffalo推出四硬盤網(wǎng)絡存儲器 主打Soho一族
濮阳市| 庐江县| 灌南县| 项城市| 米泉市| 志丹县| 桐乡市| 亚东县| 盘山县| 广河县| 盐边县| 清徐县| 宜昌市| 南川市| 陆良县| 武清区| 苍梧县| 巴林右旗| 年辖:市辖区| 建瓯市| 祁阳县| 罗山县| 昔阳县| 乐都县| 兴宁市| 太湖县| 阿坝| 滁州市| 安康市| 平阴县| 静宁县| 隆回县| 芮城县| 久治县| 丰原市| 阿巴嘎旗| 江永县| 和平县| 信宜市| 辉县市| 东宁县|