Temporizadores Watchdog: Um Mal Necessário (ou Bem Essencial)?

2025-01-31

Este artigo explora o papel crítico dos temporizadores watchdog em sistemas embarcados. Usando a falha da missão espacial Clementine devido a um watchdog mal implementado e a necessidade de reinicializar um exaustor de cozinha como exemplos, o autor destaca a importância de temporizadores watchdog confiáveis na prevenção de falhas de software. O artigo detalha vários projetos de temporizadores watchdog, incluindo opções internas e externas, e oferece estratégias para construir temporizadores watchdog altamente confiáveis. Isso inclui o uso de watchdogs com janela, watchdogs externos independentes da CPU e o monitoramento do estado de todas as tarefas em um sistema multitarefa. O autor defende a inclusão de temporizadores watchdog até mesmo em sistemas aparentemente simples, defendendo técnicas como redefinições periódicas de estruturas de dados para aumentar a confiabilidade.

Leia mais
Desenvolvimento temporizadores watchdog

Desvendando o Debouncing de Contatos: Mais Complexo do que Você Imagina

2025-01-08

Este artigo mergulha nas complexidades do bouncing de interruptores mecânicos. O autor realizou experimentos em 18 tipos diferentes de interruptores, revelando tempos de bouncing que variam de nanossegundos a centenas de milissegundos, significativamente impactados pelo tipo de interruptor e método de acionamento. As descobertas destacam a inadequação de técnicas simples de debouncing de software para todos os cenários, enfatizando a necessidade de soluções de hardware ou software específicas para o contexto. A análise revela que, além do bouncing de contato físico, transições de sinal analógico dentro dos níveis lógicos TTL contribuem para o bouncing lógico. Os resultados desafiam as suposições sobre o comportamento do interruptor e exigem estratégias de debouncing mais robustas.

Leia mais