Hallo zusammen hat jemanden eine Idee wie kann ich mein Microcontroller behindern nach dem Stromausfall von Anfang zu starten d.h ich wollte nach dem Strom Ausfall dass mein Controller weiter arbeiten ab dem Punkt wo den Reset bzw Strommausfall gekommen ist ???? hat jemanden eine Idee wie man das in praktische einsetzen kann
Die beste Antwort: Kommt drauf an. Der Programm Counter muss bei 0 anfangen. Auch sämtliche Initialisierung muss neu durchgeführt werden. Immerhin sind nach einem Reset erst einmal alle Register und Zustände als undefiniert anzusehen. Ansonsten: Kommt drauf an, was dein Controller macht und ob man seine Aufgaben irgendwie irgendwo nichtflüchtig zwischenspeichern kann. FRAM, SD-Karte, EEPROM - Kommt halt einfach drauf an.
Würde evtl States im EEPROM Speichern und direkt nach der Initialisierung des µC diesen State abfragen und dann zu diesem Punkt / Funktion etc Springen. VCC -> Diode -> großer Kondensator -> µC VCC VCC mit ADC messen, sobald Spannung sinkt aktuellen State ins EEPROM speichern. Bei neustart des µCs initialisierung durchlaufen lassen, aus EEPROM lesen und zu State springen.
Das geht so nicht wie du dir das vorstellst. Du könntest parallel dazu ein Akku als USV nutzen. Bekommt ein µC Spannung, dann startet er immer "von vorne". Theoretisch wäre aber folgendes vllt. möglich: Du nutzt eine Puffer Batterie oder wie o.g. einen Akku, wenn der µC nun einen Spannungsausfall erkennt, dann sichert er sich alle Register und den Stack usw. Beim erneuten starten prüft man ob ein Spannungsausfall da war und läd die gesicherten Register usw. Natürlich vorher noch alles Initialisieren, aber ob der Aufwand sich lohnt ist fraglich. Ob das wirklich so funktioniert, weiß ich leider nicht - nur eine Idee.
:
Bearbeitet durch User
Thomas R. schrieb: > Bei neustart des µCs initialisierung durchlaufen lassen, aus EEPROM > lesen und zu State springen. Die Frage ist halt: Möchte der TO beim letzten State weiter machen, oder wirklich den aktuellen "ganzen" Zustand sichern.
:
Bearbeitet durch User
Adam P. schrieb: > Die Frage ist halt: > Möchte der TO beim letzten State weiter machen, oder wirklich den > aktuellen "ganzen" Zustand sichern. Jup, das ist halt die Frage. Da müsste der TO mal genauer beschreiben, was er denn vor hat :>
Du müsstest mit States arbeiten die entsprechend gespeichert werden wenn die Spannungsversorgung zusammen bricht. Wenn dann die Spannung zurück kommt müsste der Mikrocontroller die gespeicherten States als erstes einlesen und auf Grundlage dessen weiter arbeiten. Steady-State ist dein Freund würde ich so auf Anhieb mal sagen. ;)
Mohamed A. schrieb: > ab dem Punkt > wo den Reset bzw Strommausfall gekommen ist Das darfst Du alles schön per Hand machen, in dem Du die Versorgung lange genug pufferst das Du einen Ausfall der Versorgung erkennen kannst, dann alles in einen nichtflüchtigen Speicher ablegst und den Zustand wieder herstellst ab dem du weiterarbeiten willst. So lange muss der Puffer halten und das Programm mus bis zu einem Punkt kommen an dem sinnvoll unterbrochen werden kann. MCUs verlieren alle Informationen bei Spannungsausfall und ohne das Reset Signal hätten alle Register zufällige Werte und die Kiste würde irgendwo starten und irgendwas machen. Daher stehen im DB, das Du ja sicherlich gelesen hast, die Reset Values der Register.
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.