STM32 RTC se congela cuando la alimentación está apagada

6

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: el primer encendido del reloj comienza 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 (corte la energía durante V dd , no para V Battery ) y luego espere 10 minutos. Después de encender, el reloj sigue siendo 02:05:00. Estoy atascado. Es tan molesto.

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

    
pregunta O.Blue

2 respuestas

10
  

Quiero usar el calendario interno de RTC con el reloj interno (LSI).

No va a funcionar. En el Manual de referencia

  

4.1.3 Dominio de respaldo de batería

     

Descripción del dominio de copia de seguridad

     

Para conservar el contenido de los registros de copia de seguridad de RTC, haga una copia de seguridad de SRAM y suministre la RTC cuando   V DD está apagado, V BAT se puede conectar a una tensión de reserva opcional suministrada por un   Batería o por otra fuente.   Para permitir que el RTC funcione incluso cuando la fuente digital principal (V DD ) está desactivada, V BAT   pin alimenta los siguientes bloques:

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

El interruptor a la fuente V BAT se controla mediante el reinicio de apagado incorporado en el Reinicio   bloque.

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

    
respondido por el berendi
10
  

Quiero usar el calendario interno de RTC con el reloj interno (LSI).

Creo que por eso no funciona. Según el AN4759 Uso del reloj de tiempo real (RTC) del hardware en modos de baja potencia con microcontroladores STM32 , página 36/51 podemos leer la siguiente declaración:

  

Usando el modo de reducción de potencia correcto

     

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

     
  • modo de suspensión
  •   
  • Modo de funcionamiento de baja potencia
  •   
  • Modo de suspensión 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 potencia 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 de RTC antes de apagar la fuente de alimentación principal, pero aquí, el hecho de que esté utilizando el LSI apagado del periférico de RTC, es por eso que su valor no cambia.

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

    
respondido por el vionyst

Lea otras preguntas en las etiquetas