Inicio Instrumentación Conservación del tiempo para ahorrar dinero en contadores inteligentes

Conservación del tiempo para ahorrar dinero en contadores inteligentes

Reducir tanto el número de componentes como los costes de programación del usuario son objetivos propios de cualquier diseño. Para este fin puede ser de ayuda recurrir a un módulo de reloj en tiempo real y calendario (real-time clock and calendar, RTCC) que proporciona una conservación precisa de la hora y la fecha y está optimizado para un bajo consumo de energía, con una intervención mínima o nula por parte de la CPU. Estos módulos pueden ser ventajosos en aplicaciones como relojes digitales de alarma digitales y contadores inteligentes de energía, algo cada vez más importante ya que aumenta el número de países con redes eléctricas inteligentes. Los microcontroladores PIC de Microchip incorporan un módulo con reloj y calendario de 100 años y detección automática de años bisiestos. Cubre desde el primer segundo del 1 de enero de 2000 hasta un segundo antes de la medianoche del 31 de diciembre de 2099 y emplea el formato de 24 horas en lugar del AM/PM, mostrado con una precisión a partir de 0,5s. La alarma se puede configurar para 0,5, 1 y 10 segundos, 1, 10 y 60 minutos, o bien día, semana y mes. La Fig. 1 muestra el diagrama de bloques del módulo. Utiliza una fuente de reloj separada procedente de un cristal externo que oscila a 32,768kHz a partir del oscilador secundario (secondary oscillator, SOSC) del T1OSC para algunos dispositivos. Esto permite que el módulo siga funcionando incluso cuando el reloj de la CPU está desactivado durante el modo dormido. El preescalador del reloj de 1:16384 proporciona la visibilidad de 0,5s al usuario, y permite asimismo que el temporizador del RTCC incremente los valores apropiados de segundo, minuto, hora, día, mes y año almacenados en los registros RTCVALx. Estos valores se comparan con los valores de alarma establecidos por el usuario para disparar una interrupción de la alarma siempre que haya una correspondencia. Los valores de la alarma se almacenan en los registros ALRMVALx. Se utilizan máscaras de alarma para establecer el intervalo de tiempo entre cada evento de alarma si se necesitan varias alarmas periódicas. La patilla RTCC puede suministrar el reloj segundero o un pulso de alarma a la mitad de la frecuencia de la alarma, dependiendo de los ajustes configurados. Con el fin de simplificar el firmware, el interface del registro para el los valores del RTCC y la alarma se implementan en formato decimal codificado en binario (binary coded decimal, BCD).

Configuración de periféricos

El usuario configura el tiempo escribiendo el año, mes, día, hora, minutos y segundos correspondientes en los registros temporales. No obstante, el bit de habilitación del RTCC (RTCEN) y los registros RTCVALH y RETCVALL solo se pueden escribir cuando el bit de habilitación de escritura en los registros del valor del RTCC (RTCWREN) se pone a uno, ya que de lo contrario se ignoraría todo lo escrito en estos registros. Los registros del temporizador RTCC (RTCVALx) y el temporizador de alarma (ALRMVALx) solo son accesibles mediante los punteros de registro correspondientes. Cada escritura o lectura en el registro RTCVALH disminuye el valor del puntero RTCC en uno hasta que llega a 00. Cuando se habilita la patilla de salida del RTCC, el usuario puede optar entre generar el reloj en segundos o un pulso de alarma, trabajando a la mitad de frecuencia de la alarma. Para una temporización más precisa y para garantizar el funcionamiento ininterrumpido del RTCC, incluso en modo dormido, se recomienda el SOSC como fuente de reloj del periférico. Una vez habilitado el RTCC, el temporizador sigue contando a partir del punto de inicio configurado. Además, para evitar que se escriba accidentalmente en el registro del temporizador del RTCC, se recomienda borrar el bit RTWREN cuando no escribe en el registro. La función de alarma es configurable entre un segundo y un año y se puede repetir según desee el usuario. Cada lectura o escritura en el registro ALRMVALH disminuye el valor del puntero de alarma en uno.

Modo de reserva de batería

Una característica del módulo RTCC es su capacidad de seguir en funcionamiento gracias a una batería de reserva si se queda sin alimentación, pues de lo contrario esto afectaría a la precisión de la sincronización. Se trata del modo VBAT, y los microcontroladores PIC ofrecen la reducción del consumo del microcontrolador y el funcionamiento ininterrumpido del RTCC gracias al modo de alimentación basado en hardware de VBAT. Este modo emplea una fuente de alimentación de reserva conectada a la patilla VBAT tal como ilustra la Fig. 2. Un interruptor de potencia integrado en el chip detecta la pérdida de alimentación desde VDD y conecta la patilla VBAT al regulador de retención. Éste alimenta a 1,2V para mantener el regulador de retención, así como el RTCC, con su fuente de reloj si se encuentra habilitada y los registros de uso general para modo dormido (deep sleep general purpose registers, DSPGPRx). El RTCC sigue funcionando como si la alimentación no se hubiera interrumpido. El dispositivo se despierta automáticamente desde el modo VBAT cuando se recupera VDD; esta reactivación se identifica comprobando el estado del bit VBAT. Si se fija cuando el dispositivo está en activo y empieza a ejecutar el código desde el vector de reinicialización, entonces indica que la salida procedía del modo VBAT. Para identificar futuros de eventos de reactivación de VBAT se debe borrar el bit por software. Una de las tarjetas de demostración de Microchip que puede funcionar con VBAT es la tarjeta de demostración LCD Explorer, que se suministra junto con un soporte para una pila de botón CR2032 de 3V.

Relojes de alarma digitales

La Fig. 3 ilustra una implementación de muestra del RTCC con los módulos de controlador del LCD y de capturacomparación- PWM (CCP) para la aplicación de un reloj de alarma digital. El SOSC proporciona el reloj para el módulo RTCC. Si la patilla RTCC se configure de manera que genere el reloj segundero, esto permite que el LED D1 parpadee una vez por segundo. Los valores en los registros RTCVALx se manipulan mediante firmware para visualizarlos en LCD1 a través del módulo de control de LCD. La interrupción de alarma dispara el módulo CCP para generar una salida con modulación de pulso que activa el zumbador piezoeléctrico P1 en cada evento de alarma. La duración de la alarma se controla por firmware. Los pulsadores S1, S2 y S3 se utilizan para fijar la hora y fecha iniciales del RTCC, así como los ajustes de la alarma. También se puede utilizar uno de los botones para que el RTCC empiece a contar. Para esta aplicación se pueden utilizar varias tarjetas de demostración de Microchip. Varios microcrocontroladores PIC con módulo RTCC también incorporan un módulo controlador de LCD que puede controlar directamente el cristal del LCD, mientras que otros pueden utilizar el módulo MSSP para comunicarse con el otro LCD mientras visualizan hora y fecha.

Contadores de energía

En un dispositivo contador de energía, el módulo RTCC se puede integrar con otros periféricos, como los módulos de convertidor A/D y controlador LCD. Los microcontroladores para aplicaciones de contadores deberían tener un convertidor A/D de alta resolución para medidas de tensión y corriente caracterizado por un bajo consumo y capaz de funcionar a partir de una batería para mantener el funcionamiento ininterrumpido del RTCC, así como una EEPROM para registro de datos y almacenamiento de los datos de calibración. Microchip cuenta con diversos microcontroladores de 8 bit que cumplen estos requisitos. Se puede utilizar la función de ajuste automático periódico del módulo RTCC con el módulo convertidor A/D para realizar la compensación de temperatura por software y obtener un tiempo más preciso. Estos microcontroladores también incorporan un módulo LCD que puede controlar un LCD directamente para indicar el consumo de energía en tiempo real. También disponen de un interface externo para batería a través de la patilla VBAT que permite el funcionamiento continuo del RTCC si se queda sin alimentación.

Conclusión

Los módulos RTCC de los microcontroladores PIC ofrecen las funciones necesarias para conservar la hora y la fecha con precisión. Son fáciles de configurar, proporcionan calibración automática de errores y su consumo de energía es muy bajo. Dado que el RTCC no se suele instalar de forma aislada, su utilidad se aprecia mejor cuando se integra con otros periféricos. Los microcontroladores PIC permiten escoger entre diferentes periféricos que se pueden implementar con el módulo RTCC en relojes de alarma digitales, contadores de energía y otras aplicaciones.  

www.microchip.com