本發(fā)明涉及一種空間輻射環(huán)境下可編程SOC器件單粒子翻轉(zhuǎn)檢測系統(tǒng)及方法,具體涉及空間飛行器可編程器件錯誤檢測領(lǐng)域。
背景技術(shù):
空間中的各種粒子會對集成電路產(chǎn)生輻射效應(yīng),稱為單粒子效應(yīng)(SEE,Single Event Effect)。單粒子效應(yīng)影響集成電路的可靠性,進而影響空間電子系統(tǒng)的可靠性,因此自集成電路應(yīng)用于航天領(lǐng)域以來,單粒子效應(yīng)成為不可避免的問題。隨著集成電路的工藝尺寸不斷減小,發(fā)生單粒子效應(yīng)的能量閾值越低,單粒子效應(yīng)對集成電路的影響越嚴重,單粒子效應(yīng)已成為航天器故障的主導(dǎo)因素之一。
現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)因其邏輯集成度高、開發(fā)成本低、兼顧高性能與靈活性等特點,廣泛用于民用、工業(yè)和空間領(lǐng)域。目前按照加工工藝,可將FPGA分為基于反熔絲FPGA(Antifuse-Based FPGA)、基于Flash FPGA(Flash-Based FPGA)和基于SRAM(Static Random Access Memory)FPGA(SRAM-Based FPGA)。因基于反熔絲FPGA具有非易失性、穩(wěn)定性高、較好的抗輻射性能等特點,傳統(tǒng)宇航級器件均采用基于反熔絲FPGA,但其具有一次編程(OTP,One-Time Programmable)的特點,導(dǎo)致開發(fā)難度大,開發(fā)周期長,且其集成的寄存器等資源較少,價格昂貴,無法滿足日益增長的需求。基于Flash FPGA可重復(fù)編程,且具有非易失性,但其集成度低,價格較高,不適于邏輯資源需求量大和高速計算的場合,并且其易受到總劑量效應(yīng)(TID,Total Ionizing Dose Effects)的影響。與基于反熔絲FPGA和基于Flash FPGA相比,基于SRAM FPGA工藝先進,集成度高,資源豐富,可重復(fù)編程,易于開發(fā)。但基于SRAM FPGA對空間單粒子較為敏感,易發(fā)生單粒子翻轉(zhuǎn)或單粒子功能中斷,其配置存儲器的單粒子翻轉(zhuǎn)在FPGA整個單粒子翻轉(zhuǎn)事件中占據(jù)90%以上的比重。因單粒子效應(yīng)引起的故障為可恢復(fù)型軟故障,可通過復(fù)位或重寫操作進行修復(fù)?;赟RAM FPGA對單粒子效應(yīng)的敏感性,限制了其在空間領(lǐng)域的應(yīng)用,因此對其單粒子效應(yīng)進行測試與評估成為提高其容錯能力的前提和基礎(chǔ)。
ZYNQ系列可編程SoC是Xilinx公司推出的一款集成包含雙核ARM Cortex-A9的處理系統(tǒng)(Processing System)和具有豐富資源的可編程邏輯(Programmable Logic)的異構(gòu)芯片。PS部分由雙核ARM Cortex-A9組成的應(yīng)用處理單元(APU,Application Processor Unit)、存儲器接口、I/O設(shè)備和內(nèi)部互聯(lián)部分構(gòu)成,PL部分為Xilinx 7系列FPGA。此系列芯片提供與ASIC(Application Specific Integrated Circuit)和ASSP(Application Specific Standard Parts)相近的性能、功耗和開發(fā)容易度,并且具備FPGA的靈活性和可擴展性。因PS和PL部分的結(jié)合,此系列芯片可以完成雙芯片方案因I/O帶寬有限、耦合不嚴密和功耗高不能完成的任務(wù),使設(shè)計者能夠在單芯片中進行低成本高性能的應(yīng)用。
目前現(xiàn)有實現(xiàn)單粒子翻轉(zhuǎn)檢測技術(shù)的方法大致可分為兩種:一種為編碼的方式,該方式常采用ECC的編碼方式對SRAM型FPGA的配置文件進行編碼,此方式僅適用于檢測一個配置幀中出現(xiàn)兩位錯誤或有限位錯誤等特殊情況,并不能實現(xiàn)對FPGA進行全面的檢測;另一種方式是回讀比對配置文件的方式,該方式采用回讀FPGA的配置存儲器中的配置文件,將其與原配置文件進行對比檢測,可實現(xiàn)對FPGA進行全面的檢測。
采用回讀比對配置文件的方式大致可分為兩種:一種為片外測量方式,此方法采用在SRAM型FPGA外部設(shè)有可靠性較高的控制器或處理器,由此控制器或處理器實現(xiàn)FPGA的配置回讀功能和回讀結(jié)果的對比驗證功能;另一種為片內(nèi)測量方式,此方法采用SRAM型FPGA內(nèi)部特有的配置回讀接口模塊,并在FPGA內(nèi)生成該接口模塊的控制電路和實現(xiàn)對比驗證功能的電路。前一種方式中測量系統(tǒng)除需要設(shè)計被測量SRAM型FPGA外,需要另外設(shè)計一種可靠性較高的控制器或處理器,因此該方法測試系統(tǒng)復(fù)雜度較高,總體體積較大,系統(tǒng)工作功耗較高,且若選用兩種不同平臺的芯片,則需掌握兩種不同平臺的開發(fā)流程,因此該方法測試系統(tǒng)開發(fā)難度大,開發(fā)周期長,對開發(fā)人員要求較高;后一種方式中無需片外高可靠控制器和處理器,可在單芯片中完成單粒子翻轉(zhuǎn)測試,且因芯片內(nèi)部集成實現(xiàn)配置回讀的接口模塊,開發(fā)者只需掌握該接口模塊的開發(fā)方式,即可在FPGA內(nèi)部實現(xiàn)配置回讀功能和回讀結(jié)果的對比驗證功能,但在配置回讀接口模塊的外圍控制電路和實現(xiàn)比對檢測功能電路均采用FPGA內(nèi)部資源實現(xiàn),其控制電路和對比檢測功能電路本身就已受到單粒子翻轉(zhuǎn)效應(yīng)的影響,因此該方式的回讀比對功能的可靠性低,將導(dǎo)致測試結(jié)果可靠性低等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:現(xiàn)有單粒子翻轉(zhuǎn)檢測技術(shù)中片外控制器測量方式存在系統(tǒng)復(fù)雜度較高、總體體積較大、開發(fā)難度大等問題,使用片內(nèi)可編程邏輯實現(xiàn)檢測方法存在檢測電路可靠性較低等問題。
針對以上方法中存在的技術(shù)問題,本發(fā)明提供一種空間輻射環(huán)境下面向可編程SOC芯片單粒子翻轉(zhuǎn)檢測系統(tǒng)及檢測方法。
一種空間輻射環(huán)境下可編程SOC器件單粒子翻轉(zhuǎn)檢測系統(tǒng),其特征在于,包括處理系統(tǒng)、可編程邏輯、Flash存儲器以及DDR存儲器,所述處理系統(tǒng)具有Flash存儲器接口、DDR存儲器接口以及配置回讀接口,分別用于與所述Flash存儲器、DDR存儲器以及可編程邏輯連接;所述處理系統(tǒng)用于實現(xiàn)對可編程邏輯的配置回讀功能和回讀結(jié)果的對比驗證功能。
本發(fā)明還包括一種基于空間輻射環(huán)境下可編程SOC器件單粒子翻轉(zhuǎn)檢測系統(tǒng)的檢測方法,包括:
步驟一:將用于對比檢測的原配置文件和掩碼文件由Flash存儲器加載至DDR存儲器中的三個不同地址區(qū)間;
步驟二:控制PCAP模塊從可編程邏輯中回讀配置幀,每次從指定地址讀取一幀配置幀;
步驟三:從DDR存儲器的三個不同地址區(qū)間中讀取與回讀配置幀相對應(yīng)的原配置幀和掩碼幀,并完成3選2表決,輸出一幀原配置幀和一幀掩碼幀;
步驟四:將配置幀與掩碼幀的反碼相與的結(jié)果和原配置幀與掩碼幀的反碼相與的結(jié)果按位進行對比,若對比結(jié)果不一致,即判斷可編程邏輯的配置存儲器發(fā)生了單粒子翻轉(zhuǎn);若對比結(jié)果一致,即判斷可編程邏輯的配置存儲器未發(fā)生單粒子翻轉(zhuǎn)。
本發(fā)明的有益效果為:具有體積緊湊、開發(fā)周期短、可移植性強、檢測覆蓋性高的優(yōu)點;采用片內(nèi)測量,不需要額外設(shè)置可靠性較高的處理器,從而使系統(tǒng)復(fù)雜度較低、總體積較小、系統(tǒng)功耗較低;并且實現(xiàn)回讀功能和回讀結(jié)果的對比檢測功能時均不使用FPGA內(nèi)部資源,檢測功能不會受到單粒子翻轉(zhuǎn)效應(yīng)的影響,進而使檢測的可靠性更高。
附圖說明
圖1為本發(fā)明實施例的空間輻射環(huán)境下面向可編程SOC芯片單粒子翻轉(zhuǎn)檢測系統(tǒng)的原理示意圖;
圖2為本發(fā)明實施例的功能實現(xiàn)流程圖;
圖3為本發(fā)明實施例的回讀配置幀具體過程的流程圖。
具體實施方式
具體實施方式一:本實施方式的一種空間輻射環(huán)境下可編程SOC器件單粒子翻轉(zhuǎn)檢測系統(tǒng),其特征在于,包括處理系統(tǒng)PS、可編程邏輯PL、Flash存儲器以及DDR存儲器,所述處理系統(tǒng)具有Flash存儲器接口、DDR存儲器接口以及配置回讀接口,分別用于與所述Flash存儲器、DDR存儲器以及可編程邏輯PL連接;所述處理系統(tǒng)PS用于實現(xiàn)對可編程邏輯PL的配置回讀功能和回讀結(jié)果的對比驗證功能。
具體而言,處理系統(tǒng)和可編程邏輯可以由Xilinx 7系列的ZYNQ芯片實現(xiàn)。由于處理系統(tǒng)PS和可編程邏輯PL位于ZYNQ芯片內(nèi)部,因此本發(fā)明的檢測系統(tǒng)屬于片內(nèi)測量,不需要額外設(shè)置可靠性較高的處理器。這樣設(shè)置的好處是,可以使系統(tǒng)復(fù)雜度較低、總體積較小、系統(tǒng)功耗較低。另一個好處是,處理系統(tǒng)PS和可編程邏輯PL是同平臺的部件,避免了現(xiàn)有技術(shù)中使用兩種不同平臺芯片而使得開發(fā)人員需要掌握不同平臺的開發(fā)流程,進而造成開發(fā)難度大,周期長,對開發(fā)人員要求高的問題。
ZYNQ系列可編程SoC是Xilinx公司推出的一款集成包含雙核ARM Cortex-A9的處理系統(tǒng)(Processing System)和具有豐富資源的可編程邏輯(Programmable Logic)的異構(gòu)芯片。處理系統(tǒng)PS部分由雙核ARM Cortex-A9組成的應(yīng)用處理單元(APU,Application Processor Unit)、存儲器接口、I/O設(shè)備和內(nèi)部互聯(lián)部分構(gòu)成,可編程邏輯PL部分為Xilinx7系列FPGA。此系列芯片提供與ASIC(Application Specific Integrated Circuit)和ASSP(Application Specific Standard Parts)相近的性能、功耗和開發(fā)容易度,并且具備FPGA的靈活性和可擴展性。因PS和PL部分的結(jié)合,此系列芯片可以完成雙芯片方案因I/O帶寬有限、耦合不嚴密和功耗高不能完成的任務(wù),使設(shè)計者能夠在單芯片中進行低成本高性能的應(yīng)用。
具體實施方式二:本實施方式與具體實施方式一不同的是:處理系統(tǒng)PS包括:
APU,即應(yīng)用處理單元,用于控制所述檢測系統(tǒng)內(nèi)各部件的工作流程、生成回讀控制指令以及進行對比檢測;APU包括DMA通道以及數(shù)據(jù)存儲區(qū),回讀得到的數(shù)據(jù)存儲在所述數(shù)據(jù)存儲區(qū),DMA通道用于將數(shù)據(jù)從一個地址空間復(fù)制到另一個地址空間;
AXI總線,處理系統(tǒng)內(nèi)部的各功能模塊均通過AXI總線進行互聯(lián);
PCAP模塊,包括配置通道專用DMA控制器、發(fā)送FIFO存儲器、接收FIFO存儲器以及用于訪問可編程邏輯的配置回讀接口;在配置回讀的過程中,APU調(diào)用配置通道專用DMA控制器將生成的配置回讀控制命令傳輸至發(fā)送FIFO存儲器,再由PCAP模塊將回讀控制命令發(fā)送至可編程邏輯內(nèi)部的配置存儲器,所述配置存儲器將回讀的配置數(shù)據(jù)以配置幀的形式返回至配置回讀接口,并存入接收FIFO存儲器中,待完成回讀數(shù)據(jù)的接收后,由APU讀取接收FIFO中的數(shù)據(jù),即可得到指定配置幀的數(shù)據(jù);回讀控制命令由所述APU的數(shù)據(jù)存儲區(qū)生成;回讀數(shù)據(jù)存儲在所述APU數(shù)據(jù)存儲區(qū)。
之所以需要進行配置,是由于RAM型FPGA具有掉電易失性,因此在芯片上電后需要對FPGA進行功能配置,F(xiàn)PGA配置通常指FPGA在上電后或工作過程中通過配置接口對FPGA內(nèi)部邏輯功能的配置;本發(fā)明限定的回讀過程是與FPGA配置相反的過程,具體是通過配置接口去讀取配置的數(shù)據(jù),具體實驗中就是采用回讀數(shù)據(jù)與原配置數(shù)據(jù)的逐位比較實現(xiàn)的。為了便于理解,可以認為FPGA為一片SRAM,配置是寫SRAM,回讀是讀SRAM。
其它步驟及參數(shù)與具體實施方式一相同。
具體實施方式三:本實施方式與具體實施方式一或二不同的是:Flash存儲器用于存儲可編程邏輯原配置文件和掩碼文件,所述可編程邏輯原配置文件中包含對可編程邏輯進行配置的配置數(shù)據(jù),所述配置數(shù)據(jù)由配置幀形式組成;掩碼文件中包含對可編程邏輯進行對比檢測時所使用的掩碼數(shù)據(jù),所述掩碼數(shù)據(jù)由掩碼幀形式組成;所述配置幀為可編程邏輯進行配置與回讀的最小可尋址單位;所述掩碼幀用于判斷配置幀中的數(shù)據(jù)是否需要進行比對檢測。
其它步驟及參數(shù)與具體實施方式一或二相同。
具體實施方式四:本實施方式與具體實施方式一至三之一不同的是:掩碼幀用于判斷配置幀中的數(shù)據(jù)是否需要進行比對檢測具體為:
當對比位為“1”時,則該位不需要進行對比檢測;當對比位為“0”時,則該位需要進行對比檢測。
其它步驟及參數(shù)與具體實施方式一至三之一相同。
具體實施方式五:本實施方式與具體實施方式一至四之一不同的是:DDR存儲器用于臨時存儲可編程邏輯原配置文件和掩碼文件;處理系統(tǒng)在進行對比檢測時,直接從DDR存儲器中讀取配置幀和掩碼幀。
其它步驟及參數(shù)與具體實施方式一至四之一相同。
具體實施方式六:本實施方式與具體實施方式一至五之一不同的是:
APU具體用于:
通過DMA通道將用于對比檢測的原配置文件和掩碼文件由Flash存儲器加載至DDR存儲器中的三個不同地址區(qū)間;
控制PCAP模塊完成從可編程邏輯中回讀配置幀,每次從指定地址讀取一幀配置幀;
從DDR存儲器的三個不同地址區(qū)間中讀取三份與回讀配置幀對應(yīng)的原配置幀和掩碼幀,并通過3選2表決得到一幀原配置幀和一幀掩碼幀;
將配置幀與掩碼幀的反碼相與的結(jié)果和原配置幀與掩碼幀的反碼相與的結(jié)果按位進行對比,若對比結(jié)果不一致,即判斷可編程邏輯的配置存儲器發(fā)生單粒子翻轉(zhuǎn);若對比結(jié)果一致,即判斷可編程邏輯的配置存儲器未發(fā)生單粒子翻轉(zhuǎn)。
其中,3選2表決是三模冗余里的一部分,三模冗余就是為了提高可靠性將數(shù)據(jù)復(fù)制成相同的三份,當需要使用這部分數(shù)據(jù)時就將三份數(shù)據(jù)同時取出,然后進行3選2表決,得到一份可靠性較高的數(shù)據(jù)。3選2表決就是少數(shù)服從多數(shù)的表決過程,當三份數(shù)據(jù)中有兩份一致,則輸出這兩份相同數(shù)據(jù)。
其它步驟及參數(shù)與具體實施方式一至五之一相同。
具體實施方式七:本實施方式與具體實施方式一至六之一不同的是:
處理系統(tǒng)還包括CAN控制器,用于將對比檢測結(jié)果輸出,具體包括完成配置回讀比對的錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址;
當對比結(jié)果不一致時,APU統(tǒng)計該幀數(shù)據(jù)中錯誤的位數(shù),并記錄錯誤幀號;判斷當前幀是否為最后一幀,若是,則APU通過CAN控制器將錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址發(fā)送至CAN總線上;若不是,則APU執(zhí)行回讀配置幀、3選2表決以及判斷對比結(jié)果的步驟。
CAN總線是系統(tǒng)與外部通信的總線,CAN控制器是系統(tǒng)中ZYNQ芯片內(nèi)部的CAN總線控制器,其用于發(fā)送和接收符合CAN總線協(xié)議的數(shù)據(jù)。CAN總線是指外部總線,CAN控制器是指用于發(fā)送和接收符合CAN總線協(xié)議的數(shù)據(jù),可以理解本發(fā)明CAN控制器與通信另一端的CAN控制器之間就是CAN總線。
錯誤幀號是指在回讀配置數(shù)據(jù)中檢測到單粒子翻轉(zhuǎn)錯誤數(shù)據(jù)在回讀文件的偏移地址。本發(fā)明將配置回讀比對的錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址通過CAN控制器發(fā)送出去。CAN控制器以外就是CAN總線。
其它步驟及參數(shù)與具體實施方式一至六之一相同。
具體實施方式八:本實施方式與具體實施方式一至七之一不同的是:
控制PCAP模塊完成從可編程邏輯中回讀配置幀,每次從指定地址讀取一幀配置幀的具體過程為:
配置檢驗步驟:PCAP模塊讀取處理系統(tǒng)的配置模塊中的狀態(tài)位,以識別可編程邏輯是否已進行配置;若未進行配置,則再次啟動配置流程,對可編程邏輯進行重新配置;若已進行配置,則執(zhí)行配置幀地址生成步驟;
配置幀地址生成步驟:對配置存取器中的寄存器進行配置,APU調(diào)用配置通道專用DMA控制器將生成的配置回讀控制命令傳輸至發(fā)送FIFO存儲器,再由PCAP模塊將回讀控制命令發(fā)送至可編程邏輯內(nèi)部的配置存儲器;當DMA的DONE信號為高電平時,執(zhí)行接收回讀配置幀步驟;否則進行等待,直至DONE信號為高電平;
接收回讀配置幀步驟:DDR存儲器將回讀的配置數(shù)據(jù)以配置幀的形式返回至配置回讀接口,并存入接收FIFO存儲器中,待完成回讀數(shù)據(jù)的接收后,由APU讀取接收FIFO中的數(shù)據(jù),即可得到指定配置幀的數(shù)據(jù)。
其它步驟及參數(shù)與具體實施方式一至七之一相同。
具體實施方式九:本實施方式提供了一種基于具體實施方式一至八中任意一項所述基于空間輻射環(huán)境下可編程SOC器件單粒子翻轉(zhuǎn)檢測系統(tǒng)的檢測方法,包括:
步驟一:將用于對比檢測的原配置文件和掩碼文件由Flash存儲器加載至DDR存儲器中的三個不同地址區(qū)間;
步驟二:控制PCAP模塊從可編程邏輯中回讀配置幀,每次從指定地址讀取一幀配置幀;
步驟三:從DDR存儲器的三個不同地址區(qū)間中讀取與回讀配置幀相對應(yīng)的原配置幀和掩碼幀,并完成3選2表決,輸出一幀原配置幀和一幀掩碼幀;
步驟四:將配置幀與掩碼幀的反碼相與的結(jié)果和原配置幀與掩碼幀的反碼相與的結(jié)果按位進行對比,若對比結(jié)果不一致,即判斷可編程邏輯的配置存儲器發(fā)生了單粒子翻轉(zhuǎn);若對比結(jié)果一致,即判斷可編程邏輯的配置存儲器未發(fā)生單粒子翻轉(zhuǎn)。
具體實施方式十:本實施方式與具體實施方式九不同的是:在步驟四執(zhí)行完成后,還包括:
步驟五:當對比結(jié)果不一致時,統(tǒng)計當前幀數(shù)據(jù)中錯誤的位數(shù),并記錄錯誤幀號;
步驟六:判斷當前幀是否為最后一幀,若是,則執(zhí)行步驟七,若否,則執(zhí)行步驟二;
步驟七:通過CAN控制器將錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址發(fā)送至CAN總線上。
<實施例1>
本實施例中,處理系統(tǒng)PS和可編程邏輯PL選用ZYNQ系列芯片完成。下面結(jié)合圖1具體說明本實施例的功能模塊:
PS:全稱為Processing System(處理系統(tǒng))。此部分由應(yīng)用處理單元(APU)、存儲器接口、I/O設(shè)備和內(nèi)部互聯(lián)部分構(gòu)成,由此部分實現(xiàn)對可編程邏輯實現(xiàn)FPGA的配置回讀功能和回讀結(jié)果的對比驗證功能。
PL:全稱為Programmable Logic(可編程邏輯)。此部分為Xilinx公司7系列FPGA,將其作為被測試可編程邏輯部分。
APU:全稱為Application Processor Unit(應(yīng)用處理單元)。此部分由雙ARM Cortex-A9多核CPU、定時器、看門狗和DMA控制器等構(gòu)成。此部分作為實現(xiàn)配置回讀和對比檢測的控制單元,負責控制本發(fā)明整個系統(tǒng)的工作流程,負責生成回讀控制指令和進行對比檢測。其中DMA控制器(Direct Memory AccessController,直接內(nèi)存存取通道)包含8路DMA通道,用于實現(xiàn)將數(shù)據(jù)從一個地址空間復(fù)制到另一個地址空間。
AXI總線:全稱為Advanced eXtensible Interface總線,該總線協(xié)議為ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。該總線為ZYNQ芯片內(nèi)部使用的總線,芯片內(nèi)各個功能模塊均采用AXI總線進行互聯(lián)。
PCAP模塊:全稱為Processor Configuration Access Port(處理器配置通道接口)。此部分包含PS訪問PL的配置回讀接口、配置通道專用DMA控制器和發(fā)送接收FIFO(First In First Out)存儲器。配置回讀過程中,APU調(diào)用配置通道專用DMA控制器將生成的配置回讀控制命令傳輸至發(fā)送FIFO存儲器,再由PCAP模塊將回讀控制命令發(fā)送至可編程邏輯的配置存儲器,配置存儲器將回讀的配置數(shù)據(jù)以配置幀的形式返回至配置回讀接口,并存入接收FIFO中,待完成回讀數(shù)據(jù)的接收后,由APU讀取接收FIFO中的數(shù)據(jù),便可得到指定配置幀的數(shù)據(jù)。
Flash存儲器:此部分用于存儲可編程邏輯原配置文件和掩碼文件??删幊踢壿嬙渲梦募邪瑢删幊踢壿嬤M行配置的數(shù)據(jù),其由配置幀形式組成,掩碼文件中包含對可編程邏輯進行對比檢測時所使用的掩碼數(shù)據(jù),其由掩碼幀形式組成。配置幀為可編程邏輯進行配置與回讀的最小可尋址單位,因此對配置存儲器進行操作時必須按照整個配置幀進行操作。掩碼幀與配置幀格式一致,其用于判斷配置幀中的數(shù)據(jù)是否需要進行比對檢測,當對比位為“1”時,則該位不需要進行比對檢測,當對比位為“0”時,則該位需要進行對比檢測。
DDR存儲器:此部分用于臨時存儲可編程邏輯原配置文件和掩碼文件。因APU訪問Flash的速度遠小于訪問DDR的速度,因此為提高系統(tǒng)運行速度,系統(tǒng)工作之前,需先將可編程邏輯原配置文件和掩碼文件從Flash存儲器中加載到DDR存儲器中。系統(tǒng)進行比對檢測時,直接從DDR存取器中讀取配置幀和掩碼幀。
CAN控制器:此部分完成將對比檢測結(jié)果輸出,包括完成配置回讀比對的錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址。
一種空間輻射環(huán)境下可編程器件單粒子翻轉(zhuǎn)檢測方法,其特征在于:APU模塊通過DMA通道將用于對比檢測的原配置文件和掩碼文件由Flash存儲器加載至DDR存儲器中的三個不同地址區(qū)間;APU模塊控制PACP模塊完成從可編程邏輯中回讀配置幀,每次從指定地址讀取一幀配置幀;APU模塊從DDR存儲器的三個不同地址區(qū)間中讀取三份與回讀配置幀對應(yīng)的原配置幀和掩碼幀,并通過3選2表決得到一幀原配置幀和一幀掩碼幀;APU模塊將配置幀與掩碼幀的反碼相與的結(jié)果和原配置幀與掩碼幀的反碼相與的結(jié)果按位進行對比,若對比結(jié)果不一致,即判斷可編程邏輯的配置存儲器發(fā)生單粒子翻轉(zhuǎn);當對比發(fā)現(xiàn)錯誤時,APU模塊統(tǒng)計該幀數(shù)據(jù)中錯誤的位數(shù),并記錄錯誤幀號,當完成一次完整檢測后,并APU模塊通過CAN控制器將錯誤位計數(shù)、錯位幀計數(shù)和錯誤幀地址發(fā)送至CAN總線上。
下面結(jié)合圖2介紹本發(fā)明各部件的功能實現(xiàn)情況:
1.初始化:此部分完成對測試系統(tǒng)相關(guān)的模塊進行初始化的任務(wù)。初始化由ARM組成的APU模塊、完成可編程邏輯回讀功能的PCAP模塊、存儲器模塊(包括Flash存儲器模塊和DDR存儲器模塊)和完成測試結(jié)果輸出的CAN控制器模塊。
2.加載原配置文件與掩碼文件:此部分完成從Flash存儲器加載原配置文件和掩碼文件至DDR存儲器的任務(wù)。為保證所加載的原配置文件與掩碼文件具有較高的可靠性,將Flash存儲器中的原配置文件和掩碼文件做冗余處理,分別加載至DDR存儲器中的三個不同地址區(qū)間。待使用該部分數(shù)據(jù)時,分別從三個地址區(qū)間中讀取相應(yīng)數(shù)據(jù),對三組數(shù)據(jù)進行3選2表決處理,最終得到一組可靠性較高的數(shù)據(jù)。
3.回讀配置幀:此部分完成從可編程邏輯配置存儲器中回讀配置幀的任務(wù)。由ARM組成的APU模塊作為控制模塊,控制PCAP模塊實現(xiàn)回讀過程中的讀寫命令字和接收回讀數(shù)據(jù)。圖3為本發(fā)明中PCAP執(zhí)行回讀配置幀的流程圖,具體為:
1)檢驗是否配置:此步驟對可編程邏輯的狀態(tài)進行檢測。如果未進行配置,則重新啟動配置流程,對可編程邏輯進行配置;如果已經(jīng)完成配置,則開始回讀過程。檢測方法為讀取PS部分配置模塊中的狀態(tài)位;
2)生成配置幀地址:此步驟根據(jù)塊類型、頂?shù)讟俗R、行標識、列標識和次標識完成指定配置幀地址的生成;
3)生成并發(fā)送回讀配置幀命令:此步驟完成回讀過程的啟動與配置。根據(jù)Xilinx公司提供的配置步驟,對配置存取器中的寄存器進行配置,即可啟動回讀過程。寄存器包括同步命令字、復(fù)位CRC命令字、回讀控制命令字、回讀幀地址命令字和回讀幀長度命令字。發(fā)送過程結(jié)束標志是判斷DMA的DONE信號是否為高,如果為高即可判斷發(fā)送回讀配置命令字結(jié)束,可進行下一步操作,否則需等待DMA完成操作;
4)接收回讀配置幀:此步驟完成接收回讀配置幀的任務(wù)。在完成發(fā)送回讀配置幀命令后,即可從PACP模塊回讀指定地址的回讀配置幀數(shù)據(jù)。返回數(shù)據(jù)中包含一幀空白幀,可將其舍去;
5)生成并發(fā)送回讀停止命令:此步驟完成回讀過程的停止。通過寫復(fù)位CRC命令字復(fù)位配置寄存器中的CRC計算邏輯,通過寫取消同步命令字取消與配置存儲器的同步,結(jié)束回讀過程。
4.讀取原配置幀與掩碼幀:此部分完成從DDR存儲器三個地址區(qū)間中讀取原配置幀和掩碼幀,并進行3選2表決產(chǎn)生可靠性較高的原配置幀和掩碼幀的任務(wù)。
5.對比檢測:此部分完成在掩碼幀的作用下,回讀配置幀與原配置幀的對比檢測。具體操作位將配置幀與掩碼幀的反碼相與的結(jié)果和原配置幀與掩碼幀的反碼相與的結(jié)果按位進行對比:若對比結(jié)果不一致,即判斷可編程邏輯的配置存儲器發(fā)生單粒子翻轉(zhuǎn);若對比結(jié)果一致,即判斷可編程邏輯的配置存儲器未發(fā)生單粒子翻轉(zhuǎn)。當通過對比檢測到錯誤時,統(tǒng)計該幀數(shù)據(jù)中錯誤的位數(shù),并記錄錯誤幀號。
6.輸出測試結(jié)果:此部分完成對比檢測的結(jié)果輸出。待將可編程邏輯中所有的配置幀對比完成后,將統(tǒng)計的錯誤位數(shù)和錯誤幀號通過CAN總線發(fā)送出去。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
1.本發(fā)明一種基于ZYNQ開發(fā)平臺的單粒子翻轉(zhuǎn)檢測方法中采用Xilinx公司ZYNQ系列可編程SoC芯片,使用處理系統(tǒng)部分對可編程邏輯配置接口實現(xiàn)回讀控制,可在單芯片內(nèi)完成單粒子翻轉(zhuǎn)檢測任務(wù)。本發(fā)明與使用外部控制器的方法相比,大大降低了測試系統(tǒng)的復(fù)雜程度,避免了因開發(fā)平臺不同造成的不便,同時使測試系統(tǒng)的總體體積、工作功耗都有大幅度降低;
2.本發(fā)明一種基于ZYNQ開發(fā)平臺的單粒子翻轉(zhuǎn)檢測方法中的回讀控制部分與對比檢測部分分別使用PS部分PACP模塊與APU模塊,其均為固定的電路,其可靠性遠大于可編程邏輯部分。本發(fā)明與同樣在單芯片內(nèi)使用可編程邏輯完成單粒子測試的方案相比,避免了此方案中對比檢測電路和配置回讀模塊的外圍控制電路均為可編程邏輯組成造成此可靠性較低的問題;
3.本發(fā)明一種基于ZYNQ開發(fā)平臺的單粒子翻轉(zhuǎn)檢測方法中開發(fā)過程僅使用一種高級語言(C語言)進行開發(fā),避免了因使用不同開發(fā)語言造成的不便,大大降低了開發(fā)難度,縮短開發(fā)周期。
本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,本領(lǐng)域技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。