Forum: Mikrocontroller und Digitale Elektronik EEprom Datenverlust (AT25128)


von Thomas B. (soso)


Lesenswert?

Hallo ihr alle,
ich hoffe es kann mir jemand von euch vielleicht einen Tip geben...
Ich habe ein Design mit einen ARM7 (Atmel  sam7x256)und einen AT25128 
als EEprom...
diese Kombi ist Tausend mal verwendet und lief immer gut nur beim 
Heutigen mal nicht, denn ab und zu verliert das EEprom seine Daten und 
ist nach dem Neustart leer.
Leider, wie es immer so ist, kann ich es nicht nachstellen unterwelchen 
Bedingungen es auftritt. Wärend Versuchen und Messungen ist es mir nicht 
gelungen dies zu reproduzieren.

Hätte einer von euch noch eine Idee was ich mir anschauen sollte um 
herauszufinden weshalb dies auftritt.

als Randbemerkung:
-Es werden größere Lasten in der nähegeschaltet(bis 48V 6A)
-Die Spannungsversorgung ist aus den 48V über einen schaltregler auf 5v 
und dann mit einen LDO 3.3V realisiert
-SPI arbeitet mit 2Mhz und hat sich bewährt

mir gehen leider die Ideen aus
Ich danke euch schon jetzt für eure Unterstützung

von Der Mann im Mond (Gast)


Lesenswert?

Hast Du den EEPROM schon getauscht?

Evtl. ist nur das Teil defekt.

Ich hatte das schon bei je 1x 24cxx und 93cxx, die waren als Neuteil 
schon defekt.

von Peter D. (peda)


Lesenswert?

Hat der MC einen ordentlichen Reset mit Unterspannungserkennung?
Wenn nicht, dann kann der MC bei Unterspannung spinnen und Mumpitz in 
den EEPROM schreiben.

Hat der EEPROM mindestens einen Pullup am /CS?
Wenn nicht, dann floaten ja die Anschlüsse des EEPROM, solange der MC in 
Reset ist und dann können Störimpulse auf die floatenden Pins einkoppeln 
und Mumpitz in den EEPROM schreiben.
Es schadet auch nichts, sämtliche Anschlüsse zum EEPROM mit Pullup zu 
versehen.
Zusätzlich kann man den /WP mit nem Pulldown versehen oder einem 
Reset-IC, der low ausgibt.


Viele machen sich leider keinen Kopf, was beim Power-Up und Power-Down 
passiert und wundern sich dann, warum der EEPROM spinnt.

Deutlich besser geschützt sind I2C-EEPROMs, da die Schreibsequenz so 
komplex ist, daß zufällige Störungen sie kaum erzeugen können. Außerdem 
halten die Pullups den I2C-Bus in einem definierten Zustand beim Reset 
oder Unterspannung.


Peter

von Maier (Gast)


Lesenswert?

Was ist den wirklich der Inhalt des EEProm? Also 0xFF, 0x00 oder 
Datenmüll?
Leer ist ja 0xFF dann würde ich das Teil einfach mal austauschen...

von Bronco (Gast)


Lesenswert?

Ist es wirklich leer oder steht irgendwas drinn?
Ist das ganze EEPROM komplett leer oder nur ein Teil verloren?
Hast Du Spannungsversorgung und Schreibzeiten für Worst-Case im 
Datenblatt eingehalten?
Hast Du Unterspannung angefangen (Brown-Out)?
Hast Du ggf. die Schreibzyklen schon überschritten, weil Deine SW zu oft 
hineinschreibt?
Wird die Spannung abgeschaltet, während der µC ins EEPROM schreibt?
Blockkondensatoren und Pullups korrekt?

von Thomas B. (soso)


Lesenswert?

Hallo
sorry das ich mich jetzt erst wieder melde ...(Krank)
Also Ich kann sagen das die Lese und Schreib zugriffe laufen sauber...
auch das EEprom ist ganz und lässt sich beschreiben und wieder Auslesen.
Die Lebensdauer an schreibzyklen sollte auch nicht ansatzweise erreicht 
sein.
Es ist der Fall das teile der Daten also einzelne Bits(teilweise ganze 
Blöcke) auf FF wieder gesetzt werden...
Wie schon gesagt die Beschaltung ist Hundertfach im einsatz auch dieses 
modul und ich schaffe es nicht den Fehler auf dem Labortisch 
nachzustellen.

Meine aktuelle Vermutung ist das dies durch eine Fremdeinspeisung 
geschieht wenn das Modul ausgeschaltet ist und im System hängt. Ein 
Kurzer Impuls bei langer Verkabelung eingestreut .... könnte das sein?

Das Modul ist gut geschützt gegen Verpolung und Überspannung in allen 
Spannungsebenen separat auch hat das eeprom einen 100nF zum entstören.

von holger (Gast)


Lesenswert?

>Es ist der Fall das teile der Daten also einzelne Bits(teilweise ganze
>Blöcke) auf FF wieder gesetzt werden...

Wie sieht das aus im HEX Listing? Sind es ganze Pages, Sektoren
oder nur zufällig mal 10 0xFF an der falschen Stelle? Sind es immer
die gleichen Stellen die zerstört werden?

>Ein Kurzer Impuls bei langer Verkabelung eingestreut .... könnte das sein?

Ich denke nicht. Die Sequenz zum schreiben ist so komplex
das EIN Impuls nicht reicht. Und das mehrere Impulse
eine Schreibsequenz ergeben ist zwar möglich, aber auch nicht 
wahrscheinlich.

Gefährlich ist auch ein unkontrolliertes runterfahren des Systems.
Oder kurze Spannungseinbrüche beim schreiben.
Wenn eine Lösch/Schreibsequenz unterbrochen wird könnte ich mir
komische Daten im EEPROM schon vorstellen.

von Peter D. (peda)


Lesenswert?

Thomas B. schrieb:
> Wie schon gesagt die Beschaltung ist Hundertfach im einsatz

Das sagt garnichts.

Wenn Du die obigen beiden Punkte nicht beachtest, ist und bleibt Dein 
Design unsicher.

Beitrag #5285920 wurde von einem Moderator gelöscht.
Beitrag #5285922 wurde von einem Moderator gelöscht.
Beitrag #5285924 wurde von einem Moderator gelöscht.
Beitrag #5286320 wurde von einem Moderator gelöscht.
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.