JK Flip-Flop uitgelegd: waarheidstabel, blokdiagram, timing en gebruik

ліс 02 2025
Bron: DiGi-Electronics
Bladeren: 1197

De JK-flip-flop is een basisbouwsteen in digitale elektronica en wordt veel gebruikt voor gegevensopslag, tellers en sequentieel logisch ontwerp. Het overwint de beperkingen van de SR-flip-flop door ongeldige toestanden te elimineren en flexibele besturingsfuncties te bieden, zoals Set, Reset, Hold en Toggle. In dit artikel worden het werkingsprincipe, de interne structuur, de waarheidstabellen, de typen, de toepassingen en het praktische gebruik uitgelegd.

Figure 1. JK Flip-Flop

JK Flip-Flop Overzicht

Een JK-flip-flop is een bistabiel sequentieel logisch circuit dat één bit gegevens opslaat met behulp van twee stabiele toestanden. Het heeft twee ingangen (J voor Set, K voor Reset), twee uitgangen (Q en Q') en een klokingang (CLK). Optionele Preset (PR) en Clear (CLR) ingangen maken asynchrone bediening mogelijk.

JK-slippers ondersteunen twee bedrijfsmodi:

• Synchrone modus – Uitgang verandert alleen op klokinvoer.

• Asynchrone modus – Preset en Clear overschrijven de klok en forceer de outputwijzigingen onmiddellijk.

In tegenstelling tot een SR-teenslipper, vermijdt de JK-teenslipper de ongeldige toestand. Wanneer J = K = 1, voert het een schakelfunctie uit, de uitgang schakelt elke klokpuls in vanwege interne feedback.

JK Flip-Flop Waarheidstabel en Staatstafel

Waarheidstabel (met asynchrone ingangen)

Deze tabel laat zien hoe de uitvoer reageert op geklokte invoer en asynchrone vooraf ingestelde/heldere voorwaarden.

PRCLRCLKJKQ(n+1)Werking
01XXX1Asynchrone set
10XXX0Asynchrone reset
110XXQnGeen verandering
1100QnVasthouden
11101Instellen
11010Resetten
1111Q̅nSchakelen

Toestandstabellen (karakteristiek- en excitatietabellen)

De waarheidstabel kan worden vereenvoudigd tot twee belangrijke toestandstabellen die worden gebruikt in ontwerp en analyse.

Karakteristieke tafel

Definieert de uitvoer van de volgende status op basis van invoer en huidige status.

JKVraag (n)Q(n+1)
00QnQn (vasthouden)
10Qn1 (Reeks)
01Qn0 (resetten)
11QnQ̅n (schakelen)

Karakteristieke vergelijking:

Q(n+1) = J· Q̅n + K̅· Hoofdstuk

Excitatie tabel

Definieert de vereiste invoer (J, K) om een specifieke overgang te bereiken.

Vraag (n)Q(n+1)JK
000X
011X
10X1
11X0

(X = maakt niet uit)

Blokschema van JK Flip-Flop

Figure 2. Block Diagram of JK Flip-Flop

Het blokdiagram van een JK-flip-flop laat zien hoe de belangrijkste invoer en interne feedback op elkaar inwerken om de uitvoer te regelen. De J- en K-ingangen bepalen de ingestelde en reset-acties, waardoor de uitvoer de status kan opslaan of wijzigen op basis van de invoerlogica. Het kloksignaal (CLK) synchroniseert deze bewerkingen, zodat veranderingen alleen optreden bij specifieke klokovergangen, wat zorgt voor een voorspelbare timing in digitale circuits.

Naast deze primaire ingangen kan de JK-flip-flop ook asynchrone besturingsingangen bevatten: Preset (PR) en Clear (CLR). Deze ingangen kunnen de uitvoer onmiddellijk naar logica 1 of logica 0 dwingen, ongeacht de klokstatus, waardoor ze nuttig zijn voor het initialiseren van circuits. Een onderscheidend kenmerk van de JK-flip-flop is het interne feedbackpad, waarbij de huidige output Q wordt teruggevoerd naar het logische netwerk. Deze feedback maakt de schakelactie mogelijk wanneer zowel J als K zijn ingesteld op 1, waardoor de uitvoer op elke klokpuls van status kan wisselen.

JK Flip-Flop Logica Symbool & Pin Diagram

Figure 3. JK Flip-Flop Logic Symbol

Logisch symbool

Het logische symbool markeert:

• Twee ingangen: J (Set) en K (Reset)

• Eén klokinvoer met edge-trigger-markering (driehoekssymbool, vaak met bubbel indien actief-laag)

• Optionele asynchrone ingangen: PR (Preset) en CLR (Clear)

• Twee uitgangen: Q en Q' (complementair)

Pin diagram (voorbeeld: 74LS76 JK flip-flop IC)

Figure 4. 74LS76 JK Flip-Flop IC Pinout

Een pindiagram laat zien hoe JK-slippers worden geïmplementeerd in IC-pakketten zoals DIP-14.

PinnummerPin NaamBeschrijving
1CLR₁Asynchroon Helder (Actief LAAG) voor Flip-Flop 1
2K₁Ingang K voor Flip-Flop 1
3J₁Ingang J voor Flip-Flop 1
4CLK₁Klokingang voor Flip-Flop 1
5PR₁Asynchrone voorinstelling (actief LAAG) voor Flip-Flop 1
6Vraag ₁Uitgang Q voor Flip-Flop 1
7GNDGrond
8Vraag ₂Uitgang Q voor Flip-Flop 2
9PR₂Asynchrone voorinstelling (actief LAAG) voor Flip-Flop 2
10CLK₂Klokingang voor Flip-Flop 2
11J₂Ingang J voor Flip-Flop 2
12K₂Ingang K voor Flip-Flop 2
13CLR₂Asynchroon Helder (Actief LAAG) voor Flip-Flop 2
14VCCPositieve voedingsspanning

Meester-slaaf JK teenslipper

Figure 5. Master–Slave JK Flip-Flop

Een veel voorkomende uitdaging bij JK-slippers is de race-around-conditie, die optreedt wanneer beide ingangen HOOG zijn (J = K = 1) en de klokpuls lang genoeg HOOG blijft om de uitvoer herhaaldelijk binnen één cyclus te schakelen. Dit leidt tot onstabiel gedrag.

De Master-Slave-configuratie zorgt voor slechts één uitgangsverandering per klokpuls en voorkomt ongewenste oscillaties, zelfs wanneer J = K = 1. Deze methode regelt het race-around-probleem door de bewerking in twee fasen te verdelen: de Master reageert wanneer CLK = HOOG en de Slave wordt bijgewerkt wanneer CLK = LAAG.

Voor meer geavanceerde klokcontrolemethoden die ook race-around voorkomen, zie Sectie 9 (Triggering Methods).

JK Flip-Flop Triggering Methoden

Een directe JK-flip-flop met behulp van door het niveau geactiveerde klokken kan last hebben van een probleem dat race-around wordt genoemd, dat optreedt wanneer J = K = 1 terwijl de klok lang genoeg HOOG blijft om de uitvoer herhaaldelijk binnen een enkele klokpuls te schakelen. Dit leidt tot een onstabiele werking.

Om dit probleem op te lossen, worden twee triggerstrategieën gebruikt:

Type trekkerBeschrijvingRace-Around PreventieGebruik
Meester-slaaf JKTwee grendels trapsgewijs; Master actief op HOOG clockwerk, Slave op LAAGBeperkt tot één keer per cyclusEducatieve circuits, matige snelheid
Rand-geactiveerde JKLegt invoer alleen vast op ↑ of ↓ klokrandElimineert volledig race-aroundModerne synchrone systemen

Tabel met klokrandgedrag

Klok RandJKQ(n+1)
Geen randXXQn (vasthouden)
↑ ofwel ↓00Qn
↑ ofwel ↓101 (Reeks)
↑ ofwel ↓010 (resetten)
↑ ofwel ↓11Q̅n (schakelen)

Edge-geactiveerde JK-slippers domineren praktische digitale ontwerpen omdat ze zorgen voor schone overgangen en compatibiliteit met synchrone klokarchitecturen.

JK Flip-Flop Timing Diagram

Figure 6. JK Flip-Flop Timing Diagram

Een timingdiagram laat zien hoe de output van een JK-flip-flop verandert als reactie op variaties in de klok (CLK) en ingangssignalen (J en K) in de loop van de tijd. Het is een waardevol hulpmiddel om het gedrag van de teenslipper in synchrone circuits te begrijpen.

Tijdens elke actieve klokrand (meestal de stijgende flank, ↑), samplet de flip-flop de invoer en werkt de uitvoer Q bij volgens de volgende regels:

• J = 0, K = 0 → Hold-status (output blijft ongewijzigd)

• J = 1, K = 0 → Set (Q wordt 1)

• J = 0, K = 1 → Reset (Q wordt 0)

• J = 1, K = 1 → Toggle (Q schakelt over naar de tegenovergestelde waarde)

Een typisch JK flip-flop timingdiagram omvat:

• Klokgolfvorm (CLK) – definieert wanneer uitvoerupdates plaatsvinden

• Ingangssignalen (J en K) – tonen ingangstoestanden in de loop van de tijd

• Uitgangssignalen (Q en Q') – geef statusovergangen duidelijk weer op basis van invoer en klok

Dit diagram helpt bij het visualiseren van de volgorde van statuswijzigingen, waardoor het gemakkelijker wordt om timingproblemen te analyseren, synchroon gedrag te verifiëren en inzicht te krijgen in de vereisten voor instellingen en vasthoudtijden in digitaal ontwerp.

JK Flip-Flop met behulp van NAND-poorten

Figure 7. JK Flip-Flop Using NAND Gates

Een JK-flip-flop kan worden gebouwd met behulp van eenvoudige NAND-poorten, die laten zien hoe het apparaat intern op poortniveau functioneert. Deze implementatie wordt vaak gebruikt in het onderwijs over digitale logica omdat het laat zien hoe feedback en klokcontrole werken om stabiele sequentiële circuits te creëren.

De interne logica is opgebouwd met behulp van:

• Twee kruislings gekoppelde NAND-poorten die de basis bistabiele vergrendeling vormen.

• Twee extra NAND-poorten om de J- en K-ingangen te verwerken, samen met de vorige uitvoerfeedback.

• Klokgestuurde NAND-poorten die statuswijzigingen alleen mogelijk maken wanneer het kloksignaal actief is, waardoor een synchrone werking wordt gegarandeerd.

Functioneel gedrag

• Feedbacklogica voorkomt ongeldige toestanden – In tegenstelling tot de SR-vergrendeling verwerkt de JK-configuratie alle invoercombinaties veilig.

• Schakelactie voor J = K = 1 – Interne feedback wisselt de uitgangsstatus op elke actieve klokpuls af.

• Synchrone werking – De klokingang zorgt ervoor dat de output alleen op gedefinieerde tijden verandert, waardoor integratie met andere sequentiële logische circuits mogelijk is.

Deze constructie op poortniveau helpt verklaren waarom de JK-teenslipper als universeel en betrouwbaar wordt beschouwd. Vanwege de relatief complexe structuur en voortplantingsvertraging gebruiken praktische digitale systemen echter vaak edge-geactiveerde JK-flip-flops of geïntegreerde IC-versies in plaats van ze te bouwen op basis van discrete poorten.

Terwijl de JK-flip-flop op poortniveau de interne logica uitlegt, moeten praktische digitale systemen ook timingproblemen aanpakken, zoals race-around. Dit leidt tot verbeterde triggertechnieken die hierna worden besproken.

Populaire JK Flip-Flop IC's

JK-flip-flops zijn verkrijgbaar als geïntegreerde schakelingen (IC's) in zowel TTL (Transistor-Transistor Logic) als CMOS-families. Deze IC's worden vaak gebruikt in tellers, frequentieverdelers, verschuivingsregisters en geheugenbesturingscircuits.

IC-nummerLogische familieBeschrijving
74LS73TTLDubbele JK-teenslipper met asynchrone Clear; Gebruikt in eenvoudige sequentiële logische toepassingen
74LS76TTLDubbele JK-teenslipper met asynchrone Preset en Clear; Maakt externe controle van begintoestanden mogelijk
74LS107TTLDubbele JK-flip-flop met actief-laag Clear en schakelmogelijkheid; Ideaal voor deel-door-2 tellers
CD4027BCMOSDubbele JK flip-flop met Set en Reset; Biedt een laag stroomverbruik en een breed spanningsbereik

Toepassingen van JK teenslippers

JK-slippers worden veel gebruikt omdat ze kunnen functioneren als geheugenelementen, schakelapparaten en synchrone tellers. Veel voorkomende toepassingen zijn onder meer:

• Frequentieverdeling en tellers – Deel de klokfrequentie door 2 in de schakelmodus

• Shift Registers – Gebruikt bij seriële-parallelle gegevensconversie

• State Machines (FSM's) – Logica van de besturingsvolgorde in digitale systemen

• Signaalconditionering – Mechanische schakelaars ontkaatsen

• Clock Pulse Shaping – Genereer blokgolfsignalen

JK Flip-Flop vs SR, D en T Flip-Flops Vergelijking

Figure 8. JK Flip-Flop vs SR, D, and T Flip-Flops Comparison

FunctieJK TeenslipperSR teenslipperD TeenslippersT Teenslipper
IngangenJ, KS, RDT
Ongeldige staatGeenS=R=1 ongeldigGeenGeen
Operationele modiInstellen, resetten, schakelenInstellen, resettenGegevensoverdrachtAlleen in-/uitschakelen
Gebruik scenarioBalies, registersEenvoudige vergrendelingGeheugen, Shift RegistersBalies
ComplexiteitMatigEenvoudigEenvoudigHeel eenvoudig
Ondersteuning voor Edge TriggeringJaJaJaJa

De JK teenslipper is de meest flexibele van alle teenslippers. Het kan de functies van SR-, D- en T-slippers simuleren en wordt veel gebruikt in tellers en digitale besturingscircuits.

Problemen oplossen en veelvoorkomende ontwerpfouten

Veelvoorkomend probleemBeschrijvingOplossing
Fout bij kloksynchronisatieMeerdere teenslippers met niet-gesynchroniseerde klokken veroorzaken mismatches in de timingGebruik één wereldwijde klokbron**
Ingangsruis of stuiteren van de schakelaarLuidruchtige ingangen of mechanische schakelaars veroorzaken valse triggersOntbouncing-circuits of RC-filters toevoegen
Zwevende vooringestelde/heldere (PR/CLR) pinnenNiet-aangesloten asynchrone ingangen veroorzaken onvoorspelbare uitgangenKoppel ongebruikte PR/CLR aan gedefinieerde logische niveaus
Overtredingen van de wachttijd instellen en vasthoudenHet te dicht bij de klokovergang veranderen van J/K leidt tot metastabiliteitHoud ingangen stabiel voor en na de klokrand

Conclusie

De JK-flip-flop blijft een veelzijdig en betrouwbaar apparaat in moderne digitale systemen vanwege het vermogen om van status te wisselen en synchrone en asynchrone bewerkingen uit te voeren. Of het nu wordt geïmplementeerd met behulp van logische poorten of geïntegreerde schakelingen, het wordt gebruikt in tellers, registers en besturingscircuits. Als u het gedrag en de timing begrijpt, kunt u stabiele en efficiënte sequentiële logische toepassingen ontwerpen.

Veelgestelde vragen [FAQ]

Waarom wordt een JK-teenslipper een "universele teenslipper" genoemd?

De JK-teenslipper wordt een universele teenslipper genoemd omdat hij de functies van SR-, D- en T-slippers kan uitvoeren door simpelweg de J- en K-ingangen te configureren. Dit maakt het aanpasbaar voor verschillende sequentiële logische toepassingen.

Wat is het belangrijkste verschil tussen JK-slippers die op niveau worden geactiveerd en JK-slippers die aan de rand worden geactiveerd?

Een JK-flip-flop die op niveau wordt getriggerd, reageert op het volledige HIGH- of LOW-niveau van de klokpuls, terwijl een door de rand getriggerde JK-flip-flop zijn output alleen bijwerkt aan de stijgende of dalende kant, waardoor race-around-problemen worden voorkomen.

Hoe zet je een JK teenslipper om in een D teenslipper?

Een JK-teenslipper kan werken als een D-teenslipper door J = D en K = D' met elkaar te verbinden. Dit dwingt de uitvoer om de invoer te volgen, waardoor het gegevensoverdrachtsgedrag van een D-flip-flop wordt nagebootst.

Wat veroorzaakt metastabiliteit bij JK-slippers?

Metastabiliteit treedt op wanneer de J- en K-ingangen te dicht bij de klokovergang veranderen, waardoor de instel- of wachttijd wordt geschonden. Dit kan resulteren in onvoorspelbare of oscillerende uitvoertoestanden.

Kunnen JK-slippers worden gebruikt voor frequentieverdeling?

Ja. Wanneer beide ingangen J en K HOOG zijn gekoppeld (J = K = 1), schakelt de JK-flip-flop zijn output op elke klokpuls. Hierdoor wordt de klokfrequentie gedeeld door 2, waardoor deze bruikbaar is in digitale tellers en frequentiedelers.