mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32F103 und Standbymode


Autor: Arne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus zusammen,

ich rätsel gerade über den Standby-Modus des STM32F103 rum. Im Manual 
RM0008 steht im Kap. 4.3.5 u.a.:
"The microcontroller exits Standby mode when an external Reset (NRST 
pin), IWDG Reset, a rising edge on WKUP pin or an RTC alarm occurs."
Ich mache das Aufwecken über einen RTC Alarm.
Weiterhin steht im Manual:
"After waking up from Standby mode, program execution restarts in the 
same way as after a Reset..."
Und da komme ich ins Grübeln. Im Standbymode führt er ja keinen Code 
aus, da die 1.8V Domain ja stromlos ist. Nun wacht er auf und die 1.8V 
Domain ist immer noch stromlos.
Dann kann er ja keinen Kaltstart machen. Was passiert dann? Geht er dann 
sofort wieder in den Standbymode?

Thanx, Arne

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nun wacht er auf und die 1.8V Domain ist immer noch stromlos. Dann kann er
> ja keinen Kaltstart machen.

Warum nicht? Woraus schließt Du das alles?

"After waking up from Standby mode, program execution restarts in the 
same way as after a Reset (boot pins sampling, vector reset is fetched, 
etc.). The SBF status flag in the Power control/status register 
(PWR_CSR) indicates that the MCU was in Standby mode."

Gruß
Marcus
http://www.doulos.com/arm/

Autor: Arne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus,

> Warum nicht? Woraus schließt Du das alles?
In der 1.8V Domain liegt doch die ALU mit Registern.
Siehe Kap. 4.1 Figure 4
Da werden "Core memories digital peripherals" der 1.8V Domain 
zugeordnet. Wie kann er Code ausführen ohne ALU?

thanx, Arne

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woraus schliesst du, dass er die 1,8V nicht wieder einschaltet?

Autor: Arne (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei mal die Zeichnung aus dem Manual.
Ich interpretiere das so, dass ich die Backupdomain entweder per VBAT 
oder per VDD versorgen kann.
Für VBAT ist also der blaue Pfad gültig, der grüne nicht. Sonst bräuchte 
ich VDD ja gar nicht und könnte alles immer über VBAT versorgen.

bye, Arne

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heisst, dass die Backup-Domain automatisch von Vbat versorgt wird, 
wenn Vdd nicht genug hergibt. Das hat aber keinen Bezug zur 
urspünglichen Frage.

Autor: Arne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Woraus schliesst du, dass er die 1,8V nicht wieder einschaltet?
Es steht halt nicht explizit so im Manual. Ausserdem hätte das sicher 
gravierende Auswirkungen auf den Strombedarf. Bei 8MHz braucht er so 
6-8mA,
im Standbymode so 2µA. Mehr als Faktor 1000.
Abgesehen davon interpretiere ich die Zeichnung so, dass VBAT die 1,8V 
Domain NICHT versorgen kann. Ist die Zeichnung falsch oder hab ich 
Tomaten auf den Augen?

bye, Arne

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arne schrieb:

>> Woraus schliesst du, dass er die 1,8V nicht wieder einschaltet?

> Es steht halt nicht explizit so im Manual.

Ein bischen Mitdenken hat STM fest ins Manual eingeplant ;-).

> Ausserdem hätte das sicher
> gravierende Auswirkungen auf den Strombedarf.

Klar doch. Aber es behauptet doch auch keiner, dass der auch nach dem 
Aufwachen aus dem Standby kaum Strom braucht.

> Abgesehen davon interpretiere ich die Zeichnung so, dass VBAT die 1,8V
> Domain NICHT versorgen kann. Ist die Zeichnung falsch oder hab ich
> Tomaten auf den Augen?

Das nicht, aber du stehst grad etwas auf der Leitung.

Zum Prozedere des Aufwachens gehört eben auch, den Spannungsregler für 
die 1,8V wieder aufzuwecken.

Eins ist hoffentlich klar: Ohne Vdd kein Aufwachen.

Autor: Arne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein bischen Mitdenken hat STM fest ins Manual eingeplant ;-).

Heh.. das hab ich bei deren Lib und Manual auch eingeplant und bin damit 
"aufs Maul" gefallen ;)

Ich bohr meinen Testcode morgen mal auf, dass ich nach dem Aufwecken 
etwas über den UART rausjage (mit externem Pegelwandler und eigener 
Stromversorgung). Werde den Cortex nur über Vbat versorgen. Wenn an der 
Gegenstelle (PC) was ankommt, dann hast Du Recht und ich was 
dazugelernt.

> Das nicht, aber du stehst grad etwas auf der Leitung.
Okay, dann erklär mir doch bitte wie (lt. Zeichnung) die 1.8V Domain 
über Vbat versorgt werden kann, wenn ich Vdd nicht versorge.

Schönen Feierabend!

Gruß, Arne

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arne schrieb:

> Stromversorgung). Werde den Cortex nur über Vbat versorgen.

Prophezeihung: Ohne Vdd wacht er überhaupt nicht auf, sondern pennt 
seelenruhig weiter.

Grund: Die Logik, die ihn aufwecken lassen kann, hängt selbst an Vdd und 
arbeitet nicht gern ohne Strom. Dein gelber Pfeil ist kein gültiger 
Strompfad.

Autor: Arne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Prophezeihung: Ohne Vdd wacht er überhaupt nicht auf, sondern pennt
> seelenruhig weiter.
Aha! Somit kann er auch keinen Kaltstart ausführen, wenn der RTC Alarm 
zuschlägt. Sag ich doch die ganze Zeit ;)

> Dein gelber Pfeil ist kein gültiger Strompfad.
Grün... grün ist die Farbe der Hoffnung. :)

Wenn ich den RTC Alarm so einstelle, dass er alle 60s aufwachen soll, 
ihm Vdd fehlt, hat er es in der Vergangenheit trotzdem geschafft den 
RTC-Counter weiter hochlaufen zu lassen. Die Uhrzeit hat er mir nach 
drei Tagen korrekt auf dem LCD angezeigt. Jetzt muss ich da nur noch das 
Datum entsprechend korrigieren.

Danke!

Gruß, Arne

Autor: Soeren A. (abraxa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich den RTC Alarm so einstelle, dass er alle 60s aufwachen soll,
> ihm Vdd fehlt, hat er es in der Vergangenheit trotzdem geschafft den
> RTC-Counter weiter hochlaufen zu lassen. Die Uhrzeit hat er mir nach
> drei Tagen korrekt auf dem LCD angezeigt.

Ich bin mir nicht sicher, was du uns damit sagen moechtest. In figure 
151 (RM0008) sieht man, dass der RTC counter auch in standby weiter 
laeuft - eben auch ohne VDD. Von daher ist dein Ergebnis nicht 
ueberraschend.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.