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
> 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/
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
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
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.
> 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
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.
> 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
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.
> 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
> 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.
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.