Forum: Mikrocontroller und Digitale Elektronik Daten speichern, auch bei Power Off


von jb_dani (Gast)


Lesenswert?

Morgen Leute!

Ich hab mal ne Frage an euch! Ich hab Rapid Development Kit 
nanoMODUL-164 von Phytec und darauf läuft ein Programm das Messdaten 
aufnimmt. Ich möchte diese Daten auch nach einem Power Off gespeichert 
werden, also beim nächsten Einschalten wieder vorhanden sind. Dazu muss 
ich die Daten wohl im batteriegepufferten Speicher ablegen, oder? Wie 
mach ich das hardware- und softwaretechnisch? Wie sprech ich den 
Speicher an? Muss ich dazu vorher ein 'malloc' machen? Das wär aber nach 
dem Aussschalten nicht mehr vorhanden, oder? Am besten wär, wenn jemand 
ein kurzes Beispiel für das Speichern von Daten im batteriegepufferten 
Speicher hat.
Vielleicht weiss ja jemand auch nen guten Link, wo das beschrieben ist.
Wär echt dankbar!

MFG Daniel.

von Jens Gerdes (Gast)


Lesenswert?

Hallo Daniel,

ich kenne leider das nanoModul164 nicht, und weiss nicht, ob es möglich 
ist, dessen RAM zu puffern. Im Prinzip geht das so:
Wenn die Versorgungsspannung des Prozessors sinkt, dann macht er nicht 
definierbare Sachen. Er könnte z.B. irgendwelche Daten im RAM 
überschreiben. Deshalb muss der Prozessor einen Reset bekommen, bevor er 
"ausrastet". Dies machen µP Überwachungsbausteine wie z.B. MAX690. 
Ausserdem sollten die /CS Leitungen des RAMs synchron zum Reset-Signal 
gesperrt werden. Auf dem miniModul167 von Phytec wird dies mit je einem 
FET in der /CS Leitung gemacht.
Zur Software:
Der Speicherbereich darf nach einem Reset natürlich nicht initialisiert 
werden. Wenn Du mit dem Keil-Compiler arbeitest, dann kannst Du mit dem 
Pragma NOINIT verhindern, dass Variablen initialisiert werden. Benutzt 
Du irgendeinen Speicherbereich, den Du über Zeiger ansprichst, dann 
gibst Du diesen in der RAM Konfiguration einfach nicht an.

Mit besten Gruessen
Jens

von Steffen (Gast)


Lesenswert?

Was ist mit Teee????


Man könnte die Daten auch in nem EEPROM ablegen. Wird zum Beispiel bei 
den Tachos im Auto gemacht.

von jb_dani (Gast)


Lesenswert?

Hi Steffen! Ne gute Idee! Hast Du vielleicht irgendein Beispiel zum 
ansprechen eines EEPROM oder einen Link? Wär super! Danke!

MFG Daniel.

von Steffen (Gast)


Lesenswert?

Das ist bei den AVR's ein Kinderspiel. Die haben sowas "onboard".

Wenn's denn extern sein soll, würde ich persönlich zu den SPI-Varianten 
greifen (zum Beispiel die 93er Serie von Atmel). Wie die Teile dann im 
einzelnen anzusteuern sind, steht meist im Datenblatt des Herstellers.
Das SPI sollte (wenn vorhanden) im Datenblatt des µC stehen. Aber es ist 
auch kein problem so etwas per Software zu realisieren.

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.