Forum: Mikrocontroller und Digitale Elektronik SleepMode mC


von Bruder Jakob (Gast)


Lesenswert?

Hallo,

ich "beschäftige" mich aktuell mit dem SleepModus bei Mikrocontrollern. 
Im Tutorial von mikrocontroller.net ist zu lesen, dass der 
Stromverbrauch im "Power Down Mode" nur durch die Leckströme bestimmt 
wird.(http://www.mikrocontroller.net/articles/Sleep_Mode#Power_Down_Mode).

Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von 
der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung 
wieder dran - Interrupt und alles funktioniert wie gewohnt?

Macht ja eigentlich keinen Sinn, weil er von der Stromversorgung 
getrennt wurde. Aber dann verstehe ich das oben mit den "Leckströmen" 
nicht, weil diese sind doch eigentlich parasitärer Natur und sollten 
eigentlich gar nicht auftreten -> also auch nicht für die Arbeit des mC 
wichtig sein?!

Gruß

von Peter II (Gast)


Lesenswert?

Bruder Jakob schrieb:
> Aber dann verstehe ich das oben mit den "Leckströmen"
> nicht, weil diese sind doch eigentlich parasitärer Natur und sollten
> eigentlich gar nicht auftreten -> also auch nicht für die Arbeit des mC
> wichtig sein?!

es gibt kaum einen perfekten Isolator, im PowerDown wird wohl diese 
Widerstand der Isolierung die Ströme verursachen.

von Bruder Jakob (Gast)


Lesenswert?

Also funktioniert das Prinzip ihn von der Stromversorgung zu trennen?

von Peter II (Gast)


Lesenswert?

Bruder Jakob schrieb:
> Also funktioniert das Prinzip ihn von der Stromversorgung zu trennen?

ja (aber nur kurz). Wenn es länger dauert sorgt der Strom dafür die die 
Spannung verschwindend und damit der RAM gelöscht wird.

von Christian (Gast)


Lesenswert?

Peter II schrieb:
> Bruder Jakob schrieb:
>> Aber dann verstehe ich das oben mit den "Leckströmen"
>> nicht, weil diese sind doch eigentlich parasitärer Natur und sollten
>> eigentlich gar nicht auftreten -> also auch nicht für die Arbeit des mC
>> wichtig sein?!
>
> es gibt kaum einen perfekten Isolator, im PowerDown wird wohl diese
> Widerstand der Isolierung die Ströme verursachen.

Bruder Jakob schrieb:
> Also funktioniert das Prinzip ihn von der Stromversorgung zu
> trennen?

Im Prinzip ja,

WENN die Pufferkondensatoren die Betriebsspannung lang genug stützen 
können. Die üblichen Abblock-Kondensatoren (einige 100nF typischerweise) 
schaffen das aber auch bei kleinen Leckströmen über die gewünschte Dauer 
nicht. Und im normalen Betrieb müssen sie das auch nicht.

Ok, nehmen wir eben größere Kondensatoren, beispielsweise Elkos mit 
vielen 100µF Stützkapazität. Auch hier wird es bei realen Leckströmen 
des Controllers schon schwierig. Und noch schwieriger ist, dass auch die 
Kondensatoren selbst Leckströme haben, die typischerweise sogar größer 
als die des Controllers sein können.

Praktisch wird das Vorhaben also leider nicht für längere Zeiten 
funktionieren.

Grüße
Christian

von Falk B. (falk)


Lesenswert?

@ Bruder Jakob (Gast)

>Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von
>der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung
>wieder dran - Interrupt und alles funktioniert wie gewohnt?

Nur dann, wenn über ausreichend große Pufferkondensatoren (Goldcaps, 
Supercaps) oder eine Lithiumzelle die Spannungsversorgung zur Verfügung 
gestellt wird.

>Macht ja eigentlich keinen Sinn, weil er von der Stromversorgung
>getrennt wurde.

Eben.

> Aber dann verstehe ich das oben mit den "Leckströmen"
>nicht, weil diese sind doch eigentlich parasitärer Natur

Sind sie auch.

> und sollten eigentlich gar nicht auftreten

Warum sollten sie nicht auftreten? Denkst du, die Isolation im so einem 
uC ist PERFEKT? Sie ist verdammt gut, aber eben nicht perfekt. So ein uC 
hat heute Leckströme von weniger als 1uA!!!

> also auch nicht für die Arbeit des mC
>wichtig sein?!

Doch, und zwar wenn er schläft, sonst fällt das gar nicht auf.




Gruß

von Amateur (Gast)


Lesenswert?

Damit die Teile möglichst schnell/energiearm arbeiten können, werden die 
internen Kapazitäten so gering wie möglich gehalten.

Stell Dir einfach mal vor, was passieren würde, wenn z.B. Ausgänge 
(damit sie lange den Pegel halten können) sehr große Kapazitäten hätten.

Deine Leistungsbilanz wäre noch tiefer als im Keller.

von Bruder Jakob (Gast)


Lesenswert?

wow, cool, danke für die kompetente Hilfe!

Ist es denn irgendwie anders möglich Programme auf einem mC zu speichern 
ohne stromversorgung?
Theo ich habe Programm A. Programm A wird ausgeführt bis zum Ende. Dann 
kappe ich die Stromversorgung, warte ein paar Tage.
Dann schließe ich den mC wieder an die Stromversorgung an und Programm A 
wird (automatisch) wieder ausgeführt?!

Beste Grüße und einen schönen Abend :-)

von Amateur (Gast)


Lesenswert?

Das Programm selber ist normalerweise "Resetfest" im mC gespeichert. Das 
braucht auch selbst keine Energie. Üblicherweise verwendet man hierfür 
einen Flash-Speicher.
Der größte Teil des aktuellen Status ist aber in flüchtigen internen 
Speichern fixiert.
Das können einfache Zwischenwerte sein, Zeiger auf gerade aktuelle 
Speicherbereiche, interessant ist auch der Programmzähler, der auf den 
gerade aktuellen Befehl im Programm zeigt. Und so kommen jede Menge 
Sachen zusammen, die "man" sich einfach merken muss.
Natürlich muss ein mC irgendwo mit der Arbeit anfangen. Meist nach dem 
Einschalten der Betriebsspannung. Dies ist aber eine durch die 
Programmierung festgelegte Sequenz, die (im Normalfall) immer gleich 
ist.

von c-hater (Gast)


Lesenswert?

Bruder Jakob schrieb:

> Ist es denn irgendwie anders möglich Programme auf einem mC zu speichern
> ohne stromversorgung?

Bei manchen schon. Nämlich bei denen, die einen eingebauten 
nichtflüchtigen Speicher haben, also ROM (oder, heute wohl häufiger: 
Flash-ROM)

Diese Speicherarten behalten ihre Information auch ohne dauerhaftes 
Anliegen einer Spannung.

Und bei den µC, die sowas nicht eingebaut haben, kann man es extern 
antüdern.

von Dietrich L. (dietrichl)


Lesenswert?

Bruder Jakob schrieb:
> Dann schließe ich den mC wieder an die Stromversorgung an und Programm A
> wird (automatisch) wieder ausgeführt?!

Ja, aber das Programm arbeitet nicht weiter von der Stelle, wo es beim 
Abschalten gerade war.
Es startet neu von der Reset-Adresse: das Einschalten der 
Stromversorgung erzeugt einen Hardware-Reset (wenn diese Funktion nicht 
im µC vorhanden ist, muss man sie extern dazu bauen).

von M. K. (sylaina)


Lesenswert?

Bruder Jakob schrieb:
> Ist es denn irgendwie anders möglich Programme auf einem mC zu speichern
> ohne stromversorgung?
> Theo ich habe Programm A. Programm A wird ausgeführt bis zum Ende. Dann
> kappe ich die Stromversorgung, warte ein paar Tage.
> Dann schließe ich den mC wieder an die Stromversorgung an und Programm A
> wird (automatisch) wieder ausgeführt?!

Wenn Programm A entsprechend geschrieben wurde geht das. Mit 
entsprechender Beschaltung und Programm kann man sich z.B. merken wo der 
µC war als die Spannung weg ging und wenn sie wieder kommt kann man an 
dieser Stelle weiter machen. Unter anderem das EEProm im µC kann hierbei 
helfen.
Hast du denn ein konkretes Problem wobei du diese Funktionalität 
benötigst?

von c-hater (Gast)


Lesenswert?

Dietrich L. schrieb:

> Ja, aber das Programm arbeitet nicht weiter von der Stelle, wo es beim
> Abschalten gerade war.
> Es startet neu von der Reset-Adresse: das Einschalten der
> Stromversorgung erzeugt einen Hardware-Reset (wenn diese Funktion nicht
> im µC vorhanden ist, muss man sie extern dazu bauen).

So ist es.

Aber natürlich kann man (wiederum bei Vorhandensein eines geeigneten 
Speichers, in diesem Fall z.B. EEPROM) einem Programm beibringen, sich 
im Falle eines PowerDown noch schnell zu merken, wo es gerade war und 
dann nach dem Reset (und ggf. geeigneter Neuinitialisierung der 
benutzten Hardware) an "genau" dieser Stelle weiter zu arbeiten. Es ist 
natürlich nicht wirklich genau diese Stelle, sondern es erscheint nur 
dem Laien im Makroabstand so...

Insgesamt entspricht das dann dem Trick des "Ruhezustands" bzw. 
"Hybernate" bei PCs. Allerdings sind diese Dinger schon viel zu komplex, 
als dass es wirklich völlig unbemerkt für den Laienbetrachter ablaufen 
könnte. Bei µC ohne OS und den entsprechenden Anwendungen geht das 
hingegen wirklich so zu machen, dass es praktisch nicht zu bemerken ist.

von Jim M. (turboj)


Lesenswert?

Bruder Jakob schrieb:
> Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von
> der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung
> wieder dran - Interrupt und alles funktioniert wie gewohnt?

Bei vielen µCs kommt man aus "Power Down" nur mit Reset raus,
dafür zeiht das echt wenig Strom (z.B: EFM32 20nA typisch).


Bruder Jakob schrieb:
> Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von
> der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung
> wieder dran - Interrupt und alles funktioniert wie gewohnt?

Dazu braucht es den RAM Inhalt, und nun reden wir von Stömen um ein paar 
einzelnen µA. Eine CR2032 hält da Jahre, aber rechne das mal mit einen 
100nF Kondensator.

Ein 1F Goldcap könnte aber eine Woche halten. Länger würde ich der 
Selbstentladung nicht trauen.

von Axel S. (a-za-z0-9)


Lesenswert?

Jim M. schrieb:
> Bruder Jakob schrieb:
>> Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von
>> der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung
>> wieder dran - Interrupt und alles funktioniert wie gewohnt?
>
> Bei vielen µCs kommt man aus "Power Down" nur mit Reset raus,
> dafür zeiht das echt wenig Strom (z.B: EFM32 20nA typisch).

Der Unterschied zwischen "Sleep" und "Aus" besteht darin, daß beim Sleep 
der Zustand des Programms (also u.A. die Inhalte aller Variablen) 
erhalten bleibt. Wenn man da nur mit einem Reset heraus käme, wäre ein 
solcher Sleepmode vollkommen sinnlos.

Was du meinst, ist wahrscheinlich gar kein Reset im eigentlichen Sinn, 
sondern nur die Verwendung des selben Pins.

Wobei all das mit der Frage des TE auch eher nichts zu tun hat.

> Bruder Jakob schrieb:
>> Ist es möglich, wenn sich der mC im Power Down Mode befindet, ihn von
>> der Stromversorgung zu trennen - 5Tage liegen lassen - Stromversorgung
>> wieder dran - Interrupt und alles funktioniert wie gewohnt?
>
> Dazu braucht es den RAM Inhalt, und nun reden wir von Stömen um ein paar
> einzelnen µA. Eine CR2032 hält da Jahre, aber rechne das mal mit einen
> 100nF Kondensator.
>
> Ein 1F Goldcap könnte aber eine Woche halten. Länger würde ich der
> Selbstentladung nicht trauen.

Ich weiß nicht, was ihr alle immer mit Stützkondensatoren oder gar 
Batterien wollt. Der TE wollte dem µC den Saft abklemmen. Nicht der 
Baugruppe oder Platine, auf der der µC sitzt.

Und das geht selbstverständlich nicht. Auch wenn da "nur Leckströme" 
fließen, dann heißt das nicht daß die Betriebsspannung nicht benötigt 
würde. Zum Erhalt des RAM-Inhalts (Variablen, s.o.) wird die Spannung 
natürlich benötigt. Diese Einschränkung fällt erst dann, wenn man einen 
µC hat, der statt herkömmlichem RAM einen nichtflüchtigen Arbeits- 
speicher verwendet, z.B. MRAM.

Aber auch das kann nur eine Anmerkung am Rande sein (quasi zur Abrundung 
des Themas). Die eigentliche Frage des TE zielte ja darauf, daß er die 
Spannungsversorgung des µC prinzipiell als entbehrlich ansah, weil da 
"nur Leckströme" fließen. Nur folgt das eine halt so gar nicht aus dem 
anderen. Die Betriebsspannung braucht es nicht, damit da lustig 
Leckströme fließen können. Die Betriebsspannung brauchts, damit RAM und 
Register ihren Inhalt behalten.

von M. K. (sylaina)


Lesenswert?

Jim M. schrieb:
> Bei vielen µCs kommt man aus "Power Down" nur mit Reset raus,
> dafür zeiht das echt wenig Strom (z.B: EFM32 20nA typisch).

Dann musst du aber nochmal Datenblätter lesen. Käme man aus dem Power 
Down nur mit einem Reset raus wäre dieser Sleep Mode schlicht Quatsch. 
Richtig ist lediglich, dass man den Mikrocontroller nur mit 
vergleichsweise wenigen Funktionen aus dem Power Down aufwecken kann.

von Peter II (Gast)


Lesenswert?

Axel S. schrieb:
> Ich weiß nicht, was ihr alle immer mit Stützkondensatoren oder gar
> Batterien wollt. Der TE wollte dem µC den Saft abklemmen. Nicht der
> Baugruppe oder Platine, auf der der µC sitzt.
>
> Und das geht selbstverständlich nicht. Auch wenn da "nur Leckströme"
> fließen, dann heißt das nicht daß die Betriebsspannung nicht benötigt
> würde. Zum Erhalt des RAM-Inhalts (Variablen, s.o.) wird die Spannung
> natürlich benötigt. Diese Einschränkung fällt erst dann, wenn man einen
> µC hat, der statt herkömmlichem RAM einen nichtflüchtigen Arbeits-
> speicher verwendet, z.B. MRAM.

doch. Auch der µC selber hat eine Kapazität und stellt damit einen (sehr 
kleinen) Kondensator dar. Damit bleibt die Spannung auch eine (kurze) 
Zeit erhalten wenn man sie von der Versorgung trennt.

Man hat sogar schon geschafft, PC-Ram Module auszubauen und dann in 
einem andere PC auszulesen. (Sie wurden dafür gekühlt, damit die 
Leckströme so gering wie möglich sind).

von Axel S. (a-za-z0-9)


Lesenswert?

Peter II schrieb:
>> Und das geht selbstverständlich nicht. Auch wenn da "nur Leckströme"
>> fließen, dann heißt das nicht daß die Betriebsspannung nicht benötigt
>> würde. Zum Erhalt des RAM-Inhalts (Variablen, s.o.) wird die Spannung
>> natürlich benötigt. Diese Einschränkung fällt erst dann, wenn man einen
>> µC hat, der statt herkömmlichem RAM einen nichtflüchtigen Arbeits-
>> speicher verwendet, z.B. MRAM.
>
> doch. Auch der µC selber hat eine Kapazität und stellt damit einen (sehr
> kleinen) Kondensator dar. Damit bleibt die Spannung auch eine (kurze)
> Zeit erhalten wenn man sie von der Versorgung trennt.

So ein Quatsch. Das ist eine Spitzfindigkeit, die mit der Frage des TE 
genau gar nichts zu tun hat. Denn ein Stützkondensator (vollkommen 
egal wie groß oder wie klein) verhindert ja gerade das, wonach der TE 
fragte: die Betriebsspannung des µC abzuschalten.

von Peter II (Gast)


Lesenswert?

Axel S. schrieb:
> So ein Quatsch. Das ist eine Spitzfindigkeit, die mit der Frage des TE
> genau gar nichts zu tun hat.

hä? Das war doch die Frage. Bei einem einfachen Mosfet kannst du auch 
das Gate trennen und der Schaltzustand bleibt kurzeitig erhalten. Ein µC 
ist auch nur eine Sammlung von Fets.


> Denn ein Stützkondensator
wo steht etwas von einen Stützkondensator?

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.