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位的數據竄擾。

相關文章
相關標籤/搜索