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

Reloj de tiempo real (RTC)

  • Upload
    creda

  • View
    102

  • Download
    1

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Reloj de tiempo real (RTC)

Pablo Irrera Condines 1

Reloj de tiempo real (RTC)

Seminario de capacitación docente 2012

Pablo Irrera CondinesAyudante de TP

Cortex – LPC1769

Page 2: Reloj de tiempo real (RTC)

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.

Page 3: Reloj de tiempo real (RTC)

Pablo Irrera Condines 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)

Page 4: Reloj de tiempo real (RTC)

Pablo Irrera Condines 4

Cortex – LPC1769Forma 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.

Page 5: Reloj de tiempo real (RTC)

Pablo Irrera Condines 5

Diagrama en bloques de la alimentaciónCortex – LPC1769

Page 6: Reloj de tiempo real (RTC)

Pablo Irrera Condines 6

Diagrama en bloques funcionalCortex – LPC1769

Page 7: Reloj de tiempo real (RTC)

Pablo Irrera Condines 7

RegistrosCortex – LPC1769

Page 8: Reloj de tiempo real (RTC)

8

Macros para manejar los registrosCortex – LPC1769

Pablo Irrera Condines

Page 9: Reloj de tiempo real (RTC)

Pablo Irrera Condines 9

¿Cómo se usa?Cortex – LPC1769

1. Se habilita el clock2. Se lo “pone en hora”3. Se configuran las interrupciones que usemos4. Se habilita la interrupción desde el NVIC5. 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

Page 10: Reloj de tiempo real (RTC)

Pablo Irrera Condines 10

Habilitación del clock:Cortex – LPC1769

Page 11: Reloj de tiempo real (RTC)

Pablo Irrera Condines 11

Seteo de la hora/fecha:Cortex – LPC1769

Desde estos registros se puede escribir o leer la hora/fecha

Page 12: Reloj de tiempo real (RTC)

Pablo Irrera Condines 12

Rango de los contadores:Cortex – LPC1769

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

Page 13: Reloj de tiempo real (RTC)

Pablo Irrera Condines 13

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:

Cortex – LPC1769

Page 14: Reloj de tiempo real (RTC)

Pablo Irrera Condines 14

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:

Cortex – LPC1769

Page 15: Reloj de tiempo real (RTC)

Pablo Irrera Condines 15

Interrupciones del RTC

Registros de alarma:

Aca escribimos la hora y fecha a la que “suena la alarma”

Cortex – LPC1769

Page 16: Reloj de tiempo real (RTC)

Pablo Irrera Condines 16

Interrupciones del RTC

Flags de interrupción:

Si RTCCIF == 1 : la interrupción ocurrió por incremento de algun contadorSi RTCALF == 1: la interrupción ocurrió por alarma

Se debe escribir un 1 en estos bits para limpiar el flag

Cortex – LPC1769

Page 17: Reloj de tiempo real (RTC)

Pablo Irrera Condines 17

Escribiendo la ISRCortex – LPC1769

Page 18: Reloj de tiempo real (RTC)

Pablo Irrera Condines 18

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

Cortex – LPC1769

Page 19: Reloj de tiempo real (RTC)

Pablo Irrera Condines 19

Calibración

El RTC se puede configurar para que se autocalibre para corregir desfasajes del oscilador.

CALDIR = 1 : calibración hacia atrásCALDIR = 0: calibración hacia adelante

Cortex – LPC1769

Page 20: Reloj de tiempo real (RTC)

Pablo Irrera Condines 20

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.

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.

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.

Cortex – LPC1769

Page 21: Reloj de tiempo real (RTC)

Pablo Irrera Condines 21

Para habilitar el contador de calibración:

Escribimos un 0

Cortex – LPC1769

Page 22: Reloj de tiempo real (RTC)

Pablo Irrera Condines 22

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

Cortex – LPC1769

Page 23: Reloj de tiempo real (RTC)

Pablo Irrera Condines 23

Habilitación de CLKOUT:

=1

Cortex – LPC1769