Introduzione
Per applicazioni ad alta affidabilità basate su microcontrollore o microprocessore
è necessario un controllo del flusso di istruzioni eseguite. Per realizzarlo
si implementa un circuito dedicato che definiamo watchdog.
Questo testo fa parte di un insieme di file suddivisi in cartelle secondo
la loro funzione: nella cartella “vhdl” ci sono i sorgenti del progetto
vero e proprio; nella cartella “c” sono presenti i file relativi al software
di supporto; nella cartella “asm” si trovano i file utilizzati per il
test del circuito; nella cartella “docs” sono presenti i documenti di
presentazione del progetto.
In questa guida viene illustrato brevemente il percorso di sviluppo di
un watchdog per il microcontrollore RISCMCU. Vengono inoltre esplicate
le modalità di utilizzo del watchdog e dei software sviluppati ad esso
correlati.
Il RISCMCU è un microcontrollore, basato sull’AT90S1200 dell’ATMEL, caratterizzato
da frequenza di lavoro pari a 12 MHz e un instruction set di 92
istruzioni. In esso è implementata una pipeline a due stadi (fetch
ed execute).
Il compito del watchdog è quello di controllare che le istruzioni presenti
sul bus siano effettivamente quelle eseguite dal microcontrollore. Ciò
viene fatto analizzando particolari segnali interni del RISCMCU.
Descrizione del circuito
La descrizione logica del watchdog è data dalla figura 1. In questo schema
possiamo individuare tre blocchi principali: decode, lut (look
up table) e compare. Il decode si occupa di stabilire
quale istruzione è presente sul bus e indirizzare adeguatamente la lut;
essa contiene i valori logici attesi dei segnali che attraverso il compare
vengono confrontati con quelli provenienti dal microcontrollore.
|
Figura 1
|
|