新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > I2C總線應(yīng)用下的EEPROM測試

I2C總線應(yīng)用下的EEPROM測試

作者: 時間:2012-04-13 來源:網(wǎng)絡(luò) 收藏

假設(shè)我們這里每個字節(jié)寫入相同的數(shù)據(jù)(如00或FF等),那么在這種情況下,要是Word address counter無法正常工作,那么我們寫入或讀取的可能是部分地址所指向的EEpromArray中的bit位,而且無法保證xdec和ydec能正常****行地址和列地址,譬如說我們對“10101010”word address所指向的字節(jié)寫入00,如果讀取“101010”這個地址數(shù)據(jù)時,Word address counter、xdec、ydec任意單元發(fā)生了錯誤,那么最終我們讀取到的數(shù)據(jù)就不是“10101010”這個地址所指向的字節(jié)數(shù)據(jù),也就是說因為每個字節(jié)數(shù)據(jù)是一樣的,所以即使寫入和讀取的地址發(fā)生了錯位,我們也會認為是通過的。

由此可見,要保證Word address counter、xdec、ydec等單元正常工作,我們寫入的數(shù)據(jù)必須滿足下列三個條件:

①寫入 Array的每一行數(shù)據(jù)不一樣(驗證xdec單元);

②寫入 Array的每一列數(shù)據(jù)不一樣(驗證ydec單元);

③寫入 Array的每一個字節(jié)數(shù)據(jù)不一樣(驗證Word address counter單元);

這就是我們選擇寫入00~FF的理由(當然也可以選擇寫入其他數(shù)據(jù),只要符合上述最后一個條件即可)。

(2)每個字節(jié)寫入數(shù)據(jù)00,讀取看是否與寫入的一致

通過上述第一項,其實已經(jīng)可以基本保證芯片各單元能正常工作,接下來只需驗證EEPROM Array(2Kbit)中的每個bit位是否良好,這里寫入數(shù)據(jù)00,可排除EEPROM Array(2Kbit)中恒為“1”的bit位。

(3)每個字節(jié)寫入數(shù)據(jù)FF,讀取看是否與寫入的一致

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

(4)從00H地址開始寫入4個字節(jié)55,接著寫入4個字節(jié)AA,如此重復(fù),直至寫滿256個字節(jié),讀取看是否與寫入的一致。

EEPROM Array中相鄰bit位(包括行相鄰、列相鄰、對角線相鄰)會互相影響。

而24LC02的EEPROM Array分為4列×64行×8bit,所以我們寫入上述的數(shù)據(jù)使得每個相鄰bit位的數(shù)據(jù)都不一樣,經(jīng)過該項測試可排除相鄰bit位的數(shù)據(jù)竄擾。最好是再測試一下寫入4個字節(jié)AA,寫入4個字節(jié)55……,看讀取與寫入的是否一致。

到此我們完成了全部的功能測試。24LC02讀寫時有page write、byte write、random read、Sequentialread等各種工作模式以及writeprotect功能,這些測試都比較簡單,這里就不再一一贅述了。

由此,我們概括出EEPROM的一般測試方法:

(1)每個字節(jié)寫入random code,讀取驗證是否與寫入時一致,從而測試Word address counter、xdec、ydec等單元是否能正常工作;Random code需要滿足下面這個條件:寫入EEPROMArray的每一個字節(jié)數(shù)據(jù)不一樣。

(2)每個字節(jié)寫入數(shù)據(jù)00或FF,讀取驗證是否與寫入時一致,排除EEPROM Array中恒“0”或恒“1”的bit位。

(3)對EEPROM Array寫入相鄰bit位(包括行相鄰、列相鄰、對角線相鄰)都不一樣的數(shù)據(jù),讀取驗證是否與寫入時一致,排除相鄰bit位的數(shù)據(jù)竄擾。


上一頁 1 2 下一頁

關(guān)鍵詞: EEPROM I2C 總線 測試

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉