Forum: Mikrocontroller und Digitale Elektronik AT24C512SC EEPROM Chipkarte


von Uhu U. (uhu)


Lesenswert?

Ich versuche, diese I²C EEPROM-Chipkarte mit einem MSP430F2012 mit 
Hardware-I²C byteweise zu beschreiben.

Wenn ich im Einzelschritt durch mein ASM-Programm gehe, quittiert das 
EEPROM die I²C-Adresse, die Zieladresse im PROM und das Datenbyte wie 
erwartet mit ACK.

Die Stop Condition wird auch einwandfrei geschickt - wie ich auf dem 
Oszi sehe.

Wenn ich das Programm in Echtzeit 4 Byte nacheinander schreiben lasse, 
kommt nach dem Schreiben der Zieladresse und des 3 Datenbytes ein NAK 
zurück.

Laut Datenblatt braucht das EEPROM 5-10 ms für den Schreibvorgang, der 
mit der Stop Condition ausgelöst wird.

Es sieht also stark danach aus, daß ich einfach zu schnell nach der Stop 
Condition den nächsten Schreibvorgang anwerfe. (Der MSP läuft mit 12 
MHz)

Nachdem ich nach jedem Schreibzyklus 20 ms Wartezeit eingebaut habe, 
kommt er zumindest ohne Fehler zurück.

Eigentlich würde ich erwarten, daß der I²C-Chip bei neuer Adressierung, 
während er noch busy ist, einfach die SCL-Leitung auf low zieht, bis er 
fertig ist, aber offenbar ist das nicht so. Das Datenblatt schweigt sich 
zu dem Thema aus.

Das USI takte ich 32 kHz, die ich noch durch 2 teile.

Hat jemand Erfahrung mit dem EEPROM?

von Tubie (Gast)


Lesenswert?

Das Stichwort heist: ACKNOWLEDGE POLLING


Im Datenblatt eines Bedrahteten 24C512 auf Seite 7 beschrieben.

http://www.datasheetcatalog.org/datasheets/270/160591_DS.pdf


Gruß,
Tubie

von Uhu U. (uhu)


Lesenswert?

Das heißt also, daß das NAK kein Bug, sondern ein Feature ist...
Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.