Вы находитесь на странице: 1из 23

Cortex LPC1769

minario de capacitacin docente 2012

Reloj de tiempo real (RTC)


Pablo Irrera Condines
Ayudante de TP

Pablo Irrera Condines 1


Cortex LPC1769
Qu es un RTC?
Es un circuito que posee toda la funcionalidad para la gestin de fecha
y hora en unidades de tiempo humanas.

Pablo Irrera Condines 2


Cortex LPC1769
Qu ventajas tiene usar un RTC?
Bajo consumo de energa (importante cuando est funcionando con
una pila)
Libera de trabajo al sistema principal para que pueda dedicarse a
tareas ms crticas.
Suele ser ms preciso que otros mtodos.

Cmo 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


Cortex LPC1769
Forma de alimentacin
Normalmente se lo alimenta con una pila de litio tipo CR2032 (como en
las PC). Otra opcin es usar un supercapacitor que se mantiene
cargado mientras est encendido el equipo y que puede durar varios
das con el equipo apagado.

Pablo Irrera Condines 4


Cortex LPC1769
Diagrama en bloques de la alimentacin

Pablo Irrera Condines 5


Cortex LPC1769
Diagrama en bloques funcional

Pablo Irrera Condines 6


Cortex LPC1769
Registros

Pablo Irrera Condines 7


Cortex LPC1769
Macros para manejar los registros

Pablo Irrera Condines 8


Cortex LPC1769
Cmo se usa?
1. Se habilita el clock
2. Se lo pone en hora
3. Se configuran las interrupciones que usemos
4. Se habilita la interrupcin desde el NVIC
5. Se puede leer la hora en cualquier momento

Mientras se mantenga la alimentacin del RTC (por VBAT o por VDD), los
contadores seguirn funcionando y todos sus registros mantendrn su
valor

Luego de un reset, slo se debe configurar el NVIC nuevamente

Pablo Irrera Condines 9


Cortex LPC1769
Habilitacin del clock:

Pablo Irrera Condines 10


Cortex LPC1769
Seteo de la hora/fecha:

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

Pablo Irrera Condines 11


Cortex LPC1769
Rango de los contadores:

El clculo de aos bisiestos es automtico pero falla para aos mltiplos de


100 y no mltiplos de 400

Pablo Irrera Condines 12


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
ao, mes, ao.

Para habilitarlas se escribe un 1 en los bits correspondientes:

Pablo Irrera Condines 13


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


Cortex LPC1769
Interrupciones del RTC
Registros de alarma:

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

Pablo Irrera Condines 15


Cortex LPC1769
Interrupciones del RTC
Flags de interrupcin:

Si RTCCIF == 1 : la interrupcin ocurri por incremento de algun contador


Si RTCALF == 1: la interrupcin ocurri por alarma

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

Pablo Irrera Condines 16


Cortex LPC1769
Escribiendo la ISR

Pablo Irrera Condines 17


Cortex LPC1769
Registros de backup

Son 5 registros conectados al mismo bloque de alimentacin del RTC. De


esta manera mantienen su valor cuando se desconecta la alimentacin del
microcontrolador. Su valor no es afectado por el reset. Pueden usarse para
cualquier propsito

Pablo Irrera Condines 18


Cortex LPC1769
Calibracin

El RTC se puede configurar para que se autocalibre para corregir


desfasajes del oscilador.

CALDIR = 1 : calibracin hacia atrs


CALDIR = 0: calibracin hacia adelante

Pablo Irrera Condines 19


Cortex LPC1769

Contador de calibracin:
Contador que se incrementa cada segundo. Cuando su valor es igual a
CALVAR, se resetea y se efecta la calibracin configurada.

CALVAR:
Valor de calibracin. Su valor mximo es 131072, valor que corresponde a
36,4 horas.

Calibracin hacia atrs (CALDIR = 1):


Se usa cuando el reloj adelanta. Cuando el contador de calibracin llega al
valor CALVAL, se detiene el RTC por un segundo.

Calibracin hacia adelante (CALDIR = 0):


Se usa cuando el reloj atrasa. Cuando el contador de calibracin llega al
valor CALVAL, los contadores de tiempo se incrementan en 2.

Pablo Irrera Condines 20


Cortex LPC1769
Para habilitar el contador de calibracin:

Escribimos un 0

Pablo Irrera Condines 21


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.

Funcin 1 de P1.27

Pablo Irrera Condines 22


Cortex LPC1769
Habilitacin de CLKOUT:

=1

Pablo Irrera Condines 23

Вам также может понравиться