stringtranslate.com

Reloj en tiempo real

Reloj de tiempo real DS1287 de Dallas Semiconductor fabricado en 1988
Tipos de módulos RTC para aficionados disponibles comercialmente en China

Un reloj de tiempo real ( RTC ) es un dispositivo electrónico (generalmente en forma de circuito integrado ) que mide el paso del tiempo.

Aunque el término a menudo se refiere a los dispositivos en computadoras personales , servidores y sistemas integrados , los RTC están presentes en casi cualquier dispositivo electrónico que necesite mantener la hora exacta .

Terminología

El término reloj de tiempo real se utiliza para evitar confusiones con los relojes de hardware ordinarios , que son solo señales que gobiernan la electrónica digital y no cuentan el tiempo en unidades humanas. RTC no debe confundirse con computación en tiempo real , que comparte su acrónimo de tres letras pero no se relaciona directamente con la hora del día.

Objetivo

Aunque se puede llevar un registro del tiempo sin un RTC, [1] su uso tiene sus ventajas:

Un receptor GPS puede acortar su tiempo de inicio comparando la hora actual, según su RTC, con la hora en la que tuvo la última señal válida. [3] Si han pasado menos de unas pocas horas, entonces las efemérides anteriores todavía son utilizables.

Algunas placas base se fabrican sin reloj de tiempo real (RTC). Es posible que el RTC no esté incluido para ahorrar dinero o reducir posibles causas de fallos de hardware.

Fuente de poder

Batería de litio dentro del circuito integrado del reloj en tiempo real

Los RTC suelen tener una fuente de alimentación alternativa, por lo que pueden seguir marcando la hora mientras la fuente de alimentación principal está apagada o no está disponible. Esta fuente de alimentación alternativa normalmente es una batería de litio en los sistemas más antiguos, pero algunos sistemas más nuevos utilizan un supercondensador , [4] [5] porque son recargables y se pueden soldar . La fuente de alimentación alternativa también puede suministrar energía a la RAM respaldada por batería . [6]

Momento

La mayoría de los RTC utilizan un oscilador de cristal , [7] [8] pero algunos tienen la opción de utilizar la frecuencia de la línea eléctrica . [9] La frecuencia del cristal suele ser de 32,768 kHz, [7] la misma frecuencia que se utiliza en los relojes de cuarzo . Al ser exactamente 2 15 ciclos por segundo, es una velocidad conveniente para usar con circuitos contadores binarios simples. La baja frecuencia ahorra energía, al tiempo que se mantiene por encima del rango de audición humana. El diapasón de cuarzo de estos cristales no cambia mucho de tamaño con la temperatura, por lo que la temperatura no cambia mucho su frecuencia.

Algunos RTC utilizan un resonador micromecánico en el chip de silicio del RTC. Esto reduce el tamaño y el costo de un RTC al reducir la cantidad de piezas. Los resonadores micromecánicos son mucho más sensibles a la temperatura que los resonadores de cuarzo. Por lo tanto, estos compensan los cambios de temperatura utilizando un termómetro electrónico y lógica electrónica. [10]

Las especificaciones de precisión típicas de los RTC de cristal son de ±100 a ±20 partes por millón (8,6 a 1,7 segundos por día), pero hay circuitos integrados RTC con compensación de temperatura disponibles con una precisión de menos de 5 partes por millón. [11] [12] En términos prácticos, esto es lo suficientemente bueno para realizar la navegación celestial , la tarea clásica de un cronómetro . En 2011, se pusieron a disposición los relojes atómicos a escala de chip . Aunque son mucho más caros y consumen mucha energía (120 mW frente a <1 μW), mantienen el tiempo dentro de las 50 partes por billón (5 × 10 −11 ). [13]

Ejemplos

Reloj en tiempo real de Dallas Semiconductor (DS1387) de una PC antigua. Esta versión también contiene una SRAM respaldada por batería.
Chip RTC Dallas DS1307 en encapsulado DIP-8

Muchos fabricantes de circuitos integrados fabrican RTC, entre ellos Epson , Intersil , IDT , Maxim , NXP Semiconductors , Texas Instruments , STMicroelectronics y Ricoh . Un RTC común utilizado en computadoras de placa única es el Maxim Integrated DS1307.

El RTC fue introducido a los PC compatibles por el IBM PC/AT en 1984, que utilizaba un RTC Motorola MC146818. [14] [15] Más tarde, Dallas Semiconductor fabricó RTC compatibles, que se utilizaban a menudo en ordenadores personales más antiguos y se encuentran fácilmente en las placas base debido a su distintiva tapa de batería negra y su logotipo serigrafiado . Hay disponible una interfaz CMOS estándar para el RTC de PC. [16]

En los sistemas informáticos más nuevos, el RTC está integrado en el chip del puente sur . [17] [18]

Algunos microcontroladores tienen un reloj en tiempo real incorporado, generalmente sólo aquellos con muchas otras funciones y periféricos .

RTC basados ​​en radio

Algunas computadoras modernas reciben información del reloj por radio digital y la utilizan para promover estándares de tiempo. Hay dos métodos comunes: la mayoría de los protocolos de telefonía celular (por ejemplo, LTE ) proporcionan directamente la hora local actual. Si hay una radio por Internet disponible, una computadora puede usar el protocolo de tiempo de red . Las computadoras utilizadas como servidores de hora local ocasionalmente usan GPS [19] o transmisiones de radio de frecuencia ultrabaja emitidas por una organización de estándares nacionales (es decir, un reloj de radio [20] ).

RTC basados ​​en software

El siguiente sistema es bien conocido por los programadores de sistemas integrados , quienes a veces deben construir RTC en sistemas que carecen de ellos. La mayoría de las computadoras tienen uno o más temporizadores de hardware que utilizan señales de temporización de cristales de cuarzo o resonadores cerámicos . Estos tienen una temporización absoluta inexacta (más de 100 partes por millón) que, sin embargo, es muy repetible (a menudo, menos de 1 ppm). El software puede hacer los cálculos para convertirlos en RTC precisos. El temporizador de hardware puede producir una interrupción periódica, por ejemplo, 50  Hz , para imitar un RTC histórico (ver a continuación). Sin embargo, utiliza matemáticas para ajustar la cadena de temporización para lograr precisión:

tiempo = tiempo + tasa.

Cuando la variable "tiempo" excede una constante, generalmente una potencia de dos, el tiempo nominal calculado del reloj (por ejemplo, para 1/50 de segundo) se resta del "tiempo", y se invoca el software de la cadena de temporización del reloj para contar fracciones de segundos, segundos, etc. Con variables de 32 bits para tiempo y velocidad, la resolución matemática de la "velocidad" puede superar una parte por mil millones. El reloj sigue siendo preciso porque ocasionalmente se salta una fracción de segundo o se incrementa en dos fracciones. El pequeño salto (" fluctuación ") es imperceptible para casi todos los usos reales de un RTC.

La complejidad de este sistema es determinar el valor corregido instantáneo de la variable "frecuencia". El sistema más simple rastrea la hora RTC y la hora de referencia entre dos configuraciones del reloj, y divide la hora de referencia por la hora RTC para encontrar la "frecuencia". La hora de Internet suele tener una precisión de menos de 20 milisegundos, por lo que 8000 o más segundos (2,2 o más horas) de separación entre configuraciones pueden dividir los cuarenta milisegundos (o menos) de error en menos de 5 partes por millón para obtener una precisión similar a la de un cronómetro. La principal complejidad de este sistema es convertir fechas y horas en recuentos de segundos, pero los métodos son bien conocidos. [21]

Si el RTC funciona cuando una unidad está apagada, generalmente lo hará a dos velocidades, una cuando la unidad está encendida y otra cuando está apagada. Esto se debe a que la temperatura y el voltaje de la fuente de alimentación en cada estado son constantes. Para ajustar estos estados, el software calcula dos velocidades. Primero, el software registra el tiempo del RTC, el tiempo de referencia, los segundos de encendido y los segundos de apagado para los dos intervalos entre las últimas tres veces que se configuró el reloj. Con esto, puede medir la precisión de los dos intervalos, y cada intervalo tiene una distribución diferente de segundos de encendido y apagado. La matemática de la velocidad resuelve dos ecuaciones lineales para calcular dos velocidades, una para encendido y otra para apagado.

Otro método mide la temperatura del oscilador con un termómetro electrónico (por ejemplo, un termistor y un convertidor analógico a digital ) y utiliza un polinomio para calcular la "frecuencia" aproximadamente una vez por minuto. Estos requieren una calibración que mide la frecuencia a varias temperaturas y luego una regresión lineal para encontrar la ecuación de temperatura. Los cristales de cuarzo más comunes en un sistema son cristales de corte SC y sus velocidades con respecto a la temperatura se pueden caracterizar con un polinomio de tercer grado. Por lo tanto, para calibrarlos, se mide la frecuencia a cuatro temperaturas. Los cristales de estilo diapasón comunes utilizados en relojes y muchos componentes RTC tienen ecuaciones de temperatura parabólicas (de segundo grado) y se pueden calibrar con solo 3 mediciones. Los osciladores MEMS varían, desde polinomios de tercer grado hasta polinomios de quinto grado, según su diseño mecánico, y por lo tanto necesitan de cuatro a seis mediciones de calibración. Algo como este enfoque se podría utilizar en circuitos integrados RTC comerciales, pero los métodos reales de fabricación eficiente a alta velocidad son propietarios.

RTC históricos

Algunos diseños de computadoras , como los IBM System/360 más pequeños , [22] los PDP-8 [23] y los Novas, usaban un reloj de tiempo real que era preciso, simple y de bajo costo. En Europa, América del Norte y algunas otras redes, la frecuencia de la red de CA se ajusta a la precisión de frecuencia a largo plazo de los estándares nacionales. En esas redes, los relojes que usan la red de CA pueden mantener la hora perfecta sin ajustes. Dichos relojes no son prácticos en computadoras portátiles o redes (por ejemplo, en el sur de Asia) que no regulan la frecuencia de la red de CA.

Las fuentes de alimentación de estos ordenadores utilizan un transformador o un divisor de resistencias para producir una onda sinusoidal a voltajes lógicos. Esta señal está condicionada por un detector de cruce por cero, ya sea mediante un amplificador lineal o un disparador Schmitt . El resultado es una onda cuadrada con flancos rápidos y sencillos a la frecuencia de la red. Esta señal lógica activa una interrupción. El software de gestión de interrupciones suele contar ciclos, segundos, etc. De esta forma, puede proporcionar un reloj y un calendario completos. En el IBM 360, la interrupción actualiza un recuento de 64 bits de microsegundos utilizado por el software de sistemas estandarizados. El error de fluctuación del reloj es la mitad si el reloj interrumpe cada cruce por cero, en lugar de cada ciclo.

El reloj también solía formar la base de las cadenas de temporización del software de los ordenadores; por ejemplo, era el temporizador que se utilizaba para cambiar de tarea en un sistema operativo. Los temporizadores de conteo que se utilizan en los ordenadores modernos ofrecen características similares con una precisión menor y es posible que sus requisitos se deban a este tipo de reloj (por ejemplo, en el PDP-8, el reloj basado en la red eléctrica, modelo DK8EA, apareció primero, y más tarde fue seguido por un reloj basado en cristal, DK8EC).

Un reloj basado en software debe ajustarse cada vez que se enciende el ordenador. En un principio, esto lo hacían los operadores de ordenadores. Cuando Internet se generalizó, se utilizaron protocolos de tiempo de red para ajustar automáticamente los relojes de este tipo.

Véase también

Referencias

  1. ^ Ala-Paavola, Jaakko (16 de enero de 2000). "Proyecto de código fuente de reloj de tiempo real basado en interrupción de software para microcontrolador PIC". Archivado desde el original el 17 de julio de 2007. Consultado el 23 de agosto de 2007 .
  2. ^ Cómo habilitar la función de cronometraje y prolongar la vida útil de la batería en sistemas de bajo consumo, NXP Semiconductors, 2011
  3. ^ US 5893044  Aparato de reloj de tiempo real para adquisición rápida de señales GPS
  4. ^ El nuevo reloj de tiempo real PCF2123 establece un nuevo récord en eficiencia energética, futuro
  5. ^ Nota de aplicación 3816, Maxim/Dallas Semiconductor, 2006
  6. ^ Torres, Gabriel (24 de noviembre de 2004). «Introducción y batería de litio». Sustitución de la batería de la placa base . hardwaresecrets.com. Archivado desde el original el 24 de diciembre de 2013 . Consultado el 20 de junio de 2013 .
  7. ^ Nota de aplicación 10337 , ST Microelectronics, 2004, pág. 2
  8. ^ Nota de aplicación U-502, Texas Instruments, 2004, pág. 13
  9. ^ Nota de aplicación 1994, Maxim/Dallas Semiconductor, 2003
  10. ^ "Maxim DS3231m" (PDF) . Maxim Inc . Consultado el 26 de marzo de 2019 .
  11. ^ "Relojes de tiempo real de alta precisión". Maxim Semiconductors . Consultado el 20 de octubre de 2017 .
  12. ^ Drown, Dan (3 de febrero de 2017). "Comparación de RTC".
  13. ^ "Reloj atómico a escala de chip". Microsemi . Consultado el 20 de octubre de 2017 .
  14. ^ "Información sobre la memoria RAM del reloj en tiempo real/semiconductor de óxido metálico complementario (RT/CMOS)". Referencia técnica de IBM PC AT (PDF) . International Business Machines Corporation. 1984. pág. Placa base 1–45.
  15. ^ MC146818A RELOJ DE TIEMPO REAL MÁS RAM (RTC) (PDF) . Motorola Inc. 1984.
  16. ^ "CMOS RTC - Reloj de tiempo real y memoria (puertos 70h y 71h) :: HelpPC 2.10 - Utilidad de referencia rápida :: NetCore2K.net". helppc.netcore2k.net .
  17. ^ "Especificaciones del puente sur ULi M1573". AMDboard.com . Consultado el 23 de agosto de 2007 .
  18. ^ Conjunto de datos PCISET 82430FX
  19. ^ "Sincronización del reloj GPS". Safran (antes Orolia). 9 de diciembre de 2020. Consultado el 6 de enero de 2021 .
  20. ^ "Producto: Radio reloj USB". Meinburg . Consultado el 20 de octubre de 2017 .
  21. ^ "Aplicaciones calendáricas". Observatorio Naval de los Estados Unidos . Marina de los Estados Unidos. Archivado desde el original el 4 de abril de 2016. Consultado el 7 de noviembre de 2019 .
  22. ^ IBM (septiembre de 1968), Principios de funcionamiento del IBM System/360 (PDF) , octava edición, A22-6821-7Revisado por IBM (12 de mayo de 1970), ibid. , GN22-0354e IBM (8 de junio de 1970), ibid. , GN22-0361
  23. ^ Digital Equipment Corp. "PDP-8/E Small Computer Handbook, 19" (PDF) . Gibson Research. pp. 7–25, DK8EA . Consultado el 12 de noviembre de 2016 .

Enlaces externos