Hallo Alle, ich bin Neuling im Bereich der mikrocontroller und habe eine vermutlich sehr einfache Frage: Kann ich bei einem Mikrocontroller in einen Nicht flüchtigen Speicher schreiben, also einen Wert, der nach Abkapselung der Spannungsversorgung immer noch erhalten bleibt? Ich möchte wenn möglich kein externen EEPROM oder ähnliches verwenden müssen.
ja klar, nahezu jeder halbwegs moderne µC hat ein internes Flash. hier werden i.d.R. das Programm und interne Betriebsparameter und Einstellungen gespeichert...
Kommt auf den Controller an, das ist also pauschal nicht exakt zu beantworten. Nicht jeder hat ein internes EEPROM und es ist auch nicht immer möglich, zur Laufzeit in das FLASH zu schreiben.
Casius schrieb: > Ich möchte wenn möglich kein externen EEPROM Dann musst du dir einen geeigneten Typ aussuchen, z.B. einen mit internem EEProm. Eine andere Möglichkeit: es gibt Typen, die im Ruhezustand nur µA verbrauchen, die kannst du ewige Zeiten mit einer Batterie versorgen. Aber das ist aufwändiger auch als ein externes EEProm und macht nur Sinn, wenn man etwa die Batterie sowieso für eine Uhr braucht. Georg
:-) schrieb: > Jeder ATMega hat einen internen EEPROM dafür! Man sollte aber drauf achten nicht öfter als nötig zu schreiben um kein Loch ins EEPROM zu brennen. Je nach Anwendung und Zweck lohnt es sich da in die genaue Vorgehensweise ein paar Gedanken zu investieren. Und es soll auch schon vorgekommen sein daß scheinbar unerklärliche Datenkorruption eintritt wenn zufällig genau während des Schreibens die Versorgungsspannung (wegen Ausschalten) einbricht. Also auch hier ein paar Gedanken machen, passend zur angedachten Anwendung.
:
Bearbeitet durch User
> Und es soll auch schon vorgekommen sein daß scheinbar > unerklärliche Datenkorruption eintritt wenn zufällig genau > während des Schreibens die Versorgungsspannung einbricht Datenverlust kann auch vorkommen, wenn beim Lesen die Versorgungsspannung einbricht. Bei sehr vielen Schreibzugriffen, wo das EEPROM zu schnell verschließen würde, oder wenn man einfach keine Luft hat, einen wear levelling Algorithmus zu implementieren, bietet sich alternativ statisches RAM mit Pufferbatterie an (z.B. 6264). Wobei man durchaus auch das RAM des Mikrocontrollers mit einer Batterie puffern kann (Stichworte: Brown-Out Detection, Power Down Mode).
Stefan us schrieb: > Bei sehr vielen Schreibzugriffen, wo das EEPROM zu schnell verschließen > würde, oder wenn man einfach keine Luft hat, einen wear levelling > Algorithmus zu implementieren, kann man auch ein FRAM benutzen.
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.