24C02 auslesen merkwuerdig

Hallo NG.

Ich habe mir ein uC-Board gebaut, auf dem auch ein 24C02 EEPROM sitzt. Nun habe ich es mit dem Board schon geschafft, einen selbst geschriebenen I2C-Master mit mehreren selbstgeschriebenen I2C-Slaves zum Laufen zu bringen. Mit dem EEPROM hapert es allerdings.

Das Beschreiben (Page Write mit 16 Bytes) scheint zu funktionieren, jedenfalls bekomme ich immer ein ACK. Mein LogicAnalyzer kann auch alles wunderbar mitlesen, ob nun etwas schneller oder mit etwa 1kHz Taktfrequenz, alles geht.

Beim Lesen (Sequential Random Read mit 16 Bytes) bekomme ich immer nur die letzten 8 Bytes ausgelesen, danach bekomme ich 8 Bytes Muell.

Beide Male (Schreiben und Lesen) initialisiere ich den internen Address Counter mit Adresse 0.

Beispiel: Schreiben -> 0123456789abcdef Lesen -> 89abcdef........

In einem weiteren Test habe ich dann die Startadresse auf 8 gesetzt. Schreiben -> 0123456789abcdef Lesen -> ........89abcdef

Hat da jemand eine Erklaerung fuer? Hat jemand aehnliche Erfahrungen mit diesem IC gemacht? Was muss ich tun, damit ich den gesamten String lesen kann?

Gruss, Karsten

Reply to
Karsten Busenbender
Loading thread data ...

Bist du sicher, dass dein 24C02 wirklich 16 Byte Page Size hat? Ich hatte mal welche die nur 8 Bytes hatten. Finde das Datenblatt zu genau diesem Chip (incl. Hersteller!) und lies nach.

Irgendwie spricht das fuer 8 Byte Pages...

Gerrit

Reply to
Gerrit Heitsch

Von welchem Hersteller stammt der 24C02? Einige Fabrikate haben nur eine Seitengrösse von 8Bytes im "Page Write", was den von dir beobachteten Effekt erklären würde: die zweiten 8 Byte überschreiben die ersten 8 Byte, die "Müllbytes" sind einfach der unveränderte, alte Speicherinhalt. Beachte auch, daß Du nicht 8 beliebige Bytes schreiben darfst, sondern nur Bytes innerhalb derselben (8Byte-)Page.

Hergen

Reply to
Hergen Lehmann

Ja. Danke fuer die schnellen Antworten. Das ist tatsaechlich das Problem. Ich dachte immer, gleiche Typenbezeichnung, wird schon passen. Nach dem Umprogrammieren laeuft jetzt alles einwandfrei.

Gruss, Karsten

Reply to
Karsten Busenbender

In article , Karsten Busenbender writes: |> Ja. Danke fuer die schnellen Antworten. |> Das ist tatsaechlich das Problem. |> Ich dachte immer, gleiche Typenbezeichnung, wird schon passen.

Bei I2C-EEPROMs? Wo denkst du hin. ST hat seinen 24256ern auch die Adressselektionseingänge wegoptimiert...

--
         Georg Acher, acher@in.tum.de
         http://www.lrr.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.