Il flip-flop JK è un elemento costitutivo di base dell'elettronica digitale, ampiamente utilizzato per l'archiviazione dei dati, i contatori e la progettazione logica sequenziale. Supera i limiti del flip-flop SR eliminando gli stati non validi e fornendo funzioni di controllo flessibili come Imposta, Reset, Hold e Toggle. Questo articolo ne spiega il principio di funzionamento, la struttura interna, le tabelle di verità, i tipi, le applicazioni e l'uso pratico.

Panoramica delle infradito JK
Un JK flip-flop è un circuito logico sequenziale bistabile che memorizza un bit di dati utilizzando due stati stabili. Dispone di due ingressi (J per Set, K per Reset), due uscite (Q e Q') e un ingresso di clock (CLK). Gli ingressi opzionali Preset (PR) e Clear (CLR) consentono il controllo asincrono.
Le infradito JK supportano due modalità operative:
• Modalità sincrona – L'uscita cambia solo sull'ingresso del clock.
• Modalità asincrona: Preset e Clear sovrascrivono il clock e forzano immediatamente le modifiche all'uscita.
A differenza di un flip-flop SR, il flip-flop JK evita lo stato non valido. Quando J = K = 1, esegue un'operazione di commutazione, l'uscita commuta ad ogni impulso di clock a causa del feedback interno.
Tabella della verità JK Flip-Flop e tabella di stato
Tabella di verità (con ingressi asincroni)
Questa tabella mostra come l'uscita risponde agli ingressi temporizzati e alle condizioni di preimpostazione/cancellazione asincrone.
| Pubbliche Relazioni | CLR | CLK | J | K | Q(n+1) | Funzionamento |
|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 1 | Set asincrono |
| 1 | 0 | X | X | X | 0 | Reset asincrono |
| 1 | 1 | 0 | X | X | Qn | Nessun cambiamento |
| 1 | 1 | ↑ | 0 | 0 | Qn | Tenere premuto |
| 1 | 1 | ↑ | 1 | 0 | 1 | Imposta |
| 1 | 1 | ↑ | 0 | 1 | 0 | Ripristina |
| 1 | 1 | ↑ | 1 | 1 | Q̅n | Attiva/disattiva |
Tabelle degli stati (tabelle delle caratteristiche e delle eccitazioni)
La tabella di verità può essere semplificata in due importanti tabelle di stato utilizzate nella progettazione e nell'analisi.
Tabella caratteristica
Definisce l'output dello stato successivo in base agli input e allo stato corrente.
| J | K | Q(n) | Q(n+1) |
|---|---|---|---|
| 0 | 0 | Qn | Qn (tieni premuto) |
| 1 | 0 | Qn | 1 (Insieme) |
| 0 | 1 | Qn | 0 (Ripristina) |
| 1 | 1 | Qn | Q̅n (Attiva/disattiva) |
Equazione caratteristica:
Q(n+1) = J· Q̅n + K̅· Qn
Tabella di eccitazione
Definisce gli input necessari (J, K) per ottenere una transizione specifica.
| Q(n) | Q(n+1) | J | K |
|---|---|---|---|
| 0 | 0 | 0 | X |
| 0 | 1 | 1 | X |
| 1 | 0 | X | 1 |
| 1 | 1 | X | 0 |
(X = non mi interessa)
Schema a blocchi di JK Flip-Flop

Il diagramma a blocchi di un flip-flop JK mostra come i suoi input chiave e il feedback interno interagiscono per controllare la sua uscita. Gli ingressi J e K determinano le azioni di impostazione e reset, consentendo all'uscita di memorizzare o modificare lo stato in base alla logica di ingresso. Il segnale Clock (CLK) sincronizza queste operazioni in modo che le modifiche avvengano solo in corrispondenza di specifiche transizioni di clock, garantendo una temporizzazione prevedibile nei circuiti digitali.
Oltre a questi ingressi primari, il flip-flop JK può includere anche ingressi di controllo asincroni: Preset (PR) e Clear (CLR). Questi ingressi possono forzare immediatamente l'uscita a 1 logico o 0 logico, indipendentemente dallo stato del clock, rendendoli utili per l'inizializzazione dei circuiti. Una caratteristica distintiva del flip-flop JK è il suo percorso di retroazione interno, in cui l'uscita di corrente Q viene reimmessa nella rete logica. Questo feedback abilita l'azione di commutazione quando sia J che K sono impostati su 1, consentendo all'uscita di alternare gli stati su ciascun impulso di clock.
Simbolo logico JK Flip-Flop e diagramma dei pin

Simbolo logico
Il simbolo logico evidenzia:
• Due ingressi: J (Set) e K (Reset)
• Un ingresso clock con indicatore di attivazione del bordo (simbolo triangolo, spesso con bolla se attivo-basso)
• Ingressi asincroni opzionali: PR (Preset) e CLR (Clear)
• Due uscite: Q e Q' (complementari)
Diagramma dei pin (esample: IC flip-flop 74LS76 JK)

Un diagramma a pin mostra come i flip-flop JK sono implementati in pacchetti IC come DIP-14.
| Numero pin | Nome pin | Descrizione |
|---|---|---|
| 1 | CLR₁ | Cancellazione asincrona (Active LOW) per Flip-Flop 1 |
| 2 | K₁ | Ingresso K per Flip-Flop 1 |
| 3 | J₁ | Ingresso J per Flip-Flop 1 |
| 4 | CLK₁ | Ingresso orologio per Flip-Flop 1 |
| 5 | PR₁ | Preset asincrono (attivo LOW) per Flip-Flop 1 |
| 6 | Q₁ | Uscita Q per Flip-Flop 1 |
| 7 | GND | Terra |
| 8 | Q₂ | Uscita Q per Flip-Flop 2 |
| 9 | Pubblicità | Preset asincrono (attivo LOW) per Flip-Flop 2 |
| 10 | CLK₂ | Ingresso orologio per Flip-Flop 2 |
| 11 | J₂ | Ingresso J per Flip-Flop 2 |
| 12 | K₂ | Ingresso K per Flip-Flop 2 |
| 13 | CLR₂ | Cancellazione asincrona (Active LOW) per Flip-Flop 2 |
| 14 | VCC | Tensione di alimentazione positiva |
Infradito JK padrone-schiavo

Una sfida comune nei flip-flop JK è la condizione di race-around, che si verifica quando entrambi gli ingressi sono HIGH (J = K = 1) e l'impulso di clock rimane HIGH abbastanza a lungo da consentire all'uscita di alternarsi ripetutamente all'interno di un ciclo. Questo porta a un comportamento instabile.
La configurazione Master-Slave garantisce una sola variazione di uscita per impulso di clock e previene oscillazioni indesiderate anche quando J = K = 1. Questo metodo controlla il problema della gara dividendo l'operazione in due fasi: il Master risponde quando CLK = HIGH e lo Slave si aggiorna quando CLK = LOW.
Per metodi di controllo dell'orologio più avanzati che prevengono anche la gara, vedere la Sezione 9 (Metodi di attivazione).
Metodi di attivazione JK Flip-Flop
Un flip-flop JK diretto che utilizza clock attivati dal livello può soffrire di un problema chiamato race-around, che si verifica quando J = K = 1 mentre il clock rimane HIGH abbastanza a lungo da consentire all'uscita di commutare ripetutamente all'interno di un singolo impulso di clock. Questo porta a un funzionamento instabile.
Per eliminare questo problema, vengono utilizzate due strategie di attivazione:
| Tipo di trigger | Descrizione | Prevenzione delle gare in giro | Utilizzo |
|---|---|---|---|
| Master-Slave JK | Due chiavistelli a cascata; Master attivo su clock HIGH, Slave su LOW | Limita l'impostazione di una volta per ciclo | Circuiti didattici, velocità moderata |
| JK attivato da Edge | Cattura l'input solo sul fronte di clock ↑ o ↓ | Elimina completamente il race-around | Moderni sistemi sincroni |
Tabella del comportamento del fronte di clock
| Bordo dell'orologio | J | K | Q(n+1) |
|---|---|---|---|
| Nessun bordo | X | X | Qn (tieni premuto) |
| ↑ o ↓ | 0 | 0 | Qn |
| ↑ o ↓ | 1 | 0 | 1 (Insieme) |
| ↑ o ↓ | 0 | 1 | 0 (Ripristina) |
| ↑ o ↓ | 1 | 1 | Q̅n (Attiva/disattiva) |
I flip-flop JK attivati dall'edge dominano i pratici design digitali perché garantiscono transizioni pulite e compatibilità con le architetture di clock sincrone.
Diagramma dei tempi JK Flip-Flop

Un diagramma di temporizzazione mostra come l'uscita di un flip-flop JK cambia in risposta alle variazioni del clock (CLK) e dei segnali di ingresso (J e K) nel tempo. È uno strumento prezioso per comprendere il comportamento del flip-flop nei circuiti sincroni.
Durante ogni fronte di clock attivo (comunemente il fronte di salita, ↑), il flip-flop campiona gli ingressi e aggiorna l'uscita Q secondo queste regole:
• J = 0, K = 0 → Stato di mantenimento (l'uscita rimane invariata)
• J = 1, K = 0 → Insieme (Q diventa 1)
• J = 0, K = 1 → Reset (Q diventa 0)
• J = 1, K = 1 → Toggle (Q passa al valore opposto)
Un tipico diagramma di temporizzazione JK flip-flop include:
• Forma d'onda di clock (CLK): definisce quando si verificano gli aggiornamenti dell'output
• Segnali di ingresso (J e K): mostra gli stati di ingresso nel tempo
• Segnali di uscita (Q e Q'): le transizioni di stato del display sono chiaramente basate sull'ingresso e sul clock
Questo diagramma aiuta a visualizzare la sequenza dei cambiamenti di stato, semplificando l'analisi dei problemi di temporizzazione, la verifica del comportamento sincrono e la comprensione dei requisiti di configurazione e tempo di mantenimento nella progettazione digitale.
JK Flip-Flop con porte NAND

Un flip-flop JK può essere costruito utilizzando porte NAND di base, che rivelano come funziona il dispositivo internamente a livello di gate. Questa implementazione è comunemente utilizzata nell'insegnamento della logica digitale perché dimostra come il feedback e il controllo del clock funzionino per creare circuiti sequenziali stabili.
La logica interna è costruita utilizzando:
• Due porte NAND accoppiate a croce che formano il chiavistello bistabile di base.
• Due porte NAND aggiuntive per elaborare gli ingressi J e K insieme al feedback di uscita precedente.
• Porte NAND controllate da clock che consentono cambi di stato solo quando il segnale di clock è attivo, garantendo il funzionamento sincrono.
Comportamenti funzionali
• La logica di retroazione impedisce gli stati non validi – A differenza del latch SR, la configurazione JK gestisce in modo sicuro tutte le combinazioni di ingressi.
• Azione di commutazione per J = K = 1 – Il feedback interno alterna lo stato di uscita su ogni impulso di clock attivo.
• Funzionamento sincrono – L'ingresso del clock assicura che l'uscita cambi solo in orari definiti, consentendo l'integrazione con altri circuiti logici sequenziali.
Questa costruzione a livello di cancello aiuta a spiegare perché il flip-flop JK è considerato universale e affidabile. Tuttavia, a causa della sua struttura relativamente complessa e del ritardo di propagazione, i sistemi digitali pratici utilizzano comunemente flip-flop JK attivati dal bordo o versioni IC integrate invece di costruirli da gate discreti.
Mentre il flip-flop JK a livello di gate spiega la logica interna, i pratici sistemi digitali devono anche affrontare problemi di cronometraggio come il race-around. Ciò porta a migliorare le tecniche di innesco discusse di seguito.
Circuiti integrati flip-flop JK popolari
I flip-flop JK sono disponibili come circuiti integrati (IC) in entrambe le famiglie TTL (Transistor-Transistor Logic) e CMOS. Questi circuiti integrati sono comunemente utilizzati in contatori, divisori di frequenza, registri a scorrimento e circuiti di controllo della memoria.
| Numero IC | Famiglia Logica | Descrizione |
|---|---|---|
| 74LS73 | TTL | Doppio flip-flop JK con Clear asincrono; Utilizzato in applicazioni di logica sequenziale di base |
| 74LS76 | TTL | Doppio flip-flop JK con Preset e Clear asincroni; Consente il controllo esterno degli stati iniziali |
| 74LS107 | TTL | Doppio flip-flop JK con funzionalità di cancellazione e attivazione/disattivazione attiva-disattiva; Ideale per banchi dividi per 2 |
| CD4027B | CMOS | Doppio infradito JK con Set e Reset; offre un basso consumo energetico e un'ampia gamma di tensioni |
Applicazioni delle infradito JK
I flip-flop JK sono ampiamente utilizzati perché possono funzionare come elementi di memoria, dispositivi di commutazione e contatori sincroni. Le applicazioni comuni includono:
• Divisione di frequenza e contatori – Dividi la frequenza di clock per 2 in modalità di commutazione
• Registri a scorrimento – Utilizzati nella conversione di dati seriale-parallela
• Macchine a stati (FSM) – Logica di sequenza di controllo nei sistemi digitali
• Condizionamento del segnale – Interruttori meccanici antirimbalzo
• Clock Pulse Shaping – Genera segnali a onda quadra
Confronto tra infradito JK e infradito SR, D e T

| Caratteristica | JK Infradito | SR Infradito | D Infradito | T Infradito |
|---|---|---|---|---|
| Ingressi | J, K | S, R | D | E |
| Stato non valido | Nessuno | S=R=1 non valido | Nessuno | Nessuno |
| Modalità di funzionamento | Imposta, ripristina, alterna | Imposta, Ripristina | Trasferimento dati | Attiva/disattiva solo |
| Caso d'uso | Contatori, Registri | Chiusura semplice | Memoria, registri a scorrimento | Contatori |
| Complessità | Moderato | Semplice | Semplice | Molto semplice |
| Supporto per l'attivazione di Edge | Sì | Sì | Sì | Sì |
Il flip-flop JK è il più flessibile tra tutti i flip-flop. Può simulare le funzioni dei flip-flop SR, D e T ed è ampiamente utilizzato nei contatori e nei circuiti di controllo digitale.
Risoluzione dei problemi ed errori di progettazione comuni
| Problema comune | Descrizione | Soluzione |
|---|---|---|
| Errore di sincronizzazione dell'orologio | Più flip-flop che utilizzano orologi non sincronizzati causano discrepanze di temporizzazione | Utilizzare un'unica sorgente di clock globale** |
| Rumore di ingresso o rimbalzo dell'interruttore | Ingressi rumorosi o interruttori meccanici causano falsi allarmi | Aggiungi circuiti antirimbalzo o filtri RC |
| Pin mobili preimpostati/cancellati (PR/CLR) | Gli ingressi asincroni non collegati causano uscite imprevedibili | Collegare PR/CLR inutilizzati a livelli logici definiti |
| Violazioni del tempo di configurazione e attesa | Cambiare J/K troppo vicino alla transizione di clock porta alla metastabilità | Mantieni stabili gli ingressi prima e dopo il fronte di clock |
Conclusione
Il flip-flop JK rimane un dispositivo versatile e affidabile nei moderni sistemi digitali grazie alla sua capacità di alternare gli stati e gestire operazioni sincrone e asincrone. Sia che venga implementato utilizzando porte logiche o circuiti integrati, viene utilizzato in contatori, registri e circuiti di controllo. La comprensione del suo comportamento e della sua tempistica consente di progettare applicazioni di logica sequenziale stabili ed efficienti.
Domande frequenti [FAQ]
Perché un infradito JK è chiamato "infradito universale"?
Il flip-flop JK è chiamato flip-flop universale perché può svolgere le funzioni dei flip-flop SR, D e T semplicemente configurando i suoi ingressi J e K. Questo lo rende adattabile a varie applicazioni di logica sequenziale.
Qual è la principale differenza tra le infradito JK con attivazione di livello e quelle con attivazione di bordo?
Un flip-flop JK attivato dal livello risponde all'intero livello HIGH o LOW dell'impulso di clock, mentre un flip-flop JK attivato dal bordo aggiorna la sua uscita solo al fronte di salita o discesa, prevenendo problemi di race-around.
Come si converte un flip-flop JK in un flip-flop D?
Un flip-flop JK può funzionare come un flip-flop D collegando J = D e K = D'. In questo modo l'output viene forzato a seguire l'input, imitando il comportamento di trasferimento dei dati di un flip-flop D.
Quali sono le cause della metastabilità nelle infradito JK?
La metastabilità si verifica quando gli ingressi J e K cambiano troppo vicino alla transizione del clock, violando il tempo di configurazione o di mantenimento. Ciò può comportare stati di uscita imprevedibili o oscillanti.
Le infradito JK possono essere utilizzate per la divisione di frequenza?
Sì. Quando entrambi gli ingressi J e K sono legati HIGH (J = K = 1), il flip-flop JK commuta la sua uscita ad ogni impulso di clock. Questo divide la frequenza di clock per 2, rendendola utile nei contatori digitali e nei divisori di frequenza.