Frage:
STM32 RTC friert ein, wenn das Gerät ausgeschaltet ist
O.Blue
2017-09-29 13:37:48 UTC
view on stackexchange narkive permalink

Ich verwende eine STM32F745VGT6-Benutzerplatine mit Keil µVision 5. Ich möchte den internen RTC-Kalender mit der internen Uhr (LSI) verwenden.

Meine Frage ist: Zuerst wird die Uhr um 02:00:00 Uhr eingeschaltet, dann läuft die Zeit.Wenn zum Beispiel die Zeit 02:05:00 ist, schalte ich plötzlich die Energie aus (Energie für V dd sub> abschalten, nicht für V Batterie sub>) und warte dann 10 Minuten.Nach dem Einschalten ist die Uhr noch 02:05:00 Uhr.Ich stecke fest.Es ist so nervig.

Ich versorge STM 6.Pin (V Batt sub>) wie im beigefügten Bild mit einer unterbrechungsfreien 3,3-Volt-BIOS-Batterie.Wenn ich den Akku entferne, beginnt jedes Ausschalten und Einschalten mit 02:00:00.Ich glaube also, dass V Batt sub> funktioniert.

Battery circuit

Zwei antworten:
followed Monica to Codidact
2017-09-29 14:13:14 UTC
view on stackexchange narkive permalink

Ich möchte den internen RTC-Kalender mit interner Uhr (LSI) verwenden.

Es wird nicht funktionieren. Aus dem Referenzhandbuch

4.1.3 Batterie-Backup-Domäne

Beschreibung der Backup-Domain

Um den Inhalt der RTC-Sicherungsregister beizubehalten, sichern Sie den SRAM und geben Sie die RTC an, wenn Wenn V DD ausgeschaltet ist, kann der V BAT-Pin an eine optionale Standby-Spannung angeschlossen werden, die von a geliefert wird Batterie oder von einer anderen Quelle. Damit die RTC auch dann funktioniert, wenn die digitale Hauptversorgung (VDD) ausgeschaltet ist, wird die BAT (VBAT) verwendet Pin versorgt die folgenden Blöcke mit Strom:

  • Die RTC
  • Der LSE-Oszillator
  • Der Backup-SRAM, wenn der Low-Power-Backup-Regler aktiviert ist
  • PC13- bis PC15-E / A plus PI8-E / A (sofern verfügbar)
  • Der Wechsel zur V BAT sub> -Versorgung wird durch den im Reset eingebetteten Power-Down-Reset gesteuert Block.

    Leider ist die LSI-Uhr nicht auf der Liste, deshalb stoppt sie und die RTC stoppt, wenn V DD sub> weg ist.

    vionyst
    2017-09-29 14:18:53 UTC
    view on stackexchange narkive permalink

    Ich möchte den internen RTC-Kalender mit interner Uhr (LSI) verwenden.

    Ich denke, deshalb funktioniert es nicht. Laut AN4759 Verwenden der Hardware-Echtzeituhr (RTC) im Energiesparmodus mit STM32-Mikrocontrollern , Seite 36/51 können wir die folgende Anweisung lesen:

    Verwenden des richtigen Leistungsreduzierungsmodus

    Abhängig von den Anwendungsbeschränkungen, wie dem maximalen oder durchschnittlichen Stromverbrauch, der Häufigkeit des Aufweckens oder alternativ der maximalen Aufweckzeit, können mehrere Modi mit geringem Stromverbrauch verwendet werden. TDas RTC-Peripheriegerät kann in den folgenden Energiesparmodi aktiv sein:

    • Schlafmodus
  • Low-Power-Run-Modus
  • Energiesparmodus
  • Stoppmodus, wenn die RTC-Uhr von LSE oder LSI (a)
  • bereitgestellt wird
  • Standby-Modus, wenn die RTC-Uhr von LSE oder LSI
  • bereitgestellt wird
  • Shutdown-Modus, wenn die RTC-Uhr von LSE bereitgestellt wird (b)
  • Da Sie das LSI verwenden, ist der Standby-Modus der für Ihr RTC-Peripheriegerät erreichbare Modus mit der niedrigsten Leistung. Der Abschaltmodus wird erreicht, wenn Sie Ihr System ausschalten (auch wenn Sie VBAT angeschlossen haben). Dies ist Ihr Fall.

    Die Tatsache, dass VBAT angeschlossen ist, ermöglicht es Ihnen, den RTC-Wert beizubehalten, bevor Sie die Hauptstromversorgung abschalten. Da Sie jedoch die LSI-Stromversorgung am RTC-Peripheriegerät verwenden, ändert sich der Wert nicht.

    Wenn Sie das erreichen möchten, was Sie möchten (die RTC funktioniert auch dann, wenn die Hauptstromversorgung ausgeschaltet ist, ABER mit angeschlossenem VBAT), müssen Sie die LSE verwenden.



    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
    Loading...