mikrocontroller.net

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


Autor: Thomas Miehling (tm112)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Franko Phil (sgssn)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Timo Zehender (typic)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.