I2C总线应用下的EEPROM测试

(1)每一个字节写入随机码数据,这里随机码咱们选择00~FF,共256 bytes,读取看与写入的是否一致dom

若是该项测试经过,说明芯片基本上工做正常,但不能保证EEPROMArray(2Kbit)全部bit位都能正常写入数据。测试

这里每一个字节写入00-FF保证了写入每一个word address的数据都不同,其目的是验证Word address counter、xdec、ydec等单元是否能正常工做。code

假设咱们这里每一个字节写入相同的数据(如00或FF等),那么在这种状况下,要是Word address counter没法正常工做,那么咱们写入或读取的多是部分地址所指向的EEpromArray中的bit位,并且没法保证xdec和ydec能正常解码行地址和列地址,譬如说咱们对“10101010”word address所指向的字节写入00,若是读取“101010”这个地址数据时,Word address counter、xdec、ydec任意单元发生了错误,那么最终咱们读取到的数据就不是“10101010”这个地址所指向的字节数据,也就是说由于每一个字节数据是同样的,因此即便写入和读取的地址发生了错位,咱们也会认为测试是经过的。it

因而可知,要保证Word address counter、xdec、ydec等单元正常工做,咱们写入的数据必须知足下列三个条件:

①写入EEPROM Array的每一行数据不同(验证xdec单元);

②写入EEPROM Array的每一列数据不同(验证ydec单元);

③写入EEPROM Array的每个字节数据不同(验证Word address counter单元);方法

这就是咱们选择写入00~FF的理由(固然也能够选择写入其余数据,只要符合上述最后一个条件便可)。数据

(2)每一个字节写入数据00,读取看是否与写入的一致word

经过上述第一项测试,其实已经能够基本保证芯片各单元能正常工做,接下来只需测试验证EEPROM Array(2Kbit)中的每一个bit位是否良好,这里写入数据00,可排除EEPROM Array(2Kbit)中恒为“1”的bit位。co

(3)每一个字节写入数据FF,读取看是否与写入的一致工作

可排除EEPROM Array(2Kbit)中恒为“0”的b“位。错误

(4)从00H地址开始写入4个字节55,接着写入4个字节AA,如此重复,直至写满256个字节,读取看是否与写入的一致。

EEPROM Array中相邻bit位(包括行相邻、列相邻、对角线相邻)会互相影响。

而24LC02的EEPROM Array分为4列×64行×8bit,因此咱们写入上述的数据使得每一个相邻bit位的数据都不同,通过该项测试可排除相邻bit位的数据窜扰。最好是再测试一下写入4个字节AA,写入4个字节55……,看读取与写入的是否一致。

到此咱们完成了所有的功能测试。24LC02读写时有page write、byte write、random read、Sequentialread等各类工做模式以及writeprotect功能,这些测试都比较简单,这里就再也不一一赘述了。

由此,咱们归纳出EEPROM的通常测试方法:

(1)每一个字节写入random code,读取验证是否与写入时一致,从而测试Word address counter、xdec、ydec等单元是否能正常工做;Random code须要知足下面这个条件:写入EEPROMArray的每个字节数据不同。

(2)每一个字节写入数据00或FF,读取验证是否与写入时一致,排除EEPROM Array中恒“0”或恒“1”的bit位。

(3)对EEPROM Array写入相邻bit位(包括行相邻、列相邻、对角线相邻)都不同的数据,读取验证是否与写入时一致,排除相邻bit位的数据窜扰。

相关文章
相关标签/搜索