Come funzionano i flip-flop JK

Esempio pratico di utilizzo del Digi-Keyer originale

Introduzione

I flip-flop sono circuiti integrati utilizzati per immagazzinare un singolo bit di dati binari in due stati stabili. Trovano impiego comune per contatori, registri, divisori di frequenza e, per l'esempio utilizzato qui, un circuito logico sequenziale, noto anche come multivibratore astabile.

Esistono molti tipi di flip-flop tra cui scegliere, con caratteristiche comuni come input di impostazione e ripristino, cancellazioni, preimpostazioni, ingressi di clock e uscite logiche complementari. Vengono attivati da una transizione del fronte di salita o di discesa all'ingresso di clock. I tipi comuni includono i flip-flop SR, i flip-flop D e i flip-flop T. I flip-flop JK a volte sono detti "universali" in quanto possono essere configurati per emulare molti degli altri tipi.

Funzionalità dei flip-flop JK

Quando si lavora con flip-flop, è essenziale tenere a portata di mano la tabella delle verità della scheda tecnica del dispositivo per stabilire le caratteristiche dell'uscita in funzione delle diverse opzioni di ingresso e delle transizioni di clock. CD74HCT73E di Texas Instruments, ad esempio, è un tipico flip-flop JK doppio con caratteristiche comuni e una tabella delle verità di facile lettura.

Ci sono due verità di base da ricordare: l'uscita Q (barra) o notQ è sempre il complemento dell'uscita Q e ci sono solo quattro configurazioni di ingresso JK che determinano l'uscita quando l'ingresso di clock passa da alto a basso. Per le possibili configurazioni di JK, vedere la Figura 1. Il termine commutare significa che lo stato attuale delle uscite Q e notQ viene invertito quando J e K sono entrambi alti e il clock passa da alto a basso (condizione 4 nella tabella delle verità).

Figura 1. Tabella delle verità della scheda tecnica di un tipico flip-flop JK.

Le verità di base menzionate non tengono conto dell'input di reset (R) che conferisce al flip-flop uno stato iniziale quando il reset viene tenuto basso. Il termine "irrilevante" viene utilizzato nella scheda tecnica rispetto agli ingressi di clock e JK quando il reset è basso. I cambiamenti di questi ingressi non hanno effetto sull'uscita finché il reset viene mantenuto alto e non viene ricevuta una transizione di clock.

Un punto su cui riflettere: quando un flip-flop viene acceso per la prima volta, la sua uscita non viene automaticamente impostata su uno stato noto. Non c'è modo di prevedere quale sarà lo stato dell'uscita, quindi l'ingresso di reset consente di inizializzare l'uscita su uno stato noto dopo l'accensione.

Esempio di circuito logico sequenziale: generatore di caratteri Morse

Servono tre punti (DIT) per fare una linea (DAH)

Il generatore di caratteri Morse Digi-Keyer ha molti componenti con compiti specifici. Per dimostrare il ruolo dei flip-flop, con quelli denominati FF1 e FF2 sono stati inclusi gli elementi correlati. La Figura 2 mostra il diagramma schematico della sezione di formazione dei codici punto-linea del Digi-Keyer.

Figura 2. Circuito di formazione dei codici del flip-flop del Digi-Keyer

Prima di passare a esaminare la creazione dei codici punto e linea, è necessario spiegare la funzione del gate logico NOR1. NOR1 non è solo il primo stadio del circuito di uscita dei caratteri. Consente anche a un circuito di temporizzazione di fornire impulsi regolari a FF1 per il tempo per cui l'uscita NOR1 è bassa. Quando l'uscita NOR1 è alta, gli impulsi cessano al termine del ciclo di temporizzazione corrente.

Premendo l'interruttore del paddle punto si attiva un impulso iniziale di transizione da alto a basso dal circuito di temporizzazione all'ingresso C di FF1. I pin di uscita Q e notQ commutano perché gli ingressi JK sono entrambi mantenuti alti. NotQ attiva NOR1 per inviare un segnale basso al circuito di temporizzazione, indicando che è in corso un segnale punto. Al termine della funzione di temporizzazione, a FF1 viene inviato un altro impulso che lo riporta allo stato normale. Durante la formazione del punto, l'uscita Q di FF1 attiva l'ingresso C di FF2, ma poiché il paddle linea non è stato premuto (l'ingresso J di FF2 è basso), l'uscita di FF2 segue la condizione 3 della tabella delle verità riportata nella Figura 1. La Figura 3 illustra la tabella delle verità della logica sequenziale risultante per generare un singolo punto.

Figura 3. Tabella delle verità di formazione di un punto della logica sequenziale.

Premendo il paddle linea si attiva anche un impulso iniziale dal circuito di temporizzazione che attiva FF1 e imposta l'ingresso J di FF2 su alto, causando la commutazione anche delle uscite di FF2. Poiché l'uscita Q di FF2 attiva anche l'uscita NOR1 bassa, gli impulsi di temporizzazione continuano. L'uscita di NOR1 non torna alta finché FF1 e FF2 non sono tornati entrambi allo stato normale, il che richiede tre cicli punto. La Figura 4 illustra la tabella delle verità della logica sequenziale per generare una singola linea.

Figura 4. Tabella delle verità di formazione di una linea della logica sequenziale.

Il tempo necessario perché i flip-flop tornino allo stato normale dipende dal tempo che intercorre tra le transizioni da alto a basso. In questo esempio, il tempo basso di un ciclo di impulsi è fissato a 8 ms, ma il tempo alto è regolabile da 15 a 150 ms nel circuito di temporizzazione. Con l'impostazione più lenta, la lunghezza dei caratteri punto è di circa 158 ms, mentre quella di una linea è di circa 474 ms. La transizione finale da alto a basso, che riporta FF1 e FF2 allo stato normale, torna su alto in 8 ms, determinando uno spazio fisso tra i codici se uno o entrambi i paddle sono tenuti chiusi (alto).

Un altro punto su cui riflettere: all'accensione del circuito, FF1 e FF2 possono trovarsi in stati logici casuali, come già detto. Se uno stato qualsiasi risulta basso all'uscita di NOR1, il circuito di temporizzazione inizierà a inviare impulsi finché FF1 e FF2 non raggiungeranno il loro stato normale. Di conseguenza, i flip-flop vengono inizializzati automaticamente sul loro stato normale dopo l'accensione senza utilizzare l'ingresso di reset.

Conclusione

Seguire passo passo la logica dei flip-flop può essere difficile. Per questo, generare tabelle di verità come quelle delle Figure 3 e 4 è utile per vedere il lavoro che si svolge in background. In questo esempio, la logica sequenziale in più passi è stata eseguita senza l'uso di un microcontroller o di un clock fisso e sempre in funzione. Le uscite dei flip-flop sono dati memorizzati, in quanto è necessario un cambiamento intenzionale dell'ingresso perché vi sia un cambiamento nell'uscita. I dati sono inoltre volatili. Quando viene tolta l'alimentazione, i dati vanno persi. L'obiettivo del generatore di codici Morse non è quello di produrre dati. I flip-flop sono utilizzati per ricordare una condizione precedente e stabilire quella successiva tra le transizioni da alto a basso degli impulsi di clock.

Risorse:

Creazione di onde quasi sinusoidali da onde quadre

Come funziona il Digi-Keyer

Aggiornamento del Digi-Keyer originale

Cosa sono i circuiti di temporizzazione RC

Assemblaggio del Digi-Keyer

Siete interessati a costruire il Digi-Keyer e a scoprirne il funzionamento? DigiKey mette a disposizione il set completo di progetti, la distinta base, il codice di programmazione, i file PCB e altro ancora in questo repository:

https://media.digikey.com/pdf/Project%20Repository/Digikeyer.zip

Informazioni su questo autore

Image of Don Johanneck

Don Johanneck, Technical Content Developer presso DigiKey, lavora in azienda dal 2014. Di recente promosso alla sua attuale posizione, è responsabile delle descrizioni per i video e dei contenuti di prodotto. Don ha conseguito una laurea tecnico-scientifica in Electronics Technology & Automated Systems presso Northland Community & Technical College attraverso il programma di borse di studio DigiKey. Ama il modellismo radiocomandato, il restauro di auto d'epoca e il bricolage.

More posts by Don Johanneck
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum