Todavía estoy buscando una respuesta para esta pregunta:
¿Por qué mientras que las MCU stm32 tienen un perro guardián perfecto (me refiero a un perro guardián de la ventana (WWDG)), hay un perro guardián simple (un perro guardián independiente (IWDG))?
Encontré esta página que ha dicho:
ST Microelectronics tiene una línea de dispositivos Cortex-M3. El M3 se ha vuelto extremadamente popular para dispositivos integrados de gama baja, y el STM32F de ST es representativo de estas partes (aunque el WDT es un complemento de ST y no necesariamente refleja las implementaciones de otros proveedores). El STM32F tiene dos mecanismos de protección diferentes. Un "perro guardián independiente" es un bonito diseño de vainilla que no tiene otra opción que la facilidad de uso. Pero su Window Watchdog ofrece una protección más robusta. Cuando un temporizador de cuenta regresiva expira, se genera un reinicio, que puede impedirse al volver a cargar el temporizador. Nada especial allí. Pero si la recarga ocurre demasiado rápido, el sistema también se reiniciará. En este caso, "demasiado rápido" está determinado por un programa de valor uno en un registro de control.
Otra característica interesante: puede generar una interrupción justo antes reajuste Escribe un poco de código para enganchar la interrupción y puedes tomar alguna acción para, por ejemplo, poner el sistema en un estado seguro o para datos de instantáneas para fines de depuración. ST sugiere usar el ISR para vuelva a cargar el perro guardián, es decir, saque al perro para que no se reinicie ocurrir. No sigas su consejo. Si el programa bloquea la interrupción. los manejadores pueden continuar funcionando normalmente. Y usando un ISR volver a cargar el WDT invalida todo el motivo de un watchdog de ventana.
y this :
La nueva serie STMicroelectronics de CPUs STM32F4 Cortex ™ -M4 tiene dos perros guardianes independientes Uno corre desde su propio oscilador interno RC. Eso significa que todo tipo de cosas pueden colapsar en la CPU y en el WDT todavía disparará. También hay un "watchdog de ventana" (WWDT) que requiere el código para hacerle cosquillas con frecuencia, pero no con demasiada frecuencia. Esto es una forma muy efectiva de asegurar el código estrellado que escribe aleatoriamente en El mecanismo de protección no causa un cosquilleo WDT, y el WWDT puede genere una interrupción poco antes de que se confirme el reinicio.
ok, veamos el manual de referencia :
El STM32F10xxx tiene dos periféricos de vigilancia integrados que ofrecen una combinación de alto nivel de seguridad, precisión de tiempo y flexibilidad de utilizar. Ambos periféricos de vigilancia (Independiente y Ventana) sirven para detectar y resolver fallos de funcionamiento debidos a fallos del software, y reiniciar el sistema o una interrupción (solo watchdog de ventana) cuando el contador alcanza un valor de tiempo de espera determinado. El perro guardián independiente (IWDG) es cronometrado por su propio reloj dedicado de baja velocidad (LSI) y por lo tanto permanece activa incluso si el reloj principal falla. El reloj de vigilancia de la ventana (WWDG) se precalifica desde el reloj APB1 y tiene una ventana de tiempo configurable que se puede programar para detectar aplicaciones anormalmente tardías o tempranas comportamiento. El IWDG se adapta mejor a las aplicaciones que requieren la perro guardián para ejecutar como un proceso totalmente independiente fuera de la principal aplicación, pero tienen menores restricciones de precisión de tiempo. El WWDG es más adecuado para aplicaciones que requieren que el perro guardián reaccione dentro de una ventana de tiempo precisa.
El watchdog de la ventana se usa para detectar la aparición de un software falla, generalmente generada por interferencia externa o imprevista Condiciones lógicas, lo que hace que el programa de aplicación abandone. Su secuencia normal. El circuito de vigilancia genera un reinicio de MCU en expiración de un período de tiempo programado, a menos que el programa actualice El contenido del contador descendente antes de que se borre el bit T6. Un MCU el restablecimiento también se genera si el valor del contador descendente de 7 bits (en el control registro) se actualiza antes de que el contador haya llegado a la ventana valor de registro. Esto implica que el contador debe actualizarse en un ventana limitada.
Como puede ver, ninguno de ellos ha dicho que Por qué hay dos perros guardianes. Si le pregunto qué diferencias existen entre ambos perros guardianes, contará todas las características que puede ver en el ejemplo anterior y si desea comparar ambos, ¡obviamente el perro guardián de la ventana (WWDG) será el ganador! entonces ¿por qué hay dos perros guardianes?
Quiero saber cuándo, ¿cuándo debo usar IWDG y cuándo WWDG?
y hay alguna razón que nos diga por qué llaman a la segunda alerta con este nombre - > "Window watchdog"?