Un watchdog hardware con ampio range di frequenza

Dalla rivista:
Elettronica Oggi

 
Pubblicato il 27 luglio 2011

Tutti i microcontrollori usualmente necessitano di timer watchdog che nelle condizioni critiche di sicurezza devono occuparsi di gestire grosse quantità di corrente e di tensione. Parecchi microcontrollori hanno persino dei temporizzatori watchdog appositamente progettati a tal scopo all’interno del proprio silicio, ma in molti casi è preferibile avere un circuito esterno che permette di monitorare anche gli eventi critici sia software sia firmware che possono avvenire all’interno del microcontrollore stesso.

Ci sono molte opzioni da considerare per realizzare correttamente un’interfaccia fra il temporizzatore esterno e il microcontrollore. Per esempio, nelle applicazioni che necessitano di fornire un segnale d’uscita considerevole o addirittura multiplo è indispensabile disporre di un segnale di abilitazione (enable) che può servire da interruttore sulla linea d’uscita con funzione di monitoraggio sull’effettivo passaggio della potenza, tale cioè da auto disabilitarsi alla fine dell’attività.

Nel software residente nei microcontrollori c’è sempre un ciclo ad anello principale che tipicamente, se non esegue direttamente qualche attività, richiama dei sottoprogrammi che svolgono le funzionalità più impegnative e in tal caso interagisce anche con qualche routine di interrupt. Se una task fa qualche errore e, per esempio, ordina una chiamata a un indirizzo inesistente oppure esegue un calcolo vettoriale inconsistente, il ciclo principale può solo scegliere fra reinizializzarsi oppure bloccarsi a tempo indeterminato: in entrambi i casi si ferma e quando ciò succede il watchdog non può far altro che togliere l’alimentazione ai vostri circuiti.

Se il ciclo principale viene eseguito da 10 a 100000 volte al secondo, allora si può risolvere il guaio come illustrato nella figura 1 e cioè inserendo nel ciclo un’istruzione che consente di aprire un’opportuna uscita una sola volta per ogni iterazione. Si può tradurre nell’hardware questo tipo di watchdog in diversi modi, ma è innanzi tutto fondamentale lasciare un po’ di tolleranza al segnale di temporizzazione giacché c’è sempre un po’ di variabilità nel tempo d’esecuzione del ciclo principale di qualsiasi microcontrollore, dato che questo deve pur sempre prevenire la possibilità di eventi non deterministici o interrupt esterni. Se il circuito di watchdog non è abbastanza tollerante, infatti, può generare falsi interrupt e fallire il proprio compito. Inoltre, il tempo di ripristino dopo un interrupt generato dal watchdog è senza dubbio il massimo fra gli eventi di interrupt e, quindi, può e deve succedere solo se necessario e se può essere seguito da un’opportuna modalità di ripristino da parte del sistema operativo.

Fig. 1 – Tutti i microcontrollori generano degli impulsi che servono unicamente a non spegnere la temporizzazione dei circuiti di sicurezza watchdog

Il circuito in esempio può ospitare una discreta durata di tempo di ripristino, ma se necessario l’uscita del watchdog può essere disattivata. Nella figura 2 è mostrato un esempio di algoritmo utilizzabile come watchdog, mentre nella figura 3 se ne può vedere un’implementazione hardware basata su due transistor bipolari, il secondo dei quali è utilizzato come puro interruttore. In pratica, il circuito lavora estraendo la componente continua dalla forma d’onda quadra in ingresso, rettificandola e fornendone la media come valore stabile. Questo segnale continuo mantiene acceso il transistor Q1 che però è polarizzato in modo tale da spegnersi se si verifica una prolungata assenza di impulsi e, quindi, in tal caso si spegne anche il transistor Q2 che diventa un circuito aperto. Cambiando il valore della capacità C2 si modifica anche la velocità di risposta del circuito all’assenza di impulsi.

Fig. 2 – Esempio di listato per l’implementazione di un watchdog esterno

Questo circuito va bene per frequenze comprese fra 10 Hz e 100 kHz, ma se si cambia il valore del condensatore C2 si può modificare anche il range di frequenze alle quali il circuito può funzionare correttamente. Infine, questo circuito va bene con i microcontrollori e microprocessori alimentati a 3,3 V, ma sul transistor interruttore occorre fornire almeno 5 V. Comunque, se ne può facilmente modificare la polarizzazione per adattarla ad altri dispositivi più a basso consumo.

Fig. 3 – Il condensatore C2 rimane carico abbastanza per dare energia al circuito fintantoché è presente il segnale impulsato di 10 Hz. Quando finiscono gli impulsi il circuito rimuove la potenza spegnendo l’interruttore
 

Robert Most, Ferris State University of Big Rapids



Contenuti correlati

  • La protezione dei dispositivi edge

    L’adozione di soluzioni come Chip SE (Secure Element), sensori di movimento per individuare tentativi di manomissione e altre ancora è indispensabile per la protezione dei dispositivi posti alla periferia della rete Leggi l’articolo completo su EMB93

  • Microprocessori multicore a 64-bit per l’“intelligent edge”

    Microchip Technology ha introdotto la gamma di MPU PIC 64 per soddisfare le crescenti esigenze degli odierni progetti embedded Leggi l’articolo completo su EMB93

  • Hardware per PLC di nuova generazione per affrontare le sfide dell’automazione industriale

    Questo articolo analizza brevemente le problematiche legate all’implementazione della tecnologia IIoT e spiega come i progressi nel campo dei sistemi aperti e dell’hardware per l’automazione di fabbrica possano offrire soluzioni adeguate e presenta un esempio di implementazione,...

  • USB: una risposta a tutte le esigenze di connettività e di erogazione di potenza

    Obiettivo di questo articolo è sottolineare la crescente pervasività dell’interfaccia USB, delineare l’evoluzione di questo standard e illustrare i cambiamenti delle tipologie dei connettori USB Leggi l’articolo completo su Embedded 89

  • Il veicolo del futuro è ottico

    Al momento attuale, la tecnologia prevista dallo standard IEEE 802.3 cz fornisce l’unica soluzione esistente per le connessioni su un solo canale (lane) a velocità di 25 Gb/s e 50 Gb/s, con 4 connettori in linea e...

  • Come aumenta la resilienza del firmware delle piattaforme

    I Platform Root of Trust Controller di Microchip garantiscono un’efficace protezione delle piattaforme contro gli attacchi da parte di hacker Leggi l’articolo completo su Embedded 89

  • Reperire connettori e cablaggi per applicazioni industriali: alcuni consigli utili

    Harwin ha sviluppato la serie di connettori Archer Kontrol, disponibili in varie configurazioni, per affrontare in modo efficace le numerose problematiche tipiche degli ambienti industriali Leggi l’articolo completo su Embedded 89

  • Architettura “Tiger Lake” per applicazioni industriali

    La digitalizzazione dell’industria si traduce in una domanda di potenza di elaborazione in costante aumento, motivo per cui Kontron equipaggia i propri Single Board Computer e Computer-on-Module, nonché i PC industriali, con processori Intel® Core-i di 11a...

  • Una nuova era per i moduli SOM

    Grazie all’avvento di COM HPC è ora possibile utilizzare nei moduli SOM, che in precedenza adottavano lo standard COM Express, processori con prestazioni superiori, oltre a un numero maggiore di interfacce e componenti di memoria caratterizzate da...

  • SESAS: soluzioni modulari per l’allarme antincendio 4.0

    Un esame delle caratteristiche di un “proof-of-concept” basato su soluzioni modulari come le schede sensor-fusion RDK2 e RAB1 e la scheda adattatore con funzione di sintesi vocale, utilizzando come esempio di applicazione un sistema di allarme multifunzionale...

Scopri le novità scelte per te x