Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem EEPROM eines 68HC11


von Andreas S. (schunki)


Lesenswert?

Hallo zusammen!

Ich habe hier ein Gerät mit einem Motorola 68HC11F1 µC. Bei dem Gerät 
hat der ursprüngliche Programmierer jede Menge Parameter, die 
hauptsächlich über ein paar Tasten eingestellt werden können, zur 
Speicherung ins EEPROM des Controllers gepackt. Unter anderem auch zwei 
Parameter, die stündlich ausgelesen, neu berechnet und dann wieder neu 
beschrieben werden. Einer dieser beiden Parameter sind die 
Betriebsstunden und der andere ist ein Parameter zur Steuerung des 
Geräts. Da nach etwa 1,5 Jahren Betriebszeit an diesen Gerät nun immer 
wieder merkwürdige Fehler auftreten, bin ich genau an dieser Stelle 
jetzt nach des Rätsels Lösung am suchen, da ich bei einem fehlerhaften 
Gerät an dem zweiten genannten Parameter einen Wert ausgelesen habe, der 
da eigentlich gar nicht drin stehen kann. Ich bin daher auf die Idee 
gekommen, einmal die Anzahl der Schreibvorgänge zu berechnen und siehe 
da bei stündlichem Schreibvorgang und 24/7-Betrieb komme ich nach diesem 
Zeitraum auf knapp 13000 Schreibvorgänge, was damit wohl die im 
Datenblatt angegebenen 10000 Zyklen leicht überschreitet!

Soweit so gut! Jetzt kommen mit dieser Erkenntnis nur zwei Probleme und 
damit auch zwei Fragen auf.

1.
Die Speicherung der Betriebsstunden, die ja ebenfalls stündlich erfolgt, 
verläuft aber bis dahin immer Reibungslos. Es ist immer der andere 
Parameter der mit sinnlosen Werten im EEPROM steht. Die Betriebsstunden 
werden immer einwandfrei ausgelesen. Kann es sein, dass dies etwas mit 
der Speicherposition zu tun hat (Betriebsstunden 0x0E72 und 0x0E73 und 
der zweite Parameter steht ganz vorne im EEPROM auf 0x0E002)?

2.
Da der falsch eingelesene Wert aber die auftretenden Fehler immer noch 
nicht ganz erklärt wäre hier die Frage ob die evtl. zerstörte 
Speicherzelle im EEPROM vielleicht Auswirkungen auf Nachbarzellen hat?


Ich danke Euch schon im Voraus für Eure Antworten!


Gruß
Andreas

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Passiert das bei EINEM Mikocontroller oder bei einer ganzen Kiste voll 
und es ist immer nur der weiter vorne stehende Parameter betroffen?
Wenn nur einer, dann ist es wohl Zufall dass die vordere Zelle zuerst 
ausleiert.
Nutzt ihr den ganzen EEPROM Speicher oder nur ein paar Byte davon.
Wenn viel EEROM ungenutzt ist, könnte man die Schreibzugriffe auf mehr 
Zellen verteilen.
Gäbe es auch die Möglichkeit, die Daten im RAM zu halten und nur bei 
Netzausfall, bevor die Siebelkos leer werden, zu schreiben.
Der 68HC11 ist alt und 10000 Schreibzugriffe war damals ein sehr guter 
Wert, heute hält mancher Chip mehr aus.

von Andreas S. (schunki)


Lesenswert?

Nein, das ist nicht nur bei einem einzelnen Controller der Fall, sondern 
tritt bei der ganzen Produktionsreihe von uns auf.
Das interne EEPROM des HC6811 ist recht gut belegt, da neben den beiden 
genannten Parametern noch eine Vielzahl an anderer Einstellparametern in 
diesem abgespeichert werden.
Den betroffenen Parameter hab ich jetzt als globale Variable angelegt. 
Damit ist die Funktion bis auf eine kleine Einschränkung, die aber nicht 
wirklich bedeutend ist, auch gegeben. Jedoch ist es mir immer noch ein 
Rätsel, warum nur die Speicherposition 0x0E02 betroffen ist und die 
andere genau so fluktuierte Speicherzelle ohne Probleme arbeitet. Ich 
werde wohl morgen mal an einer Anlage schauen, ob im Moment des 
Abspeicherns durch die von der Änderung des Parameters ausgelösten 
Schaltvorgänge irgendwelche Spannungsspitzen oder Einbrüche entstehen, 
die dafür sorgen könnten, dass genau diese Zelle immer das zeitliche 
segnet!

Gruß
Andreas

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.