Resposta direta
Alimentar periodicamente o watchdog não comprova que a aplicação funciona. A autorização deve depender do progresso das funções supervisionadas dentro de seus respectivos prazos.
Definir o significado de progresso
Em uma tarefa de medição, pode ser uma aquisição concluída e validada. Em comunicação, uma solicitação processada ou rejeitada de maneira controlada. Um contador em interrupção periódica não detecta uma tarefa principal travada. Zephyr apresenta canais separados para supervisão de tarefas Zephyr Project — Task Watchdog.
Justificar cada intervalo
Meça a duração máxima admissível incluindo acesso à Flash, espera pelo barramento e inicialização. Atribua um prazo e uma reação definida a cada tarefa. Considere suspensão e fonte de clock do watchdog. Um prazo muito longo evita alarmes indevidos, mas pode atrasar excessivamente a detecção. Diferencie as condições de partida das condições do ciclo normal.
Testar a própria supervisão
Bloqueie deliberadamente uma tarefa mantendo temporizadores e demais tarefas ativos. Depois teste uma parada do escalonador, se a plataforma permitir um ensaio controlado. Registre tempo de detecção, estado das saídas e motivo do reinício. Após resets repetidos, o equipamento deve alcançar um estado diagnóstico definido, em vez de acionar indefinidamente um atuador a cada nova partida.
Lista de verificação
- Definir indicador e prazo de cada tarefa.
- Testar bloqueio com temporizador ainda ativo.
- Verificar motivo do reset e reinícios sucessivos.
Perguntas frequentes
Deve-se alimentar sempre em uma interrupção?
Somente se essa arquitetura detectar as falhas relevantes. Uma alimentação periódica independente pode esconder tarefas da aplicação que pararam.
Fontes técnicas
Serviço relacionado