Forum: Mikrocontroller und Digitale Elektronik Mikrokontroller unordnungsgemäßig abgeschaltet


von Campus (Gast)


Lesenswert?

Hi,

Gibt’s Erkennungsmechanismen, wenn ein Mikrokontroller
unordnungsgemäßig abgeschaltet (z.B. bei der Uebertragung von Daten)
wird?

MfG
Campus

von Markus_8051 (Gast)


Lesenswert?

@Campus: Positiv!

Suche nach "Brown out detection"!

Habe gerade mal nachgeschaut, was das eigentlich auf deutsch heißt. In
einem Onlinewörterbuch steht da "Büschelentladung" als technische
Übersetzung ?!?

Auf Mikrocontrollern wird das oft in Zusammenhabg mit Watchdog und
Power On Reset erwähnt.

von Johannes Raschke (Gast)


Lesenswert?

"Brown Out Detection" erkennt, wenn die Versorgungsspannung unter
einem Minimalwert liegt.
Campus, Du beschreibst nicht ganz genau, welchen Zustand Du erkennen
möchtest. Vielleicht reicht ja schon der eingebaute Watchdog.
Eine Alternative wäre ein Pufferkundensator für die Versorgungsspannung
nach einer Diode bei regelmäßiger Messung der Eingangsspannung - dann
kann der Controller vor dem Abschalten noch "bescheid sagen".
Da ein uC aus vielerlei Gründen seine Tätigkeit einstellen kann, würde
ich für sehr kritische Anwendungen eine Art "Toter Mann - Schaltung"
vorschlagen. Alle paar ms klappert der Controller mit einem Ausgang und
setzt damit einen externen Timer (z.B. NE555) zurück. Bleibt das Signal
aus, löst der Timer nen Alarm aus.

von TravelRec. (Gast)


Lesenswert?

Die Idee mit dem Watchdog, sofern vorhanden, ist schon ganz gut. Wenn
der kommt und der µC über RESET springt, kann man dort einen Ausgang
aktivieren , an dem eine LED hängt, die dann leuchtet. Somit weiß man,
daß der Watchdog ausgelöst hat. Den Ausgang setzt man nach einiger Zeit
dann wieder zurück, um einen erneuten Reset auswerten zu können. Dieses
Schaltsignal kann dann auch von weiteren "Alarmschaltungen"
ausgewertet werden.

von Campus (Gast)


Lesenswert?

Das ist die Beschreibung über den Watchdog meines uCs:

The purpose of the Watchdog is to reset the microcontroller within a
reasonable amount of time if it enters an erroneous state.

Ich weiß immer noch nicht, wie ich den Watchdog in meinem Fall
einsetzen soll. Wenn der Strom fällt aus, gehen alle Informationen in
Register und Speicher verloren. Wie bemerkt der uC beim nächten Start,
daß die Versorgung weg war?

Gruss
Campus

von Tom (Gast)


Lesenswert?

Hi

@Campus, der Watchdog bewahrt dich viel mehr vor Software-Fehlern, die
in eine Endlosscheife führen: Bleibt das Resetten des WDTs zu lange
aus, so löst dieser selbstständig einen Reset aus und das Programm
beginnt von vorne. Schau mal genau im Datenblatt nach, für meine MSP430
ist dort beschrieben, was man wie auswerten kann nach einem Reset. Wie
du aber nach einem Reset feststellen könntest, ob eine Datenübertragung
im Gange war, kann ich dir so leider auch nicht sagen.

Gruss

Tom

von Umbekannter (Gast)


Lesenswert?

Was willst Du denn genau erkennen?

Soll der Sender Deiner Daten erkennen, daß der Empfänger
(-Mikrocontroller) kein Strom hat, oder soll der Empfänger merken, daß
er wieder eingeschaltet wurde und vorher offensichtlich während eines
Datenempfangs ausgeschaltet wurde?

Du musst schon genau sagen, bzw. die im Klaren darüber sein, was Du
exakt feststellen willst. Dann kann man Dir auch weiter helfen.

von Campus (Gast)


Lesenswert?

Mein uC soll Daten von einem FRAM ablesen und im internen Flash
speichern. Da das System jederzeit abgeschaltet werden kann, entsteht
dieses Problem. Wenn ein Abschalten bei der Datenübertragung geschen
würde, müßte das System an diesen Unfall erinnern!

Gruss
Campus

von Chief Brady (Gast)


Lesenswert?

Na, dann setze doch im internen Flash ein Flag vor dem Auslesen des FRAM
und lösche es wieder, wenn der Vorgang beendet ist. Wenn beim  nächsten
Einschalten das Flag gesetzt ist, weisst du, dass der Vorgang beim
letzten mal nicht korrekt beendet wurde.

von Unbekannter (Gast)


Lesenswert?

Eben. Das kannst Du auch feiner machen, also pro Block oder so im EEPROM
speichern, wieviel Du schon ausgelesen hast. Eben ein
"Mini-Journaling-Dateisystem" implementieren.

Allerdings ist mir noch nicht ganz klar, warum der Mikrocontroller
nicht einfach von vorne beginnt, das FRAM auszulesen, wenn er
eingeschaltet wird...

Irgendwie ziemlich wirr, Dein Problem...

von Spyker (Gast)


Lesenswert?

Auch wenn die Klatstellung sehr, sehr spät kommt:
Was immer eine Büschelentladung sein mag.... mit "Brown-Out" hat es ganz 
sicher nichts zu tun. Ein Brown-Out bezieht sich auf einen 
Spannungseinbruch oder eine Unterspannung. Im Vergleich zum Black-Out 
geht die Spannung aber nicht ganz weg.

von Alexander L. (lippi2000)


Lesenswert?

Ich würde lieber alles im FRAM machen. Vielleicht reicht schon ein Flag 
aus oder du speicherst immer en einer definierten Stelle die Adresse, 
aus der gelesen wurde.

EEPROm würde ich nicht unbedingt nehmen um so viele Daten zu speichern 
(1 Lesezyklus = 1 EEPROM Schreibzyklus), da dieser nur begrenzt 
wiederbeschreibbar ist. In so einem Fall sind eingige Tausend 
Speichervorgäng schnell erreicht.

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.