STM32 RTC congelar cuando está apagado

Estoy usando una placa de usuario STM32F745VGT6 con Keil µVision 5. Quiero usar el calendario RTC interno con el reloj interno (LSI).

Mi pregunta es: primero encienda el reloj a las 02:00:00 y luego se va el tiempo. Por ejemplo, cuando el tiempo es 02:05:00, de repente apago la energía (corto la energía para V dd , no para V Battery ) y luego espero 10 minutos. Después de encender, el reloj sigue siendo 02:05:00. Estoy atascado. es tan molesto

Suministro una batería BIOS ininterrumpible de 3,3 voltios a STM 6.Pin (V Batt ), como en la imagen adjunta. Si quito la batería, cada apagado y encendido comienza a las 02:00:00. Así que creo que V Batt está funcionando.

Circuito de batería

Respuestas (2)

Quiero usar el Calendario RTC interno con el Reloj interno (LSI).

No va a funcionar. Del manual de referencia

4.1.3 Dominio de respaldo de batería

Descripción del dominio de respaldo

Para retener el contenido de los registros de respaldo del RTC, respaldar la SRAM y suministrar el RTC cuando V DD está apagado, el pin V BAT se puede conectar a un voltaje de reserva opcional suministrado por una batería u otra fuente. Para permitir que el RTC funcione incluso cuando el suministro digital principal (V DD ) está apagado, el pin V BAT alimenta los siguientes bloques:

  • El RTC
  • El oscilador LSE
  • La SRAM de respaldo cuando el regulador de respaldo de baja potencia está habilitado
  • E/S PC13 a PC15, más E/S PI8 (cuando esté disponible)

El cambio al suministro de V BAT está controlado por el reinicio de apagado integrado en el bloque de reinicio.

Desafortunadamente, el reloj LSI no está en la lista, es por eso que se detiene y el RTC cuando V DD se ha ido.

Quiero usar el Calendario RTC interno con el Reloj interno (LSI).

Creo que por eso no funciona. De acuerdo con el AN4759 Usando hardware de reloj en tiempo real (RTC) en modos de bajo consumo con microcontroladores STM32 , página 36/51 podemos leer la siguiente declaración:

Uso del modo de reducción de potencia adecuado

Dependiendo de las restricciones de la aplicación, como el consumo de corriente máximo o promedio, la frecuencia de los despertares o, alternativamente, el tiempo máximo de despertar, se pueden usar varios modos de bajo consumo. El periférico RTC puede estar activo en los siguientes modos de bajo consumo :

  • Modo de sueño
  • Modo de ejecución de bajo consumo
  • Modo de suspensión de bajo consumo
  • Modo de parada si el reloj RTC lo proporciona LSE o LSI(a)
  • Modo de espera si el reloj RTC lo proporciona LSE o LSI
  • Modo de apagado si el reloj RTC lo proporciona LSE(b)

Dado que está utilizando el LSI, el modo de menor consumo posible para su periférico RTC es el modo de espera. El modo de apagado se alcanza cuando apaga su sistema (incluso si tiene VBAT conectado), que es su caso.

El hecho de que VBAT esté conectado le permite mantener el valor RTC antes de apagar la fuente de alimentación principal, pero aquí, el hecho de que esté utilizando el LSI apaga el periférico RTC, es por eso que su valor no cambia.

Si desea lograr lo que desea (tener el RTC funcionando incluso cuando la fuente de alimentación principal está apagada PERO con VBAT conectado), debe usar el LSE.