A differenza dei circuiti logici combinazionali che cambiano stato a seconda dei segnali effettivi applicati ai loro ingressi in quel momento, i circuiti logici sequenziali hanno una qualche forma di “memoria” intrinseca incorporata.
Questo significa che i circuiti logici sequenziali sono in grado di prendere in considerazione il loro stato di input precedente così come quelli effettivamente presenti, una sorta di effetto “prima” e “dopo” è coinvolto con i circuiti sequenziali.
In altre parole, lo stato di uscita di un “circuito logico sequenziale” è una funzione dei seguenti tre stati, l'”input presente”, l'”input passato” e/o l'”output passato”. I circuiti logici sequenziali ricordano queste condizioni e rimangono fissi nel loro stato attuale fino a quando il prossimo segnale di clock non cambia uno degli stati, dando ai circuiti logici sequenziali “Memoria”.
I circuiti logici sequenziali sono generalmente definiti come dispositivi a due stati o bistabili che possono avere la loro uscita o le loro uscite impostate in uno dei due stati di base, un livello logico “1” o un livello logico “0” e rimarranno “agganciati” (da cui il nome latch) indefinitamente in questo stato o condizione corrente fino a quando non viene applicato qualche altro impulso o segnale di ingresso che farà cambiare nuovamente lo stato al bistabile.
- Rappresentazione logica sequenziale
- Classificazione della Logica Sequenziale
- Loop di feedback sequenziale
- SR Flip-Flop
- Il NAND Gate SR Flip-Flop
- Il Flip-flop SR di base
- Lo stato Set
- Stato di reset
- Tabella della verità per questa funzione Set-Reset Function
- S-R Flip-flop Diagramma di commutazione
- Positive NAND Gate SR Flip-flop
- Il NOR Gate SR Flip-flop
- Circuiti di debounce switch
- Circuito di debounce per switch flip flop SR
- Quad SR Bistable Latch 74LS279
- Gated or Clocked SR Flip-Flop
- Gated SR Flip-flop
Rappresentazione logica sequenziale
La parola “Sequenziale” significa che le cose accadono in “sequenza”, una dopo l’altra e nei circuiti di logica sequenziale, il segnale di clock attuale determina quando le cose accadranno dopo. Semplici circuiti logici sequenziali possono essere costruiti da circuiti bistabili standard come: Flip-flop, Latches e Contatori e che a loro volta possono essere costruiti semplicemente collegando insieme porte NAND universali e/o NOR Gates in un particolare modo combinatorio per produrre il circuito sequenziale richiesto.
Classificazione della Logica Sequenziale
Come le porte logiche standard sono i mattoni dei circuiti combinazionali, le latches e i flip-flop bistabili sono i mattoni base dei circuiti logici sequenziali. I circuiti logici sequenziali possono essere costruiti per produrre sia semplici flip-flop edge-triggered sia circuiti sequenziali più complessi come registri di memoria, registri a scorrimento, dispositivi di memoria o contatori. In entrambi i casi i circuiti logici sequenziali possono essere divisi nelle seguenti tre categorie principali:
- 1. Event Driven – circuiti asincroni che cambiano stato immediatamente quando vengono abilitati.
- 2. Clock Driven – circuiti sincroni che cambiano stato immediatamente quando vengono abilitati. Clock Driven – circuiti sincronizzati che sono sincronizzati ad un segnale di clock specifico.
- 3. Pulse Driven – che è una combinazione dei due che risponde ad impulsi di trigger.
Oltre ai due stati logici sopra menzionati livello logico “1” e livello logico “0”, viene introdotto un terzo elemento che separa i circuiti logici sequenziali dalle loro controparti logiche combinazionali, ovvero il TEMPO. I circuiti logici sequenziali ritornano al loro stato stazionario originale una volta resettati e i circuiti sequenziali con loop o percorsi di feedback sono detti di natura “ciclica”.
Ora sappiamo che nei circuiti sequenziali i cambiamenti avvengono solo all’applicazione di un segnale di clock che li rende sincroni, altrimenti il circuito è asincrono e dipende da un ingresso esterno. Per mantenere il loro stato attuale, i circuiti sequenziali si basano sul feedback e questo si verifica quando una frazione dell’uscita viene riportata all’ingresso e questo è dimostrato come:
Loop di feedback sequenziale
I due inverter o NOT gates sono collegati in serie con l’uscita a Q reimmessa in ingresso. Sfortunatamente, questa configurazione non cambia mai stato perché l’uscita sarà sempre la stessa, o un “1” o uno “0”, è impostata in modo permanente. Tuttavia, possiamo vedere come funziona la retroazione esaminando i componenti di logica sequenziale più basilari, chiamati flip-flop SR.
SR Flip-Flop
Il flip-flop SR, conosciuto anche come SR Latch, può essere considerato come uno dei circuiti di logica sequenziale più basilari possibili. Questo semplice flip-flop è fondamentalmente un dispositivo bistabile di memoria a un bit che ha due ingressi, uno che “SET” il dispositivo (cioè l’uscita = “1”), ed è etichettato S e uno che “RESET” il dispositivo (cioè l’uscita = “0”), etichettato R.
La descrizione SR sta per “Set-Reset”. L’ingresso di reset resetta il flip-flop al suo stato originale con un’uscita Q che sarà o ad un livello logico “1” o logico “0” a seconda di questa condizione di set/reset.
Un circuito NAND gate SR flip-flop di base fornisce feedback da entrambe le sue uscite ai suoi ingressi opposti ed è comunemente usato nei circuiti di memoria per memorizzare un singolo bit di dati. Quindi il flip-flop SR ha in realtà tre ingressi, Set, Reset e la sua uscita corrente Q relativa al suo stato attuale o storia. Il termine “Flip-flop” si riferisce al funzionamento effettivo del dispositivo, in quanto può essere “capovolto” in uno stato logico Set o “floppato” di nuovo nello stato logico Reset opposto.
Il NAND Gate SR Flip-Flop
Il modo più semplice per fare qualsiasi flip-flop SR a bit singolo è quello di collegare insieme una coppia di NAND gate a 2 ingressi accoppiati incrociati come mostrato, per formare un Set-Reset Bistable noto anche come active LOW SR NAND Gate Latch, in modo che ci sia feedback da ogni uscita a uno degli altri ingressi del NAND gate. Questo dispositivo consiste di due ingressi, uno chiamato Set, S e l’altro chiamato Reset, R con due uscite corrispondenti Q e il suo inverso o complemento Q (not-Q) come mostrato di seguito.
Il Flip-flop SR di base
Lo stato Set
Considera il circuito mostrato sopra. Se l’ingresso R è a livello logico “0” (R = 0) e l’ingresso S è a livello logico “1” (S = 1), il gate NAND Y ha almeno uno dei suoi ingressi a livello logico “0” quindi, la sua uscita Q deve essere a livello logico “1” (principi NAND Gate). L’uscita Q viene anche riportata all’ingresso “A” e quindi entrambi gli ingressi del gate NAND X sono a livello logico “1”, e quindi la sua uscita Q deve essere a livello logico “0”.
Ancora una volta i principi del gate NAND. Se l’ingresso di reset R cambia stato, e va ALTO a livello logico “1” con S che rimane ALTO anche a livello logico “1”, gli ingressi del gate NAND Y sono ora R = “1” e B = “0”. Poiché uno dei suoi ingressi è ancora a livello logico “0”, l’uscita di Q rimane ancora ALTA a livello logico “1” e non c’è cambiamento di stato. Pertanto, il circuito flip-flop è detto “Latched” o “Set” con Q = “1” e Q = “0”.
Stato di reset
In questo secondo stato stabile, Q è a livello logico “0”, (non Q = “0”) la sua uscita inversa a Q è a livello logico “1”, (Q = “1”), ed è data da R = “1” e S = “0”. Poiché la porta X ha uno dei suoi ingressi a livello logico “0”, la sua uscita Q deve essere uguale al livello logico “1” (di nuovo i principi della porta NAND). L’uscita Q viene riportata all’ingresso “B”, quindi entrambi gli ingressi del gate NAND Y sono a livello logico “1”, quindi, Q = “0”.
Se l’ingresso impostato, S ora cambia stato a livello logico “1” con l’ingresso R che rimane a livello logico “1”, l’uscita Q rimane ancora BASSO a livello logico “0” e non vi è alcun cambiamento di stato. Pertanto, anche lo stato di “Reset” dei circuiti flip-flop è stato latched e possiamo definire questa azione “set/reset” nella seguente tabella della verità.
Tabella della verità per questa funzione Set-Reset Function
State | S | R | Q | Q | Description |
Set | 1 | 0 | 0 | 1 | Set Q ” 1 |
1 | 1 | 0 | 1 | no change | |
Reset | 0 | 1 | 1 | 0 | Reset Q ” 0 |
1 | 1 | 1 | 0 | no change | |
Invalid | 0 | 0 | 1 | 1 | Invalid Condition |
It can be seen that when both inputs S = “1” and R = “1” the outputs Q and Q can be at either logic level “1” or “0”, depending upon the state of the inputs S or R BEFORE this input condition existed. Quindi la condizione di S = R = “1” non cambia lo stato delle uscite Q e Q.
Tuttavia, lo stato degli ingressi S = “0” e R = “0” è una condizione indesiderabile o non valida e deve essere evitata. La condizione di S = R = “0” fa sì che entrambe le uscite Q e Q siano ALTE insieme al livello logico “1” quando normalmente vorremmo che Q fosse l’inverso di Q. Il risultato è che il flip-flop perde il controllo di Q e Q, e se i due ingressi vengono nuovamente commutati “ALTI” dopo questa condizione a “1” logico, il flip-flop diventa instabile e passa a uno stato dati sconosciuto basato sullo squilibrio come mostrato nel seguente diagramma di commutazione.
S-R Flip-flop Diagramma di commutazione
Questo squilibrio può causare una delle uscite a commutare più velocemente dell’altra con il risultato che il flip-flip-flop passa a uno stato o all’altro che potrebbe non essere quello richiesto e si verificherebbe una corruzione dei dati. Questa condizione instabile è generalmente conosciuta come il suo stato Meta-stabile.
Quindi, un semplice NAND gate SR flip-flop o NAND gate SR latch può essere impostato applicando una condizione logica “0”, (LOW) al suo ingresso Set e resettato nuovamente applicando uno “0” logico al suo ingresso Reset. Il flip-flop SR si dice che è in una condizione “non valida” (Meta-stabile) se entrambi gli ingressi Set e Reset sono attivati simultaneamente.
Come abbiamo visto sopra, il flip-flop NAND gate SR di base richiede ingressi logici “0” per cambiare stato da Q a Q e viceversa. Possiamo comunque cambiare questo circuito flip-flop di base in uno che cambia stato con l’applicazione di segnali di ingresso positivi con l’aggiunta di due porte NAND extra collegate come invertitori agli ingressi S e R, come mostrato.
Positive NAND Gate SR Flip-flop
Oltre ad usare NAND gates, è anche possibile costruire semplici SR Flip-flop ad un bit usando due NOR gates accoppiati incrociati collegati nella stessa configurazione. Il circuito funzionerà in modo simile a quello del NAND gate di cui sopra, tranne che gli ingressi sono attivi ALTO e la condizione di invalidità esiste quando entrambi i suoi ingressi sono a livello logico “1”, e questo è mostrato di seguito.
Il NOR Gate SR Flip-flop
Circuiti di debounce switch
I flip-flop edge-triggered richiedono una bella transizione di segnale pulita, e un uso pratico di questo tipo di circuito set-reset è come un latch usato per aiutare ad eliminare il “rimbalzo” meccanico dell’interruttore. Come implica il nome, il rimbalzo dell’interruttore si verifica quando i contatti di qualsiasi interruttore meccanico, pulsante o tastiera vengono azionati e i contatti interni dell’interruttore non si chiudono completamente in modo pulito, ma rimbalzano insieme prima di chiudersi (o aprirsi) quando l’interruttore viene premuto.
Questo dà origine a una serie di impulsi individuali che possono essere lunghi anche decine di millisecondi che un sistema o circuito elettronico come un contatore digitale può vedere come una serie di impulsi logici invece di un singolo impulso lungo e comportarsi in modo errato. Per esempio, durante questo periodo di rimbalzo la tensione di uscita può fluttuare selvaggiamente e può registrare più conteggi di ingresso invece di un singolo conteggio. Quindi i Flip-flop SR set-reset o i circuiti Latch bistabili possono essere usati per eliminare questo tipo di problema e questo è dimostrato qui sotto.
Circuito di debounce per switch flip flop SR
In base allo stato corrente dell’uscita, se i pulsanti di set o di reset vengono premuti, l’uscita cambierà nel modo descritto sopra e qualsiasi ulteriore ingresso indesiderato (rimbalzo) dall’azione meccanica dell’interruttore non avrà alcun effetto sull’uscita a Q.
Quando l’altro pulsante viene premuto, il primo contatto causerà il cambiamento di stato del latch, ma qualsiasi ulteriore rimbalzo meccanico dell’interruttore non avrà alcun effetto. Il flip-flop SR può quindi essere resettato automaticamente dopo un breve periodo di tempo, per esempio 0,5 secondi, in modo da registrare eventuali ingressi aggiuntivi e intenzionali ripetuti dagli stessi contatti dell’interruttore, come ad esempio gli ingressi multipli da un tasto “RETURN” della tastiera.
Comunemente disponibili IC fatti appositamente per superare il problema del rimbalzo dell’interruttore sono il MAX6816, a ingresso singolo, il MAX6817, a doppio ingresso e il MAX6818 a ingresso ottale switch debouncer IC’s. Questi chip contengono la circuiteria flip-flop necessaria per fornire un’interfaccia pulita degli interruttori meccanici ai sistemi digitali.
I latch bistabili Set-Reset possono anche essere usati come generatori di impulsi monostabili (one-shot) per generare un singolo impulso di uscita, alto o basso, di una certa larghezza o periodo di tempo specificato per scopi di temporizzazione o controllo. Il 74LS279 è un Quad SR Bistable Latch IC, che contiene quattro singoli bistabili di tipo NAND all’interno di un singolo chip che consente di costruire facilmente circuiti di debounce o di clock monostabili/astabili.
Quad SR Bistable Latch 74LS279
Gated or Clocked SR Flip-Flop
A volte è desiderabile nei circuiti logici sequenziali avere un flip-flop SR bistabile che cambia stato solo quando certe condizioni sono soddisfatte, indipendentemente dalla condizione degli ingressi Set o Reset. Collegando un gate AND a 2 ingressi in serie con ogni terminale di ingresso del flip-flop SR si può creare un flip-flop SR Gated. Questo ingresso condizionale extra è chiamato un ingresso “Enable” e gli viene dato il prefisso “EN”. L’aggiunta di questo ingresso significa che l’uscita a Q cambia stato solo quando è ALTA e può quindi essere usata come ingresso di clock (CLK) rendendola sensibile al livello come mostrato sotto.
Gated SR Flip-flop
Quando l’ingresso Enable “EN” è a livello logico “0”, le uscite delle due porte AND sono anch’esse a livello logico “0”, (principi AND Gate) indipendentemente dalla condizione dei due ingressi S e R, bloccando le due uscite Q e Q nel loro ultimo stato conosciuto. Quando l’ingresso di abilitazione “EN” passa al livello logico “1” il circuito risponde come un normale flip-flop bistabile SR con le due porte AND che diventano trasparenti ai segnali Set e Reset.
Questo ingresso di abilitazione aggiuntivo può anche essere collegato a un segnale di temporizzazione del clock (CLK) aggiungendo la sincronizzazione del clock al flip-flop creando quello che a volte viene chiamato un “Clocked SR Flip-flop”. Così un Gated Bistable SR Flip-flop funziona come un latch bistabile standard ma le uscite sono attivate solo quando un “1” logico è applicato al suo ingresso EN e disattivate da uno “0” logico.
Nel prossimo tutorial sui circuiti logici sequenziali, vedremo un altro tipo di semplice flip-flop edge-triggered che è molto simile al flip-flop RS chiamato JK Flip-flop dal nome del suo inventore, Jack Kilby. Il flip-flop JK è il più usato tra tutti i flip-flop in quanto è considerato un dispositivo universale.