專利名稱:一種基于fpga的nand flash器件單粒子效應測試方法
技術領域:
本發(fā)明涉及一種基于FPGA的NAND FLASH器件單粒子效應測試方法,屬于空間輻射效應及加固領域。
背景技術:
非易失性NAND FLASH存儲器具有存儲密度高、功耗低、芯片引腳兼容性好、掉電不丟失數(shù)據(jù)、短時間內不需重刷新數(shù)據(jù)等特性,近年來NAND FLASH存儲器在空間用的應用呈勢態(tài)發(fā)展??臻g環(huán)境中的高能帶電粒子能誘發(fā)NAND FLASH器件發(fā)生單粒子效應,使之產生邏輯錯誤及功能異常的現(xiàn)象,給航天器載荷在軌效能發(fā)揮帶來一定的影響,因此,NAND FLASH 器件單粒子效應評價已得到設計師高度重視。由于IG以上的NAND FLASH存儲器的結構比較復雜(通常包含存儲單元、S/P寄存器等外圍控制電路),與以往的存儲器有所結構不同,IG以上NAND FLASH存儲器按塊-頁結構存儲數(shù)據(jù),存儲的數(shù)據(jù)按塊分組,數(shù)據(jù)的寫和讀操作是基于頁進行,而擦除操作是基于塊進行。于是,在單粒子效應試驗中,模擬源可以穿透多塊存儲單元,同時誘發(fā)多頁中存儲數(shù)據(jù)翻轉,并且可能存在功能中斷現(xiàn)象;由于NAND FLASH存儲器容量大(幾G到數(shù)十G),在試驗中其讀/寫/擦除的時間相對較長,使得準確判斷和檢測到器件發(fā)生單粒子效應(SEE)現(xiàn)象的測試難度較大,現(xiàn)有的單粒子效應測試方法不能滿足需求。
發(fā)明內容
本發(fā)明的目的在于提供一種基于FPGA的NAND FLASH器件單粒子效應測試方法, 該方法可以實現(xiàn)輻照試驗中的功能及電性參數(shù)的測試。本發(fā)明的目的由以下技術方案實現(xiàn)一種基于FPGA的NAND FLASH器件單粒子效應測試方法,所述方法主要包括上位機、50MHz晶振、程序配置端口 JTAG、FPGA控制模塊和NANDFLASH測試模塊;FPGA控制模塊主要包括串口通信模塊、時鐘電路模塊和I/O總線模塊;NAND FLASH測試模塊主要包括地址寄存器、指令寄存器、內部緩存區(qū)、存儲單元、狀態(tài)寄存器、I/O總線模塊和電流采集模塊。其中,上位機通過串口通信RS232接口的數(shù)據(jù)接收端RXD、數(shù)據(jù)發(fā)送端T)(D以及地線GND管腳與FPGA相連;50MHz晶振經FPGA的時鐘信號輸入端Bll管腳相連,為FPGA提供外部時鐘信號;程序配置端口 JTAG經測試時鐘輸入信號TCK、測試數(shù)據(jù)輸出信號TD0、測試模式選擇輸入信號TMS以及串行測試數(shù)據(jù)輸入信號TDI管腳與FPGA相連;FPGA的輸入輸出接口 I/O和NAND FLASH的輸入輸出接口 I/O’相連;FPGA的使能信號地址鎖存使能端 ALE、指令鎖存使能端CLE、讀使能端RE、寫使能端TO、狀態(tài)指示信號R/B、片選使能端CE以及寫保護信號WP依次和NAND FLASH對應的地址鎖存使能端ALE’、指令鎖存使能端CLE’、 讀使能端RE’、寫使能端WE’、狀態(tài)指示信號R/B’、片選使能端CE’以及寫保護信號WP’相連。
FPGA與NAND FLASH的使能端口指令鎖存使能端CLE、地址鎖存使能端ALE、片選使能端CE、讀使能端RE以及寫使能端WE是單向輸出接口,而輸入輸出接口 I/O是雙向,NAND FLASH沒有專門的地址線,所有的地址、數(shù)據(jù)和指令信號輸入都使用同一個8位I/O接口,通過指令鎖存使能端CLE和地址鎖存使能端ALE實現(xiàn)指令和地址對I/O 口的復用。工作方式1)靜態(tài)模式①首先系統(tǒng)加電,將初始數(shù)據(jù)寫入NAND FLASH,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE ’發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中。f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②系統(tǒng)斷電,在測試系統(tǒng)不加電的條件下,進行模擬源輻照;③單粒子翻轉的判斷輻照完畢后,重新給系統(tǒng)加電,上位機通過串口通信模塊向 FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令為00H,第二指令為30H,讀取NAND FLASH存儲的輻照后數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼; b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE ’發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器; c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;
d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH寫入數(shù)據(jù);在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試。由于輻照過程不加電,所以這種輻照模式不能監(jiān)測器件的單粒子功能中斷SEFI 和單粒子鎖定SEL現(xiàn)象。2)動態(tài)讀模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測NAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令設為00H,第二指令設為30H,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;
f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),繼續(xù)進行輻照試驗;若上位機無法進行讀操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,繼續(xù)進行輻照測試。3)動態(tài)讀/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器; d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA 發(fā)出讀操作指令,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為
a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;
e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時FPGA通過輸入輸出接口 I/O和輸入輸出接口 I/O’順序讀出NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD 上傳至上位機。h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗; 若上位機無法進行讀、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,重新向 NAND FLASH寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照測試;在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;
c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中。4)動態(tài)讀/擦除/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照; ③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉或單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令設為00H,第二指令設為30H,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B,置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表明沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,繼續(xù)輻照試驗; 若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,上位機通過串口通信模塊向 FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若上位機無法進行讀、擦除、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);在進行擦除操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第一指令,設為 60H,然后發(fā)送已設定好的3周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第一指令60H,NAND FLASH將指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送3周期的
18地址碼,NAND FLASH將3周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第二指令,設為D0H;e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第二指令DOH,NAND FLASH將指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH對地址寄存器指定頁進行擦除操作,待擦除完成之后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀NAND FLASH 的狀態(tài)寄存器中的數(shù)據(jù)來判斷擦除操作是否成功。若擦除成功,重新向NAND FLASH存儲單元寫入數(shù)據(jù);若擦除不成功,上位機通過串口通信模塊向FPGA再次發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù),直到擦除成功;在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試。有益效果本發(fā)明所述的測試方法能夠實現(xiàn)對大容量的NAND FLASH存儲器單粒子效應的測試,在該方法中通過具體指令碼和地址碼的使用能夠完成靜態(tài)、動態(tài)讀、動態(tài)讀/寫、以及動態(tài)讀/擦除/寫四種工作模式,尤其后三種工作模式可以同時實現(xiàn)對單粒子鎖定、單粒子翻轉以及單粒子功能中斷現(xiàn)象的測試,其中,通過輻照過程中的工作電流與預先設定的電流閾值進行比較來判斷單粒子鎖定現(xiàn)象,通過NAND FLASH中存儲的輻照過程中的數(shù)據(jù)與初始數(shù)據(jù)進行比較來判斷單粒子翻轉和單粒子功能中斷現(xiàn)象,為實現(xiàn)在實驗模擬源條件下高效獲取單粒子效應特征參數(shù)提供了一種測試方法。
圖1為本發(fā)明所述的一種基于FPGA的NAND FLASH器件單粒子效應測試方法示意圖;圖2為本發(fā)明所述的一種基于FPGA的NAND FLASH器件單粒子效應測試方法工作流程圖。
具體實施例方式下面結合附圖和具體實施例來詳述本發(fā)明,但不限于此。實施例如圖1所示,本發(fā)明的一種基于FPGA的NAND FLASH器件單粒子效應測試方法,所述方法主要包括上位機、50MHz晶振、程序配置端口 JTAG、FPGA控制模塊和NAND FLASH測試模塊;FPGA控制模塊主要包括串口通信模塊、時鐘電路模塊和I/O總線模塊;NAND FLASH 測試模塊主要包括地址寄存器、指令寄存器、內部緩存區(qū)、存儲單元、狀態(tài)寄存器、I/O總線模塊和電流采集模塊。其中,上位機通過串口通信RS232接口的數(shù)據(jù)接收端RXD、數(shù)據(jù)發(fā)送端T)(D以及地線GND管腳與FPGA相連;50MHz晶振經FPGA的時鐘信號輸入端Bll管腳相連,為FPGA提供外部時鐘信號;程序配置端口 JTAG經測試時鐘輸入信號TCK、測試數(shù)據(jù)輸出信號TD0、測試模式選擇輸入信號TMS以及串行測試數(shù)據(jù)輸入信號TDI管腳與FPGA相連;FPGA的輸入輸出接口 I/O和NAND FLASH的輸入輸出接口 I/O’相連;FPGA的使能信號地址鎖存使能端 ALE、指令鎖存使能端CLE、讀使能端RE、寫使能端TO、狀態(tài)指示信號R/B、片選使能端CE以及寫保護信號WP依次和NAND FLASH對應的地址鎖存使能端ALE’、指令鎖存使能端CLE’、 讀使能端RE’、寫使能端WE’、狀態(tài)指示信號R/B’、片選使能端CE’以及寫保護信號WP’相連。FPGA與NAND FLASH的使能端口指令鎖存使能端CLE、地址鎖存使能端ALE、片選使能端CE、讀使能端RE以及寫使能端WE是單向輸出接口,而輸入輸出接口 I/O是雙向,NAND FLASH沒有專門的地址線,所有的地址、數(shù)據(jù)和指令信號輸入都使用同一個8位I/O接口,通過指令鎖存使能端CLE和地址鎖存使能端ALE實現(xiàn)指令和地址對I/O 口的復用。工作方式1)靜態(tài)模式①首先系統(tǒng)加電,將初始數(shù)據(jù)寫入NAND FLASH,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;
c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中。f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②系統(tǒng)斷電,在測試系統(tǒng)不加電的條件下,進行模擬源輻照;③單粒子翻轉的判斷輻照完畢后,重新給系統(tǒng)加電,上位機通過串口通信模塊向 FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令為00H,第二指令為30H,讀取NAND FLASH存儲的輻照后數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令00H,NAND FLASH將第一指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH寫入數(shù)據(jù);在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE ’發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試。由于輻照過程不加電,所以這種輻照模式不能監(jiān)測器件的單粒子功能中斷SEFI 和單粒子鎖定SEL現(xiàn)象。2)動態(tài)讀模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測NAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令設為00H,第二指令設為30H,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端WE, 發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),繼續(xù)進行輻照試驗;若上位機無法進行讀操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,繼續(xù)進行輻照測試。
3)動態(tài)讀/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA 發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令設為00H,第二指令設為30H,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;
e) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令 30H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時FPGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機。h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗; 若上位機無法進行讀、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,重新向 NAND FLASH寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照測試;在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b) FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中。4)動態(tài)讀/擦除/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為
a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNAND FLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉或單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,其中第一指令設為00H,第二指令設為30H,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令00H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令 00H, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH將5周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令30H ;e)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令
2630H, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后, NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE 向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出 NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表明沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,繼續(xù)輻照試驗; 若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,上位機通過串口通信模塊向 FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若上位機無法進行讀、擦除、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);在進行擦除操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第一指令,設為60H, 然后發(fā)送已設定好的3周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第一指令60H,NAND FLASH將指令鎖存至其內部的指令寄存器;c) FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號, 將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送3周期的地址碼,NAND FLASH將3周期的地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第二指令,設為D0H;e)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第二指令DOH,NAND FLASH將指令鎖存至其內部的指令寄存器;f) NAND FLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH對地址寄存器指定頁進行擦除操作,待擦除完成之后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀NAND FLASH 的狀態(tài)寄存器中的數(shù)據(jù)來判斷擦除操作是否成功。若擦除成功,重新向NAND FLASH存儲單元寫入數(shù)據(jù);若擦除不成功,上位機通過串口通信模塊向FPGA再次發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù),直到擦除成功;
在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,設為80H,然后發(fā)送已設定好的5周期的地址碼;b)FPGA的指令鎖存使能端CLE向NAND FLASH的指令鎖存使能端CLE,發(fā)送信號, 將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令80H,NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE’發(fā)送信號,在寫使能端WE’處于上升沿、 地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送5周期的地址碼,NAND FLASH的將5周期的地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NAND FLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE,和地址鎖存使能端CLE,都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試。本發(fā)明包括但不限于以上實施例,凡是在本發(fā)明精神的原則之下進行的任何等同替換或局部改進,都將視為在本發(fā)明的保護范圍之內。
權利要求
1. 一種基于FPGA的NAND FLASH器件單粒子效應測試方法,其特征在于所述方法主要包括上位機、50MHz晶振、程序配置端口 JTAG、FPGA控制模塊和NAND FLASH測試模塊; FPGA控制模塊主要包括串口通信模塊、時鐘電路模塊和I/O總線模塊;NAND FLASH測試模塊主要包括地址寄存器、指令寄存器、內部緩存區(qū)、存儲單元、狀態(tài)寄存器、I/O總線模塊和電流采集模塊;其中,上位機通過串口通信RS232接口的數(shù)據(jù)接收端RXD、數(shù)據(jù)發(fā)送端T)(D以及地線 GND管腳與FPGA相連;50MHz晶振經FPGA的時鐘信號輸入端Bll管腳相連,為FPGA提供外部時鐘信號;程序配置端口 JTAG經測試時鐘輸入信號TCK、測試數(shù)據(jù)輸出信號TD0、測試模式選擇輸入信號TMS以及串行測試數(shù)據(jù)輸入信號TDI管腳與FPGA相連;FPGA的輸入輸出接口 I/O和NAND FLASH的輸入輸出接口 I/O,相連;FPGA的使能信號地址鎖存使能端ALE、 指令鎖存使能端CLE、讀使能端RE、寫使能端WE、狀態(tài)指示信號R/B、片選使能端CE以及寫保護信號WP依次和NAND FLASH對應的地址鎖存使能端ALE’、指令鎖存使能端CLE’、讀使能端RE,、寫使能端TO,、狀態(tài)指示信號R/B,、片選使能端CE’以及寫保護信號WP,相連;FPGA與NAND FLASH的使能端口指令鎖存使能端CLE、地址鎖存使能端ALE、片選使能端 CE、讀使能端RE以及寫使能端TO是單向輸出接口,而輸入輸出接口 I/O是雙向,NAND FLASH 沒有專門的地址線,所有的地址、數(shù)據(jù)和指令信號輸入都使用同一個8位I/O接口,通過指令鎖存使能端CLE和地址鎖存使能端ALE實現(xiàn)指令和地址對I/O 口的復用;工作方式1)靜態(tài)模式①首先系統(tǒng)加電,將初始數(shù)據(jù)寫入NANDFLASH,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②系統(tǒng)斷電,在測試系統(tǒng)不加電的條件下,進行模擬源輻照;③單粒子翻轉的判斷輻照完畢后,重新給系統(tǒng)加電,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,分別為第一指令和第二指令,讀取NAND FLASH 存儲的輻照后數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH將地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令;e)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NANDFLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N, 則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH寫入數(shù)據(jù);在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試;由于輻照過程不加電,所以這種輻照模式不能監(jiān)測器件的單粒子功能中斷SEFI和單粒子鎖定SEL現(xiàn)象;2)動態(tài)讀模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NANDFLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測NANDFLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向 FPGA發(fā)出讀操作指令,讀操作指令有兩個,分別為第一指令和第二指令,讀取NAND FLASH 存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令,NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH將地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令;e)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NANDFLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷 SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),繼續(xù)進行輻照試驗;若上位機無法進行讀操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,繼續(xù)進行輻照測試;3)動態(tài)讀/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NAND FLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNANDFLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉和功能中斷的判斷輻照過程中,上位機通過串口通信模塊向FPGA發(fā)出讀操作指令,讀操作指令有兩個,分別為第一指令和第二指令,讀取NAND FLASH存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令;e)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NANDFLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時FPGA通過輸入輸出接口順序讀出NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表示沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,則繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗;若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并重新向NAND FLASH存儲單元寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照試驗;若上位機無法進行讀、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,重新向NAND FLASH寫入數(shù)據(jù),寫入完成后繼續(xù)進行輻照測試;在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;4)動態(tài)讀/擦除/寫模式①系統(tǒng)上電,將初始數(shù)據(jù)寫入NAND FLASH存儲單元,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;②開啟模擬源進行輻照;③單粒子鎖定的判斷在輻照過程中,F(xiàn)PGA監(jiān)測FNANDFLASH的工作電流,與預先設定的電流閾值相比較,若超過閾值則表明發(fā)生了單粒子鎖定SEL現(xiàn)象,上位機通過串口通信模塊向FPGA發(fā)出斷電并重新啟動指令,重新啟動后再次進行輻照測試;④單粒子翻轉或單粒子功能中斷的判斷輻照過程中,上位機通過串口通信模塊向 FPGA發(fā)出讀操作指令,讀操作指令有兩個,分別為第一指令和第二指令,讀取NAND FLASH 存儲的輻照中數(shù)據(jù),并與初始數(shù)據(jù)進行比較,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第一指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第一指令, NAND FLASH將第一指令鎖存至其內部的指令寄存器;c)FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH將地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送第二指令;e)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送第二指令, NAND FLASH將第二指令鎖存至其內部的指令寄存器;f)NANDFLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH將其中地址寄存器指定頁的數(shù)據(jù)讀入NAND FLASH內部緩存區(qū),待數(shù)據(jù)全部讀入到NAND FLASH內部緩存區(qū)后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀使能端RE向讀使能端RE,發(fā)送信號,讀使能端RE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口順序讀出NAND FLASH內部緩存區(qū)中的數(shù)據(jù),并通過RS232的數(shù)據(jù)接收端RXD上傳至上位機;h)將傳回上位機的數(shù)據(jù)與初始數(shù)據(jù)進行比較,同時,上位機將錯誤地址及個數(shù)記錄,若錯誤數(shù)為零,表明沒有發(fā)生單粒子翻轉SEU或單粒子功能中斷SEFI,繼續(xù)輻照試驗;若錯誤數(shù)小于預先設定值N,則表明發(fā)生了單粒子翻轉SEU,上位機通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若錯誤數(shù)大于或等于預先設定值N,視為連續(xù)數(shù)個整頁或整塊發(fā)生翻轉,即表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷 SEFI次數(shù),并通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);若上位機無法進行讀、擦除、寫操作,即測試系統(tǒng)出現(xiàn)了死機現(xiàn)象,也表明發(fā)生了單粒子功能中斷SEFI,上位機記錄單粒子功能中斷SEFI次數(shù),并對測試系統(tǒng)進行斷電重新啟動,通過串口通信模塊向FPGA發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù);在進行擦除操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第一指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第一指令,NAND FLASH將指令鎖存至其內部的指令寄存器;c)FPGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,將地址鎖存使能端ALE,置為高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH將地址碼鎖存至其內部的地址寄存器;d)在完成以上步驟后,上位機通過數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送擦除操作第二指令;e)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端TO向NAND FLASH的寫使能端TO,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送擦除操作第二指令,NAND FLASH將指令鎖存至其內部的指令寄存器;f)NANDFLASH將狀態(tài)指示信號R/B’置為低電平,NAND FLASH對地址寄存器指定頁進行擦除操作,待擦除完成之后,NAND FLASH將狀態(tài)指示信號R/B’置為高電平;g)FPGA的狀態(tài)指示信號R/B接收狀態(tài)指示信號R/B’的信號,并通過讀NANDFLASH的狀態(tài)寄存器中的數(shù)據(jù)來判斷擦除操作是否成功;若擦除成功,重新向NAND FLASH存儲單元寫入數(shù)據(jù);若擦除不成功,上位機通過串口通信模塊向FPGA再次發(fā)出擦除指令,擦除NAND FLASH中的錯誤數(shù)據(jù),直到擦除成功;在進行寫操作時,具體為a)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送寫操作指令,然后發(fā)送已設定好的地址碼;b)FPGA的指令鎖存使能端CLE向NANDFLASH的指令鎖存使能端CLE’發(fā)送信號,將指令鎖存使能端CLE,置于高電平;FPGA的寫使能端WE向NAND FLASH的寫使能端WE,發(fā)送信號,寫使能端WE,處于上升沿時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送寫操作指令, NAND FLASH將寫操作指令鎖存至內部的指令寄存器;c)FPGA的寫使能端TO向NANDFLASH的寫使能端TO,發(fā)送信號,F(xiàn)PGA的地址鎖存使能端ALE向NAND FLASH的地址鎖存使能端ALE,發(fā)送信號,在寫使能端WE,處于上升沿、地址鎖存使能端ALE’處于高電平,且指令鎖存使能端CLE’和片選使能端CE’處于低電平時, FPGA通過輸入輸出接口向NAND FLASH發(fā)送地址碼,NAND FLASH的將地址碼鎖存至其內部的地址寄存器;d)上位機通過RS232的數(shù)據(jù)發(fā)送端T)(D向FPGA發(fā)送需要寫入到NANDFLASH中的數(shù)據(jù);e)在指令鎖存使能端ALE’和地址鎖存使能端CLE’都處于低電平時,F(xiàn)PGA通過輸入輸出接口向NAND FLASH發(fā)送獲取自上位機的數(shù)據(jù),NAND FLASH將數(shù)據(jù)寫入到其內部緩存區(qū)中;f)NANDFLASH將其內部緩存區(qū)中的數(shù)據(jù)寫入到地址寄存器所指定的存儲單元中;寫入完成后繼續(xù)進行輻照測試。
2.根據(jù)權利要求1所述的一種基于FPGA的NANDFLASH器件單粒子效應測試方法,其特征在于所述寫操作指令為80H。
3.根據(jù)權利要求1所述的一種基于FPGA的NANDFLASH器件單粒子效應測試方法,其特征在于所述讀操作第一指令為00H,第二指令為30H。
4.根據(jù)權利要求1所述的一種基于FPGA的NANDFLASH器件單粒子效應測試方法,其特征在于所述擦除操作第一指令為60H,第二指令為D0H。
5.根據(jù)權利要求1所述的一種基于FPGA的NANDFLASH器件單粒子效應測試方法,其特征在于所述讀操作和寫操作中的地址碼為5周期的地址碼,擦除操作中的地址碼為3周期的地址碼。
全文摘要
本發(fā)明公開了一種基于FPGA的NAND FLASH器件單粒子效應測試方法,屬于空間輻射效應及加固領域。所述方法包括上位機、50MHz晶振、程序配置端口JTAG、FPGA控制模塊和NAND FLASH測試模塊。該測試方法包括四種工作模式1)靜態(tài)模式;2)動態(tài)讀模式;3)動態(tài)讀/寫模式;4)動態(tài)讀/擦除/寫模式。所述方法能夠實現(xiàn)大容量的NAND FLASH存儲器單粒子效應測試,在實驗模擬源條件下,高效獲取單粒子效應特征參數(shù)。
文檔編號G11C29/56GK102332311SQ201110315790
公開日2012年1月25日 申請日期2011年10月18日 優(yōu)先權日2011年10月18日
發(fā)明者安恒, 把得東, 曹洲, 李存惠, 楊生勝, 湯道坦, 王德坤, 石紅, 薛玉雄 申請人:中國航天科技集團公司第五研究院第五一〇研究所