Strumenti Utente

Strumenti Sito


Action disabled: revisions
sezione_5a

5A - Latch e flip-flop

1 Premessa

Nei circuiti sequenziali lo stato delle uscite dipende non solo da quello degli ingressi ma anche da ciò che è successo prima; sono circuiti con memoria.

2 Il latch SR (Set-Reset)

La figura 2a e la figura 2b mostrano due possibili implementazioni di un latch SR. Il latch è il dispositivo di memorizzazione più semplice realizzabile ed è in grado di memorizzare un bit. Entrambi i circuiti sono rappresentabili con i simboli logici delle figure 2c e 2d1). Osserviamo che:

  • gli ingressi `bar S` e `bar R` sono attivi bassi (lo stato logico 0 attiva la rispettiva funzionalità)
  • l'uscita `Q` è presente anche in forma complementata `bar Q`

La tabella della verità descrive il funzionamento del circuito e si interpreta considerando i il generico istante di tempo e i+1 l'istante successivo:

  • quando S (set) è attivo l'uscita Q viene settata, cioè impostata a 1
  • quando R (Reset) è attivo l'uscita Q viene resettata, cioè impostata a 0
  • quando entrambi sono disattivi l'uscita Q mantiene il valore che aveva in precedenza (memorizzazione)
  • la combinazione con entrambi gli ingressi attivi non è valida (non è possibile impostare l'uscita a 1 e 0 contemporaneamente)

Se si scarta la combinazione non consentita notiamo che le uscite possono avere solo due stati: `Q = 0 , bar Q = 1` e `Q = 1 , bar Q = 0` e che lo stato delle uscite si mantiene nel tempo se non si attivano gli ingressi. Un dispositivo con queste caratteristiche è chiamato multivibratore (due stati) bistabile (si mantengono nel tempo).

Lo stato dell'uscita Q si ottiene facilmente dalla tabella della verità delle porte NAND (o NOR) quando S o R sono attivi2). Nel caso siano entrambi disattivi3), si ottiene:

`Q(i+1) = S(i)+Q(i)= 0+Q(i)=Q(i)`

e

`bar Q(i+1) = R(i)+ bar Q(i)= 0+ bar Q(i)= bar Q(i)`

che rappresenta lo stato di memorizzazione4) e l'uscita mantiene il valore acquisito in precedenza.

Il circuito, i simboli logici e la tabella della verità della figura 3 mostrano un latch SR con ingressi attivi alti. La soluzione circuitale è simile ma con porte NAND e NOR scambiate. Un latch SR si può ottenere cablando opportunamente un integrato come il 7400 (4 porte NAND) o il 7402 (4 NOR) ma esiste anche in forma integrata (74279).

Il diagramma temporale di figura 4 mostra l'andamento nel tempo delle variabili, in particolare l'effetto sull'uscita Q (anche complementata) degli ingressi S e R.

Logica antirimbalzi

Il circuito di figura 5 mostra un'applicazione del latch SR come circuito antirimbalzo per un deviatore5) usata anche nelle schede minilab del laboratorio. Questa soluzione risolve il problema delle commutazioni indesiderate che si hanno ogni volta che si aziona un contatto meccanico come quello di figura 5a6). Spostando il contatto mobile da A a B si attiva l'ingresso corrispondente (S e R attivi bassi) disattivando l'altro (grazie alla resistenza di pull-up). Eventuali incertezze nella commutazione non producono effetti perché in questo caso, con i due ingressi al valore alto, viene mantenuto l'ultimo stato impostato (memorizzazione).

Latch SR con enable

Il circuito di figura 6 mostra un latch SR con ingressi attivi alti e ingresso di abilitazione/enable. In questo caso le due porte NAND in ingresso fanno gating7)(vedi sezione 3C paragrafo 7) permettendo o meno il passaggio del segnale agli ingressi S e R in base al segnale di abilitazione E (anch'esso attivo alto). Questo tipo di dispositivo8) è detto level triggered, perché attivato o meno in base al livello del segnale di abilitazione ed è utile quando si desidera che il dato memorizzato cambi solo in determinati momenti quando gli ingressi sono abilitati.

Il diagramma temporale di figura 7 chiarisce il comportamento del dispositivo al variare del segnale di controllo E.

3 Il latch D

Il latch D di figura 8 deriva direttamente dal latch SR con enable pilotando l'ingresso R con il segnale dell'ingresso S complementato. Il comportamento, come descritto dalla tabella della verità, è il seguente:

  • quando l'enable E (attivo alto) vale 1 l'uscita Q coincide con il dato presente all'ingresso D
  • quando l'enable E vale zero il latch mantiene memorizzato l'ultimo dato

Il diagramma temporale di figura 9 chiarisce il comportamento del dispositivo.

4 La logica temporizzata

In molte applicazioni è utile che il dato memorizzato non possa cambiare mentre viene letto. Questa condizione si può ottenere usando opportunamente l'ingresso di abilitazione ma se si vuole abilitare il dispositivo solo per un tempo brevissimo o se si vuole sincronizzare le operazioni di lettura tra più dispositivi esiste una soluzione migliore: il flip-flop.

Un flip-flop è un dispositivo di memorizzazione da un bit (come un latch) dotato di un ingresso di sincronizzazione al quale viene applicato un segnale temporizzatore detto clock. Il flip-flop è un dispositivo edge-triggered perché le sue uscite possono cambiare solo in corrispondenza di un fronte di salita o discesa del segnale di clock, quindi per un tempo brevissimo9).

Il caso SR edge triggered

La figura 10 mostra il simbolo e la corrispondente tabella della verità di due flip-flop edge triggered, uno attivo sul fronte di salita del clock (a sinistra) e uno sul fronte di discesa (a destra). Osserviamo che:

  • nella tabella della verità il fronte attivo del clock è indicato con una freccia
  • nel simbolo l'ingresso del clock si distingue per il triangolo posto all'interno del simbolo e la sigla CK
  • il fronte attivo è quello di discesa se è presente il pallino sull'ingresso (o il mezzo triangolo nei simboli ANSI/IEEE)
  • l'uscita cambia solo in corrispondenza del fronte attivo del clock quando S o R sono attivi

Ingressi sincroni e asincroni

Nei flip-flop possono essere presenti anche degli ingressi asincroni che permettono di impostare lo stato dell'uscita a prescindere dallo stato del segnale di clock. Ad esempio il SRFF di figura 11 dispone di due ingressi asincroni attivi bassi:

  • preset `bar {PR}` imposta l'uscita a 1 indipendentemente dallo stato del clock
  • clear `bar {CL}` imposta l'uscita a 0 indipendentemente dallo stato del clock

Gli ingressi S e R sono invece sincroni ed hanno effetto solo in presenza di un fronte del segnale di clock.

5 Classificazione dei flip-flop

Il flip-flop D edge triggered

La figura 12 mostra simbolo logico, tabella della verità e diagramma temporale di un flip-flop D edge triggered. Questo flip-flop si comporta come un latch D - cioè trasmette il dato in uscita se abilitato e mantiene l'ultimo dato in memoria quando è disabilitato - ma il suo funzionamento è attivato dal fronte di salita del clock.

Un dispositivo che contiene due flip-flop D è l'integrato 7474, che presenta anche due ingressi asincroni S e R attivi bassi.

Il flip-flop JK edge triggered

Il flip-flop JK di figura 13 si comporta come un flip-flop SR - con J che corrisponde a S e K a R - ma si distingue per non avere una combinazione non valida: quando sia J che K sono attivi il valore dell'uscita Q viene complementato10). Un esempio di integrato che contiene due flip-flop JK è il 74112, attivo sul fronte di discesa e con due ingressi asincroni S e R attivi bassi.

Il flip-flop T

Il flip-flop T commuta la sua uscita quando l'ingresso T (toggle) è attivo, altrimenti conserva il valore dell'uscita. La figura 14 mostra la tabella della verità, il simbolo logico e un diagramma temporale di un TFF attivo sul fronte di salita del clock con l'ingresso T attivo alto. Questo tipo di flip-flop non esiste in forma integrata ma si ottiene da altri tipi di flip-flop.

Extra

  • scheda di laboratorio 5A.1: analisi sperimentale del flip-flop JK

6 Trasformazioni tra flip-flop

Trasformazione di un SR in un JK

La figura 16a mostra come ottenere un JKFF da un SRFF usando due porte AND (considerare le varie combinazioni possibili in ingresso e lo stato delle uscite per comprenderne il funzionamento).

Trasformazione di un SRFF e di un JKFF in un DFF

Come per i latch è sufficiente porre il valore negato dell'ingresso S (o J) nell'ingresso R (o K), come mostrato in figura 16b.

Trasformazione di un JKFF in un TFF

Collegando insieme gli ingressi J e K e usandoli come ingresso T s ottiene un TFF (figura 17a).

Trasformazione di un DFF in un TFF

Se non serve accedere all'ingresso T si può ottenere un TFF collegando l'uscita complementata di un DFF all'ingresso D (figura 17b).

Torna all'indice.

1)
simboli MIL e IEEE/ANSI
2)
quando sono entrambi attivi sia `Q` che `bar Q` valgono 1; questa condizione è in contrapposizione con il segno di complementazione e non è desiderabile
3)
gli ingressi `bar S` e `bar R` valgono 1 quindi S e R valgono 0
4)
l'espressione logica si ricava dal circuito logico applicando De Morgan
5)
NB non funziona per un interruttore a singolo contatto
6)
azionando il contatto, anche se per un tempo molto breve, si hanno una serie di rimbalzi che producono una serie di commutazioni indesiderate e, di conseguenza, un'incertezza nell'uscita che può produrre malfunzionamenti
7)
il testo usa l'espressione trasparente al segnale per indicare che il segnale può passare
8)
chiamato anche gated latch
9)
si veda la scheda integrativa 5A.1 per capire come l'abilitazione avvenga solo in corrispondenza del fronte del clock
10)
qui un'immagine che mostra un circuito di principio del flip-flop JK
Questo sito Web utilizza i cookie. Utilizzando il sito Web, l'utente accetta la memorizzazione dei cookie sul proprio computer. Inoltre riconosci di aver letto e compreso la nostra Informativa sulla privacy. Se non sei d'accordo, lascia il sito.Maggiori informazioni sui cookie
sezione_5a.txt · Ultima modifica: 2023/03/22 07:29 da admin