专利名称:一种基于fpga的nand flash器件单粒子效应测试方法
技术领域:
本发明涉及一种基于FPGA的NAND FLASH器件单粒子效应测试方法,属于空间辐射效应及加固领域。
背景技术:
非易失性NAND FLASH存储器具有存储密度高、功耗低、芯片引脚兼容性好、掉电不丢失数据、短时间内不需重刷新数据等特性,近年来NAND FLASH存储器在空间用的应用呈势态发展。空间环境中的高能带电粒子能诱发NAND FLASH器件发生单粒子效应,使之产生逻辑错误及功能异常的现象,给航天器载荷在轨效能发挥带来一定的影响,因此,NAND FLASH 器件单粒子效应评价已得到设计师高度重视。由于IG以上的NAND FLASH存储器的结构比较复杂(通常包含存储单元、S/P寄存器等外围控制电路),与以往的存储器有所结构不同,IG以上NAND FLASH存储器按块-页结构存储数据,存储的数据按块分组,数据的写和读操作是基于页进行,而擦除操作是基于块进行。于是,在单粒子效应试验中,模拟源可以穿透多块存储单元,同时诱发多页中存储数据翻转,并且可能存在功能中断现象;由于NAND FLASH存储器容量大(几G到数十G),在试验中其读/写/擦除的时间相对较长,使得准确判断和检测到器件发生单粒子效应(SEE)现象的测试难度较大,现有的单粒子效应测试方法不能满足需求。
发明内容
本发明的目的在于提供一种基于FPGA的NAND FLASH器件单粒子效应测试方法, 该方法可以实现辐照试验中的功能及电性参数的测试。本发明的目的由以下技术方案实现一种基于FPGA的NAND FLASH器件单粒子效应测试方法,所述方法主要包括上位机、50MHz晶振、程序配置端口 JTAG、FPGA控制模块和NANDFLASH测试模块;FPGA控制模块主要包括串口通信模块、时钟电路模块和I/O总线模块;NAND FLASH测试模块主要包括地址寄存器、指令寄存器、内部缓存区、存储单元、状态寄存器、I/O总线模块和电流采集模块。其中,上位机通过串口通信RS232接口的数据接收端RXD、数据发送端T)(D以及地线GND管脚与FPGA相连;50MHz晶振经FPGA的时钟信号输入端Bll管脚相连,为FPGA提供外部时钟信号;程序配置端口 JTAG经测试时钟输入信号TCK、测试数据输出信号TD0、测试模式选择输入信号TMS以及串行测试数据输入信号TDI管脚与FPGA相连;FPGA的输入输出接口 I/O和NAND FLASH的输入输出接口 I/O’相连;FPGA的使能信号地址锁存使能端 ALE、指令锁存使能端CLE、读使能端RE、写使能端TO、状态指示信号R/B、片选使能端CE以及写保护信号WP依次和NAND FLASH对应的地址锁存使能端ALE’、指令锁存使能端CLE’、 读使能端RE’、写使能端WE’、状态指示信号R/B’、片选使能端CE’以及写保护信号WP’相连。
FPGA与NAND FLASH的使能端口指令锁存使能端CLE、地址锁存使能端ALE、片选使能端CE、读使能端RE以及写使能端WE是单向输出接口,而输入输出接口 I/O是双向,NAND FLASH没有专门的地址线,所有的地址、数据和指令信号输入都使用同一个8位I/O接口,通过指令锁存使能端CLE和地址锁存使能端ALE实现指令和地址对I/O 口的复用。工作方式1)静态模式①首先系统加电,将初始数据写入NAND FLASH,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE ’发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中。f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②系统断电,在测试系统不加电的条件下,进行模拟源辐照;③单粒子翻转的判断辐照完毕后,重新给系统加电,上位机通过串口通信模块向 FPGA发出读操作指令,读操作指令有两个,其中第一指令为00H,第二指令为30H,读取NAND FLASH存储的辐照后数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码; b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE ’发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器; c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;
d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,重新向NAND FLASH写入数据;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试。由于辐照过程不加电,所以这种辐照模式不能监测器件的单粒子功能中断SEFI 和单粒子锁定SEL现象。2)动态读模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测NAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,其中第一指令设为00H,第二指令设为30H,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;
f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,继续进行辐照试验;若上位机无法进行读操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,继续进行辐照测试。3)动态读/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器; d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测FNAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA 发出读操作指令,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为
a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;
e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时FPGA通过输入输出接口 I/O和输入输出接口 I/O’顺序读出NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD 上传至上位机。h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验; 若上位机无法进行读、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,重新向 NAND FLASH写入数据,写入完成后继续进行辐照测试;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;
c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中。4)动态读/擦除/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照; ③单粒子锁定的判断在辐照过程中,FPGA监测FNAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转或单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,其中第一指令设为00H,第二指令设为30H,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B,置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表明没有发生单粒子翻转SEU或单粒子功能中断SEFI,继续辐照试验; 若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,上位机通过串口通信模块向 FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若上位机无法进行读、擦除、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;在进行擦除操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送擦除操作第一指令,设为 60H,然后发送已设定好的3周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第一指令60H,NAND FLASH将指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送3周期的
18地址码,NAND FLASH将3周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送擦除操作第二指令,设为D0H;e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第二指令DOH,NAND FLASH将指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH对地址寄存器指定页进行擦除操作,待擦除完成之后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读NAND FLASH 的状态寄存器中的数据来判断擦除操作是否成功。若擦除成功,重新向NAND FLASH存储单元写入数据;若擦除不成功,上位机通过串口通信模块向FPGA再次发出擦除指令,擦除NAND FLASH中的错误数据,直到擦除成功;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试。有益效果本发明所述的测试方法能够实现对大容量的NAND FLASH存储器单粒子效应的测试,在该方法中通过具体指令码和地址码的使用能够完成静态、动态读、动态读/写、以及动态读/擦除/写四种工作模式,尤其后三种工作模式可以同时实现对单粒子锁定、单粒子翻转以及单粒子功能中断现象的测试,其中,通过辐照过程中的工作电流与预先设定的电流阈值进行比较来判断单粒子锁定现象,通过NAND FLASH中存储的辐照过程中的数据与初始数据进行比较来判断单粒子翻转和单粒子功能中断现象,为实现在实验模拟源条件下高效获取单粒子效应特征参数提供了一种测试方法。
图1为本发明所述的一种基于FPGA的NAND FLASH器件单粒子效应测试方法示意图;图2为本发明所述的一种基于FPGA的NAND FLASH器件单粒子效应测试方法工作流程图。
具体实施例方式下面结合附图和具体实施例来详述本发明,但不限于此。实施例如图1所示,本发明的一种基于FPGA的NAND FLASH器件单粒子效应测试方法,所述方法主要包括上位机、50MHz晶振、程序配置端口 JTAG、FPGA控制模块和NAND FLASH测试模块;FPGA控制模块主要包括串口通信模块、时钟电路模块和I/O总线模块;NAND FLASH 测试模块主要包括地址寄存器、指令寄存器、内部缓存区、存储单元、状态寄存器、I/O总线模块和电流采集模块。其中,上位机通过串口通信RS232接口的数据接收端RXD、数据发送端T)(D以及地线GND管脚与FPGA相连;50MHz晶振经FPGA的时钟信号输入端Bll管脚相连,为FPGA提供外部时钟信号;程序配置端口 JTAG经测试时钟输入信号TCK、测试数据输出信号TD0、测试模式选择输入信号TMS以及串行测试数据输入信号TDI管脚与FPGA相连;FPGA的输入输出接口 I/O和NAND FLASH的输入输出接口 I/O’相连;FPGA的使能信号地址锁存使能端 ALE、指令锁存使能端CLE、读使能端RE、写使能端TO、状态指示信号R/B、片选使能端CE以及写保护信号WP依次和NAND FLASH对应的地址锁存使能端ALE’、指令锁存使能端CLE’、 读使能端RE’、写使能端WE’、状态指示信号R/B’、片选使能端CE’以及写保护信号WP’相连。FPGA与NAND FLASH的使能端口指令锁存使能端CLE、地址锁存使能端ALE、片选使能端CE、读使能端RE以及写使能端WE是单向输出接口,而输入输出接口 I/O是双向,NAND FLASH没有专门的地址线,所有的地址、数据和指令信号输入都使用同一个8位I/O接口,通过指令锁存使能端CLE和地址锁存使能端ALE实现指令和地址对I/O 口的复用。工作方式1)静态模式①首先系统加电,将初始数据写入NAND FLASH,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;
c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中。f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②系统断电,在测试系统不加电的条件下,进行模拟源辐照;③单粒子翻转的判断辐照完毕后,重新给系统加电,上位机通过串口通信模块向 FPGA发出读操作指令,读操作指令有两个,其中第一指令为00H,第二指令为30H,读取NAND FLASH存储的辐照后数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令00H,NAND FLASH将第一指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,重新向NAND FLASH写入数据;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE ’发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试。由于辐照过程不加电,所以这种辐照模式不能监测器件的单粒子功能中断SEFI 和单粒子锁定SEL现象。2)动态读模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测NAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,其中第一指令设为00H,第二指令设为30H,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端TO向NAND FLASH的写使能端WE, 发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,继续进行辐照试验;若上位机无法进行读操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,继续进行辐照测试。
3)动态读/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测FNAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA 发出读操作指令,读操作指令有两个,其中第一指令设为00H,第二指令设为30H,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;
e) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令 30H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机。h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验; 若上位机无法进行读、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,重新向 NAND FLASH写入数据,写入完成后继续进行辐照测试;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b) FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中。4)动态读/擦除/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为
a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测FNAND FLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转或单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,其中第一指令设为00H,第二指令设为30H,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令00H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令 00H, NAND FLASH将第一指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH将5周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令30H ;e)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令
2630H, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后, NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE 向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出 NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表明没有发生单粒子翻转SEU或单粒子功能中断SEFI,继续辐照试验; 若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,上位机通过串口通信模块向 FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若上位机无法进行读、擦除、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;在进行擦除操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送擦除操作第一指令,设为60H, 然后发送已设定好的3周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第一指令60H,NAND FLASH将指令锁存至其内部的指令寄存器;c) FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号, 将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送3周期的地址码,NAND FLASH将3周期的地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送擦除操作第二指令,设为D0H;e)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第二指令DOH,NAND FLASH将指令锁存至其内部的指令寄存器;f) NAND FLASH将状态指示信号R/B’置为低电平,NAND FLASH对地址寄存器指定页进行擦除操作,待擦除完成之后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读NAND FLASH 的状态寄存器中的数据来判断擦除操作是否成功。若擦除成功,重新向NAND FLASH存储单元写入数据;若擦除不成功,上位机通过串口通信模块向FPGA再次发出擦除指令,擦除NAND FLASH中的错误数据,直到擦除成功;
在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,设为80H,然后发送已设定好的5周期的地址码;b)FPGA的指令锁存使能端CLE向NAND FLASH的指令锁存使能端CLE,发送信号, 将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令80H,NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE’发送信号,在写使能端WE’处于上升沿、 地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时,FPGA通过输入输出接口向NAND FLASH发送5周期的地址码,NAND FLASH的将5周期的地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NAND FLASH中的数据;e)在指令锁存使能端ALE,和地址锁存使能端CLE,都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试。本发明包括但不限于以上实施例,凡是在本发明精神的原则之下进行的任何等同替换或局部改进,都将视为在本发明的保护范围之内。
权利要求
1. 一种基于FPGA的NAND FLASH器件单粒子效应测试方法,其特征在于所述方法主要包括上位机、50MHz晶振、程序配置端口 JTAG、FPGA控制模块和NAND FLASH测试模块; FPGA控制模块主要包括串口通信模块、时钟电路模块和I/O总线模块;NAND FLASH测试模块主要包括地址寄存器、指令寄存器、内部缓存区、存储单元、状态寄存器、I/O总线模块和电流采集模块;其中,上位机通过串口通信RS232接口的数据接收端RXD、数据发送端T)(D以及地线 GND管脚与FPGA相连;50MHz晶振经FPGA的时钟信号输入端Bll管脚相连,为FPGA提供外部时钟信号;程序配置端口 JTAG经测试时钟输入信号TCK、测试数据输出信号TD0、测试模式选择输入信号TMS以及串行测试数据输入信号TDI管脚与FPGA相连;FPGA的输入输出接口 I/O和NAND FLASH的输入输出接口 I/O,相连;FPGA的使能信号地址锁存使能端ALE、 指令锁存使能端CLE、读使能端RE、写使能端WE、状态指示信号R/B、片选使能端CE以及写保护信号WP依次和NAND FLASH对应的地址锁存使能端ALE’、指令锁存使能端CLE’、读使能端RE,、写使能端TO,、状态指示信号R/B,、片选使能端CE’以及写保护信号WP,相连;FPGA与NAND FLASH的使能端口指令锁存使能端CLE、地址锁存使能端ALE、片选使能端 CE、读使能端RE以及写使能端TO是单向输出接口,而输入输出接口 I/O是双向,NAND FLASH 没有专门的地址线,所有的地址、数据和指令信号输入都使用同一个8位I/O接口,通过指令锁存使能端CLE和地址锁存使能端ALE实现指令和地址对I/O 口的复用;工作方式1)静态模式①首先系统加电,将初始数据写入NANDFLASH,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②系统断电,在测试系统不加电的条件下,进行模拟源辐照;③单粒子翻转的判断辐照完毕后,重新给系统加电,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,分别为第一指令和第二指令,读取NAND FLASH 存储的辐照后数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令, NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH将地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令;e)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NANDFLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU,则继续辐照试验;若错误数小于预先设定值N, 则表明发生了单粒子翻转SEU,重新向NAND FLASH写入数据;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试;由于辐照过程不加电,所以这种辐照模式不能监测器件的单粒子功能中断SEFI和单粒子锁定SEL现象;2)动态读模式①系统上电,将初始数据写入NANDFLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测NANDFLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向 FPGA发出读操作指令,读操作指令有两个,分别为第一指令和第二指令,读取NAND FLASH 存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令,NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH将地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令;e)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NANDFLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断 SEFI,上位机记录单粒子功能中断SEFI次数,继续进行辐照试验;若上位机无法进行读操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,继续进行辐照测试;3)动态读/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NAND FLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测FNANDFLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转和功能中断的判断辐照过程中,上位机通过串口通信模块向FPGA发出读操作指令,读操作指令有两个,分别为第一指令和第二指令,读取NAND FLASH存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令, NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令;e)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NANDFLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE向读使能端RE,发送信号,读使能端RE,处于上升沿时FPGA通过输入输出接口顺序读出NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表示没有发生单粒子翻转SEU或单粒子功能中断SEFI,则继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并重新向NAND FLASH存储单元写入数据,写入完成后继续进行辐照试验;若上位机无法进行读、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,重新向NAND FLASH写入数据,写入完成后继续进行辐照测试;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;4)动态读/擦除/写模式①系统上电,将初始数据写入NAND FLASH存储单元,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;②开启模拟源进行辐照;③单粒子锁定的判断在辐照过程中,FPGA监测FNANDFLASH的工作电流,与预先设定的电流阈值相比较,若超过阈值则表明发生了单粒子锁定SEL现象,上位机通过串口通信模块向FPGA发出断电并重新启动指令,重新启动后再次进行辐照测试;④单粒子翻转或单粒子功能中断的判断辐照过程中,上位机通过串口通信模块向 FPGA发出读操作指令,读操作指令有两个,分别为第一指令和第二指令,读取NAND FLASH 存储的辐照中数据,并与初始数据进行比较,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送第一指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第一指令, NAND FLASH将第一指令锁存至其内部的指令寄存器;c)FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,将地址锁存使能端ALE,置为高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH将地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送第二指令;e)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送第二指令, NAND FLASH将第二指令锁存至其内部的指令寄存器;f)NANDFLASH将状态指示信号R/B’置为低电平,NAND FLASH将其中地址寄存器指定页的数据读入NAND FLASH内部缓存区,待数据全部读入到NAND FLASH内部缓存区后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读使能端RE向读使能端RE,发送信号,读使能端RE,处于上升沿时,FPGA通过输入输出接口顺序读出NAND FLASH内部缓存区中的数据,并通过RS232的数据接收端RXD上传至上位机;h)将传回上位机的数据与初始数据进行比较,同时,上位机将错误地址及个数记录,若错误数为零,表明没有发生单粒子翻转SEU或单粒子功能中断SEFI,继续辐照试验;若错误数小于预先设定值N,则表明发生了单粒子翻转SEU,上位机通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若错误数大于或等于预先设定值N,视为连续数个整页或整块发生翻转,即表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断 SEFI次数,并通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;若上位机无法进行读、擦除、写操作,即测试系统出现了死机现象,也表明发生了单粒子功能中断SEFI,上位机记录单粒子功能中断SEFI次数,并对测试系统进行断电重新启动,通过串口通信模块向FPGA发出擦除指令,擦除NAND FLASH中的错误数据;在进行擦除操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送擦除操作第一指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第一指令,NAND FLASH将指令锁存至其内部的指令寄存器;c)FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,将地址锁存使能端ALE,置为高电平;FPGA的写使能端TO向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH将地址码锁存至其内部的地址寄存器;d)在完成以上步骤后,上位机通过数据发送端T)(D向FPGA发送擦除操作第二指令;e)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端TO向NAND FLASH的写使能端TO,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送擦除操作第二指令,NAND FLASH将指令锁存至其内部的指令寄存器;f)NANDFLASH将状态指示信号R/B’置为低电平,NAND FLASH对地址寄存器指定页进行擦除操作,待擦除完成之后,NAND FLASH将状态指示信号R/B’置为高电平;g)FPGA的状态指示信号R/B接收状态指示信号R/B’的信号,并通过读NANDFLASH的状态寄存器中的数据来判断擦除操作是否成功;若擦除成功,重新向NAND FLASH存储单元写入数据;若擦除不成功,上位机通过串口通信模块向FPGA再次发出擦除指令,擦除NAND FLASH中的错误数据,直到擦除成功;在进行写操作时,具体为a)上位机通过RS232的数据发送端T)(D向FPGA发送写操作指令,然后发送已设定好的地址码;b)FPGA的指令锁存使能端CLE向NANDFLASH的指令锁存使能端CLE’发送信号,将指令锁存使能端CLE,置于高电平;FPGA的写使能端WE向NAND FLASH的写使能端WE,发送信号,写使能端WE,处于上升沿时,FPGA通过输入输出接口向NAND FLASH发送写操作指令, NAND FLASH将写操作指令锁存至内部的指令寄存器;c)FPGA的写使能端TO向NANDFLASH的写使能端TO,发送信号,FPGA的地址锁存使能端ALE向NAND FLASH的地址锁存使能端ALE,发送信号,在写使能端WE,处于上升沿、地址锁存使能端ALE’处于高电平,且指令锁存使能端CLE’和片选使能端CE’处于低电平时, FPGA通过输入输出接口向NAND FLASH发送地址码,NAND FLASH的将地址码锁存至其内部的地址寄存器;d)上位机通过RS232的数据发送端T)(D向FPGA发送需要写入到NANDFLASH中的数据;e)在指令锁存使能端ALE’和地址锁存使能端CLE’都处于低电平时,FPGA通过输入输出接口向NAND FLASH发送获取自上位机的数据,NAND FLASH将数据写入到其内部缓存区中;f)NANDFLASH将其内部缓存区中的数据写入到地址寄存器所指定的存储单元中;写入完成后继续进行辐照测试。
2.根据权利要求1所述的一种基于FPGA的NANDFLASH器件单粒子效应测试方法,其特征在于所述写操作指令为80H。
3.根据权利要求1所述的一种基于FPGA的NANDFLASH器件单粒子效应测试方法,其特征在于所述读操作第一指令为00H,第二指令为30H。
4.根据权利要求1所述的一种基于FPGA的NANDFLASH器件单粒子效应测试方法,其特征在于所述擦除操作第一指令为60H,第二指令为D0H。
5.根据权利要求1所述的一种基于FPGA的NANDFLASH器件单粒子效应测试方法,其特征在于所述读操作和写操作中的地址码为5周期的地址码,擦除操作中的地址码为3周期的地址码。
全文摘要
本发明公开了一种基于FPGA的NAND FLASH器件单粒子效应测试方法,属于空间辐射效应及加固领域。所述方法包括上位机、50MHz晶振、程序配置端口JTAG、FPGA控制模块和NAND FLASH测试模块。该测试方法包括四种工作模式1)静态模式;2)动态读模式;3)动态读/写模式;4)动态读/擦除/写模式。所述方法能够实现大容量的NAND FLASH存储器单粒子效应测试,在实验模拟源条件下,高效获取单粒子效应特征参数。
文档编号G11C29/56GK102332311SQ201110315790
公开日2012年1月25日 申请日期2011年10月18日 优先权日2011年10月18日
发明者安恒, 把得东, 曹洲, 李存惠, 杨生胜, 汤道坦, 王德坤, 石红, 薛玉雄 申请人:中国航天科技集团公司第五研究院第五一〇研究所