Forum: Mikrocontroller und Digitale Elektronik PIC: Generelle Frage zu RAM und EEPROM


von Thomas M. (tm112)


Lesenswert?

Hallo Forum,

Eine generelle Frage zum Ablegen von Konstanten im PIC. In einer 
Anwendung (24/7-Betrieb) soll ein Datenstrom auf Zeichen geprüft werden. 
Die (Soll-)Zeichen werden aktuell im EEPROM abgelegt - der PIC lässt 
sich über die RS232 Schnittstelle programmieren. Nach einem Reset liest 
der PIC die Konstanten aus dem EEPROM ein und legt sie im RAM ab, um sie 
mit den (IST-)Zeichen den Datenstroms zu vergleichen. Bei 
Übereinstimmung werden bestimmte Aktionen ausgelöst.

Die Wahl auf diese Variante fiel, weil die indirekte Adressierung / das 
Auslesen des EEPROMs zeitkritisch im Verhältnis zum Einlesen des zu 
vergleichenden Datenstroms ist.

Meine Frage(n): Wie sicher liegen die Konstanten im RAM, wenn der PIC 
praktisch auch mal ein paar Jahre durchläuft bis zum nächsten gewollten 
Reset? Macht es überhaupt einen Unterschied, ob ich dafür das RAM oder 
das EEPROM wähle? Das EEPROM zumindest kann gemäß Datenblatt und ANs 
relativ einfach mit einer REFRESH-Routine belegt werden. Oder brauche 
ich mir keine großen Sorgen machen, dass sich mal ein Bit im Speicher 
"verbiegt"?
Und welche Einflüsse lassen - wenn überhaupt - Daten im RAM / EEPROM 
mutieren?

Wie sind Eure Meinungen oder viel interessanter gar Eure Erfahrungen?

Viele Grüße,
Thomas

von Franko P. (sgssn)


Lesenswert?

Hallo

diese Frage betrifft wohl kaum ausschliesslich PIC's sondern generell 
uC. Eine Speicherzelle in einem uC, der bis praktisch 0 Hz läuft, ist 
als statische Speicherzelle bzw als Register ausgelegt. "Umkippen" von 
Speicherzellen ist mir nur von dynamischen RAM's her bekannt. Ich habe 
derzeit einen PIC in einem Datenlogger laufen, der bis zu 180 Tage am 
Stück läuft. Ich bin gerade in der Testphase. Bisher ist mir aber noch 
kein umkippen oder mutieren einer RAM oder EEPROM-Zelle aufgefallen. 
Also meiner Meinung nach besteht hier keine Gefahr. Eine Gefahr für die 
Stabilität eines uC-Systems besteht primär durch Elektromagnetische 
Störungen, die eingestrahlt oder über eine Leitung auf ein Board 
gelangen.

Gerhard

von Timo Z. (typic)


Lesenswert?

Wie Gerhardt schon sagte ist er zwar theorethisch möglich, aber doch 
sehr unwahrscheinlich, das Daten verloren gehen. Also bei EEPROMS sagt 
man so grob 100 Jahre Speicherdauer. Bei RAMs liegt dies zwar einiges 
niedriger, aber in den Datenblättern von Microchip wird ein 
daten-lebzeit (Data-Retention) von 40 Jahren garantiert.
Wichtig ist vielleicht nur, dass wi Gerhardt auch schon sagte der 
Microcontroller nicht direkt neben einem PC-Netzteil oder irgend einem 
anderen elektromechanischen Strahler steht. Und das die 
Spannungsversorgung naürlich konstant ist. Kleine Spikes nach unten 
können natürlich statische Ram's schnell durcheinanderbringen.

Wenn du dir ganz sicher sein willst, mach einfach in der Software in 
gewissen abständen Daten-Refresh's.
aber eigentlich müsstest du dir da keine Gedanken machen.

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.