JK Flip-Flop selitetty: totuustaulukko, lohkokaavio, ajoitus ja käyttötarkoitukset

Nov 02 2025
Lähde: DiGi-Electronics
Selaa: 1132

JK-flip-flop on digitaalisen elektroniikan perusrakennuspalikka, jota käytetään laajalti tietojen tallentamiseen, laskureihin ja peräkkäiseen logiikkasuunnitteluun. Se voittaa SR-flip-flopin rajoitukset poistamalla virheelliset tilat ja tarjoamalla joustavia ohjaustoimintoja, kuten Set, Reset, Hold ja Toggle. Tässä artikkelissa selitetään sen toimintaperiaate, sisäinen rakenne, totuustaulukot, tyypit, sovellukset ja käytännön käyttö.

Figure 1. JK Flip-Flop

JK-varvastossujen yleiskatsaus

JK-flip-flop on bistabiili peräkkäinen logiikkapiiri, joka tallentaa yhden bitin dataa käyttämällä kahta vakaata tilaa. Siinä on kaksi tuloa (J for Set, K for Reset), kaksi lähtöä (Q ja Q′) ja kellotulo (CLK). Valinnaiset Preset (PR) ja Clear (CLR) -tulot mahdollistavat asynkronisen ohjauksen.

JK-varvastossut tukevat kahta toimintatilaa:

• Synkroninen tila – Lähtö muuttuu vain kellotulossa.

• Asynkroninen tila – Esiasetus ja tyhjennys ohittavat kellon ja pakottavat lähdön muutokset välittömästi.

Toisin kuin SR-varvastossut, JK-varvastossu välttää virheellisen tilan. Kun J = K = 1, se suorittaa vaihtotoiminnon, lähtö kytkeytyy päälle jokaiselle kellopulssille sisäisen palautteen vuoksi.

JK Flip-Flop -totuuspöytä ja osavaltiopöytä

Totuustaulukko (asynkronisilla tuloilla)

Tämä taulukko näyttää, kuinka lähtö reagoi kellotettuihin tuloihin ja asynkronisiin esiasetettuihin/tyhjentäviin ehtoihin.

PRCLRCLKJKQ(n+1)Toiminta
01XXX1Asynkroninen joukko
10XXX0Asynkroninen nollaus
110XXKysymysEi muutosta
1100KysymysPidä
11101Setti
11010Nollaa
1111Q̅nVaihda

Tilataulukot (ominais- ja viritystaulukot)

Totuustaulukko voidaan yksinkertaistaa kahdeksi tärkeäksi tilataulukoksi, joita käytetään suunnittelussa ja analysoinnissa.

Tyypillinen taulukko

Määrittää seuraavan tilan tulosteen syötteiden ja nykyisen tilan perusteella.

JKQ(n)Q(n+1)
00KysymysQn (Pidä)
10Kysymys1 (Sarja)
01Kysymys0 (Nollaa)
11KysymysQ̅n (Vaihda)

Karakteristinen yhtälö:

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

Viritystaulukko

Määrittää tarvittavat syötteet (J, K) tietyn siirtymän saavuttamiseksi.

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

(X = en välitä)

JK Flip-Flopin lohkokaavio

Figure 2. Block Diagram of JK Flip-Flop

JK-flip-flopin lohkokaavio näyttää, kuinka sen tärkeimmät tulot ja sisäinen palaute ovat vuorovaikutuksessa ohjatakseen sen lähtöä. J- ja K-tulot määrittävät asetus- ja nollaustoiminnot, jolloin lähtö voi tallentaa tai muuttaa tilaa tulologiikan perusteella. Kellosignaali (CLK) synkronoi nämä toiminnot niin, että muutokset tapahtuvat vain tietyissä kellosiirtymissä, mikä varmistaa ennustettavan ajoituksen digitaalisissa piireissä.

Näiden ensisijaisten tulojen lisäksi JK-flip-flop voi sisältää myös asynkronisia ohjaustuloja: Preset (PR) ja Clear (CLR). Nämä tulot voivat välittömästi pakottaa lähdön logiikkaan 1 tai logiikkaan 0 kellon tilasta riippumatta, mikä tekee niistä hyödyllisiä piirien alustuksessa. JK-flip-flopin erottuva piirre on sen sisäinen takaisinkytkentäpolku, jossa virtalähtö Q syötetään takaisin logiikkaverkkoon. Tämä palaute mahdollistaa vaihtotoiminnon, kun sekä J että K on asetettu arvoon 1, jolloin lähtö voi vaihtaa tiloja jokaisella kellopulssilla.

JK Flip-Flop -logiikkasymboli ja nastakaavio

Figure 3. JK Flip-Flop Logic Symbol

Logiikan symboli

Logiikkasymboli korostaa:

• Kaksi tuloa: J (Set) ja K (Reset)

• Yksi kellotulo reunaliipaisinmerkillä (kolmiosymboli, usein kupla, jos aktiivinen-matala)

• Valinnaiset asynkroniset tulot: PR (esiasetus) ja CLR (tyhjennä)

• Kaksi lähtöä: Q ja Q′ (täydentävät)

Nastakaavio (esimerkki: 74LS76 JK Flip-Flop IC)

Figure 4. 74LS76 JK Flip-Flop IC Pinout

Nastakaavio näyttää, kuinka JK-varvastossut toteutetaan IC-paketeissa, kuten DIP-14.

Nastan numeroPin-koodin nimiKuvaus
1CLR₁Asynkroninen kirkas (aktiivinen LOW) flip-flopille 1
2K₁Tulo K flip-Flopille 1
3J₁Tulo J flip-Flopille 1
4CLK₁Kellotulo flip-flopille 1
5PR₁Asynkroninen esiasetus (aktiivinen LOW) flip-flopille 1
6Q₁Lähtö Q flip-Flopille 1
7GNDMaa
8Q₂Lähtö Q Flip-Flop 2:lle
9PR₂Asynkroninen esiasetus (aktiivinen LOW) Flip-Flop 2:lle
10CLK₂Kellotulo Flip-Flop 2:lle
11J₂Tulo J Flip-Flop 2:lle
12K₂Tulo K Flip-Flop 2:lle
13CLR₂Asynkroninen kirkas (aktiivinen LOW) Flip-Flop 2:lle
14VirtuaaliriskienhallintaPositiivinen syöttöjännite

Isäntä–orja JK-varvastossu

Figure 5. Master–Slave JK Flip-Flop

Yleinen haaste JK-varvastossuissa on kilpajuoksutila, joka tapahtuu, kun molemmat tulot ovat KORKEAT (J = K = 1) ja kellopulssi pysyy KORKEANA tarpeeksi kauan, jotta lähtö vaihtuu toistuvasti yhden jakson aikana. Tämä johtaa epävakaaseen käyttäytymiseen.

Master–Slave-kokoonpano varmistaa vain yhden lähdön muutoksen kellopulssia kohden ja estää ei-toivotut värähtelyt, vaikka J = K = 1. Tämä menetelmä ohjaa kilpajuoksuongelmaa jakamalla toiminnan kahteen vaiheeseen: isäntä vastaa, kun CLK = HIGH, ja orja päivittyy, kun CLK = LOW.

Katso edistyneemmät kellonohjausmenetelmät, jotka myös estävät kilpajuoksun, kohdasta 9 (Laukaisumenetelmät).

JK-flip-flopin laukaisumenetelmät

Suora JK-flip-flop, joka käyttää tasolaukaistuja kelloja, voi kärsiä ongelmasta, jota kutsutaan kilpajuoksuksi, joka ilmenee, kun J = K = 1, kun kello pysyy KORKEALLA tarpeeksi kauan, jotta lähtö vaihtuu toistuvasti yhden kellopulssin sisällä. Tämä johtaa epävakaaseen toimintaan.

Tämän ongelman poistamiseksi käytetään kahta laukaisustrategiaa:

Liipaisimen tyyppiKuvausKilpailun ehkäisyKäyttö
Isäntä–Orja JKKaksi salpaa ryöppyäisi; Isäntä aktiivinen HIGH-kellossa, orja LOW-kellossaVaihtaa vain kerran sykliä kohdenOpetuspiirit, kohtalainen nopeus
Reunan laukaisema JKTallentaa syötteen vain ↑ tai ↓ kellon reunastaEliminoi täysin kilpajuoksunNykyaikaiset synkronijärjestelmät

Kellon reunan käyttäytymistaulukko

Kellon reunaJKQ(n+1)
Ei etuaXXQn (Pidä)
↑ tai ↓00Kysymys
↑ tai ↓101 (Sarja)
↑ tai ↓010 (Nollaa)
↑ tai ↓11Q̅n (Vaihda)

Reunalaukaistavat JK-varvastossut hallitsevat käytännöllisiä digitaalisia malleja, koska ne takaavat puhtaat siirtymät ja yhteensopivuuden synkronisten kelloarkkitehtuurien kanssa.

JK Flip-Flop -ajoituskaavio

Figure 6. JK Flip-Flop Timing Diagram

Ajoituskaavio näyttää, kuinka JK-varvastossun lähtö muuttuu ajan myötä kellon (CLK) ja tulosignaalien (J ja K) vaihteluiden mukaan. Se on arvokas työkalu flip-flopin käyttäytymisen ymmärtämiseen synkronisissa piireissä.

Jokaisen aktiivisen kellon reunan aikana (yleensä nouseva reuna, ↑) flip-flop ottaa näytteitä tuloista ja päivittää lähdön Q näiden sääntöjen mukaisesti:

• J = 0, K = 0 → Pitotila (lähtö pysyy muuttumattomana)

• J = 1, K = 0 → Aseta (Q:sta tulee 1)

• J = 0, K = 1 → Nollaa (Q:sta tulee 0)

• J = 1, K = 1 → Vaihto (Q vaihtaa vastakkaiseen arvoonsa)

Tyypillinen JK-varvastossujen ajoituskaavio sisältää:

• Kellon aaltomuoto (CLK) – määrittää, milloin lähtöpäivitykset tapahtuvat

• Tulosignaalit (J ja K) – näytä tulotilat ajan mittaan

• Lähtösignaalit (Q ja Q′) – näytä tilasiirtymät selkeästi tulon ja kellon perusteella

Tämä kaavio auttaa visualisoimaan tilamuutosten järjestyksen, mikä helpottaa ajoitusongelmien analysointia, synkronisen toiminnan tarkistamista sekä digitaalisen suunnittelun asennus- ja pitoaikavaatimusten ymmärtämistä.

JK-varvastossu NAND-porttien avulla

Figure 7. JK Flip-Flop Using NAND Gates

JK-varvastossu voidaan rakentaa käyttämällä NAND-perusportteja, jotka paljastavat, miten laite toimii sisäisesti porttitasolla. Tätä toteutusta käytetään yleisesti digitaalisen logiikan koulutuksessa, koska se osoittaa, kuinka takaisinkytkentä ja kellonohjaus toimivat vakaiden peräkkäisten piirien luomiseksi.

Sisäinen logiikka on rakennettu käyttämällä:

• Kaksi ristikytkettyä NAND-porttia, jotka muodostavat bistabiilin perussalvan.

• Kaksi ylimääräistä NAND-porttia J- ja K-tulojen käsittelyyn yhdessä edellisen lähtöpalautteen kanssa.

• Kello-ohjatut NAND-portit, jotka mahdollistavat tilanmuutokset vain, kun kellosignaali on aktiivinen, mikä varmistaa synkronisen toiminnan.

Toiminnallinen käyttäytyminen

• Palautelogiikka estää virheelliset tilat – Toisin kuin SR-salpa, JK-kokoonpano käsittelee turvallisesti kaikki tuloyhdistelmät.

• Vaihda toiminto J = K = 1 – Sisäinen takaisinkytkentä vaihtaa lähtötilaa jokaiselle aktiiviselle kellopulssille.

• Synkroninen toiminta – Kellotulo varmistaa, että lähtö muuttuu vain tiettyinä aikoina, mikä mahdollistaa integroinnin muihin peräkkäisiin logiikkapiireihin.

Tämä porttitason rakenne auttaa selittämään, miksi JK-varvastossua pidetään universaalina ja luotettavana. Suhteellisen monimutkaisen rakenteensa ja etenemisviiveensä vuoksi käytännölliset digitaaliset järjestelmät käyttävät kuitenkin yleensä reunalaukaistavia JK-varvastossuja tai integroituja IC-versioita sen sijaan, että ne rakennettaisiin erillisistä porteista.

Vaikka porttitason JK-varvastossu selittää sisäisen logiikan, käytännöllisten digitaalisten järjestelmien on käsiteltävä myös ajoituskysymyksiä, kuten kilpajuoksua. Tämä johtaa parempiin laukaisutekniikoihin, joista keskustellaan seuraavaksi.

Suositut JK Flip-Flop IC:t

JK-varvastossut ovat saatavilla integroituina piireinä (IC) sekä TTL (Transistor-Transistor Logic) että CMOS-perheissä. Näitä mikropiirejä käytetään yleisesti laskureissa, taajuudenjakajissa, vaihtorekistereissä ja muistin ohjauspiireissä.

IC-numeroLogiikka-perheKuvaus
74LS73TTLDual JK flip-flop asynkronisella Clearillä; käytetään peräkkäisen logiikan perussovelluksissa
74LS76TTLDual JK flip-flop asynkronisella esiasetuksella ja Clearillä; mahdollistaa alkutilojen ulkoisen ohjauksen
74LS107TTLKaksi JK-varvastossua, joissa on aktiivinen-matala Clear ja vaihtoominaisuus; Ihanteellinen 2-jakolaskureille
CD4027BCMOSKaksi JK-varvastossua setillä ja nollauksella; Tarjoaa alhaisen virrankulutuksen ja laajan jännitealueen

JK-varvastossujen sovellukset

JK-varvastossuja käytetään laajalti, koska ne voivat toimia muistielementteinä, vaihtolaitteina ja synkronilaskureina. Yleisiä sovelluksia ovat:

• Taajuusjako ja laskurit – Jaa kellotaajuus 2:lla vaihtotilassa

• Vaihtorekisterit – Käytetään sarja- ja rinnakkaistietojen muuntamiseen

• Tilakoneet (FSM) – Ohjaussekvenssilogiikka digitaalisissa järjestelmissä

• Signaalin käsittely – Mekaaniset kytkimet

• Kellon pulssin muotoilu – Luo neliöaaltosignaaleja

JK-varvastossujen ja SR-, D- ja T-varvastossujen vertailu

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

OminaisuusJK VarvastossutSR varvastossutD VarvastossutT-varvastossut
PanoksetJ, KS, RDT
Virheellinen tilaEi mitäänS=R=1 virheellinenEi mitäänEi mitään
ToimintatilatAseta, nollaa, vaihdaAseta, nollaaTiedonsiirtoVain vaihto
KäyttötapausLaskurit, rekisteritYksinkertainen salpaMuisti, vaihtorekisteritLaskurit
MonimutkaisuusKohtalainenYksinkertainenYksinkertainenHyvin yksinkertainen
Reunan laukaisun tukiKylläKylläKylläKyllä

JK-varvastossut ovat joustavin kaikista varvastossuista. Se voi simuloida SR-, D- ja T-varvastossujen toimintoja, ja sitä käytetään laajalti laskureissa ja digitaalisissa ohjauspiireissä.

Vianetsintä ja yleiset suunnitteluvirheet

Yleinen ongelmaKuvausRatkaisu
Kellon synkronointivirheUseat flip-flopit synkronoimattomilla kelloilla aiheuttavat ajoitusristiriitojaKäytä yhtä globaalia kellolähdettä**
Tulokohina tai kytkimen pomppiminenMeluisat tulot tai mekaaniset kytkimet aiheuttavat väärän laukaisunLisää pomppivia piirejä tai RC-suodattimia
Kelluvat esiasetus-/tyhjennysnastat (PR/CLR)Kytkemättömät asynkroniset tulot aiheuttavat arvaamattomia tuloksiaSido käyttämättömät PR/CLR määritettyihin logiikkatasoihin
Asennus- ja pitoajan rikkomuksetJ/K:n muuttaminen liian lähelle kellon siirtymää johtaa metavakauteenPidä tulot vakaina ennen ja jälkeen kellon reunan

Johtopäätös

JK-varvastossu on edelleen monipuolinen ja luotettava laite nykyaikaisissa digitaalisissa järjestelmissä, koska se pystyy vaihtamaan tiloja ja käsittelemään synkronisia ja asynkronisia toimintoja. Riippumatta siitä, toteutetaanko se logiikkaporteilla tai integroiduilla piireillä, sitä käytetään laskureissa, rekistereissä ja ohjauspiireissä. Sen käyttäytymisen ja ajoituksen ymmärtäminen auttaa sinua suunnittelemaan vakaita ja tehokkaita peräkkäisiä logiikkasovelluksia.

Usein kysytyt kysymykset [FAQ]

Miksi JK-varvastossuja kutsutaan "universaaliksi varvastossuksi"?

JK-varvastossua kutsutaan universaaliksi flip-flopiksi, koska se voi suorittaa SR-, D- ja T-varvastossujen toiminnot yksinkertaisesti konfiguroimalla J- ja K-tulonsa. Tämä tekee siitä mukautettavan erilaisiin peräkkäisiin logiikkasovelluksiin.

Mikä on tärkein ero taso- ja reunalaukaistujen JK-varvastossujen välillä?

Tasolaukaistu JK-varvastossu reagoi koko kellopulssin HIGH- tai LOW-tasoon, kun taas reunalaukaistu JK-varvastossu päivittää lähtönsä vain nousevassa tai laskevassa reunassa, mikä estää kilpajuoksuongelmat.

Kuinka muutat JK-varvastossut D-varvastossuiksi?

JK-varvastossu voi toimia kuten D-varvastossu yhdistämällä J = D ja K = D′. Tämä pakottaa lähdön seuraamaan syötettä jäljitellen D-flip-flopin tiedonsiirtokäyttäytymistä.

Mikä aiheuttaa metastabiilisuutta JK-varvastossuissa?

Metastabiilisuus tapahtuu, kun J- ja K-tulot muuttuvat liian lähellä kellon siirtymää, mikä rikkoo asetusta tai pitoaikaa. Tämä voi johtaa arvaamattomiin tai värähteleviin lähtötiloihin.

Voidaanko JK-varvastossuja käyttää taajuuden jakamiseen?

Kyllä. Kun molemmat tulot J ja K on sidottu KORKEAAN (J = K = 1), JK-varvastossu vaihtaa lähtöään jokaisella kellopulssilla. Tämä jakaa kellotaajuuden 2:lla, mikä tekee siitä hyödyllisen digitaalisissa laskureissa ja taajuusjakajissa.