PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielles (IIC) EEPROM richtig auslesen??



Kandy
01.06.2008, 09:49
Hallo zusammen,
ich habe Probleme beim auslesen eines seriellen EEPROMs. Und zwar möchte ich den ganzen EEPROM (64K * 8Bit) auf einmal von der kleinsten bis zur größten Adresse auslesen und die Daten über eine UART Schnittstelle zum PC übertragen, sodass ich mir die Daten sichern und weiterverarbeiten kann.
Der Speicherbaustein hat also eine interne 16Bit Adressierung. Diese 65536 Speicherzellen sind in 512 Segmente zu je 128 Byte unterteilt. Der EEPROM bietet die Möglichkeit einzelne Segmente mit fortlaufender Adressinkrementierung auszulesen, was bedeutet, dass einzelne Segmente (128Byte) ausgelesen werden können, ohne dass eine STOP-, Start- oder Adresscondition benötigt wird.
Nun mein Problem:
Ich lese nacheinander die Segmente aus, jedoch klappt das nur mit den ersten 3 Segmenten. Ab dem 4. werden Sie nur noch bis zur Hälfte gelesen, bevor zum folgenden Segment gewechselt wird. Jedenfalls sieht das in meinem Log-File so aus.
Was mich wundert ist, dass die ersten 3 richtig ausgelesen werden, weil der Code für jedes Segment der selbe ist(Schleife).

Kann mir vielleicht jemand weiterhelfen?


Grüßle Andy

PICture
01.06.2008, 15:52
Hallo Kandy!

Mir scheint es ein Problem mit der Baudrate zu sein. Angeblich ist die Differenz bzw. Unstabilität so groß, dass der Fehler sich nur für die erste drei Segmente in der Toleranz hält.

Wenn so ist, gibt es zwei Möglichkeiten:

1. Nach jedem Segment stoppen und neustarten (einfach).
2. Die Frequenzen miteinander sehr genau abstimmen (Quarz).

MfG