¿Qué es el temporizador de vigilancia en el sistema integrado?

En un pequeño dispositivo integrado, es fácil encontrar la causa exacta del error, pero no en un sistema integrado complejo, a pesar de que está perfectamente diseñado y probado, el sistema integrado en el que se ejecuta un código perfecto puede fallar, debido a un pequeño error .

Un temporizador de vigilancia (WDT) es un mecanismo de seguridad que da vida al sistema cuando se bloquea.

WDT es un hardware que contiene un dispositivo de temporización y una fuente de reloj (además del reloj del sistema).

  • Un dispositivo de temporización es un temporizador de funcionamiento libre, que se establece en un cierto valor que se reduce continuamente. Cuando el valor llega a cero, los circuitos WDT generan un pulso corto que restablece y reinicia el sistema.

En resumen, WDT vigila constantemente la ejecución del código y restablece el sistema si el software se bloquea o ya no ejecuta la secuencia correcta del código. La recarga del valor WDT por el software se llama patear el perro guardián.

Estos son de dos tipos:

WDT externo

WDT interno

La mayoría de los microcontroladores tienen un WDT interno. Varios proveedores de chips también proporcionan chips WDT externos.

El temporizador de vigilancia puede restablecer el sistema al expirar. El software debe asegurarse de que el perro guardián no se active.
Esto se hace pateando el perro guardián, es decir, reprogramando el valor del temporizador. La tarea de menor prioridad (tarea inactiva) es responsable de patear el perro guardián.

Supongamos que el tiempo de caducidad del perro guardián es de 60 segundos. Luego, la tarea inactiva debe tener una oportunidad mínima de ejecución antes de 60 segundos. Esto asegura que el software esté activo y funcionando correctamente.

En otras palabras, ninguna tarea debe ocupar la CPU más de 60 segundos de forma continua. Si eso sucede, entonces el perro guardián no será expulsado y reiniciará el sistema.

Esto se ha hecho para detectar los malos diseños de software como prioridad incorrecta o bucles infinitos.

El diseñador del sistema decide el tiempo de caducidad del perro guardián según los requisitos del sistema.

Debido a algún problema de HW o SW si un Sistema Embebido se cuelga, el temporizador Watchdog dará una señal de reinicio a la CPU. Entonces el sistema se recuperará solo. Normalmente, si la PC se cuelga, usamos para presionar el botón Restablecer. En este caso, el temporizador Watchdog da el reinicio.

¿Cómo podría saber el temporizador Watchdog que el sistema está bloqueado? El temporizador de vigilancia se establecerá con un recuento por el software. Entonces el temporizador de vigilancia comienza a disminuir el conteo. Antes de que la cuenta llegue a cero, el SW debe reescribir el valor del temporizador de vigilancia. Una vez que la cuenta llega a cero, el temporizador de vigilancia reiniciará la CPU.

Dado que Embedded System debe recuperarse de estas situaciones de bloqueo, se utiliza el temporizador de vigilancia.

Como sabemos, un sistema embebido es como una mini computadora que se diseñará para realizar una tarea específica, y un sistema embebido debe ser capaz de hacer frente a anomalías de hardware y software en su funcionamiento.

a veces lo que sucede es que la tarea asignada al dispositivo incorporado no se realiza en consecuencia.

Un temporizador de vigilancia es un temporizador electrónico que se utiliza para detectar y recuperarse de una falla del dispositivo. Durante el funcionamiento normal, el dispositivo reinicia regularmente el temporizador de vigilancia para evitar que caduque o se “agote el tiempo”. Si debido a una falla de hardware o error de programa, la computadora no puede reiniciar el perro guardián, el temporizador pasará y generará una señal de tiempo de espera. La señal de tiempo de espera se utiliza para iniciar acciones o acciones correctivas. Las acciones correctivas generalmente incluyen colocar el sistema en un estado seguro y restaurar la operación normal del sistema.

Un temporizador de vigilancia puede ser un componente de hardware independiente o integrado en el propio procesador. Muchos procesadores y microcontroladores tienen un circuito de vigilancia incorporado disponible para el programador.

El acto de reiniciar un temporizador de vigilancia se conoce comúnmente como “patear al perro”, esto se hace escribiendo en un puerto de control de vigilancia. En los microcontroladores que tienen un temporizador de vigilancia integrado, la vigilancia a veces comienza ejecutando una instrucción especial en lenguaje de máquina. Un ejemplo de esto es la instrucción CLRWDT (clear watchdog timer) que se encuentra en el conjunto de instrucciones de algunos microcontroladores PIC.

Un temporizador de vigilancia es un mecanismo de hardware a prueba de fallas que restablece el microcontrolador cuando se agota su temporizador.

Normalmente, cuando enciende el watchdog, también especifica un período de tiempo (en tics de reloj). Esta es la cantidad de tiempo antes de que el perro guardián reinicie el sistema. Después de hacer esto, debe “patear al perro” (esto es solo establecer un registro específico en 1) en un intervalo regular para indicar al hardware que el software todavía se está ejecutando en un buen estado. Hacer esto restablecerá el temporizador a su período configurado y la cuenta regresiva comenzará nuevamente.

¿Cómo sabes que el software está en buen estado? Es bastante fácil en los sistemas de metal desnudo, ya que generalmente tiene un solo bucle principal y simplemente pone la patada de vigilancia al comienzo de este bucle. En un sistema multiproceso, esto es un poco más complicado y está más allá del alcance de esta respuesta.

Supongo que es un ingeniero (adivinando por la naturaleza de la pregunta) y debe ser un sueño trabajar con una gran organización y desarrollar algo significativo para el mismo que funcione de la manera más eficiente posible.

Supongamos que está trabajando en la NASA y que diseñó un vehículo que puede maniobrar en la luna o Marte y realizar tareas específicas. Ahora entendemos esa cantidad de perturbaciones eléctricas y comportamiento impredecible en el espacio.

No lo permita, pero en caso de que su vehículo deje de responder durante el aterrizaje / aterrizaje / después del aterrizaje o en cualquier momento en el que no pueda acercarse físicamente a él. ¿Ahora qué podemos hacer?

¡¡NADA!!

El rover está a millones de millas de distancia, la inversión y el esfuerzo de millones y solo debido a alguna perturbación aleatoria, todo está por el desagüe ahora.

Ahora watchdog está exactamente diseñado para tales escenarios específicos. Hay un temporizador independiente que sigue funcionando y si ese temporizador se desborda, restablece el controlador, por lo que al diseñar si habilitamos el controlador, debemos asegurarnos de restablecer el contador antes de que se desborde y reinicie el programa.

¿Cómo ayuda esto? Ahora imagine que su programa se atascó en algún lugar y no responde, después de un período de tiempo específico (configurado en el temporizador de vigilancia) restablece el programa y todo vuelve a la normalidad.

Larga historia corta revive el bot y ahorra su proyecto de un millón de dólares

También puedes pensar que estás dentro de una cueva haciendo alguna tarea y es un área muy propensa a accidentes, y tu amigo está fuera de la cueva asegurándose de que en caso de que algo salga mal, puede pedir refuerzos. Ahora, cada 5 minutos más o menos (el temporizador de vigilancia) seguirá preguntándole, “¿está todo bien?” )

El temporizador de vigilancia funciona exactamente de manera similar.

[1] Puede leer más detalles en este sitio web.

Notas al pie

[1] WatchDog Timer – Libro de cocina

El temporizador de vigilancia es una pieza de hardware que se puede utilizar para detectar si se ha producido algún fallo en el sistema integrado. Si se ha detectado un fallo en el sistema, el temporizador de vigilancia enviará una señal al sistema integrado, por lo que restablecerá el sistema.

Una figura anterior ilustra el funcionamiento de un temporizador de vigilancia. Se establecerá un temporizador inicial en el temporizador de vigilancia, una vez que el sistema esté fallando o se presuma que el software no funciona correctamente, entonces el temporizador de vigilancia iniciará el conteo del temporizador en un recuento desde su valor inicial si alcanza el valor cero en el contador, luego Watchdog Timer enviará una señal de reinicio a un procesador.

Fuente de la imagen: https://www.google.co.in/search ? …

La respuesta de Hrishikesh Kamat a ¿Qué quieres decir con temporizador de vigilancia en sistemas integrados?

Por favor revisa la respuesta. No hay mucho que agregar sobre eso. Hay muchos ingenieros que todavía están confundidos acerca de las oportunidades y el avance en la electrónica. He creado un grupo de reunión, donde planeamos organizar algunas actividades en el campo de la electrónica y el IoT.

Grupo Meetup

¡Únete!

Y el Código del sistema incorporado tiene un ciclo para siempre. A veces sucede que el código se atasca en algún otro ciclo de no hacer nada para siempre debido a una catástrofe. Por lo tanto, el sistema se cuelga. La función del temporizador de vigilancia es restablecer la ejecución del código con frecuencia en el período de tiempo definido. Debido a eso, incluso si ocurre una catástrofe en el proceso, puede alarmarse sin interferir con otros módulos de código.

Para aquellos sistemas integrados que no pueden ser vistos constantemente por un humano, los temporizadores de vigilancia pueden ser la solución.

La mayoría de los sistemas integrados deben ser autosuficientes. Por lo general, no es posible esperar a que alguien los reinicie si el software se bloquea. Algunos diseños integrados, como las sondas espaciales, simplemente no son accesibles para los operadores humanos. Si su software alguna vez se cuelga, dichos sistemas se desactivan permanentemente. En otros casos, la velocidad con la que un operador humano podría reiniciar el sistema sería demasiado lenta para cumplir con los requisitos de tiempo de actividad del producto.

Un temporizador de vigilancia es una pieza de hardware que se puede utilizar para detectar automáticamente anomalías de software y restablecer el procesador si se produce alguno. En términos generales, un temporizador de vigilancia se basa en un contador que cuenta desde un valor inicial hasta cero. El software incorporado selecciona el valor inicial del contador y lo reinicia periódicamente. Si el contador llega a cero antes de que el software lo reinicie, se supone que el software no funciona correctamente y se confirma la señal de reinicio del procesador. El procesador (y el software incrustado que está ejecutando) se reiniciará como si un operador humano hubiera desconectado la corriente.

http://www.dauniv.ac.in/download

En el pdf anterior se dan dos ejemplos para entenderlo mejor.

# copiado pero bien explicado

Watchdog es un tipo de perro que vigila el software y realiza alguna función cada vez que el sistema se cuelga. Esta función es normalmente la función de reinicio.

Este término WatchDog en realidad se deriva de Watchmen y su perro (Watch Dog). La responsabilidad de los vigilantes y su perro es proteger a la sociedad de cualquier tipo de actividad ilegal y, si hay alguna actividad ilegal, enciende la alarma.

Igual es el caso con el temporizador Watchdog. Cada vez que se bloquea el software incorporado, el temporizador de vigilancia lo reinicia. Ahora, por qué es temporizador porque tenemos que establecer un tiempo de acuerdo con la aplicación. Digamos que su aplicación cuenta de 0 a 10 y después de 10 se restablece automáticamente a 0, pero debido a algún error, se detiene en 8 y no cuenta más. Entonces watchdog lo restablecerá a 0 y la aplicación comenzará nuevamente.

La respuesta más simple de MOst a esta pregunta !!!!!!!!!!!!!

Entonces, el temporizador de vigilancia es simplemente una cosa que termina un programa simple o cualquier cosa que pueda decir Procesar si el temporizador se acerca a Cero.

El mejor ejemplo con respecto a esto lo puede encontrar en las páginas de transacciones bancarias en línea, en las páginas de reserva de vuelos y en las pruebas en línea … donde debe completar su tarea, como reservar un boleto o hacer un pago por él o completar la prueba dentro del tiempo dado. de lo contrario termina. Entonces, llega el TEMPORIZADOR DE WATCHDOG.

El temporizador de vigilancia es un dispositivo electrónico que se utiliza para restablecer el sistema cuando un sistema se bloquea sin funcionar. A menudo se utiliza para restablecer automáticamente un dispositivo integrado que se bloquea debido a una falla de software o hardware. Algunos sistemas también pueden referirse a él como una computadora que funciona correctamente con el temporizador (COP). Muchos microcontroladores, incluido el procesador mbed, tienen hardware de temporizador de vigilancia.

Por lo general, las aplicaciones tienen un cierto período de tiempo durante la instalación. Cuando se produce la falla, el conteo se reduce a cero, entonces el temporizador de vigilancia entra en acción y restablece los sistemas y comienza a funcionar normalmente.

More Interesting

Quiero comenzar una carrera en sistemas integrados. ¿Donde debería empezar?

Cómo usar _crc16_update (uint16_t crc, uint8_t a) para obtener el crc de mi programa en la memoria del programa

¿Qué curso de B. Tech es mejor para paquetes y ofertas de trabajo, ECE con especialización en sistemas integrados o ECE con especialización en VLSI?

¿El software de código abierto está sobrevalorado? Cual es la realidad ¿Las startups y otras empresas de sistemas integrados realmente usan código abierto en su proyecto?

¿Cuáles son algunos temas muy importantes en los sistemas embebidos, que son interesantes y requieren un conocimiento previo de solo 'microprocesadores' y 'electrónica digital'?

¿Cuál es el mejor instituto de formación integrado en?

¿Qué es la conexión y las diferencias entre el diseño VLSI y los sistemas integrados?

¿Cuáles son los mejores sitios para referirse a los sistemas integrados y las preguntas de la entrevista de programación del kernel de Linux?

¿Pueden los lenguajes de alto nivel volverse frecuentes en sistemas embebidos en un futuro cercano (o no tan cercano)?

¿Qué tipos de microcontroladores se utilizan en todo el mundo y por qué?

¿Qué debo elegir a continuación, análisis de big data, diseño de sistemas integrados o IoT?

¿Qué debe saber un desarrollador de sistemas integrados en 2015?

¿Qué curso debo seleccionar entre vlsi y sistemas integrados?

Cómo acelerar rápidamente en sistemas embebidos

¿El uso típico del mundo real de los sistemas integrados requiere programarlos en los niveles de registro periférico?