Hace poco me enteré de los temporizadores de vigilancia y estoy tratando de implementar uno para mi circuito con el fin de restablecer mi microcontrolador (AVR) si se bloquea (es decir, no responde a la vigilancia).
Según algunas investigaciones, me parece que hay alrededor de cuatro opciones:
.
¿Cuál de los enfoques anteriores clasificaría más alto y por qué?
Me gustaría establecer un tiempo de vigilancia de alrededor de 6 segundos, según ciertos criterios de la forma en que estoy haciendo 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 piezas parecen ser caras (me gustaría una solución de menos de 1,25 USD como máximo), o solo permiten menos de 2 segundos para el período de temporización del perro guardián.
Me gusta pjc50dice que 6 segundos es mucho tiempo. Un microcontrolador típico ejecutará decenas de millones de instrucciones en ese tiempo, y luego muchas cosas pueden salir mal. Suponga que está controlando alguna 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, ciclo de trabajo del 100 %. A la carga no le gusta y muere. No querrás esperar 6 segundos para que eso suceda. Debería haber alguna parte de su código donde pase con mucha más frecuencia. Un ciclo principal puede ser tan corto como 10 ms, luego puede 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 fallaste 10 veces! Una vez, está bien, pero diez veces es un desastre y hay que actuar. La carga se apagará después de 100 ms en lugar de 6 segundos,
Si su circuito/dispositivo no está controlando el hardware crítico para la vida, probablemente pueda salirse con la suya usando el perro guardián interno. De lo contrario (o en realidad, en cualquier caso), consulte estos dos excelentes artículos de Jack Ganssle:
http://www.ganssle.com/watchdogs.htm
http://www.ganssle.com/articles/watchdogsredux.htm
Por cierto, si no puede configurar el perro guardián en un intervalo largo, puede probar el enfoque de despertarse con la frecuencia suficiente para patear al perro guardián, pero solo tomando medidas/escribiendo registros de vez en cuando.
pjc50
mordedura de tablas
Igor Skochinsky