JK Flip-Flop forklaret: Sandhedstabel, blokdiagram, timing og anvendelser

Nov 02 2025
Kilde: DiGi-Electronics
Gennemse: 868

JK flip-flop er en grundlæggende byggesten i digital elektronik, der i vid udstrækning bruges til datalagring, tællere og sekventielt logisk design. Den overvinder begrænsningerne ved SR flip-flop ved at eliminere ugyldige tilstande og give fleksible kontrolfunktioner såsom Set, Reset, Hold og Toggle. Denne artikel forklarer dets arbejdsprincip, interne struktur, sandhedstabeller, typer, applikationer og praktisk brug.

Figure 1. JK Flip-Flop

JK Flip-Flop Oversigt

En JK flip-flop er et bistabilt sekventielt logisk kredsløb, der gemmer en bit data ved hjælp af to stabile tilstande. Den har to indgange (J for Set, K for Reset), to udgange (Q og Q′) og en clock-indgang (CLK). Valgfri Preset (PR) og Clear (CLR) indgange tillader asynkron kontrol.

JK flip-flops understøtter to driftstilstande:

• Synkron tilstand – Udgangen ændres kun ved urindgang.

• Asynkron tilstand – Forudindstillet og Ryd tilsidesætter uret, og kraftudgangen ændres med det samme.

I modsætning til en SR flip-flop undgår JK flip-flop den ugyldige tilstand. Når J = K = 1, udfører den en skifteoperation, udgangen tænder for hver urpuls på grund af intern feedback.

JK Flip-Flop Sandhedsbord og Statsbord

Sandhedstabel (med asynkrone indgange)

Denne tabel viser, hvordan outputtet reagerer på clockede input og asynkrone forudindstillede/klare betingelser.

PRCLRCLKJKQ(n+1)Drift
01XXX1Asynkront sæt
10XXX0Asynkron nulstilling
110XXQnIngen ændring
1100QnHold
11101Sæt
11010Nulstil
1111Q̅nSkifte

Tilstandstabeller (karakteristika- og excitationstabeller)

Sandhedstabellen kan forenkles til to vigtige tilstandstabeller, der bruges i design og analyse.

Karakteristisk tabel

Definerer output i næste tilstand baseret på input og aktuel tilstand.

JKQ(n)Q(n+1)
00QnQn (Hold)
10Qn1 (sæt)
01Qn0 (Nulstil)
11QnQ̅n (Skift)

Karakteristisk ligning:

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

Excitationstabel

Definerer de nødvendige input (J, K) for at opnå en bestemt overgang.

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

(X = ligeglad)

Blokdiagram af JK Flip-Flop

Figure 2. Block Diagram of JK Flip-Flop

Blokdiagrammet for en JK flip-flop viser, hvordan dens nøgleindgange og interne feedback interagerer for at kontrollere dens output. J- og K-indgangene bestemmer indstillings- og nulstillingshandlingerne, så outputtet kan gemme eller ændre tilstand baseret på inputlogikken. Clock-signalet (CLK) synkroniserer disse operationer, så ændringer kun sker ved specifikke clock-overgange, hvilket sikrer forudsigelig timing i digitale kredsløb.

Ud over disse primære indgange kan JK flip-flop også indeholde asynkrone kontrolindgange: Preset (PR) og Clear (CLR). Disse indgange kan straks tvinge udgangen til logik 1 eller logik 0, uanset urtilstanden, hvilket gør dem nyttige til initialisering af kredsløb. Et karakteristisk træk ved JK flip-flop er dens interne feedback-vej, hvor den aktuelle udgang Q føres tilbage til det logiske netværk. Denne feedback aktiverer skiftehandlingen, når både J og K er indstillet til 1, hvilket tillader outputtet til at skifte tilstand på hver urpuls.

JK Flip-Flop Logisk Symbol & Pin Diagram

Figure 3. JK Flip-Flop Logic Symbol

Logisk symbol

Logiksymbolet fremhæver:

• To indgange: J (Set) og K (Reset)

• En urindgang med kantudløsermarkør (trekantsymbol, ofte med boble, hvis aktiv-lav)

• Valgfri asynkrone indgange: PR (forudindstillet) og CLR (Clear)

• To udgange: Q og Q′ (komplementære)

Pin-diagram (eksempel: 74LS76 JK Flip-Flop IC)

Figure 4. 74LS76 JK Flip-Flop IC Pinout

Et pin-diagram viser hvordan JK flip-flops er implementeret i IC-pakker som DIP-14.

Pin-nummerPin navnBeskrivelse
1CLR₁Asynkron Clear (Aktiv LAV) til Flip-Flop 1
2K₁Indgang K til Flip-Flop 1
3J₁Indgang J til Flip-Flop 1
4CLK₁Urindgang til Flip-Flop 1
5PR₁Asynkron forudindstilling (aktiv LAV) til Flip-Flop 1
6SpørgsmålUdgang Q til Flip-Flop 1
7GNDJord
8SpørgsmålUdgang Q til Flip-Flop 2
9PR₂Asynkron forudindstilling (aktiv LAV) til Flip-Flop 2
10CLK₂Urindgang til Flip-Flop 2
11J₂Indgang J til Flip-Flop 2
12K₂Indgang K til Flip-Flop 2
13CLR₂Asynkron Clear (aktiv LAV) til Flip-Flop 2
14VCCPositiv forsyningsspænding

Master-Slave JK Flip-Flop

Figure 5. Master–Slave JK Flip-Flop

En almindelig udfordring i JK flip-flops er race-around-tilstanden, som opstår, når begge indgange er HØJE (J = K = 1), og urpulsen forbliver HØJ længe nok til, at outputtet kan skifte gentagne gange inden for en cyklus. Dette fører til ustabil adfærd.

Master-Slave-konfigurationen sikrer kun én udgangsændring pr. urpuls og forhindrer uønskede svingninger, selv når J = K = 1. Denne metode styrer race-around-problemet ved at opdele driften i to faser: Masteren reagerer, når CLK = HIGH, og Slave opdaterer, når CLK = LOW.

For mere avancerede urkontrolmetoder, der også forhindrer løb, se afsnit 9 (Udløsningsmetoder).

JK Flip-Flop udløsermetoder

En direkte JK flip-flop ved hjælp af niveauudløste ure kan lide af et problem kaldet race-around, som opstår, når J = K = 1, mens uret forbliver HØJT længe nok til, at outputtet kan skifte gentagne gange inden for en enkelt urpuls. Dette fører til ustabil drift.

For at eliminere dette problem bruges to udløsende strategier:

Type af udløserBeskrivelseForebyggelse af løbAnvendelse
Mester-Slave JKTo låse faldt sammen; Master aktiv på HØJT ur, Slave på LAVGrænser skift til én gang pr. cyklusUndervisningskredsløb, moderat hastighed
Kant-udløst JKOptager kun input på ↑ eller ↓ urkantEliminerer helt løbModerne synkrone systemer

Tabel over urkantadfærd

Ur EdgeJKQ(n+1)
Ingen kantXXQn (Hold)
↑ eller ↓00Qn
↑ eller ↓101 (sæt)
↑ eller ↓010 (Nulstil)
↑ eller ↓11Q̅n (Skift)

Kantudløste JK flip-flops dominerer praktiske digitale designs, fordi de sikrer rene overgange og kompatibilitet med synkrone urarkitekturer.

JK Flip-Flop Timing Diagram

Figure 6. JK Flip-Flop Timing Diagram

Et tidsdiagram viser, hvordan outputtet fra en JK flip-flop ændrer sig som reaktion på variationer i uret (CLK) og indgangssignaler (J og K) over tid. Det er et værdifuldt værktøj til at forstå flip-flop'ens adfærd i synkrone kredsløb.

Under hver aktiv urkant (almindeligvis den stigende kant, ↑), sampler flip-flop'en inputtene og opdaterer output Q i henhold til disse regler:

• J = 0, K = 0 → Hold-tilstand (udgangen forbliver uændret)

• J = 1, K = 0 → sæt (Q bliver til 1)

• J = 0, K = 1 → Nulstil (Q bliver til 0)

• J = 1, K = 1 → Skift (Q skifter til den modsatte værdi)

Et typisk JK flip-flop timingdiagram inkluderer:

• Clock-bølgeform (CLK) – definerer, hvornår outputopdateringer sker

• Indgangssignaler (J og K) – viser indgangstilstande over tid

• Udgangssignaler (Q og Q′) – viser tilstandsovergange tydeligt baseret på input og ur

Dette diagram hjælper med at visualisere rækkefølgen af tilstandsændringer, hvilket gør det nemmere at analysere tidsproblemer, verificere synkron adfærd og forstå krav til opsætning og ventetid i digitalt design.

JK Flip-Flop ved hjælp af NAND-porte

Figure 7. JK Flip-Flop Using NAND Gates

En JK flip-flop kan konstrueres ved hjælp af grundlæggende NAND-porte, som afslører, hvordan enheden fungerer internt på gate-niveau. Denne implementering bruges ofte i digital logikuddannelse, fordi den viser, hvordan feedback og urstyring arbejder for at skabe stabile sekventielle kredsløb.

Den interne logik er opbygget ved hjælp af:

• To krydskoblede NAND-porte, der danner den grundlæggende bistabile lås.

• To ekstra NAND-porte til at behandle J- og K-indgangene sammen med den tidligere udgangsfeedback.

• Urstyrede NAND-porte, der kun muliggør tilstandsændringer, når ursignalet er aktivt, hvilket sikrer synkron drift.

Funktionel adfærd

• Feedbacklogik forhindrer ugyldige tilstande – I modsætning til SR-låsen håndterer JK-konfigurationen sikkert alle inputkombinationer.

• Skift handling for J = K = 1 – Intern feedback skifter udgangstilstanden på hver aktiv urpuls.

• Synkron drift – Clock-indgangen sikrer, at outputtet kun ændres på definerede tidspunkter, hvilket tillader integration med andre sekventielle logiske kredsløb.

Denne konstruktion på portniveau hjælper med at forklare, hvorfor JK flip-flop anses for at være universel og pålidelig. Men på grund af dens relativt komplekse struktur og udbredelsesforsinkelse bruger praktiske digitale systemer almindeligvis kantudløste JK-flip-flops eller integrerede IC-versioner i stedet for at bygge dem fra diskrete porte.

Mens JK-flip-flop'en på gate-niveau forklarer intern logik, skal praktiske digitale systemer også løse timingproblemer såsom løb rundt. Dette fører til forbedrede udløserteknikker, der diskuteres næste gang.

Populære JK Flip-Flop IC'er

JK flip-flops fås som integrerede kredsløb (IC'er) i både TTL (Transistor-Transistor Logic) og CMOS-familier. Disse IC'er bruges almindeligvis i tællere, frekvensdelere, skiftregistre og hukommelseskontrolkredsløb.

IC-nummerLogisk familieBeskrivelse
74LS73TTLDobbelt JK flip-flop med asynkron Clear; Bruges i grundlæggende sekventielle logiske applikationer
74LS76TTLDobbelt JK flip-flop med asynkron forudindstilling og klar; tillader ekstern kontrol af begyndelsestilstande
74LS107TTLDobbelt JK flip-flop med aktiv-lav Clear og vippefunktion; ideel til opdeling-for-2-tællere
CD4027BCMOSDobbelt JK flip-flop med sæt og nulstil; Tilbyder lavt strømforbrug og bredt spændingsområde

Anvendelser af JK Flip-Flops

JK flip-flops er meget udbredt, fordi de kan fungere som hukommelseselementer, skifteenheder og synkrone tællere. Almindelige anvendelser omfatter:

• Frekvensopdeling og tællere – Divider clockfrekvensen med 2 i skiftetilstand

• Skiftregistre – Bruges til seriel-parallel datakonvertering

• State Machines (FSM'er) – Styresekvenslogik i digitale systemer

• Signalkonditionering – Debouncing af mekaniske kontakter

• Urpulsformning – Generer firkantbølgesignaler

JK Flip-Flop vs SR, D og T Flip-Flops Sammenligning

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

FunktionJK Klip-KlapSR Klip-KlapperD Flip-FlopT Flip-Flop
IndgangeJ, KS, RDT
Ugyldig tilstandIngenS=R=1 ugyldigIngenIngen
DriftstilstandeIndstil, nulstil, skiftIndstil, nulstilDataoverførselSkift kun
Eksempel på brugTællere, RegistreEnkel låsHukommelse, vagtregistreTællere
KompleksitetModeratSimpeltSimpeltMeget simpelt
Understøttelse af kantudløsendeJaJaJaJa

JK flip-flop er den mest fleksible blandt alle klipklappere. Det kan simulere funktionerne af SR-, D- og T-flip-flops og er meget udbredt i tællere og digitale styrekredsløb.

Fejlfinding og almindelige designfejl

Fælles problemBeskrivelseOpløsning
Fejl ved synkronisering af urFlere flip-flops ved hjælp af usynkroniserede ure forårsager tidsuoverensstemmelserBrug en enkelt global urkilde**
Indgangsstøj eller switch bounceStøjende indgange eller mekaniske kontakter forårsager falsk udløsningTilføj debouncing-kredsløb eller RC-filtre
Flydende forudindstillede/klare (PR/CLR) stifterIkke-tilsluttede asynkrone indgange forårsager uforudsigelige udgangeKnyt ubrugt PR/CLR til definerede logiske niveauer
Overtrædelser af opsætning og ventetidÆndring af J/K for tæt på urovergangen fører til metastabilitetHold indgange stabile før og efter urkant

Konklusion

JK flip-flop forbliver en alsidig og pålidelig enhed i moderne digitale systemer på grund af dens evne til at skifte tilstande og håndtere synkrone og asynkrone operationer. Uanset om det implementeres ved hjælp af logiske porte eller integrerede kredsløb, bruges det i tællere, registre og styrekredsløb. Forståelse af dens adfærd og timing hjælper dig med at designe stabile og effektive sekventielle logiske applikationer.

Ofte stillede spørgsmål [FAQ]

Hvorfor kaldes en JK flip-flop en "universal flip-flop"?

JK flip-flop kaldes en universel flip-flop, fordi den kan udføre funktionerne i SR-, D- og T-flip-flops ved blot at konfigurere dens J- og K-indgange. Dette gør den tilpasningsdygtig til forskellige sekventielle logiske applikationer.

Hvad er den største forskel mellem niveauudløste og kantudløste JK flip-flops?

En niveauudløst JK flip-flop reagerer på hele det HØJE eller LAVE niveau af urpulsen, mens en kantudløst JK flip-flop kun opdaterer sit output ved den stigende eller faldende kant, hvilket forhindrer problemer med kapløb.

Hvordan konverterer man en JK flip-flop til en D flip-flop?

En JK flip-flop kan fungere som en D flip-flop ved at forbinde J = D og K = D′. Dette tvinger outputtet til at følge inputtet, hvilket efterligner dataoverførselsadfærden for en D-flip-flop.

Hvad forårsager metastabilitet i JK flip-flops?

Metastabilitet opstår, når J- og K-indgangene ændres for tæt på urovergangen, hvilket overtræder opsætning eller holdetid. Dette kan resultere i uforudsigelige eller oscillerende udgangstilstande.

Kan JK flip-flops bruges til frekvensdeling?

Ja. Når begge indgange J og K er bundet HØJT (J = K = 1), skifter JK flip-flop sit output på hver urpuls. Dette dividerer urfrekvensen med 2, hvilket gør den nyttig i digitale tællere og frekvensdelere.