STM32F103 und Standbymode

Gast #1416394
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
Persönliche Seite #1416475
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/
Gast #1416497
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
Gast #1416509
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
Angehängte Dateien:
Gast #1416512
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
#1416515
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.
Gast #1416531
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
#1416534
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.
Gast #1417280
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
#1417437
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren