1 / 23

Reloj de tiempo real (RTC)

Cortex – LPC1769. Seminario de capacitación docente 2012. Reloj de tiempo real (RTC). Pablo Irrera Condines Ayudante de TP. Cortex – LPC1769. ¿Qué es un RTC?. Es un circuito que posee toda la funcionalidad para la gestión de fecha y hora en unidades de tiempo humanas.

creda
Download Presentation

Reloj de tiempo real (RTC)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cortex – LPC1769 Seminario de capacitación docente 2012 Reloj de tiempo real (RTC) Pablo Irrera Condines Ayudante de TP Pablo Irrera Condines

  2. Cortex – LPC1769 • ¿Qué es un RTC? Es un circuito que posee toda la funcionalidad para la gestión de fecha y hora en unidades de tiempo humanas. Pablo Irrera Condines 2

  3. Cortex – LPC1769 • ¿Qué ventajas tiene usar un RTC? • Bajo consumo de energía (importante cuando está funcionando con una pila) • Libera de trabajo al sistema principal para que pueda dedicarse a tareas más críticas. • Suele ser más preciso que otros métodos. • ¿Cómo mide el tiempo? Se suele usar un oscilador a cristal de 32,768KHz ya que con un divisor de frecuencia de 215 se obtiene un clock de 1Hz (215 = 32768) Pablo Irrera Condines 3

  4. Cortex – LPC1769 • Forma de alimentación Normalmente se lo alimenta con una pila de litio tipo CR2032 (como en las PC). Otra opción es usar un supercapacitor que se mantiene cargado mientras está encendido el equipo y que puede durar varios días con el equipo apagado. Pablo Irrera Condines 4

  5. Cortex – LPC1769 • Diagrama en bloques de la alimentación Pablo Irrera Condines 5

  6. Cortex – LPC1769 • Diagrama en bloques funcional Pablo Irrera Condines 6

  7. Cortex – LPC1769 • Registros Pablo Irrera Condines

  8. Cortex – LPC1769 • Macros para manejar los registros Pablo Irrera Condines

  9. Cortex – LPC1769 • ¿Cómo se usa? • Se habilita el clock • Se lo “pone en hora” • Se configuran las interrupciones que usemos • Se habilita la interrupción desde el NVIC • Se puede leer la hora en cualquier momento Mientras se mantenga la alimentación del RTC (por VBAT o por VDD), los contadores seguirán funcionando y todos sus registros mantendrán su valor Luego de un reset, sólo se debe configurar el NVIC nuevamente Pablo Irrera Condines 9

  10. Cortex – LPC1769 • Habilitación del clock: Pablo Irrera Condines 10

  11. Cortex – LPC1769 • Seteo de la hora/fecha: Desde estos registros se puede escribir o leer la hora/fecha Pablo Irrera Condines 11

  12. Cortex – LPC1769 • Rango de los contadores: El cálculo de años bisiestos es automático pero falla para años múltiplos de 100 y no múltiplos de 400 Pablo Irrera Condines 12

  13. Cortex – LPC1769 • Interrupciones del RTC • Por incremento de contador • Se produce por el incremento de cualquiera de los contadores: segundos, minutos, horas, dia del mes, dia de la semana, dia del año, mes, año. Para habilitarlas se escribe un 1 en los bits correspondientes: Pablo Irrera Condines

  14. Cortex – LPC1769 • Interrupciones del RTC • Por alarma • Se produce cuando todos los registros de alarma que no han sido enmascarados son iguales a los contadores correspondientes de fecha y hora Para enmascarar los registros de alarma, poner un 1 en el bit correspondiente al registro: Pablo Irrera Condines 14

  15. Cortex – LPC1769 • Interrupciones del RTC Registros de alarma: Aca escribimos la hora y fecha a la que “suena la alarma” Pablo Irrera Condines 15

  16. Cortex – LPC1769 • Interrupciones del RTC Flags de interrupción: Si RTCCIF == 1 : la interrupción ocurrió por incremento de algun contador Si RTCALF == 1: la interrupción ocurrió poralarma Se debe escribir un 1 en estos bits para limpiar el flag Pablo Irrera Condines

  17. Cortex – LPC1769 • Escribiendo la ISR Pablo Irrera Condines

  18. Cortex – LPC1769 • Registros de backup Son 5 registros conectados al mismo bloque de alimentación del RTC. De esta manera mantienen su valor cuando se desconecta la alimentación del microcontrolador. Su valor no es afectado por el reset. Pueden usarse para cualquier propósito Pablo Irrera Condines 18

  19. Cortex – LPC1769 • Calibración El RTC se puede configurar para que se autocalibre para corregir desfasajes del oscilador. CALDIR = 1 : calibración hacia atrás CALDIR = 0: calibración hacia adelante Pablo Irrera Condines 19

  20. Cortex – LPC1769 Contador de calibración: Contador que se incrementa cada segundo. Cuando su valor es igual a CALVAR, se resetea y se efectúa la calibración configurada. CALVAR: Valor de calibración. Su valor máximo es 131072, valor que corresponde a 36,4 horas. Calibración hacia atrás (CALDIR = 1): Se usa cuando el reloj adelanta. Cuando el contador de calibración llega al valor CALVAL, se detiene el RTC por un segundo. Calibración hacia adelante (CALDIR = 0): Se usa cuando el reloj atrasa. Cuando el contador de calibración llega al valor CALVAL, los contadores de tiempo se incrementan en 2. Pablo Irrera Condines 20

  21. Cortex – LPC1769 Para habilitar el contador de calibración: Escribimos un 0 Pablo Irrera Condines 21

  22. Cortex – LPC1769 Para determinar el valor de CALVAL: Usando el pin CLKOUT se pueden observar los pulsos del oscilador del RTC. Se debe medir la frecuencia de los pulsos y calcular cuantos se necesitan para que haya un corrimiento de 1 segundo. Ese valor se escribe en CALVAL. Función 1 de P1.27 Pablo Irrera Condines 22

  23. Cortex – LPC1769 Habilitación de CLKOUT: =1 Pablo Irrera Condines 23

More Related