Diferencia entre revisiones de «Reloj en tiempo real»

8382 bytes añadidos ,  hace 1 mes
sin resumen de edición
Algunos [[microcontrolador]]es tienen reloj en tiempo real incorporado, generalmente sólo una más de otras características y [[periférico (informática)|periférico]]s.
 
=== RTC basados ​​en radio ===
Algunas computadoras modernas reciben información de 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 teléfonos móviles (por ejemplo, [[LTE (telecomunicaciones)|LTE]]) proporcionan directamente la hora local actual. Si hay una radio por Internet disponible, una computadora puede usar el [[Network Time Protocol]] o protocolo de tiempo de red. Los ordenadores utilizados como servidores de hora local utilizan ocasionalmente [[GPS]]<ref name="nhueQ">{{cita web |título= GPS Clock Synchronization |url= https://www.orolia.com/resources/blog/david-sohn/2020/guide-gpsgnss-clock-synchronization |editorial= Orolia |fechaacceso=27 de junio de 2021}}</ref> o transmisiones de radio de frecuencia ultrabaja emitidas por una organización nacional de normalización (es decir, un [[reloj controlado por radio]] <ref name="LZ0mo">{{cita web |título= Product: USB Radio Clock |url= https://www.meinbergglobal.com/english/products/usb-wwvb-clock.htm |editorial= Meinburg |fechaacceso=27 de junio de 2021}}</ref>).
 
=== RTC basados ​​en software ===
El siguiente sistema es bien conocido por los programadores de [[Sistema embebido|sistemas embebidos]], 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 [[Cuarzo|cristales de cuarzo]] o [[resonador cerámico|resonadores cerámicos]]. Estos tienen una sincronización absoluta inexacta (más de 100 partes por millón) que aún 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 más abajo). Sin embargo, usa matemáticas para ajustar la cadena de tiempo para mayor precisión:
 
tiempo = tiempo + tasa.
 
Cuando la variable "tiempo" excede una constante, generalmente una potencia de dos, el tiempo nominal calculado del reloj (digamos, para 1/50 de segundo) se resta de "tiempo", y el software de la cadena de tiempo del reloj se invoca para contar fracciones de segundos, segundos, etc. Con variables de 32 [[bit]]s para tiempo y velocidad, la resolución matemática de "velocidad" puede exceder una parte por mil millones. El reloj sigue siendo preciso porque ocasionalmente se saltará una fracción de segundo o se incrementará en dos fracciones. El pequeño salto ("[[jitter]]") es imperceptible para casi todos los usos reales de un RTC.
 
La complejidad de este sistema es determinar el valor instantáneo corregido para la variable "tasa". El sistema más simple rastrea los segundos de RTC y los segundos de referencia entre dos configuraciones del reloj, y divide los segundos de referencia entre los segundos de RTC para encontrar la "tasa". El tiempo de Internet a menudo tiene una precisión de menos de 20 milisegundos, por lo que 8000 segundos o más (2.2 horas o más) de separación entre configuraciones generalmente pueden dividir los cuarenta milisegundos (o menos) de error en menos de 5 partes por millón para obtener la precisión de un cronómetro. La principal complejidad de este sistema es convertir fechas y horas en segundos, pero los métodos son bien conocidos. <ref name="FQjlV">{{cita web |título= Calendrical Applications |url= http://aa.usno.navy.mil/faq/docs/JD_Formula.php |obra= U.S. Naval Observatory |editorial= =U.S. Navy |urlarchivo= https://web.archive.org/web/20160404103428/http://aa.usno.navy.mil/faq/docs/JD_Formula.php |fechaarchivo=4 de abril de 2016|archive-date=2016-04-04}}</ref>
 
Si el RTC funciona cuando una unidad está apagada, normalmente el RTC funcionará 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 consistentes. Para ajustar estos estados, el software calcula dos tasas. Primero, el software registra el tiempo RTC, el tiempo de referencia, los segundos de encendido y los segundos de apagado para los dos intervalos entre las últimas tres horas en las que se configura 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 tasas resuelve dos [[Ecuación de primer grado|ecuaciones lineales]] para calcular dos tasas, una para encendido y otra para apagado.
 
Otro enfoque mide la temperatura del cristal con un termómetro electrónico (por ejemplo, un [[termistor]] y un [[Conversión analógica-digital|convertidor analógico a digital]]) y utiliza un [[polinomio]] para calcular la "tasa" aproximadamente una vez por minuto. Los cristales de cuarzo más comunes en un sistema son los cristales de corte SC, y sus velocidades sobre la temperatura se pueden caracterizar con un polinomio de tercer grado. Entonces, para estos, la tasa se mide a cuatro temperaturas. Los cristales comunes de estilo diapasón que se utilizan en los relojes y muchos componentes del RTC tienen ecuaciones de temperatura parabólicas ([[Ecuación de segundo grado|de segundo grado]]) y se pueden caracterizar con solo tres medidas. Luego una [[regresión lineal]] puede encontrar la ecuación de temperatura. Algo como este enfoque podría usarse en circuitos integrados de RTC comerciales, pero los métodos reales de fabricación eficiente de alta velocidad son propietarios.
 
=== RTC históricos ===
Algunos diseños de computadoras más antiguos, como el [[Data General Nova]] y el [[PDP-8]] <ref name="UeNm8">{{cita web |apellido= Digital Equipment Corp. |título= PDP-8/E Small Computer Handbook, 19 |url= https://www.grc.com/pdp-8/docs/PDP-8_Small_Computer_Handbook_1972.pdf |editorial= Gibson Research |fechaacceso=27 de junio de 2021 |páginas=7–25, the DK8EA}}</ref>,
usaban un reloj en tiempo real que se destacaba por su alta precisión, simplicidad, flexibilidad y bajo costo. La fuente de alimentación de la computadora produce un pulso a voltajes lógicos para cada media onda o cada cruce por cero de la red de [[corriente alterna]]. Un cable lleva el pulso a una interrupción. El software del controlador de interrupciones cuenta ciclos, segundos, etc. De esta manera, puede proporcionar un reloj y un calendario completos.
 
El reloj también suele constituir la base de las cadenas de tiempo del software de las computadoras; por ejemplo, normalmente era el temporizador que se utilizaba para cambiar de tarea en un sistema operativo. Los temporizadores de conteo utilizados en las computadoras modernas brindan características similares con menor precisión y pueden rastrear sus requisitos hasta este tipo de reloj. (Por ejemplo, en el PDP-8, el reloj basado en la red, modelo DK8EA, fue lo primero, y luego fue seguido por un reloj basado en cristal, DK8EC).
 
Se debe configurar un reloj basado en software cada vez que se enciende la computadora. Originalmente esto fue hecho por operadores de computadoras. Cuando Internet se convirtió en algo común, se utilizaron protocolos de tiempo de red para configurar automáticamente relojes de este tipo.
 
En Europa, América del Norte y algunas otras redes, este RTC funciona porque la frecuencia de la red de CA se ajusta para tener una precisión de frecuencia a largo plazo tan buena como los relojes estándar nacionales. Es decir, en esas rejillas este RTC es superior a los relojes de cuarzo y menos costoso.
 
Este diseño de RTC no es práctico en computadoras portátiles o redes (por ejemplo, en el sur de Asia) que no regulan la frecuencia de la red de CA. También podría considerarse inconveniente sin acceso a Internet para configurar el reloj.
 
== CPU sin reloj ==
Algunas placas base se fabrican sin relojes en tiempo real. El reloj de tiempo real se omite por el deseo de ahorrar dinero (como en la arquitectura del sistema [[Raspberry Pi]] ) o porque los relojes en tiempo real pueden no ser necesarios en absoluto (como en la arquitectura del sistema [[Arduino]] <ref name="No8EU">Sin embargo, tenga en cuenta que muchas suites de software Arduino incluyen un software opcional RTC que se ejecuta desde un temporizador de baja precisión como se describe.</ref>).
 
== Véase también ==
* [[HPET|High Precision Event Timer]]
* [[Temporizador]]
 
== Referencias ==
3081

ediciones