1、概述EEPROM特點
各型號EEPROM內存大小:
型號 | 內存大小 | 字地址長度 | WP腳 |
AT24C02 | 2K(256字節) | 一個字節0xff(256) | 高電平寫保護,低電平取消寫保護 |
AT24C04 | 4K(512字節) | 兩個字節 | 高電平寫保護,低電平取消寫保護 |
AT24C32 | 32K(4096字節) | 兩個字節 | 高電平寫保護,低電平取消寫保護 |
AT24C64 | 64k(8192字節) | 兩個字節 | 高電平寫保護,低電平取消寫保護 |
(1)存儲結構
(2)EEPROM的寫入方式有兩種:
- 單字節寫入
- 頁寫,每種型號EEPROM 頁的字節數不同(24C02器件按8字節/頁執行頁寫,24C04/08/16器件按16字節/頁執行頁寫,24C32/64器件按32字節/頁執行頁寫)。
(3)地址特點
- 地址輸入----A2、A1和A0是器件地址輸入引腳。
- 24C02/32/64使用A2、A1和A0輸入引腳作為硬件地址,總線上可同時級聯8個24C02/32/64器件(詳見器件尋址)。
- 24C04使用A2和A1輸入引腳作為硬件地址,總線上可同時級聯4個24C04器件,A0為空腳,可接地。
- 24C08使用A2輸入引腳作為硬件地址,總線上可同時級聯2個24C08器件,A0和A1為空腳,可接地。
- 24C16未使用器件地址引腳,總線上最多只可連接一個16K器件,A2、A1和A0為空腳,可接地。
2、AT24C02使用i2ctransfer讀寫測試:
i2ctransfer可以對i2c掛載的設備進行讀寫,具體用法:
(1)查看i2c總線有幾路
(2)查看總線上掛載設備的地址
(3)讀操作:
如下i2ctransfer指令代表寫入一個字節的子地址0x00,然后讀取0x00為起始地址的256個字的數據,如果EEPROM內存超過8X256(2K)小於8x65535個字節,則子地址為兩個字節。
共有256個字節,現在全為空。
(4)寫操作
- 寫8個字節的數據;
- 寫入9個字節數據:
- 寫16個字節數據:
通過上面的讀寫實驗可知:
AT24C02單次寫入單字節都是沒有問題的,但是寫入9個字節,第9個字節數據會覆蓋掉第一個字節的數據。寫入16個字節數據,同樣只在前8個字節寫入。
AT24C02的頁大小為8個字節,說明I2C寫數據到AT24C02的時候,最多一次寫入一頁。單次寫入的數據超過一頁或者跨頁寫,則會從起始地址重新開始寫入,會覆蓋掉已經寫入的前8個字節數據。
由此說明:EEPROM只有單字節寫入和頁寫兩種方式才能正確的寫入數據。
I2C讀寫時序分析可參考:I2C讀寫EEPROM