Daten speichern, auch bei Power Off

Gast #2643
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.
Gast #2644
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
Gast #2647
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren