In tegenstelling tot Combinationele Logische schakelingen die van toestand veranderen afhankelijk van de werkelijke signalen die op dat moment op hun ingangen worden toegepast, hebben Sequentiële Logische schakelingen een vorm van ingebouwd “geheugen”.
Dit betekent dat sequentiële logische schakelingen in staat zijn rekening te houden met zowel de vorige als de huidige ingangstoestand; er is sprake van een soort “voor” en “na” effect bij sequentiële schakelingen.
Met andere woorden, de uitgangstoestand van een “sequentiële logische schakeling” is een functie van de volgende drie toestanden: de “huidige ingang”, de “vorige ingang” en/of de “vorige uitgang”. Sequentiële logische schakelingen onthouden deze toestanden en blijven gefixeerd in hun huidige toestand totdat het volgende kloksignaal één van de toestanden verandert, waardoor sequentiële logische schakelingen een “geheugen” krijgen.
Sequentiële logische schakelingen worden in het algemeen twee-toestands of bistabiele apparaten genoemd, waarvan de uitgang of uitgangen in een van de twee basistoestanden kunnen worden gezet, een logisch niveau “1” of een logisch niveau “0”, en die voor onbepaalde tijd in deze huidige toestand “vergrendeld” blijven (vandaar de naam vergrendeling) totdat een andere triggerimpuls of een ander ingangssignaal wordt toegepast, waardoor de bistabiele zijn toestand weer verandert.
- Sequentiële logische schakeling
- Classificatie van Sequentiële Logica
- Sequentiële feedbacklus
- SR Flip-Flop
- De NAND Gate SR Flip-Flop
- De basis SR Flip-flop
- De Set-toestand
- Reset State
- Waarheidstabel voor deze Set-Reset Function
- S-R flip-flop schakelschema
- Positieve NAND Gate SR Flip-flop
- De NOR Gate SR Flip-flop
- Switch Debounce Circuits
- SR Flip Flop Switch Debounce Circuit
- Quad SR Bistable Latch 74LS279
- Gated of Clocked SR Flip- Flop
- Gated of Clocked SR Flip-Flop
- Gated SR Flip-flop
Sequentiële logische schakeling
Het woord “sequentieel” betekent dat dingen in een “volgorde”, de een na de ander, gebeuren en in sequentiële logische schakelingen bepaalt het actuele kloksignaal wanneer de volgende dingen zullen gebeuren. Eenvoudige sequentiële logische schakelingen kunnen worden opgebouwd uit standaard Bistabiele schakelingen zoals: Flip-flops, Latches en Tellers en die zelf kunnen worden gemaakt door eenvoudig universele NAND Gates en/of NOR Gates op een bepaalde combinatorische manier met elkaar te verbinden om de vereiste sequentiële schakeling te produceren.
Classificatie van Sequentiële Logica
Zoals standaard logische gates de bouwstenen van combinatorische schakelingen zijn, zijn bistabiele latches en flip-flops de basisbouwstenen van sequentiële logische schakelingen. Sequentiële logische schakelingen kunnen worden geconstrueerd om eenvoudige fliptrigger flip-flops of complexere sequentiële schakelingen zoals opslagregisters, schuifregisters, geheugenapparaten of tellers te produceren. In beide gevallen kunnen sequentiële logische schakelingen worden onderverdeeld in de volgende drie hoofdcategorieën:
- 1. Event-driven – asynchrone schakelingen die onmiddellijk van toestand veranderen wanneer ze worden ingeschakeld.
- 2. Clock Driven – synchrone circuits die worden gesynchroniseerd op een specifiek kloksignaal.
- 3. Pulse Driven – een combinatie van de twee die reageert op triggerende pulsen.
Naast de twee hierboven genoemde logische toestanden logicaniveau “1” en logicaniveau “0” wordt een derde element geïntroduceerd dat sequentiële logische circuits van hun combinatorische logische tegenhangers onderscheidt, namelijk TIME. Sequentiële logische schakelingen keren terug naar hun oorspronkelijke stabiele toestand zodra zij zijn gereset en van sequentiële schakelingen met lussen of terugkoppelingspaden wordt gezegd dat zij “cyclisch” van aard zijn.
We weten nu dat in sequentiële schakelingen veranderingen alleen optreden bij de toepassing van een kloksignaal waardoor zij synchroon zijn, anders is de schakeling asynchroon en afhankelijk van een externe invoer. Om hun huidige toestand te behouden, werken sequentiële schakelingen met terugkoppeling. Dit gebeurt wanneer een fractie van de output wordt teruggekoppeld naar de input en dit wordt gedemonstreerd als:
Sequentiële feedbacklus
De twee inverters of NOT gates zijn in serie geschakeld waarbij de uitvoer bij Q wordt teruggevoerd naar de ingang. Helaas verandert deze configuratie nooit van toestand, omdat de uitgang altijd hetzelfde zal zijn, ofwel een “1” of een “0”, hij is permanent ingesteld. We kunnen echter zien hoe feedback werkt door te kijken naar de meest elementaire sequentiële logische componenten, genaamd de SR flip-flop.
SR Flip-Flop
De SR flip-flop, ook bekend als een SR Latch, kan worden beschouwd als een van de meest elementaire sequentiële logische schakelingen mogelijk. Deze eenvoudige flip-flop is in principe een één-bit geheugen bistabiel apparaat dat twee ingangen heeft, één die het apparaat zal “SET” (wat betekent dat de uitgang = “1”), en is gelabeld met S en één die het apparaat zal “RESET” (wat betekent dat de uitgang = “0”), gelabeld met R.
Dus de SR beschrijving staat voor “Set-Reset”. De reset-ingang zet de flip-flop terug in zijn oorspronkelijke toestand met een uitgang Q die ofwel op een logisch niveau “1” of logisch “0” zal zijn, afhankelijk van deze set/reset toestand.
Een basis NAND gate SR flip-flop schakeling geeft feedback van beide uitgangen terug naar de tegenovergestelde ingangen en wordt vaak gebruikt in geheugencircuits om een enkele data-bit op te slaan. Dan heeft de SR flip-flop eigenlijk drie ingangen, Set, Reset en zijn huidige uitgang Q die betrekking heeft op zijn huidige toestand of geschiedenis. De term “Flip-flop” heeft betrekking op de feitelijke werking van het apparaat, omdat het kan worden “geflipt” in een logische Set-toestand of “geflopt” terug in de tegenoverliggende logische Reset-toestand.
De NAND Gate SR Flip-Flop
De eenvoudigste manier om een basis single bit set-reset SR flip-flop te maken is om een paar kruislings gekoppelde 2-input NAND poorten met elkaar te verbinden zoals afgebeeld, om een Set-Reset Bistable te vormen ook bekend als een active LOW SR NAND Gate Latch, zodat er terugkoppeling is van elke uitgang naar een van de andere NAND gate ingangen. Dit apparaat bestaat uit twee ingangen, de ene genaamd Set, S en de andere genaamd Reset, R met twee overeenkomstige uitgangen Q en zijn inverse of complement Q (not-Q) zoals hieronder afgebeeld.
De basis SR Flip-flop
De Set-toestand
Overweeg de hierboven getoonde schakeling. Als de ingang R op logisch niveau “0” is (R = 0) en ingang S op logisch niveau “1” (S = 1), heeft de NAND-poort Y ten minste één van zijn ingangen op logisch niveau “0”, zodat de uitgang Q op logisch niveau “1” moet zijn (NAND-poortprincipes). Uitgang Q wordt ook teruggevoerd naar ingang “A” en dus zijn beide ingangen van de NAND-poort X op logicaniveau “1”, en dus moet zijn uitgang Q op logicaniveau “0” zijn.
Wederom NAND-poort-principes. Als de reset-ingang R van toestand verandert, en HOOG gaat naar logicaniveau “1” terwijl S HOOG blijft, ook op logicaniveau “1”, zijn de ingangen van NAND-poort Y nu R = “1” en B = “0”. Omdat een van de ingangen nog steeds op logicaniveau “0” is, blijft de uitgang bij Q nog steeds HOOG op logicaniveau “1” en is er geen toestandsverandering. Daarom wordt gezegd dat de flip-flop schakeling “Latched” of “Set” is met Q = “1” en Q = “0”.
Reset State
In deze tweede stabiele toestand, Q is op logisch niveau “0”, (niet Q = “0”) zijn inverse uitgang bij Q is op logisch niveau “1”, (Q = “1”), en wordt gegeven door R = “1” en S = “0”. Aangezien poort X één van zijn ingangen op logicaniveau “0” heeft, moet zijn uitgang Q gelijk zijn aan logicaniveau “1” (wederom NAND-gate principes). Uitgang Q wordt teruggevoerd naar ingang “B”, dus beide ingangen van NAND-poort Y zijn op logica “1”, dus Q = “0”.
Als de ingestelde ingang, S nu van toestand verandert in logica “1” met ingang R die op logica “1” blijft, blijft uitgang Q nog steeds LAAG op logicaniveau “0” en is er geen verandering van toestand. Daarom is de flip-flop circuits “Reset” toestand ook vergrendeld en kunnen we deze “set/reset” actie definiëren in de volgende waarheidstabel.
Waarheidstabel voor deze Set-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. Daarom verandert de toestand van S = R = “1” de toestand van de uitgangen Q en Q niet.
De ingangstoestand van S = “0” en R = “0” is echter een ongewenste of ongeldige toestand en moet worden vermeden. De toestand van S = R = “0” veroorzaakt dat beide uitgangen Q en Q samen HIGH zijn op logisch niveau “1” terwijl we normaal Q het omgekeerde zouden willen van Q. Het resultaat is dat de flip-flop de controle verliest over Q en Q, en als de twee ingangen nu weer “HIGH” worden geschakeld na deze toestand naar logisch niveau “1”, wordt de flip-flop onstabiel en schakelt naar een onbekende gegevenstoestand op basis van de onbalans, zoals te zien is in het volgende schakelschema.
S-R flip-flop schakelschema
Door deze onbalans kan één van de uitgangen sneller schakelen dan de andere, waardoor de flip-flop naar de ene of de andere toestand schakelt, die mogelijk niet de vereiste toestand is en er gegevenscorruptie optreedt. Deze onstabiele toestand is algemeen bekend als de Meta-stabiele toestand.
Dan kan een eenvoudige NAND gate SR flip-flop of NAND gate SR latch worden ingesteld door een logische “0”, (LOW) conditie toe te passen op zijn Set ingang en weer gereset worden door dan een logische “0” toe te passen op zijn Reset ingang. De SR flip-flop is in een “ongeldige” toestand (Meta-stabiel) als zowel de Set en Reset ingangen gelijktijdig worden geactiveerd.
Zoals we hierboven hebben gezien, heeft de basis NAND gate SR flip-flop logische “0” ingangen nodig om te flippen of van toestand te veranderen van Q naar Q en vice versa. We kunnen echter deze basis flip-flop schakeling veranderen in een die van toestand verandert door de toepassing van positieve ingangssignalen met de toevoeging van twee extra NAND poorten aangesloten als inverters op de S en R ingangen zoals getoond.
Positieve NAND Gate SR Flip-flop
Naast het gebruik van NAND poorten, is het ook mogelijk om eenvoudige één-bit SR Flip-flops te construeren met behulp van twee kruislings gekoppelde NOR poorten die in dezelfde configuratie zijn aangesloten. De schakeling zal op dezelfde manier werken als de NAND poort schakeling hierboven, behalve dat de ingangen actief HIGH zijn en de ongeldige toestand bestaat wanneer beide ingangen op logisch niveau “1” zijn, en dit wordt hieronder getoond.
De NOR Gate SR Flip-flop
Switch Debounce Circuits
Edge-triggered flip-flops vereisen een mooie schone signaalovergang, en een praktisch gebruik van dit type set-reset schakeling is als een latch die wordt gebruikt om mechanische “switch bounce” te helpen elimineren. Zoals de naam al aangeeft, treedt switch bounce op wanneer de contacten van een mechanisch bediende schakelaar, drukknop of toetsenbord worden bediend en de interne schakelaarcontacten niet volledig netjes sluiten, maar eerst tegen elkaar stuiteren voordat ze sluiten (of openen) wanneer de schakelaar wordt ingedrukt.
Dit geeft aanleiding tot een reeks individuele pulsen die tientallen milliseconden lang kunnen zijn en die een elektronisch systeem of schakeling zoals een digitale teller kan zien als een reeks logische pulsen in plaats van één lange enkele puls en zich onjuist gedraagt. Tijdens deze stuiterperiode kan de uitgangsspanning bijvoorbeeld wild fluctueren en meerdere ingangstellingen registreren in plaats van één enkele telling. Dan kunnen set-reset SR Flip-flops of Bistable Latch schakelingen worden gebruikt om dit soort problemen te elimineren en dit wordt hieronder gedemonstreerd.
SR Flip Flop Switch Debounce Circuit
Afhankelijk van de huidige toestand van de uitgang, als de set- of reset-knop wordt ingedrukt, zal de uitgang op de hierboven beschreven manier omschakelen en zullen eventuele extra ongewenste ingangen (bounces) door de mechanische werking van de schakelaar geen effect hebben op de uitgang bij Q.
Wanneer de andere knop wordt ingedrukt, zal het allereerste contact de vergrendeling van toestand doen veranderen, maar eventuele extra mechanische stuiteringen van de schakelaar zullen ook geen effect hebben. De SR flip-flop kan dan automatisch worden gereset na een korte periode van tijd, bijvoorbeeld 0,5 seconde, om eventuele extra en opzettelijk herhaalde ingangen van dezelfde schakelaarcontacten te registreren, zoals meerdere ingangen van een toetsenbord “RETURN” toets.
Gebruikelijk verkrijgbare IC’s die speciaal zijn gemaakt om het probleem van switch bounce te ondervangen zijn de MAX6816, single input, MAX6817, dual input en de MAX6818 octal input switch debouncer IC’s. Deze chips bevatten de nodige flip-flop schakelingen om schone interfacing van mechanische schakelaars aan digitale systemen te bieden.
Set-Reset bistabiele latches kunnen ook worden gebruikt als Monostabiele (one-shot) pulsgeneratoren om een enkele uitgangspuls te genereren, hetzij hoog of laag, van een bepaalde breedte of tijdsperiode voor timing- of controledoeleinden. De 74LS279 is een Quad SR Bistable Latch IC, die vier individuele NAND type bistable’s bevat binnen een enkele chip waardoor switch debounce of monostable/astable klok circuits om gemakkelijk te worden gebouwd.
Quad SR Bistable Latch 74LS279
Gated of Clocked SR Flip- Flop
Gated of Clocked SR Flip-Flop
In sequentiële logische schakelingen is het soms wenselijk om een bistabiele SR flip-flop te hebben die alleen van toestand verandert als aan bepaalde voorwaarden is voldaan, ongeacht de toestand van de Set- of de Reset-ingangen. Door een 2-input AND poort in serie te schakelen met elke ingang van de SR Flip-flop kan een Gated SR Flip-flop gemaakt worden. Deze extra voorwaardelijke ingang wordt een “Enable” ingang genoemd en krijgt het voorvoegsel “EN”. De toevoeging van deze ingang betekent dat de uitgang op Q alleen van toestand verandert als deze HIGH is en daarom kan worden gebruikt als een klok (CLK) ingang waardoor deze niveau-gevoelig wordt zoals hieronder is afgebeeld.
Gated SR Flip-flop
Wanneer de Enable ingang “EN” op logicaniveau “0” staat, zijn de uitgangen van de twee AND-poorten ook op logicaniveau “0”, (AND-poortprincipes) ongeacht de toestand van de twee ingangen S en R, waardoor de twee uitgangen Q en Q in hun laatst bekende toestand worden vergrendeld. Wanneer de vrijgave-ingang “EN” verandert in logisch niveau “1” reageert de schakeling als een normale SR bistabiele flip-flop waarbij de twee AND poorten transparant worden voor de Set en Reset signalen.
Deze extra vrijgave-ingang kan ook worden verbonden met een klok-timingsignaal (CLK) waardoor kloksynchronisatie aan de flip-flop wordt toegevoegd en wat soms een “Clocked SR Flip-flop” wordt genoemd. Dus een Gated Bistable SR Flip-flop werkt als een standaard bistabiele latch, maar de uitgangen worden alleen geactiveerd als een logische “1” wordt toegepast op de EN-ingang en gedeactiveerd door een logische “0”.
In de volgende tutorial over Sequential Logic Circuits, zullen we kijken naar een ander type eenvoudige edge-trigger flip-flop die erg lijkt op de RS flip-flop genaamd een JK Flip-flop vernoemd naar de uitvinder, Jack Kilby. De JK flip-flop is de meest gebruikte van alle flip-flop ontwerpen omdat het wordt beschouwd als een universeel apparaat.