Sekventiella logiska kretsar

Till skillnad från kombinationslogiska kretsar, som ändrar tillstånd beroende på de signaler som vid tillfället appliceras på deras ingångar, har sekventiella logiska kretsar någon form av inneboende ”minne” inbyggt.

Detta innebär att sekventiella logikkretsar kan ta hänsyn till sina tidigare ingångstillstånd såväl som de som faktiskt är närvarande, ett slags ”före”- och ”efter”-effekt är involverad med sekventiella kretsar.

Med andra ord är utgångstillståndet för en ”sekventiell logikkrets” en funktion av följande tre tillstånd: ”nuvarande ingång”, ”tidigare ingång” och/eller ”tidigare utgång”. Sekventiella logikkretsar kommer ihåg dessa tillstånd och förblir fixerade i sitt nuvarande tillstånd tills nästa klocksignal ändrar något av tillstånden, vilket ger sekventiella logikkretsar ”minne”.

Sekventiella logikkretsar betecknas i allmänhet som tvåtillståndssystem eller bistabila enheter som kan ha sin utgång eller sina utgångar inställda i ett av två grundläggande tillstånd, en logisk nivå ”1” eller en logisk nivå ”0”, och som kommer att förbli ”låst” (därav namnet ”latch”) på obestämd tid i detta aktuella tillstånd tills en annan triggerimpuls eller signal tillförs, vilket kommer att leda till att den bistabila enheten ändrar sitt tillstånd på nytt.

Sekventiell logikrepresentation

sekventiell logikrepresentation

sekventiell logikrepresentation

Ordet ”sekventiell” betyder att saker och ting sker i en ”sekvens”, en efter en och i sekventiella logikkretsar bestämmer den faktiska klocksignalen när saker och ting kommer att ske härnäst. Enkla sekventiella logiska kretsar kan konstrueras från vanliga bistabila kretsar som t.ex: Dessa kan i sin tur tillverkas genom att helt enkelt koppla ihop universella NAND-portar och/eller NOR-portar på ett visst kombinationsmässigt sätt för att producera den önskade sekventiella kretsen.

Klassificering av sekventiell logik

Som vanliga logiska portar är byggstenarna i kombinatoriska kretsar, så är bistabila latch- och flip-flopskretsar de grundläggande byggstenarna i sekventiella logiska kretsar. Sekventiella logikkretsar kan konstrueras för att producera antingen enkla kantstyrda flip-flops eller mer komplexa sekventiella kretsar som lagringsregister, skiftregister, minnesenheter eller räknare. Oavsett vilket kan sekventiella logikkretsar delas in i följande tre huvudkategorier:

  • 1. Händelsestyrda – asynkrona kretsar som ändrar tillstånd omedelbart när de aktiveras.
  • 2. Klockdrivna – synkrona kretsar som är synkroniserade med en specifik klocksignal.
  • 3. Pulsdrivna – som är en kombination av de två som reagerar på utlösande pulser.

sekventiell logisk anordning

sekventiell logisk anordning

Såväl som de två logiska tillstånden som nämnts ovan logiknivå ”1” och logiknivå ”0” införs ett tredje element som skiljer de sekventiella logiska kretsarna från deras motsvarigheter inom kombinationslogiken, nämligen TIME. Sekventiella logikkretsar återgår till sitt ursprungliga stabila tillstånd när de återställs och sekventiella kretsar med slingor eller återkopplingsvägar sägs vara ”cykliska” till sin natur.

Vi vet nu att i sekventiella kretsar sker förändringar endast vid tillämpning av en klocksignal, vilket gör kretsen synkron, annars är kretsen asynkron och beroende av en extern ingång. För att behålla sitt nuvarande tillstånd är sekventiella kretsar beroende av återkoppling, vilket sker när en del av utgången återkopplas till ingången, och detta demonstreras på följande sätt:

Sekventiell återkopplingsslinga

sekventiell återkopplingsslinga

sekventiell återkopplingsslinga

De två omformare eller NOT-portar är kopplade i serie och utgången vid Q matas tillbaka till ingången. Tyvärr ändrar den här konfigurationen aldrig tillstånd eftersom utgången alltid kommer att vara densamma, antingen en ”1” eller en ”0”, den är permanent inställd. Vi kan dock se hur återkoppling fungerar genom att undersöka den mest grundläggande sekventiella logikkomponenten, kallad SR-flipflop.

SR-flipflop

SR-flipflopet, även känt som SR Latch, kan betraktas som en av de mest grundläggande sekventiella logikkretsar som är möjliga. Denna enkla flip-flop är i princip en bistabil enhet med ett enbitsminne som har två ingångar, en som kommer att ”SETTA” enheten (vilket innebär att utgången = ”1”) och är märkt med S och en som kommer att ”RESETTA” enheten (vilket innebär att utgången = ”0”) och är märkt med R.

Därefter står SR-beskrivningen för ”Set-Reset” (sätt-återställ). Återställningsingången återställer flip-flopet till sitt ursprungliga tillstånd med en utgång Q som antingen har logisk nivå ”1” eller logisk nivå ”0” beroende på inställnings-/återställningstillståndet.

En grundläggande NAND-gate SR-flipflopkrets ger återkoppling från båda utgångarna tillbaka till de motsatta ingångarna och används vanligen i minneskretsar för att lagra en enda databit. SR-flipflopet har i själva verket tre ingångar, Set, Reset och den aktuella utgången Q som avser dess aktuella tillstånd eller historik. Termen ”flip-flop” avser anordningens faktiska funktion, eftersom den kan ”vändas” till ett logiskt inställt tillstånd eller ”vändas” tillbaka till det motsatta logiska återställningstillståndet.

NAND-gate SR-flipflop

Det enklaste sättet att göra en enkel enkelbits SR-flipflop med inställd-återställd funktion är att koppla ihop ett par tvärkopplade NAND-gates med två ingångar som visas, för att bilda en inställd-återställd bistabil funktion, även känd som en aktiv låg SR NAND-gate Latch, så att det finns en återkoppling från varje utgång till en av de andra NAND-gateingångarna. Denna anordning består av två ingångar, den ena kallad Set, S och den andra kallad Reset, R med två motsvarande utgångar Q och dess inversa eller komplement Q (not-Q) enligt bilden nedan.

Den grundläggande SR-flipflop

sr flip flop

sr flip flop

Det inställda tillståndet

Konsultera den krets som visas ovan. Om ingången R är på logisk nivå ”0” (R = 0) och ingången S är på logisk nivå ”1” (S = 1) har NAND-porten Y minst en av sina ingångar på logisk nivå ”0” och därför måste dess utgång Q vara på logisk nivå ”1” (principer för NAND-porten). Utgången Q matas också tillbaka till ingång ”A” och därför är båda ingångarna till NAND-porten X på logisk nivå ”1”, och därför måste dess utgång Q vara på logisk nivå ”0”.

Även NAND-portprinciperna. Om återställningsingången R ändrar tillstånd och blir HÖG till logisk ”1” och S förblir HÖG också på logisk nivå ”1”, är ingångarna till NAND-porten Y nu R = ”1” och B = ”0”. Eftersom en av dess ingångar fortfarande är på logisk nivå ”0” förblir utgången vid Q fortfarande HÖG på logisk nivå ”1” och det sker ingen förändring av tillståndet. Därför sägs flip-flopkretsen vara ”Latched” eller ”Set” med Q = ”1” och Q = ”0”.

Reset State

I detta andra stabila tillstånd är Q på logisk nivå ”0” (inte Q = ”0”), dess omvända utgång vid Q är på logisk nivå ”1” (Q = ”1”) och ges av R = ”1” och S = ”0”. Eftersom grind X har en av sina ingångar på logisk ”0” måste dess utgång Q vara lika med logisk nivå ”1” (återigen NAND-grindprinciper). Utgången Q matas tillbaka till ingången ”B”, så båda ingångarna till NAND-porten Y är på logisk nivå ”1”, därför är Q = ”0”.

Om den inställda ingången S nu ändrar tillstånd till logisk nivå ”1” med ingången R kvar på logisk nivå ”1”, förblir utgången Q fortfarande LOW på logisk nivå ”0” och det sker ingen förändring av tillståndet. Därför har flipflopkretsens ”återställningstillstånd” också latchats och vi kan definiera denna ”set/reset”-åtgärd i följande sanningstabell.

Sanningstabell för denna uppsättning-Reset Function

State S R Q Q Description
Set 1 0 0 1 Set Q ” 1
1 1 0 1 no change
Reset 0 1 1 0 Reset Q ” 0
1 1 1 0 no change
Invalid 0 0 1 1 Invalid Condition

It can be seen that when both inputs S = ”1” and R = ”1” the outputs Q and Q can be at either logic level ”1” or ”0”, depending upon the state of the inputs S or R BEFORE this input condition existed. Därför ändrar inte tillståndet S = R = ”1” tillståndet för utgångarna Q och Q.

Däremot är ingångstillståndet S = ”0” och R = ”0” ett oönskat eller ogiltigt tillstånd och måste undvikas. Tillståndet S = R = ”0” gör att båda utgångarna Q och Q blir HÖGA tillsammans på logisk nivå ”1” när vi normalt vill att Q ska vara den omvända av Q. Resultatet är att flip-flopet förlorar kontrollen över Q och Q, och om de två ingångarna nu kopplas ”HÖGT” igen efter detta tillstånd till logisk nivå ”1” blir flip-flopet instabilt och växlar till ett okänt datatillstånd baserat på obalansen, vilket visas i följande kopplingsdiagram.

S-R flip-flop switching diagram

sr flip-flop switching diagram

sr flip-flop switching diagram

Denna obalans kan leda till att en av utgångarna växlar snabbare än den andra vilket resulterar i att flip-flop växlar till det ena eller andra tillståndet, vilket kanske inte är det önskade tillståndet, vilket leder till att data korrumperas. Detta instabila tillstånd är allmänt känt som dess metastabila tillstånd.

En enkel NAND-gate SR-flipflop eller NAND-gate SR-latch kan ställas in genom att applicera ett logiskt ”0”-tillstånd (LOW) på dess Set-ingång och återställas igen genom att applicera ett logiskt ”0”-tillstånd på dess Reset-ingång. SR-flipflopet sägs vara i ett ”ogiltigt” tillstånd (metastabilt) om både set- och reset-ingångarna aktiveras samtidigt.

Som vi har sett ovan kräver det grundläggande NAND-gate SR-flipflopet logiska ”0”-ingångar för att vända eller ändra tillstånd från Q till Q och vice versa. Vi kan dock ändra denna grundläggande flip-flopkrets till en som ändrar tillstånd genom att applicera positiva ingångssignaler genom att lägga till två extra NAND-gates som är anslutna som inverterare till S- och R-ingångarna enligt bilden.

Positiv NAND-gate SR-flipflop

nand sr flip flop

nand sr flip flop

Som man använder NAND-gates kan man också konstruera enkla SR-flipflops med en bit med hjälp av två korskopplade NOR-gates kopplade i samma konfiguration. Kretsen kommer att fungera på samma sätt som NAND-gatekretsen ovan, förutom att ingångarna är aktiva HIGH och att det ogiltiga tillståndet föreligger när båda dess ingångar är på logisk nivå ”1”, vilket visas nedan.

Nor gate SR flip-flop

nor gate sr flip flop

nor gate sr flip flop

Switch Debounce Circuits

Edge-triggered flip-flops kräver en fin och ren signalövergång, och en praktisk användning av denna typ av set-reset-krets är som en latch som används för att hjälpa till att eliminera mekanisk switch ”bounce”. Som namnet antyder uppstår switch bounce när kontakterna i en mekaniskt manövrerad brytare, tryckknapp eller knappsats manövreras och de interna brytarkontakterna inte stängs helt och hållet utan studsar ihop först innan de stängs (eller öppnas) när brytaren trycks in.

Detta ger upphov till en serie enskilda pulser som kan vara så långa som tiotals millisekunder som ett elektroniskt system eller en elektronisk krets, t.ex. en digital räknare, kan uppfatta som en serie logiska pulser i stället för en lång enskild puls och uppträda felaktigt. Under denna studs kan t.ex. utgångsspänningen fluktuera kraftigt och registrera flera inmatningsräkningar i stället för en enskild räkning. Då kan SR-flipflops eller bistabila latchkretsar användas för att eliminera denna typ av problem, vilket demonstreras nedan.

SR Flip Flop Switch Debounce Circuit

sr flip flop switch debounce circuit

sr flip flop switch debounce circuit

Avhängigt av utgångens aktuella tillstånd, Om inställnings- eller återställningsknappen trycks ned kommer utgången att växla på det sätt som beskrivs ovan och eventuella ytterligare oönskade ingångar (studsar) från omkopplarens mekaniska verkan kommer inte att ha någon effekt på utgången vid Q.

När den andra knappen trycks in kommer den allra första kontakten att leda till att låset ändrar tillstånd, men eventuella ytterligare mekaniska switch-avstötningar kommer inte heller att ha någon effekt. SR-flipflopet kan sedan återställas automatiskt efter en kort tidsperiod, t.ex. 0,5 sekunder, för att registrera eventuella ytterligare och avsiktliga upprepade inmatningar från samma switchkontakter, t.ex. flera inmatningar från en ”RETURN”-tangent på ett tangentbord.

Helt vanliga IC:s som är särskilt utformade för att övervinna problemet med switch bounce är IC:s med en enda ingång MAX6816, med dubbla ingångar MAX6817 och med oktal ingång MAX6818 för avstängning av switch bouncer. Dessa chip innehåller den nödvändiga flip-flopkretsen för att ge en ren koppling mellan mekaniska brytare och digitala system.

Set-Reset bistabila latcher kan också användas som monostabila (one-shot) pulsgeneratorer för att generera en enda utgångspuls, antingen hög eller låg, med en viss specificerad bredd eller tidsperiod för timing- eller kontrolländamål. 74LS279 är en Quad SR Bistable Latch IC, som innehåller fyra individuella bistablar av NAND-typ i ett enda chip som gör det möjligt att enkelt konstruera switch debounce- eller monostabila/astabila klockkretsar.

Quad SR Bistable Latch 74LS279

74ls279 quad sr latch

74ls279 quad sr latch

Gated eller Clocked SR Flip-Flop

Det är ibland önskvärt i sekventiella logikkretsar att ha en bistabil SR-flipflop som endast ändrar tillstånd när vissa villkor är uppfyllda, oberoende av tillståndet för antingen Set- eller Reset-ingångarna. Genom att ansluta en AND-port med två ingångar i serie med varje ingångsterminal i SR-flipflopet kan en Gated SR-flipflop skapas. Denna extra villkorliga ingång kallas ”Enable”-ingång och ges prefixet ”EN”. Tillägget av denna ingång innebär att utgången vid Q endast ändrar tillstånd när den är hög och kan därför användas som en klockingång (CLK), vilket gör den nivåkänslig som visas nedan.

Gated SR flip-flop

gated sr flip flop

gated sr flip flop

När Enable-ingången ”EN” är på logisk nivå ”0”, är utgångarna från de två AND-portarna också på logisk nivå ”0” (AND-portprinciper), oavsett tillståndet för de två ingångarna S och R, vilket gör att de två utgångarna Q och Q låses i sitt senast kända tillstånd. När aktiveringsingången ”EN” ändras till logisk nivå ”1” reagerar kretsen som en normal bistabil SR-flipflop med de två AND-gaten som blir transparenta för Set- och Reset-signalerna.

Denna extra aktiveringsingång kan också anslutas till en klocktidssignal (CLK) för att lägga till en klocksynkronisering av flipflopet, vilket skapar vad som ibland kallas för en ”Clocked SR Flip-flop”. En Gated Bistable SR Flip-flop fungerar alltså som en vanlig bistabil latch, men utgångarna aktiveras endast när en logisk ”1” läggs på dess EN-ingång och deaktiveras av en logisk ”0”.

I nästa handledning om sekventiella logikkretsar kommer vi att titta på en annan typ av enkel flanktriggad flip-flop som liknar RS-flipflopet och som kallas JK-flip-flop, uppkallad efter sin uppfinnare, Jack Kilby. JK-flipflop är den mest använda av alla flipflopkonstruktioner eftersom den anses vara en universell enhet.

Lämna ett svar

Din e-postadress kommer inte publiceras.