edutecnica

Reti sequenziali        

Nelle reti combinatorie, il valore dell'uscita dipende esclusivamente dal valore assunto dagli ingressi in quel dato istante.
Nelle reti sequenziali, il valore dell'uscita non dipende solo dal valore assunto dagli ingressi in un dato istante, ma anche dai livelli logici assunti dalle uscite negli istanti precedenti. Si può dire che nelle reti combinatorie il valore dell'uscita non dipende dal tempo, mentre nelle reti sequenziali la variabile tempo riveste una grande importanza.
Se in un determinato istante tn gli ingressi e le uscite si trovano in un determinato stato, è possibile che nell'istante successivo tn+1 una variazione dei valori logici di ingresso determini un nuovo stato delle uscite. Se lo stato delle uscite dipende, sia dallo stato degli ingressi al tempo tn+1 sia da quello delle uscite all'istante precedente tn , allora, si può dire che il circuito è in grado di conservare memoria della sequenza degli stati assunti dagli ingressi e dalle uscite.
Le strutture circuitali che possono realizzare queste funzionalità di memoria sono molteplici, ma sono tutte caratterizzate da un collegamento di reazione (feedback) che riporta in ingresso lo stato delle uscite.

Anche il modo in cui vengono effettuate le variazioni in ingresso possono cambiare.
Nel caso del latch, la semplice variazione in ingresso determina una variazione dell'uscita. In alcune configurazioni come il latch con abilitazione il circuito accetta la variazione degli ingressi solo se l'ingresso supplementare di abilitazione è attivato.
In altri casi, come il flip-flop è invece presente un segnale di cadenza (clock) in corrispondenza del quale vengono scansionati (triggerati) gli ingressi e soltanto in corrispondenza di tale controllo avvengono le eventuali variazioni delle uscite.
Questi dispositivi rappresentano gli elementi minimi per memorizzare un bit (0 o 1) e possono essere usati per costruire reti sequenziali più complesse, come contatori, registri ed automi.

Latch SR                                               

Il circuito disegnato è un latch realizzato con due porte NOR e i due ingressi S (set=impostare) ed R (reset=azzerare) e i due terminali di uscita Q e del suo complementare Q.
Nel circuito si notano i collegamenti di reazione incrociata tra l'uscita Q e l'ingresso della porta P2 e tra l'uscita Q e l'ingresso di P1.

latch SR porte NOTlatch SR porte NOT tabella della veritàlatch SR porte NOT simbolo

Quando gli ingressi vengono attivati attraverso opportuni livelli logici, l'uscita Q e di conseguenza la sua complementare Q  possono essere portate in uno dei due stati 0 o 1, nei quali può rimanere stabilmente anche quando gli ingressi vengono disattivati.
Si tratta di un dispositivo bistabile, cioè dotato di due stati stabili nei quali può rimanere bloccato (latch=chiavistello) e mantenere (memorizzare) un bit.

Per capire come funziona il circuito, basta osservare cosa può succedere a secondo degli ingressi che vengono attivati.

S=R=0 . In questo caso le uscite delle porte NOR non dipendono dagli ingressi, ma da Q e Q.
Le porte NOR si comportano come invertitori; se per esempio Q=0 → Q=1 e viceversa se Q=1 → Q=0.
La condizione S=R=0 causa una condizione di mantenimento delle uscite cioè di memorizzazione dei valori logici precedentemente assunti.

S=0 ed R=1 .La porta P1 ricevendo in ingresso un 1 , commuta la sua uscita; la porta P2, a sua volta, avendo in ingresso S=0 e Q=0 assume in uscita il livello logico Q=1.  Lo stato di ingresso S=0 ed R=1 determina una situazione di azzeramento dell'uscita Q.

S=1 ed R=0 . L'uscita della porta P2, che riceve in ingresso un 1, diventa o rimane Q=0, di conseguenza l'uscita di P1, avendo entrambi gli ingressi a 0 commuta a livello logico 1. La condizione S=1 ed R=0 che ha come ingresso attivo S (set=imposta) metre R è inattivo, provoca l'impostazione dello stato logico 1 sull'uscita Q.

S=R=1 . L'ultima condizione possibile comporta una situazione di ambiguità ed è inutilizzabile.
Se, infatti, poniamo S=R=1, entrambe le uscite sarebbero forzate a livello logico 0. Questo fatto è contrario all'asserimento che Q e Q  siano complementari tra di loro e questo può portare e gravi inconvenienti.
Supponiamo, infatti che gli ingressi, dopo essere rimasti entrambi ad 1 , vengano portati entrambi a 0 in modo che il latch venga a trovarsi nella condizione di memoria; dato che non si può immaginare una commutazione istantanea delle porte non sarà possibile prevedere quale potrebbe essere lo stato finale delle uscite.

S = R =

Latch SR a porte NAND                

E' possibile costruire il latch anche con le porte NAND. La verifica dell'operativita di questo dispositivo può essere fatta in modo analogo a quanto visto per il latch a porte NOR; bisogna notare però, che in questo caso gli ingressi sono attivi bassi (S ed R).

latch SR porte NANDlatch SR porte NAND tabella della veritàlatch SR porte NAND simbolo

Infatti per ottenere, ad esempio, la condizione di reset occorre attivare R portandolo a 0. Lo stato di memoria. quindi lo stato inattivo di riposo è stavolta abbinato ai livelli logici di ingresso S=R=1; in questa condizione, infatti, P1 e P2 invertono gli stati presenti sugli ingressi di reazione e quindi mantengono le uscite nello stato precedente. Applicando agli ingressi lo stato logico 0, la situazione sulle uscite diventa Q=Q=1: questo stato di ambiguità dove il valore dell'uscita è uguale a quello della sua complementare non deve pertanto essere usato.

Latch con abilitazione                

Nel circuito seguente, oltre agli ingressi dati è presente un ingresso supplementare EN (enable=abilitazione) che controlla il funzionamento del latch.

latch con abilitazionetabella della verità del latch con abilitazionesimbolo del latch con abilitazione

Quando EN=0 le porte di controllo P3 e P4 sono entrambe disabilitate con le uscite S'=R'=1 mantengono il latch in stato di memoria.
Il latch è in questa circostanza virtualmente isolato dalla sorgente dei dati ed è insensibile ad eventuali variazioni dello stato di S ed R. Quando EN=1 si ha S'=S ed R'=R in questo modo i terminali S ed R del circuito, vengono di fatto ad essere ingressi attivi alti di set e reset del latch.

Si comprende come le porte di isolamento funzionino da invertitori per gli ingressi S ed R. Nella tabella della verità del dispositivo il simbolo × esprime una condizione di indifferenza, indicando in questo modo che gli ingressi S ed R possono valere 0 o 1 indifferentemente: la condizione EN=0 pone in ogni caso il latch in uno stato di memoria.

Anche in questo caso lo stato S=R=1 non può essere usato per il fatto che portano le uscite Q e Q allo stato 1, il che implica la presenza di un valore non predicibile in uscita appena S o R ritornano a 0.

Il latch con abilitazione è anche denominato latch SR gated o strobed latch in quanto l'ingresso di abilitazione EN è spesso chiamato ingresso di strobe. L'intero dispositivo è talvolta anche denominato latch dinamico per distinguerlo dai semplici latch non dotati di porte di isolamento che invece vengono denominati latch statici.

Latch di tipo D                

Questo dipositivo, derivato dal latch dinamico, è anche chiamato latch D gated. In esso viene introdotta una modifica che consente di utilizzare un solo ingresso dati (D). La porta NOT posta tra gli ingressi S ed R fa in modo che sia sempre D=S=R. In questa maniera le configurazioni di ingresso possibili sono soltanto
D=S=0 con R=1
D=S=1 con R=0

latch tipo Dtabella della verità del latch di tipo Dsimbolo del latch tipo D
Se EN=1 la prima delle due configurazioni (D=0) pone il latch in uno stato di reset (Q=0) mentre la seconda (D=1) lo pone in stato di set (Q=1).
Pertanto se EN=1 il latch è trasparente rispetto al dato posto su D e l'uscita Q segue l'ingresso D. Se invece EN=0 le porte di controllo sono disabilitate e il latch conserva il dato memorizzato in precedenza, prima della disabilitazione.

Il diagramma temporale del funzionamento di un latch di tipo D è mostrato qui di seguito.

diagramma temporale di un latch di tipo D

Circuito antirimbalzo        

Un impiego tipico del latch SR è quello di elemento interruttore.
Il suo compito è quello di di produrre una chiusura o un'apertura del circuito, sicura e priva di ogni rimbalzo (bounce).
Quando si agisce su un generico circuito elettrico tramite un interruttore a pressione manuale, l'azione meccanica avviene in tempi che rispetto alla risposta dei circuiti logici possono essere considerati molto lunghi. Inoltre all'avicinarsi dell'elemento mobile a quello fisso, quando la distanza tra essi diventa esigua, viene a stabilirsi un contatto dapprima incerto che diventa sempre più sicuro e fermo.
Durante questo intervallo di tempo, la continuità elettrica del circuito è stabilita in modo aleatorio, attraverso una serie di rapide oscillazioni che possono essere ritenute, dal circuito logico comandato, come altrettanti segnali 0 ed 1 indesiderati.
L'incertezza del contatto manuale, si verifica anche durante l'apertura dell'interruttore o il rilascio del tasto.
Prendiamo ad esempio il commutatore P del circuito qui disegnato; quando P è in posizione A, Vo=0 mentre quando P è in posizione B si ha Vo=Vcc.

Spostando P nelle due posizioni ci aspettiamo teoricamente la forma d'onda seguente:

mentre in realtà la forma d'onda rilevata, risulta caratterizzata da rimbalzi; sintomo del fatto che il contatto si interrompe più volte.

L'inconveniente si risolve interponendo, fra l'elemento meccanico e il circuito, un latch SR collegato come si vede nel seguente circuito:

Quando il commutatore è in posizione A si ha R=0, S=1 e quindi Q=0. Si nota che i terminali A e B, quando non sono in contatto col braccio del commutatore sono mantenuti a Vcc e quindi a livello logico 1.
Spostando il commutatore su B si ha un primo contatto che porta S=0 ed R=1 e quindi Q=1.
Durante i successivi rimbalzi il braccio si trova a discostarsi leggermente da B ed il latch si trova nella condizione S=1 ed R=1 cioè in uno stato di memoria.
Pertanto dopo il primo contatto, l'uscita rimane stabilmente ad 1.
In modo analogo spostando il commutatore da B ad A si ottiene sull'uscita Q una transizione netta tra i livelli 1 e 0.