¿Cuál de estos enfoques para un temporizador de vigilancia?

8

Recientemente aprendí sobre los temporizadores de vigilancia, y estoy tratando de implementar uno para mi circuito con el propósito de reiniciar mi microcontrolador (AVR) si se cuelga (es decir, no responde al regulador).

Según algunas investigaciones, me parece que hay alrededor de cuatro opciones:

  1. Conecte mi microcontrolador con un IC de vigilancia específico dedicado al temporizador .
  2. Conecte mi microcontrolador con un microcontrolador adicional (uno muy básico y económico), este último codificado con el único propósito específico de vigilar el tiempo.
  3. Diseñe mi propio circuito de vigilancia basado en temporizador 555 y conéctelo a mi microcontrolador.
  4. Utilice la capacidad del temporizador de vigilancia interna en mi microcontrolador.

.

¿Cuál de los enfoques anteriores calificaría más alto y por qué?

Me gustaría establecer un tiempo de vigilancia de aproximadamente 6 segundos, en función de ciertos criterios de la forma en que hago el resto de mi diseño y código (el dispositivo será un registrador de temperatura periódico alimentado por batería).

Una pequeña nota : Mi preferencia sería la Opción 1, por simplicidad, sin embargo, según la pareja que he encontrado, estas partes parecen ser caras (me gustaría una solución en 1.25 USD a lo sumo), o solo permiten menos de 2 segundos para el período de tiempo de vigilancia.

    
pregunta boardbite

3 respuestas

14
  1. Más caro, como ya te has enterado. Pero debería darle el más alto nivel de confiabilidad: como el perro guardián es completamente independiente del microcontrolador, seguirá funcionando y reiniciará el microcontrolador cuando este último esté en llamas, por así decirlo. Ver 4)
  2. Brian está en contra, pero hay microcontroladores baratos en un paquete pequeño, como el PIC10F200 en SOT-23, que puede usar como un MMV (multivibrador monoestable) extraíble, que realmente es el perro guardián. Si considerara un 555, un 10F200 es mejor: no hay piezas externas y una sincronización más precisa (precisión del 1%).
  3. un 555? ¿En serio?
  4. El perro guardián interno funcionará si el IC dedicado es demasiado caro. Si está realmente paranoico, puede pensar en un escenario en el que algún error de hardware bloquee el microcontrolador y el perro guardián con él. Nunca he sabido que esto suceda, pero no sé qué tan bien duermes.

Al igual que pjc50 dice que 6 segundos es mucho tiempo. Un microcontrolador típico ejecutará decenas de millones de instrucciones en ese tiempo, y entonces muchas cosas pueden salir mal. Suponga que está controlando cierta carga con PWM, y un ciclo de trabajo bajo del 10% mantiene baja la disipación. El microcontrolador se vuelve loco y la salida se atasca en un nivel alto, 100% de ciclo de trabajo. A la carga no le gusta, y muere. No quieres esperar 6 segundos para que eso suceda. Debe haber alguna parte de su código donde pase mucho más frecuencia. Un bucle principal puede ser tan corto como 10 ms, entonces podría configurar el tiempo de espera del perro guardián en 100 ms, por ejemplo. Si pateas al perro una vez cada 10 ms, entonces un tiempo de espera significa que lo perdiste 10 veces. Una vez, está bien, pero diez veces es un desastre, y tienes que actuar. La carga se apagará después de 100 ms en lugar de 6 segundos, lo que puede ser la diferencia entre muertos o vivos.

    
respondido por el stevenvh
5
  1. El temporizador de vigilancia es simple, funciona, barato. Opción ovosa.
  2. Un microcontrolador adicional es una exageración. No es útil ya que tiene que programarlo, es más caro, más área.
  3. Esto tiene sentido. Pero yo haría 1 en su lugar. Más moderno.
  4. Yo usaría esto si funciona. La única pregunta es si se puede configurar en 6 segundos.
respondido por el Brian Carlton
2

Si su circuito / dispositivo no está controlando hardware crítico para la vida, es probable que pueda salirse con la suya con el perro guardián interno. De lo contrario (o en realidad, en cualquier caso) revisa estos dos grandes artículos de Jack Ganssle:

enlace

enlace

Por cierto, si no puede configurar el watchdog en un intervalo largo, puede intentar la forma de despertarse con la suficiente frecuencia como para darle una patada al perro guardián, pero solo hacer el registro completo de mediciones / escritura de vez en cuando.

    
respondido por el Igor Skochinsky

Lea otras preguntas en las etiquetas