Anhang C. Programmierung von I2C-
EEPROM
Das AnaGate I2C und der AnaGate Universal Programmer eignen sich u.a. auch
für die Programmierung von seriellen I2C-EEPROM. Zur Unterstützung dieser
speziellen Anforderung werden die beiden API-Funktionen I2CReadEEProm und
I2CWriteEEProm zur Verfügung gestellt.
Wie alle I2C-fähigen Bausteine werden auch EEPROM über die Angabe einer Slave-
Adresse auf dem I2C-Bus adressiert (siehe hierzu auch Anhang B, Adressierung
auf dem I2C-Bus ). Bei diesen Bausteintypen ist der sogenannte Device Type
Identifier auf 0xA festgelegt. Grundsätzlich können damit 8 gleichartige Bausteine
angeschlossen werden und über die Angabe der Chip Enable Bits E0, E1 und E0
adressiert werden.
Der Beginn einer Übertragung wird mit dem Start-Signal vom Master angezeigt,
dann folgt die Slave-Adresse. Diese wird durch das ACK-Bit vom entsprechenden
Slave bestätigt. Abhängig vom R/W-Bit werden nun Daten Byte-weise geschrieben
(Daten an Slave) oder gelesen (Daten vom Slave). Das ACK beim Schreiben wird
vom Slave gesendet und beim Lesen vom Master. Das letzte Byte eines Lesezugriffs
wird vom Master mit einem NAK quittiert, um das Ende der Übertragung anzuzeigen.
Eine Übertragung wird durch das Stop-Signal beendet.
Nach der Übertragung der Slave-Adresse wird die Speicheradresse gesendet, ab der
Daten auf dem Chip gelesen oder geschrieben werden sollen. Die Speicheradresse
wird je nach EEPROM-Typ als einzelnes Byte (8 Bit) oder zwei Bytes (16 Bit, MSB
zuerst) übertragen.
Um den Adressraum von 8 bzw. 16 Bit zu erweitern, werden bei diversen Bausteinen
teilweise die Chip Enable Bits E0, E1, E2 zusätzlich zur Adressierung verwendet.
Welche der Bits im Einzelfall als Adress-Bits verwendet werden, definiert der Chip-
Hersteller. Im folgenden sind alle möglichen Variationen aufgelistet.
1
Modus
0x0
0x1
0x2
0x3
0x5
Verwendung Beschreibung
E2-E1-E0
Nur zur Auswahl des Chips, enthält keine Adressbits.
E2-E1-A0
Das E0-Bit wird für die Adressierung verwendet. Es
entspricht dabei dem Adressbit A8 bzw. A16.
E2-A1-A0
Die Bits E0 und E1 werden für die Adressierung
verwendet. E0 entspricht dabei dem Adressbit A8 bzw.
A16 und E1 dem Adressbit A9 bzw. A17.
A2-A1-A0
E0, E1 und E2 werden für die Adressierung verwendet.
E0 entspricht dabei dem Adressbit A8 bzw. A16, E1 dem
Adressbit A9 bzw. A17 und E2 dem Adressbit A10 bzw.
A18.
A0-E1-E0
Das E2-Bit wird für die Adressierung verwendet. Es
entspricht dabei dem Adressbit A8 bzw. A16.
177
© 2007-2015 Analytica GmbH