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
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.
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
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...
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?
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.
>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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.