Ich entwerfe ein Gerät, das seine physische Position automatisch anpasst, wenn sich die Temperatur ändert. Wenn das Gerät ausgeschaltet oder die Stromversorgung unterbrochen wird, muss sich das Gerät an die letzte Temperatur und Position erinnern. Ich habe die Möglichkeit, diese Werte im EEPROM zu speichern, aber das Problem ist, dass sich Position und Temperatur sehr schnell ändern können. Wenn ich die Temperatur und die Position nach jeder Änderung in das EEPROM schreiben würde, würde dies (1) die Firmware etwas verlangsamen und (2) das EEPROM wahrscheinlich nach ein oder zwei Jahren beenden. So wie ich es sehe, sind meine Optionen wie folgt ...
1) Verwenden Sie einen Kondensator / eine Batterie, um das Gerät nach Stromausfall für kurze Zeit mit Strom zu versorgen, damit ich die Werte nur zu diesem Zeitpunkt in das EEPROM schreiben kann. Ich mag das nicht, weil das Board ein bisschen machtgierig ist und dies eine große Kappe erfordern würde. Und ich habe nicht viel freien Speicherplatz. Und ich möchte nicht die zusätzlichen Kosten für eine Batterie und einen Batteriehalter / oder eine große Kappe.
2) Verwenden Sie F-RAM anstelle von EEPROM, damit ich Billionen Mal darauf schreiben kann, ohne es zu verschleißen. Ich mag diese Option nicht, weil FRAM ziemlich viel teurer als EEPROM ist und dies für ein Produktionsprodukt ist (nicht nur für eines).
3) Schreiben Sie die Position und Temperatur nur etwa alle 5 Minuten auf. Auf diese Weise habe ich immer eine relativ neue Position / Temperatur aufgezeichnet, aber ich schreibe nicht jede Sekunde, damit mein Programm nicht verlangsamt wird und das EEPROM nicht so schnell stirbt. Dies scheint meine beste Option zu sein.
Hat jemand andere Vorschläge, an die ich nicht denke?