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