21 votos

Necesidad de un temporizador de vigilancia externo

¿Cuál es la necesidad de un temporizador de vigilancia externo para un microcontrolador?

La mayoría de los microcontroladores están diseñados con un temporizador interno de vigilancia. Sin embargo, en algunos de los circuitos están usando un temporizador de vigilancia externo (como PIC16F1824).

34voto

pipe Puntos 314

Un temporizador de vigilancia puede proteger contra errores en el hardware en buggy pedazo de ... vanguardia de los microcontroladores. Uno de los que hemos usado recientemente, a partir de una marca famosa, había terminales de e/S que de vez en cuando perdió sus interrupciones, a veces no se inicia correctamente, y donde la vigilancia integrado a veces no pudo restablecer el sistema en un buen estado.

Este no fue hasta que empezamos con mucho tiempo las pruebas de confiabilidad, y era más fácil para agregar un sistema de control externo que cambiar el microcontrolador.

Si usted tiene más de una IC en el PCB puede que también necesite un reseteo-IC o monitor de la tensión de hacer todo lo que el arranque de forma fiable. Muchos de estos también puede servir como un perro guardián.

33voto

Stefan Arentz Puntos 151

Es difícil argumentar, que el reloj interno de la interna watchdog es en realidad independiente de todos los demás relojes y siempre funcionando como debería.

Así que para la certificación por lo general es mucho más fácil colocar un sistema de control externo en la mesa y decir: mira allí está nuestro perro guardián, que debe ser activado por el MCU en ese intervalo, que es más corto que el de nuestro tiempo hasta el fallo, por lo que nuestro dispositivo es seguro como la hemos definido.


Para abordar algunos de los comentarios:

"y siempre funcionando como debería" - Buen punto. Puede ser más difícil demostrar que el software correctamente, se inicializa el interior de vigilancia bajo todas las circunstancias que sólo el empleo de un organismo de control de la viruta y se refieren a su hoja de datos.

Usualmente, esto es demostrado por un fallo de la inserción de la prueba, que se presenta en un cuerpo de la certificación. Por lo que se les muestra el código donde su inicialización ocurre, y donde la activación de la watchdog sucede. Normalmente piden modificar el código de tal manera que la activación de la watchdog es detenido después de un cierto tiempo ha transcurrido y compruebe si el controlador se restablece correctamente.

O probar que el código no contiene un error que accidentalmente desactiva el interior de vigilancia.

Al menos en algunos controladores, el perro guardián se llama independiente y tiene su propia fuente de reloj y no se puede desactivar por medio de software, sólo un reset del controlador se desactivará el watchdog. Al menos en teoría - es fácil mostrar que no se puede controlar por software, pero es difícil comprobar que el reloj es realmente independiente y no va a parar debajo de la EMI.

O probar que el código no se ejecuta salvaje continuamente restablecimiento de la de control externo tan rápido como puede. Problema resuelto. ;-)

Para que el caso de utilizar una ventana de vigilancia que ha de ser activado en determinados intervalos de tiempo y si no lo hacen (trigger es demasiado a menudo o menos) se restablece el circuito. El STM32 estoy trabajando con tener una ventana interna watchdog, pero se ejecuta de PCLK1 que se deriva del reloj principal, así que no creo que es tan útil como un sistema de control externo con su propia fuente de reloj.

O que algún genio no ponga el servicio de vigilancia de rutina dentro de un temporizador de ISR, por lo que el código principal puede fallar, pero la interrupción que se mantiene la cocción y el servicio de la watchdog perfectamente...

Que sin duda es cierto, pero esperamos que una revisión puesto que la genialidad de nuevo en su silla - pero bueno cuando yo empecé, que fue mi primera idea así :D. Durante los procesos de certificación de la que he sido parte, que siempre tenía una mirada al guardián parte del software.

12voto

Godisemo Puntos 204

Los organismos de control integrado en los microcontroladores tienen propiedades particulares que significa que ellos mismos pueden fallar en formas diferentes de control externo no podría.

Por ejemplo, un diseño común es el uso de un temporizador de vigilancia de ejecución de baja potencia oscilador RC. Que el oscilador puede fallar. Un sistema de control externo basado en la descarga del condensador en lugar de un oscilador todavía podría resetear el microcontrolador en muchos casos.

Otra razón es que el sistema de control externo puede ser más robusto. Un microcontrolador sólo puede funcionar de forma fiable durante un cierto rango de voltaje, y de ser un complejo dispositivo puede estar sujeto a trabar en una manera que hace que su sistema interno de vigilancia ineficaz. Un sistema de control externo puede tener un más amplio aceptable rango de alimentación y ser menos propensos a tener problemas cuando se somete al ruido eléctrico.

La vigilancia externa, a menudo, ofrecen una gama mucho más amplia de valores de tiempo demasiado. Un microcontrolador yo uso a menudo, los XMEGA, tiene un tiempo máximo de alrededor de 7 segundos. Para un producto que agrega un adicional de control externo con tiempo de 2 horas. Que me permitió despertar al microcontrolador una vez cada hora en lugar de una vez cada pocos segundos, reduciendo el consumo de energía en una batería del dispositivo.

La vigilancia externa, a veces, tienen múltiples funciones, tales como un temporizador y un monitor de la tensión de restablecimiento de control. De nuevo, estos pueden ser de menor potencia que un microcontrolador integrado en el sistema.

Otra ventaja interesante de un sistema de control externo es que se puede utilizar para restablecer los dispositivos que no sean el microcontrolador. Por ejemplo, se podría controlar el habilitar el pin de un regulador de voltaje, perdida de potencia de un circuito completo para restablecer varios dispositivos a la vez. Con un simple lógica, el perro guardián de restablecimiento de la señal de múltiples fuentes pueden ser combinadas, permitiendo la guardiana se requieren varios dispositivos a ser continuamente para reiniciarlo.

12voto

Spehro Pefhany Puntos 90994

Algunos productos deben cumplir con los requisitos de seguridad, ya sea determinado por el fabricante o para cumplir con las normas de seguridad internacionales tales como IEC 60730-1, o el antiguo UL1998 que todavía está en uso en los estados unidos. El interno de vigilancia de la funcionalidad en cualquier microcontrolador puede o puede no ser adecuado para ser utilizado. Externo WDT puede ser utilizado en combinación con el interior WDT en algunos casos.

Ciertos microcontroladores como de TI Hercules series tomar crítico para la seguridad del sistema de aplicaciones muy en serio y son más propensos a cumplir con estrictos requisitos, sin embargo, pueden no ser apropiados para los sensibles a los costos de las aplicaciones.

Normalmente el WDT es uno de un número de maneras de reducir la probabilidad de un fracaso catastróficos daños a la propiedad o lesiones a la vida. Otras cosas, tales como la protección de memoria para detectar inesperado acceso a la MCU de memoria o programa recupera de la memoria no utilizada se utilizan generalmente en combinación con un WDT.

Ejemplos de productos de bajo costo que realizar críticos para la seguridad de las funciones son subsistemas de automoción, controladores de puerta de garaje y de gas (gas natural o propano) de encendido controladores utilizados en hornos, secadores y calentadores de agua . Por supuesto, muchos médicos y productos aeroespaciales son también críticos para la seguridad, pero puede haber espacio suficiente para la redundancia y otros enfoques. En algunos casos, puede ser que no fácilmente accesibles estado de seguridad - por ejemplo, en una aeronave.

Lo ideal sería que el temporizador de vigilancia es muy simple, independiente de la MCU (por ejemplo, debe tener su propia fuente de reloj y tal vez un reloj monitor), no se puede establecer (por software) para un tiempo más largo que podría causar daños por cualquier error de software, y se representará en el sistema en un estado seguro si no está "tocado" en el tiempo, ya sea con un time-out o en una ventana de la moda de manera demasiado frecuente que los errores pueden ser detectados. Por ejemplo, un WDT en un control térmico de la aplicación puede ser configurada para un par de segundos porque no hay daño es posible si el microcontrolador se bloquea para que la longitud del tiempo.

El WDT es más útil como parte de un sistema de enfoque a nivel de fiabilidad y seguridad.

3voto

user1735003 Puntos 128

Ciertas certificaciones, como UL , pueden requerir protección contra dos puntos de falla. Un temporizador de vigilancia externo se consideraría protección contra un primer punto de falla, el microcontrolador.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X