NorFlash测试方法介绍

合集下载

nor flash program disturb的原理

nor flash program disturb的原理

nor flash program disturb的原理Nor Flash Program Disturb (NFPD) 是指在Nor Flash存储芯片的编程过程中,由于电荷累积和分布不均导致的其它存储位置的擦除或编程干扰现象。

这可能会破坏相邻的存储单元,产生错误写入或删除数据的情况。

本文将详细介绍Nor Flash Program Disturb的原理和其可能引发的问题。

一、Nor Flash存储器简介Nor Flash Memory是一种非易失性存储器,由于其良好的读取速度和快速访问能力而被广泛应用于嵌入式系统和移动设备。

它被分为多个块,而每个块又被划分为多个扇区。

二、Nor Flash编程过程Nor Flash在编程过程中,首先需要将待编程的块进行擦除操作,然后再写入所需的数据。

擦除是将块中的所有单元数据置为“1”,而编程是将指定单元的数据置为“0”。

三、Nor Flash Program Disturb的原理Nor Flash Program Disturb (NFPD) 是由于编程过程中电荷的累积和分布不均所引起的问题。

在Nor Flash存储器中,相邻的存储单元由于物理上的接近,会产生相互影响,当编程操作过程中的原始单元的电荷有限时,相邻单元的电荷也会受到影响。

四、NFPD的影响和可能问题1. 异常编程:由于电荷的分布不均,原始单元编程时,相邻单元可能由于电荷交互而意外编程,导致数据错误或无法预料的结果。

2. 存储单元数据的错误改变:在编程过程中,如果相邻的单元受到干扰,其数据可能被更改或删除,导致数据的不一致和错误。

3. 存储单元的耐久性下降:由于NFPD过程中的电子迁移,相邻存储单元的寿命可能会受到缩短,其中一些存储单元可能会出现更快的老化现象。

五、降低NFPD影响的措施为了降低Nor Flash Program Disturb的影响,可以采取以下措施:1. 错误校验和纠正技术 (ECC):使用ECC技术来检测和纠正数据错误。

mcu norflash读写例程

mcu norflash读写例程

一、概述随着微控制器单片机(MCU)在嵌入式系统中的广泛应用,对存储器件的需求也日益增加。

在嵌入式系统开发中,常常需要对外部存储器进行读写操作,以实现数据的存储和访问。

而在嵌入式系统中,常用的存储器件之一就是NOR Flash。

开发一套MCU与NOR Flash进行读写操作的例程对于嵌入式系统开发具有重要意义。

二、MCU与NOR Flash介绍1. MCU介绍作为嵌入式系统的核心控制芯片,MCU具有集成度高、功耗低、性能稳定等特点,被广泛应用于各类嵌入式系统中。

MCU通常搭载有内置的存储器,但对于一些应用需求较大的情况,需要外接存储器扩展其存储容量。

2. NOR Flash介绍NOR Flash是一种非易失性存储器,广泛应用于嵌入式系统中。

NOR Flash通常具有较大的存储容量和较高的读写速度,因此被广泛应用于嵌入式系统的代码存储和数据存储中。

三、MCU NOR Flash读写例程设计1. 硬件设计1)选择合适的MCU按照系统需求选择合适的MCU芯片,需要考虑MCU的存储器容量和外设接口支持。

2)连接NOR Flash将NOR Flash与MCU进行连接,通常使用SPI或Parallel等接口进行连接。

3)引脚连接根据MCU和NOR Flash的接口定义进行引脚连接,确保连接正确稳定。

2. 软件设计1)MCU驱动程序设计设计MCU的驱动程序,包括对外部存储器的读写操作。

2)NOR Flash读写算法设计设计NOR Flash的读写算法,包括位置区域编址、数据传输等操作。

3)例程编写编写MCU与NOR Flash进行读写操作的例程,包括初始化、读取数据、写入数据等功能。

3. 调试验证1)例程验证将例程下载到MCU中,通过调试工具对例程进行验证,并观察读写操作的结果。

2)性能测试对MCU与NOR Flash的读写性能进行测试,包括读取速度、写入速度等指标。

四、MCU NOR Flash读写例程实现1. 硬件连接采用STM32F4系列MCU,通过SPI接口连接外部NOR Flash 存储器。

FLASH测试方法

FLASH测试方法
Y (I<N)? N
ptr=0x7ffffc
向偏移地址为 ptr 的地址空间 写入 0x00000000
I=2
ptr=ptr ^ 0x7ffffc;
读出偏移地址为 ptr 地址空间 内容 X
N (X==0x55555555) ?
Y (I<N)?
N FLASH 地址线测试结束 图 3 FLASH 地址线测试流程图
需要特别注意的是,数据线的测试务必选择比较特殊的寄存器,如上述寄存器地址。这 样可以避免与后面的地址线的测试地址发生冲突,引起测试失败或者还得增加擦除块的操 作。而块擦除时间是比较长的。
以 32 位的数据总线系统中的 FLASH 芯片测试为例,FLASH 芯片数据线测试流程图见 图 3:
第 4 页 共 8页
FLASH 测试方法
1 FLASH 测试方法概述
1.1 概述
z 根据测试需求不同:有的侧重于测试全面性,有的侧重于测试速度; z 根据不同的 FLASH 芯片,其擦除方法也不同,增加了芯片类型判断; z 该文档主要参照 intel flash28xxx 系列芯片进行叙述和整理,其他类型的 flash 的具
Y 芯片擦除结束
图 2 芯片擦除流程图
第 3 页 共 8页
FLASH 测试方法
1.2.3 FLASH 数据线测试
当 FLASH 芯片的数据总线为 8 位时,对 FLASH 芯片的 9 地址写 0xAA,10 地址写 0xCC, 11 地址写 0XF0,并检查以上各地址单元内容是否正确;
当 FLASH 芯片的数据总线为 16 位时,对 FLASH 芯片的 0X0A 地址写 0xAAAA,0X1A 地址写 0xCCCC,0X2A 地址写 0XF0 F0,0X3A 地址写 0XFF00,并检查以上各地址单元内 容是否正确。

nor flash读工作原理

nor flash读工作原理

nor flash读工作原理Nor Flash是一种非易失性存储器,其读取工作原理是指在读取数据时的操作过程和原理。

下面将介绍Nor Flash读取工作原理。

Nor Flash的读取操作主要分为地址寻址和数据读取两个步骤。

首先,在进行读取操作之前,需要通过地址线将要读取的数据的地址发送给Nor Flash。

Nor Flash的存储单元被划分为多个块,每个块又由多个扇区组成。

通过地址寻址,可以确定要读取的数据所在的扇区和块的位置。

在确定了要读取的数据所在的扇区和块的位置后,Nor Flash会通过内部的控制电路将存储单元中的数据读取出来。

Nor Flash的存储单元由一系列的存储单元组成,每个存储单元可以存储一个二进制位的数据。

在读取操作时,Nor Flash会根据地址线指定的位置,将对应存储单元中的数据读取出来。

Nor Flash的读取操作是通过电压的变化来实现的。

具体来说,当读取操作开始时,Nor Flash会将电压控制线设置为读取模式,并将控制电路连接到对应的存储单元。

然后,Nor Flash会将一个特定的电压施加到被选中的存储单元上。

根据存储单元中存储的数据是0还是1,Nor Flash会通过读取电路将对应的电压信号转换为数字信号。

最后,Nor Flash会将转换后的数字信号传递给外部的读取电路。

Nor Flash的读取速度相对较慢,主要受到两个因素的影响。

首先,Nor Flash的存储单元是通过悬空栅效应实现的,这种结构相对复杂,导致了读取速度较慢。

其次,Nor Flash的读取操作需要通过多个步骤完成,包括地址寻址、电压施加和电压转换等。

这些步骤的完成需要一定的时间,进而影响了读取速度。

为了提高Nor Flash的读取速度,可以采取一些优化措施。

例如,可以通过增加读取电路的并行性来提高读取速度。

同时,还可以通过优化控制电路和读取电路的设计,减少读取操作的步骤和延迟,从而提高读取速度。

总结起来,Nor Flash的读取工作原理是通过地址寻址和数据读取两个步骤完成的。

浅析Nor Flash的一些通用设置

浅析Nor Flash的一些通用设置

浅析Nor Flash的一些通用设置NOR Flash NOR Flash是现在市场上两种主要的非易失闪存技术之一。

Intel 于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。

紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。

NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。

NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。

NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。

应用NAND的困难在于Flash的管理需要特殊的系统接口。

性能比较 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。

任何flash 器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。

NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。

flash芯片读写测试用例

flash芯片读写测试用例

flash芯片读写测试用例Flash芯片是一种非易失性存储器,广泛应用于各个领域的电子设备中。

为了保证Flash芯片的正常工作,需要进行读写测试来验证其性能和稳定性。

本文将针对Flash芯片的读写测试用例进行详细介绍。

一、擦除测试擦除操作是Flash芯片中的一项重要功能,用于将存储的数据全部清空,恢复到初始状态。

擦除测试用例的目的是验证擦除操作是否能够正常执行,并且确保擦除后的芯片状态是正确的。

测试用例的步骤包括:写入数据到芯片中,执行擦除操作,再次读取芯片中的数据,验证数据是否被全部清空。

二、写入测试写入操作是将数据存储到Flash芯片中的过程。

写入测试用例的目的是验证写入操作是否能够正常执行,并且确保写入的数据能够正确保存在芯片中。

测试用例的步骤包括:写入数据到芯片中,读取芯片中的数据,验证写入的数据是否与读取的数据一致。

三、读取测试读取操作是从Flash芯片中读取数据的过程。

读取测试用例的目的是验证读取操作是否能够正常执行,并且确保读取的数据与存储的数据一致。

测试用例的步骤包括:写入数据到芯片中,读取芯片中的数据,验证读取的数据与写入的数据是否一致。

四、连续写入测试连续写入测试用例的目的是验证芯片在连续写入大量数据时的性能和稳定性。

测试用例的步骤包括:连续写入大量数据到芯片中,读取芯片中的数据,验证写入的数据是否全部保存在芯片中,并且没有出现数据丢失或错误的情况。

五、连续读取测试连续读取测试用例的目的是验证芯片在连续读取大量数据时的性能和稳定性。

测试用例的步骤包括:写入大量数据到芯片中,连续读取芯片中的数据,验证读取的数据是否与写入的数据一致,并且没有出现数据错误或丢失的情况。

六、并发读写测试并发读写测试用例的目的是验证芯片在同时进行读写操作时的性能和稳定性。

测试用例的步骤包括:同时进行读写操作,验证读写的数据是否正确,并且没有出现冲突或错误的情况。

七、边界测试边界测试用例的目的是验证芯片在极限情况下的读写能力。

nor flash工作原理

nor flash工作原理

nor flash工作原理Nor Flash,即非易失性闪存,是一种常见的存储器设备,被广泛应用于数字产品和嵌入式系统中。

它的工作原理是通过电子擦除和编程的方式实现数据的存储和读取。

本文将深入探讨Nor Flash的工作原理及其应用。

一、Nor Flash的组成和结构Nor Flash由多个存储单元组成,每个存储单元由一个浮栅晶体管和一个选择晶体管组成。

浮栅晶体管用于存储数据,而选择晶体管则用于控制数据的读取和写入操作。

这些存储单元按照阵列的方式排列在晶片上,形成一个存储矩阵。

二、Nor Flash的工作原理1. 读取操作:当需要读取数据时,首先通过地址线选中特定的存储单元。

然后,选择晶体管将存储单元的电荷传递到位线上,并经过放大器放大,最终形成可读取的电压信号。

2. 编程操作:Nor Flash的编程操作是通过电子注入和散射实现的。

通过地址线选中特定的存储单元,并施加编程电压,即高电压。

这个高电压会使得浮栅晶体管中的电子被注入到栅极上,改变晶体管的导电特性,从而改变存储单元的电荷状态。

3. 擦除操作:Nor Flash的擦除操作是通过电子隧道效应实现的。

当需要擦除数据时,首先通过地址线选中特定的存储块,一个存储块通常由多个存储单元组成。

然后,施加一个较高的擦除电压,即高电压。

这个高电压会使得存储单元中的电荷通过隧道效应流出,从而擦除数据。

三、Nor Flash的应用领域1. 嵌入式系统:Nor Flash广泛应用于嵌入式系统中,如智能手机、平板电脑、车载导航、物联网设备等。

由于Nor Flash具有快速读取速度和较长的数据存储寿命,能够满足嵌入式系统对数据存储和快速读取的需求。

2. 数字产品:Nor Flash也被广泛应用于数字产品中,如数码相机、MP3播放器、游戏机等。

Nor Flash的可靠性和稳定性使得这些数字产品能够稳定地存储和读取大量的数据。

3. 软件存储:Nor Flash还常用于存储系统软件,如操作系统和引导程序。

NorFlash测试方法介绍

NorFlash测试方法介绍

NOR Flash 存储器测试方法介绍一、NOR FLASH简介NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失;NOR FLASH支持Execute ON Chip,即程序可以直接在FLASH片内执行;这点和NAND FLASH不一样;因此,在嵌入是系统中,NOR FLASH很适合作为启动程序的存储介质;NOR FLASH的读取和RAM很类似,但不可以直接进行写操作;对NOR FLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作;从支持的最小访问单元来看,NOR FLASH一般分为8 位的和16位的当然,也有很多NOR FLASH芯片同时支持8位模式和是16 位模式,具体的工作模式通过特定的管脚进行选择; 对8位的NOR FLASH芯片,或是工作在8-BIT 模式的芯片来说,一个地址对应一个BYTE8-BIT的数据;在对FLASH进行写操作的时候,每个BIT可以通过编程由1变为0,但不可以有0修改为1;为了保证写操作的正确性,在执行写操作前,都要执行擦除操作;擦除操作会把FLASH的一个SECTOR,一个BANK或是整片FLASH 的值全修改为0xFF;这样,写操作就可以正确完成了;1. 8-BIT的NOR FLASH例如一块8-BIT的NOR FLASH,假设容量为4个BYTE;那芯片应该有8个数据信号D7-D0 和2个地址信号,A1-A0;地址0x0对应第0个BYTE,地址0x1对应于第1BYTE,地址0x2对应于第2个BYTE,而地址0x3则对应于第3 个BYTE2. 16-BIT的NOR FLASH对16位的NOR FLASH芯片,或是工作在16-BIT模式的芯片来说,一个地址对应于一个HALF-WORD16-BIT的数据;例如,一块16-BIT的NOR FLASH,假设其容量为4个BYTE;那芯片应该有16 个数据信号线D15-D0 和1个地址信号A0;地址0x0对应于芯片内部的第0个HALF-WORD,地址0x1对应于芯片内部的第1个HALF-WORD;3. NOR Flash结构FLASH一般都分为很多个SECTOR,每个SECTOR包括一定数量的存储单元;对有些大容量的FLASH,还分为不同的BANK,每个BANK包括一定数目的SECTOR;FLASH的擦除操作一般都是以SECTOR,BANK或是整片FLASH为单位的;二、芯片资料本文档以SPANSION公司的S29JL064H芯片为例说明芯片详细信息参见datasheet;该芯片是一个64 Megabit 8 M x 8-Bit/4 M x 16-Bit的Nor Flash 芯片;1. 管脚说明如下A21–A0 22 AddressesDQ14–DQ0 15 Data Inputs/Outputs x16-only devicesDQ15/A-1 DQ15 Data Input/Output, word mode, A-1 LSBAddress Input, byte modeCE Chip EnableOE Output EnableWE Write EnableWP/ACC Hardware Write Protect/Acceleration PinRESET=Hardware Reset Pin, Active LowBYTE Selects 8-bit or 16-bit modeRY/BY Ready/Busy OutputVCC volt-only single power supplysee Product Selector Guide for speedoptions and voltage supply tolerancesVSS Device GroundNC=Pin Not Connected Internally2. 芯片的Bus Operations 如下:3.芯片的Command Definitions4.解释说明1、读模式:读由CE 和OE 控制:当两者都为低电平时,才可以从FlashROM 中读取数据2、写模式:FlashROM 的编程的基本单位是“页”,每一“页”包含一定的数据一般为128 字节或256 字节;如果要修改一“页”中的某一个字节的数据,需要将这一“页”的数据全部读出,修改指定的字节,再写回至FlashROM中;在写入每一“页”的时候,如果该“页”的某个字节没有被写入FlashROM,那么FlashROM 中的对应位置上的数据将会被擦除为0xFF;即在写入时都是只允许将“1”改成“0”,而不允许将“0”改成“1”;一般是CE 和WE 为低电平且OE 为高电平:写操作过程通常包括两个步骤:1第一步是字节装载周期,在这个周期中主CPU将一页的数据写入FlashROM的页缓冲区;2第二步是内部编程周期,在这个周期中FlashROM 的页缓冲区的内容被同时写入FlashROM 的非挥发存储器阵列注:在字节装载周期中,在CE 或WE 的下降沿两者出现的较晚的时刻地址被锁存,在CE 或WE 的上升沿两者出现较早的时刻数据被锁存;进入写操作之前要写入的命令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,退出写操作需要写入的命令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x20;检测Product ID 需写入的指令序列为:向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x60;然后从地址0 上读取厂商代码,从地址1 上读取产品代码;退出该模式需写入的指令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xF0清除状态寄存器内容的一组指令是:向地址0x5555 写入0xAA向地址0x2AAA 写入0x55、向地址0x5555 写入0x50;Nor Flash支持扇区擦Sector Erase除和整片擦除Chip Erase块擦除;向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x30;全片擦除:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x10;三、测试方法及流程1.开短路测试测试方法、条件:1.I=-100uA2.I=100uA2.Leakage测试测试方法、条件:1. 测IIL: VCC=,input pin 加0 V,测试input pin电流2. 测IIH: VCC=,input pin 加,测试input pin电流3. 测IOZH:VCC=,由bus operations可知当CE为高IO pin处于HIGH Z状态,所以给CE加,IOpin加,测试IO pin电流4. 测IOZL:VCC=,由bus operations可知当CE为高IO pin处于HIGH Z状态,所以给CE加,IOpin加0V,测试IO pin电流3.擦除整个chip测试方法、条件:1. VCC=,2. 向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x103. 等待56 S 擦除完成,此时芯片内的数据都为0xFF4.工作电流测试5.Standby电流测试6.读所有chip 0xFF测试测试方法、条件:=2.设置OE,CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据0xFF.3.地址加1地址管脚A0变为1,其他地址不变,此时IO输出地址为0x01内存储的数据0xFF.4.地址逐步加1顺序改变地址管脚电压,此时IO顺序输出地址内存储的数据0xFF;5.逐步加完所有的地址直到地址管脚A21-A0全变为1;即读完了所有地址的数据;7.VOH,测试测试方法、条件:1.VCC=2.设置OE,CE为低电平,给任意地址,此时IO输出数据;3.给IO加电流,读IO pin 电压;8.写并且读所有chip 0xFF测试测试方法、条件:1.VCC=3.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向page0初始地址0x00 写00,2. 地址增加1,即向地址0x01写003. 逐步增加地址,同时向地址内写入数据,直到写满1个page;4. 重复1-3过程,更改page初始地址,依次向page1,2,3,4....写入00,直到写满整个CHIP;2.设置OE,CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据0xFF.3.地址加1地址管脚A0变为1,其他地址不变,此时IO输出地址为0x01内存储的数据0x004.地址逐步加1顺序改变地址管脚电压,此时IO顺序输出地址内存储的数据0x00;5.逐步加完所有的地址直到地址管脚A21-A0全变为1;即读完了所有地址的数据;9.VOL测试测试方法、条件:1.2.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向任意地址写003.设置OE,CE为低电平,读该地址数据,此时IO输出数据00;4.给IO加4..0mA电流,读IO pin 电压;10.擦除整个chip测试方法、条件:1. VCC=,2. 向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x103. 等待56 S 擦除完成,此时芯片内的数据都为0xFF11.CHECKBOARD测试测试方法、条件:=2.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向page0初始地址0x00 写00,3. 地址增加1,即向地址0x01写FF4. 逐步增加地址,同时向地址内交错写入数据00和FF,直到写满1个page;5. 重复2-4过程,更改page初始地址,向奇数page,交错写入55/AA,向偶数page,交错写入AA/55,直到写满整个CHIP;6.设置OE,CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据,即读出步骤2-5写入的数据7.地址加1地址管脚A0变为1,其他地址不变,此时IO输出地址为0x01内存储的数据8.地址逐步加1顺序改变地址管脚电压,此时IO顺序输出地址内存储的数据;9.逐步加完所有的地址直到地址管脚A21-A0全变为1;即读完了所有地址的数据;10.重复一遍2-9操作,向奇数page,交错写入AA/55,向偶数page,交错写入55/AA,12.擦除整个chip测试方法、条件:1. VCC=,2. 向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x103. 等待56 S 擦除完成,此时芯片内的数据都为0xFF13.DIAGNOL测试测试方法、条件:=2.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向page0初始地址0x00 写553. 地址增加1,即向地址0x01写AA4. 逐步增加地址,同时向地址内写入数据AA,直到写满1个page;5. 重复2-4过程,更改page初始地址,向page1,地址0x00写入AA,地址0x01写入0x55,之后每page 地址增加1,则往page内的对应地址写0x55,其他地址都写入0XAA6.设置OE,CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据,即读出步骤2-5写入的数据7.地址加1地址管脚A0变为1,其他地址不变,此时IO输出地址为0x01内存储的数据8.地址逐步加1顺序改变地址管脚电压,此时IO顺序输出地址内存储的数据;9.逐步加完所有的地址直到地址管脚A21-A0全变为1;即读完了所有地址的数据;10.重复一遍2-9操作,向对应page内的地址写0xAA,其他的都写0x55;14.DEVICE_ID测试15.BYPASS_WRITE测试16.8BIT的CHECKBOARD测试17.SECTOR_PROTECT测试18.AC参数的测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NOR Flash 存储器测试方法介绍一、NOR FLASH简介NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失。

NOR FLASH支持Execute ON Chip,即程序可以直接在FLASH片内执行。

这点和NAND FLASH不一样。

因此,在嵌入是系统中,NOR FLASH很适合作为启动程序的存储介质。

NOR FLASH的读取和RAM很类似,但不可以直接进行写操作。

对NOR FLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。

从支持的最小访问单元来看,NOR FLASH一般分为8 位的和16位的(当然,也有很多NOR FLASH芯片同时支持8位模式和是16 位模式,具体的工作模式通过特定的管脚进行选择) 。

对8位的NOR FLASH芯片,或是工作在8-BIT模式的芯片来说,一个地址对应一个BYTE(8-BIT)的数据。

在对FLASH进行写操作的时候,每个BIT可以通过编程由1变为0,但不可以有0修改为1。

为了保证写操作的正确性,在执行写操作前,都要执行擦除操作。

擦除操作会把FLASH 的一个SECTOR,一个BANK或是整片FLASH 的值全修改为0xFF。

这样,写操作就可以正确完成了。

1. 8-BIT的NOR FLASH例如一块8-BIT的NOR FLASH,假设容量为4个BYTE。

那芯片应该有8个数据信号D7-D0 和2个地址信号,A1-A0。

地址0x0对应第0个BYTE,地址0x1对应于第1BYTE,地址0x2对应于第2个BYTE,而地址0x3则对应于第3 个BYTE2. 16-BIT的NOR FLASH对16位的NOR FLASH芯片,或是工作在16-BIT模式的芯片来说,一个地址对应于一个HALF-WORD(16-BIT)的数据。

例如,一块16-BIT的NOR FLASH,假设其容量为4个BYTE。

那芯片应该有16 个数据信号线D15-D0 和1个地址信号A0。

地址0x0对应于芯片内部的第0个HALF-WORD,地址0x1对应于芯片内部的第1个HALF-WORD。

3. NOR Flash结构FLASH一般都分为很多个SECTOR,每个SECTOR包括一定数量的存储单元。

对有些大容量的FLASH,还分为不同的BANK,每个BANK包括一定数目的SECTOR。

FLASH的擦除操作一般都是以SECTOR,BANK或是整片FLASH为单位的。

二、芯片资料本文档以SPANSION公司的S29JL064H芯片为例说明(芯片详细信息参见datasheet)。

该芯片是一个64 Megabit (8 M x 8-Bit/4 M x 16-Bit)的Nor Flash 芯片。

1. 管脚说明如下A21–A0 22 AddressesDQ14–DQ0 15 Data Inputs/Outputs (x16-only devices)DQ15/A-1 DQ15 (Data Input/Output, word mode), A-1 (LSBAddress Input, byte mode)CE# Chip EnableOE# Output EnableWE# Write EnableWP#/ACC Hardware Write Protect/Acceleration PinRESET#=Hardware Reset Pin, Active Low BYTE# Selects 8-bit or 16-bit modeRY/BY# Ready/Busy OutputVCC 3.0 volt-only single power supply(see Product Selector Guide for speedoptions and voltage supply tolerances)VSS Device GroundNC=Pin Not Connected Internally2. 芯片的Bus Operations 如下:3.芯片的Command Definitions4.解释说明1、读模式:读由#CE 和#OE 控制:当两者都为低电平时,才可以从FlashROM 中读取数据2、写模式:FlashROM 的编程的基本单位是“页”,每一“页”包含一定的数据(一般为128 字节或256 字节)。

如果要修改一“页”中的某一个字节的数据,需要将这一“页”的数据全部读出,修改指定的字节,再写回至FlashROM中。

在写入每一“页”的时候,如果该“页”的某个字节没有被写入FlashROM,那么FlashROM 中的对应位置上的数据将会被擦除为0xFF。

(即在写入时都是只允许将“1”改成“0”,而不允许将“0”改成“1”。

)一般是#CE 和#WE 为低电平且#OE 为高电平:写操作过程通常包括两个步骤:1)第一步是字节装载周期,在这个周期中主CPU将一页的数据写入FlashROM的页缓冲区;2)第二步是内部编程周期,在这个周期中FlashROM 的页缓冲区的内容被同时写入FlashROM 的非挥发存储器阵列注:在字节装载周期中,在#CE 或#WE 的下降沿两者出现的较晚的时刻地址被锁存,在#CE 或#WE 的上升沿两者出现较早的时刻数据被锁存。

进入写操作之前要写入的命令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,退出写操作需要写入的命令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x20。

检测Product ID 需写入的指令序列为:向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x60;然后从地址0 上读取厂商代码,从地址1 上读取产品代码;退出该模式需写入的指令序列为:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xF0清除状态寄存器内容的一组指令是:向地址0x5555 写入0xAA向地址0x2AAA 写入0x55、向地址0x5555 写入0x50。

Nor Flash支持扇区擦(Sector Erase)除和整片擦除(Chip Erase)块擦除。

向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x30。

全片擦除:向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x10。

三、测试方法及流程1.开短路测试测试方法、条件:1.I=-100uA2.I=100uA2.Leakage测试测试方法、条件:1. 测IIL: VCC=3.6V,input pin 加0 V,测试input pin电流2. 测IIH: VCC=3.6V,input pin 加3.6V,测试input pin电流3. 测IOZH:VCC=3.6V,由bus operations可知当CE为高IO pin处于HIGH Z状态,所以给CE加3.6V,IO pin加3.6V,测试IO pin电流4. 测IOZL:VCC=3.6V,由bus operations可知当CE为高IO pin处于HIGH Z状态,所以给CE加3.6V,IO pin加0V,测试IO pin电流3.擦除整个chip测试方法、条件:1. VCC=3.3V,2. 向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x103. 等待56 S 擦除完成,此时芯片内的数据都为0xFF4.工作电流测试5.Standby电流测试6.读所有chip 0xFF测试测试方法、条件:1.VCC=3.3V2.设置#OE,#CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据0xFF.3.地址加1(地址管脚A0变为1,其他地址不变),此时IO输出地址为0x01内存储的数据0xFF.4.地址逐步加1(顺序改变地址管脚电压),此时IO顺序输出地址内存储的数据0xFF。

5.逐步加完所有的地址直到地址管脚A21-A0全变为1。

即读完了所有地址的数据。

7.VOH,测试测试方法、条件:1.VCC=3.3V2.设置#OE,#CE为低电平,给任意地址,此时IO输出数据。

3.给IO加-2.0mA电流,读IO pin 电压。

8.写并且读所有chip 0xFF测试测试方法、条件:1.VCC=3.3V3.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向page0初始地址0x00 写#00,2. 地址增加1,即向地址0x01写003. 逐步增加地址,同时向地址内写入数据,直到写满1个page。

4. 重复1-3过程,更改page初始地址,依次向page1,2,3,4....写入00,直到写满整个CHIP。

2.设置#OE,#CE为低电平,地址管脚A21-A0设为00,,此时IO输出地址为0x00内存储的数据0xFF.3.地址加1(地址管脚A0变为1,其他地址不变),此时IO输出地址为0x01内存储的数据0x004.地址逐步加1(顺序改变地址管脚电压),此时IO顺序输出地址内存储的数据0x00。

5.逐步加完所有的地址直到地址管脚A21-A0全变为1。

即读完了所有地址的数据。

9.VOL测试测试方法、条件:1.2.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向任意地址写#003.设置#OE,#CE为低电平,读该地址数据,此时IO输出数据#00。

4.给IO加4..0mA电流,读IO pin 电压。

10.擦除整个chip测试方法、条件:1. VCC=3.3V,2. 向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x80、向地址0x5555写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0x103. 等待56 S 擦除完成,此时芯片内的数据都为0xFF11.CHECKBOARD测试测试方法、条件:1.VCC=3.3V2.向地址0x5555 写入0xAA、向地址0x2AAA 写入0x55、向地址0x5555 写入0xA0,向page0初始地址0x00 写#00,3. 地址增加1,即向地址0x01写#FF4. 逐步增加地址,同时向地址内交错写入数据00和FF,直到写满1个page。

相关文档
最新文档