Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Parte 3 de la serie Temporizadores de Microcontroladores: Por dentro de los Relojes en Tiempo Real (RTC)

En esta entrega nos adentramos en el corazón de los relojes en tiempo real (RTC) basados en microcontroladores. Entregas previas cubrieron fundamentos de temporizadores y modulación por ancho de pulso. Este artículo explica cómo los RTC mantienen intervalos precisos de un segundo, gestionan hora y fecha, compensan deriva y protegen contra manipulación.

Qué hace un RTC

Los RTC son hardware dedicado que genera un tic constante de un segundo y mantiene una cuenta continua. Un diagrama de temporización simple muestra el generador de tics, una rutina de software que lee el contador de segundos, y una alarma que dispara tres segundos después. Los requisitos clave son precisión y operación continua.

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Figura 1. Diagrama de temporización básico de RTC

Características de hardware típicas

Los RTC de microcontroladores modernos usualmente incluyen:

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Figura 2. Características de hardware comunes de RTC

Precisión y compensación de frecuencia

El corazón de un RTC es su cristal de 32 768 Hz. En un oscilador bien diseñado, el cristal mismo es la principal fuente de error. TCXOs externos pueden entregar estabilidad sub-ppm, mientras que osciladores internos pueden compensarse para lograr rendimiento comparable.

Fuentes típicas de error incluyen:

El gráfico abajo, cortesía de Texas Instruments, ilustra cómo temperatura y error inicial se combinan, y cómo una calibración cuidadosa puede llevar el error total a la banda amarilla —un objetivo alcanzable tras medición a nivel de placa.

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Figura 3. Error vs. temperatura (Texas Instruments)

Con precisión de 1 ppm sobre un año, el reloj se desvía aproximadamente 30 segundos —mucho mejor que la mayoría de proyectos de hobby pero aún vale la pena considerar en sistemas crítico-misión.

Compensando errores de temporización

Dos estrategias comunes existen para corregir pequeña deriva sin sacrificar la simplicidad del hardware:

Preescalador ajustable. Si el RTC expone un preescalador programable, el software puede ajustar el módulo cada pocos segundos. Por ejemplo, un reloj que corre 0,00010 s rápido puede cambiar el preescalador de 32 768 a 32 781 una vez cada cuatro segundos, añadiendo los 0,00010 s faltantes cada vez.

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Figura 4. Ajuste de preescalador para contrarrestar deriva

Ventajas: correcciones de grano fino y código mínimo. Inconveniente: requiere preescalador ajustable y registros extra.

Corrección por software. Cuando el hardware carece de preescalador programable, el firmware puede mantener un recuento acumulado del contador de segundos. Cuando el error acumulado alcanza un segundo, añade o resta un tic. El ajuste es visible solo una vez por ciclo, lo que puede sentirse abrupto.

Por dentro de los Relojes en Tiempo Real (RTC) de microcontroladores: Diseño, precisión y seguridad

Figura 5. Corrección de temporización solo por software

Ventaja: funciona con cualquier RTC. Desventaja: saltos notables en la tasa de tic.

Consideraciones de seguridad

En aplicaciones donde el tiempo está ligado a facturación, límites de uso o secuenciación crítica, proteger el RTC de manipulación es esencial. Muchos microcontroladores proveen:

Por ejemplo, el MCU usado en este artículo tiene un bit de bloqueo que, una vez establecido, no puede limpiarse hasta que el chip se resetea, impidiendo que código malicioso altere el reloj.

Gestión de hora y fecha

Algunos RTC integran contadores completos de hora del día y calendario. Si el hardware carece de estos, el firmware puede derivar la fecha del contador de segundos de 32 bits usando algoritmos estándar. La librería estándar C time.h espera una función que devuelva segundos desde la época (usualmente 1 ene 1970). Un simple wrapper get_time() que lea el contador del RTC alimenta la librería, que luego maneja años bisiestos, horario de verano y formato.

Limitaciones de contadores de segundos de 32 bits

Un contador de 32 bits desbordará tras 2³² segundos —poco más de 136 años. Sin embargo, cuando la época empieza en 1970, el contador se desbordará en 2038 (el problema Y2038). Sistemas que dependen de la librería C pueden experimentar comportamiento indefinido cuando el contador alcanza 2³¹ – 1.

La misión Deep Impact de NASA perdió comunicación en 2013 tras el desbordamiento de un temporizador de 32 bits que rastreaba tiempo en incrementos de 0,1 segundos, potencialmente corrompiendo comandos de control.

"Aunque la causa exacta de la pérdida no se conoce, el análisis ha descubierto un problema potencial con el etiquetado de tiempo del computador que podría haber llevado a pérdida de control de la orientación de Deep Impact."

— NASA News Release, 2013

Los diseñadores deben usar contadores que superen cómodamente la vida útil esperada del sistema, o implementar manejo de desbordamiento en firmware.

Próximos pasos

El artículo final de esta serie cubrirá temporizadores watchdog, la red de seguridad que mantiene vivo un microcontrolador incluso cuando el software se cuelga.

Tecnología Industrial

  1. Logre Interoperabilidad Empresarial en Tiempo Real con OPC Unified Architecture
  2. Carga y Descarga de Capacitor: Experimento Práctico de Circuito RC
  3. Dominando Cálculos de Constante de Tiempo para Circuitos RC y RL
  4. Cálculo de voltaje y corriente en circuitos DC reactivos
  5. Desbloqueando el crecimiento industrial: Cómo el IoT impulsa la nueva revolución industrial
  6. Cuándo actualizar equipos de trabajo: Decisiones de negocio inteligentes
  7. Siete impulsores clave que aceleran la transformación digital
  8. Adopte el mecanizado de alto rendimiento: Impulse velocidad, precisión y ROI
  9. Detección de Cambios 3D en Tiempo Real por Robot Mejora Seguridad del Soldado vía RA
  10. Sensor Aeronáutico Avanzado Proporciona Detección de Hielo en Tiempo Real y Monitoreo de Tasa de Deshielo
  11. Transformar la gestión cloud en práctica estratégica de TI