PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : at89s52 - Variablen dauerhaft speichern



Karl Weber
02.07.2006, 23:13
Hallo allerseits,
ich nutze den 8051 compatiblen Mikrocontroller at89s52. Welche Möglichkeiten ( z.B. Flah, EEPROM, batteriebetriebenes RAM) eigenen sich dafür, wichtige Werte, wie z.B. Kalibrierungsdaten zu speichern, auch wenn die Spannungsversorgung entfernt wurde. (Derzeit sind es ca. 10 ganzzahlige Variablen)

In erster Linie kommt es mir auf die einfache Realisierbarkeit an (bin Anfänger, kann ein wenig löten und ein wenig Assembler programmieren). Also im Idealfall wenig zusätzlich Hardware und keine komplizierten Busprotokolle.

Der zweite Punkt ist natürlich der, dass ich die Daten gerne auch häufig abrufen kann (EEPROMS haben nur begrenzte Anzahl an Schreibvorgöngen). Ist es in dieser Hinsicht möglich zu erkennen, wann die Spannung wegföllt um dann erst zu speichern? ***

Beispiele aller Art würden mich freuen. Im Idealfall natürlich auf meinen Mikrocontroller zugeschnitten. Allerdings bin ich auch über generelle und übliche Konzepte, wie sie mit 8051 kompatiblen Mikrocontrollern durchgeführt werden können erfreut!

Vielen Dank und gute Nacht, Karl


*** Meine Überlegung hierzu: Signal vom Aussschaltknopf direkt mit einem Port-Pin verbinden -> PIN hat HIGH- Pegel. Wenn Spannung abgestellt wird (->PIN : LOW) sofort in Unterprogramm springen um die Variablen in EEPROM zu schreiben. Also muss eine Vorrichtung geschaffen werden, dass die Spannung, welche den Mikrocontroller versorgt noch etwas erhalten bleibt. (z.B. Kondensator. Mit diesem kann auch bei unbeabsichtigtem Spannungsverlust (Stromausfall) die Versorgung noch kurz aufrecht erhalten werden)

Allerdings braucht man dann wohl große Kapazität. Ausserdem braucht man ja auch eventuell noch weitaus höhere Spannung, um den EEPROM (falls man diese Technologie benutzt (->siehe Eingangsfrage) um den EEPROM zu löschen.

Ist diese Überlegung vom Prinzip her machbar oder scheitert man da an der Kondensatorkapazitöt bzw. der Tatsache, das man noch hohe Spannung benötigt?

TKRoth
03.07.2006, 10:48
Hallo!

Ich würde zu einen I2C-EEPROM raten. Entsprechende Programmbibliotheken gibt es genügend im Netz. Diese benötigen auch nur 5V. Datenblatt kann von meiner Seite (www.DieElektronikerseite.de) gezogen werden.

Ich würde den Netzschalter mit Hilfe eines Relais realisieren. Dieses Relais lässt du dann mit dem Controller steuern und der Prozessor lässt dieses erst dann abfallen, wenn er alle Aufgaben erledigt hat (Ähnlich wie beim PC).

Thomas