6 votos

STM32 RTC se congela cuando la energía está apagada

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

Mi pregunta es: la primera energía en el reloj de inicio 02:00:00 entonces el tiempo se va. Por ejemplo, cuando el tiempo es 02:05:00 de repente me poder fuera de la energía (cortar la energía para V dd no para V Batería ) y esperar 10 minutos. Tras el encendido, el reloj sigue marcando 02:05:00. Estoy atascado. Es muy molesto.

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

Battery circuit

13voto

berendi Puntos 316

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

No va a funcionar. Desde el Manual de referencia

4.1.3 Dominio de la batería de reserva

Descripción del dominio de copia de seguridad

Para retener el contenido de los registros de respaldo del RTC, la SRAM de respaldo y alimentar el RTC cuando V DD se apaga, V BAT puede conectarse a una tensión de espera opcional suministrada por un batería o por otra fuente. Para permitir que el RTC funcione incluso cuando la alimentación digital principal (V DD ) se apaga, el V BAT alimenta los siguientes bloques:

  • El RTC
  • El oscilador LSE
  • La SRAM de reserva cuando el regulador de reserva de bajo consumo está activado
  • E/S PC13 a PC15, más E/S PI8 (cuando está disponible)

El cambio a la V BAT se controla mediante el reinicio de apagado integrado en el Reset del bloque.

Desgraciadamente el reloj LSI no está en la lista, por eso éste y el RTC se detienen cuando V DD se ha ido.

10voto

GWB Puntos 1034

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

Creo que por eso no funciona. Según el _AN4759 Uso del reloj en tiempo real por hardware (RTC) en modos de bajo consumo con microcontroladores STM32_ En la página 36/51 podemos leer la siguiente afirmación:

Utilizar el modo de reducción de potencia adecuado

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

  • Modo de reposo
  • Modo de funcionamiento de bajo consumo
  • Modo de reposo de bajo consumo
  • Modo de parada si el reloj RTC es proporcionado por LSE o LSI(a)
  • Modo de espera si el reloj RTC es proporcionado por LSE o LSI
  • Modo de apagado si el reloj RTC es proporcionado por LSE(b)

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

El hecho de que VBAT esté conectado permite mantener el valor del 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, por eso su valor no cambia.

Si quieres conseguir lo que quieres (que el RTC funcione incluso cuando la fuente de alimentación principal está apagada PERO con VBAT conectado), tienes que usar el LSE.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X