EEPROM 24FC1025
1MBit(128KByte)の EEPROMI2Cアドレスが2個存在し、512KBit(64KByte) x 2個のEEPROMとして動作します。
A0 | I2Cアドレスセレクト | |
A1 | ||
A2 | ||
GND | GND | |
Vcc | 2.5V~5.5V | |
WP | 書き込み禁止 | |
SCL | I2C - SCL | |
SDA | I2C - SDA |
I2C アドレスの割り当ては▼表の通り、A2をGNDに接続すると512KBitブロックが一つ動作しなくなります
A0 | A1 | A2 | I2Cアドレス |
---|---|---|---|
GND | GND | GND | 0x50 |
Vcc | GND | GND | 0x51 |
GND | Vcc | GND | 0x52 |
Vcc | Vcc | GND | 0x53 |
GND | GND | Vcc | 0x50 / 0x54 |
Vcc | GND | Vcc | 0x51 / 0x55 |
GND | Vcc | Vcc | 0x52 / 0x56 |
Vcc | Vcc | Vcc | 0x53 / 0x57 |
データの書き込み手順
24FC1025は 128Byte x 512Pageで構成されています。連続書き込み時にはページ境界を超えることが出来ません。
ページ境界を跨ぐ場合には、一旦トランザクションを終了し、開始アドレスを設定しなおす必要があります。
読み込み時にはページ境界の影響を受けません。
データ書き込み(1バイト)
データ書き込み(複数バイト)
書き込みアドレスは下位7ビットのみインクリメントされ、上位ビットはインクリメントされません。
ページの境界を超えた書き込みは出来ないと言う事です。
アドレス[B01111111]の次はアドレス[B00000000]に対して書き込みが行われます。
データの読み込み(1バイト)
読み込み開始アドレスを指定するコマンドはないのでダミー書き込みを行ってから読み込みを行います。
※連続して読み込む場合、2バイト目以降はダミー書き込みを行わなくても、読み込むたびに読み込みアドレスがインクリメントされます。
データの読み込み(複数バイト)
読み込み開始アドレスを指定するコマンドはないのでダミー書き込みを行ってから読み込みを行います。
読み込み時にはページ境界は問題にならないようです。
※書き込み後にI2Cバスが解放されるまで最大10msのタイムラグがあります。
※書き込み/読み込み、書き込み/書き込みを連続して行うと開始処理に失敗する場合がありますのでエラー処理を入れた方が良いです。