Spre deosebire de circuitele logice combinaționale, care își schimbă starea în funcție de semnalele reale aplicate la intrările lor în acel moment, circuitele logice secvențiale au o formă de „memorie” inerentă încorporată.
Aceasta înseamnă că circuitele logice secvențiale sunt capabile să ia în considerare starea anterioară a intrărilor lor, precum și cele prezente în prezent, un fel de efect „înainte” și „după” este implicat de circuitele secvențiale.
Cu alte cuvinte, starea de ieșire a unui „circuit logic secvențial” este o funcție a următoarelor trei stări, „intrarea prezentă”, „intrarea trecută” și/sau „ieșirea trecută”. Circuitele logice secvențiale își amintesc aceste condiții și rămân fixate în starea lor actuală până când următorul semnal de ceas modifică una dintre stări, ceea ce conferă circuitelor logice secvențiale „memorie”.
Circuitele logice secvențiale sunt denumite, în general, dispozitive cu două stări sau bistabile care pot avea ieșirea sau ieșirile lor setate în una dintre cele două stări de bază, un nivel logic „1” sau un nivel logic „0” și vor rămâne „blocate” (de unde și numele de latch) pe termen nelimitat în această stare sau condiție curentă până când se aplică un alt impuls sau semnal de declanșare de intrare care va determina bistabilul să își schimbe din nou starea.
- Reprezentare logică secvențială
- Clasificarea logicii secvențiale
- Bucla de reacție secvențială
- SR Flip-Flop
- Flip-flop SR cu poarta NAND
- Flip-flop SR de bază
- Set State
- Stare de resetare
- Tabel de adevăr pentru acest set-Reset Function
- Diagrama de comutare a flip-flop-ului S-R
- Flip-flop SR cu porți NAND pozitive
- Flip-flop-ul NOR Gate SR
- Circuitele de debranșare a comutatorului
- SR Flip Flop Switch Switch Debounce Circuit
- Quad SR Bistable Latch 74LS279
- Gated or Clocked SR Flip-Flop
- Gated SR Flip-flop
Reprezentare logică secvențială
Cuvântul „secvențial” înseamnă că lucrurile se întâmplă într-o „secvență”, unul după altul, iar în circuitele logice secvențiale, semnalul real de ceas determină când se vor întâmpla următoarele lucruri. Circuitele logice secvențiale simple pot fi construite din circuite bistabile standard, cum ar fi: Flip-flops, Latches și Contoare și care, la rândul lor, pot fi realizate prin simpla conectare împreună a porților universale NAND Gates și/sau NOR Gates într-un anumit mod combinațional pentru a produce circuitul secvențial necesar.
Clasificarea logicii secvențiale
Așa cum porțile logice standard sunt elementele constitutive ale circuitelor combinaționale, latch-urile și flip-flops-urile bistabile sunt elementele constitutive de bază ale circuitelor logice secvențiale. Circuitele logice secvențiale pot fi construite pentru a produce fie simple flip-flops declanșate pe front, fie circuite secvențiale mai complexe, cum ar fi registre de stocare, registre de deplasare, dispozitive de memorie sau numărătoare. Oricum ar fi, circuitele logice secvențiale pot fi împărțite în următoarele trei categorii principale:
- 1. Circuite acționate de evenimente – circuite asincrone care își schimbă starea imediat după activare.
- 2. Circuite de tip „event driven” – circuite asincrone care își schimbă starea imediat după activare. 2. Clock Driven – circuite sincrone care sunt sincronizate cu un anumit semnal de ceas.
- 3. Pulse Driven – care este o combinație a celor două care răspunde la impulsuri de declanșare.
Pe lângă cele două stări logice menționate mai sus nivelul logic „1” și nivelul logic „0”, se introduce un al treilea element care separă circuitele logice secvențiale de omologii lor logici combinaționali, și anume TIMPUL. Circuitele logice secvențiale revin la starea lor inițială de echilibru odată resetate, iar circuitele secvențiale cu bucle sau căi de reacție se spune că sunt de natură „ciclică”.
Știm acum că în circuitele secvențiale schimbările au loc numai la aplicarea unui semnal de ceas, ceea ce le face sincrone, în caz contrar circuitul este asincron și depinde de o intrare externă. Pentru a-și păstra starea curentă, circuitele secvențiale se bazează pe retroacțiune și aceasta are loc atunci când o fracțiune din ieșire este trimisă înapoi la intrare, iar acest lucru este demonstrat sub forma:
Bucla de reacție secvențială
Cele două invertoare sau porți NOT sunt conectate în serie cu ieșirea la Q alimentată înapoi la intrare. Din nefericire, această configurație nu-și schimbă niciodată starea, deoarece ieșirea va fi întotdeauna aceeași, fie un „1”, fie un „0”, este permanent setată. Cu toate acestea, putem vedea cum funcționează feedback-ul examinând cele mai de bază componente logice secvențiale, numite flip-flop SR.
SR Flip-Flop
Flip-flop SR, cunoscut și sub numele de SR Latch, poate fi considerat ca fiind unul dintre cele mai de bază circuite logice secvențiale posibile. Acest flip-flop simplu este practic un dispozitiv bistabil de memorie pe un bit care are două intrări, una care va „SET” dispozitivul (ceea ce înseamnă că ieșirea = „1”) și este etichetată S și una care va „RESET” dispozitivul (ceea ce înseamnă că ieșirea = „0”), etichetată R.
Dar descrierea SR înseamnă „Set-Reset”. Intrarea de resetare resetează flip-flop-ul înapoi la starea sa inițială cu o ieșire Q care va fi fie la un nivel logic „1”, fie la un nivel logic „0”, în funcție de această condiție de setare/repornire.
Un circuit flip-flop SR cu poartă NAND de bază oferă feedback de la ambele ieșiri înapoi la intrările sale opuse și este utilizat în mod obișnuit în circuitele de memorie pentru a stoca un singur bit de date. Apoi, flip-flop-ul SR are de fapt trei intrări, Set, Reset și ieșirea sa curentă Q referitoare la starea sau istoricul său curent. Termenul „flip-flop” se referă la funcționarea efectivă a dispozitivului, deoarece acesta poate fi „răsturnat” într-o stare logică de setare sau „răsturnat” înapoi în starea logică opusă de resetare.
Flip-flop SR cu poarta NAND
Cel mai simplu mod de a realiza orice flip-flop SR de bază pe un singur bit cu activare-reactivare este de a conecta împreună o pereche de porți NAND cuplate încrucișat cu 2 intrări, așa cum este ilustrat, pentru a forma un bistabil cu activare-reactivare, cunoscut, de asemenea, sub numele de o blocare activă LOW SR NAND Gate Latch, astfel încât să existe o reacție de la fiecare ieșire la una dintre celelalte intrări ale porții NAND. Acest dispozitiv este format din două intrări, una numită Set, S și cealaltă numită Reset, R, cu două ieșiri corespunzătoare Q și inversul sau complementul său Q (not-Q), după cum se arată mai jos.
Flip-flop SR de bază
Set State
Considerați circuitul prezentat mai sus. Dacă intrarea R este la nivelul logic „0” (R = 0) și intrarea S este la nivelul logic „1” (S = 1), poarta NAND Y are cel puțin una dintre intrările sale la nivelul logic „0”, prin urmare, ieșirea sa Q trebuie să fie la nivelul logic „1” (principiile porții NAND). Ieșirea Q este, de asemenea, alimentată înapoi la intrarea „A” și, prin urmare, ambele intrări ale porții NAND X sunt la nivelul logic „1” și, prin urmare, ieșirea sa Q trebuie să fie la nivelul logic „0”.
Încă o dată principiile porții NAND. În cazul în care intrarea de resetare R își schimbă starea și devine HIGH la nivelul logic „1”, S rămânând de asemenea HIGH la nivelul logic „1”, intrările porții NAND Y sunt acum R = „1” și B = „0”. Deoarece una dintre intrările sale este încă la nivelul logic „0”, ieșirea de la Q rămâne în continuare la nivel logic „1” și nu există nicio schimbare de stare. Prin urmare, se spune că circuitul flip-flop este „Latched” sau „Set” cu Q = „1” și Q = „0”.
Stare de resetare
În această a doua stare stabilă, Q este la nivelul logic „0”, (nu Q = „0”), ieșirea sa inversă la Q este la nivelul logic „1”, (Q = „1”), și este dată de R = „1” și S = „0”. Deoarece poarta X are una dintre intrările sale la nivelul logic „0”, ieșirea sa Q trebuie să fie egală cu nivelul logic „1” (din nou, principiile porții NAND). Ieșirea Q este trimisă înapoi la intrarea „B”, astfel încât ambele intrări ale porții NAND Y sunt la nivelul logic „1”, prin urmare, Q = „0”.
Dacă intrarea de setare, S, își schimbă acum starea la „1” logic, intrarea R rămânând la „1” logic, ieșirea Q rămâne în continuare LOW la nivelul logic „0” și nu există nicio schimbare de stare. Prin urmare, starea „Reset” a circuitelor flip-flop a fost, de asemenea, blocată și putem defini această acțiune „set/reset” în următorul tabel de adevăr.
Tabel de adevăr pentru acest 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. Prin urmare, condiția S = R = „1” nu schimbă starea ieșirilor Q și Q.
Cu toate acestea, starea de intrare S = „0” și R = „0” este o condiție nedorită sau invalidă și trebuie evitată. Condiția S = R = „0” face ca ambele ieșiri Q și Q să fie HIGH împreună la nivelul logic „1”, când în mod normal am dori ca Q să fie inversul lui Q. Rezultatul este că flip-flop-ul pierde controlul asupra lui Q și Q, iar dacă cele două intrări sunt acum comutate din nou „HIGH” după această condiție la „1” logic, flip-flop-ul devine instabil și comută la o stare de date necunoscută pe baza dezechilibrului, așa cum se arată în următoarea diagramă de comutare.
Diagrama de comutare a flip-flop-ului S-R
Acest dezechilibru poate face ca una dintre ieșiri să comute mai repede decât cealaltă, rezultând astfel că flip-flop să comute într-o stare sau alta, care poate să nu fie cea necesară și va exista o corupție a datelor. Această stare instabilă este, în general, cunoscută sub numele de stare meta-stabilă.
Atunci, un flip-flop SR cu poartă NAND simplă sau un zăvorâtor SR cu poartă NAND poate fi setat prin aplicarea unui „0” logic (LOW) la intrarea sa Set și resetat din nou prin aplicarea unui „0” logic la intrarea sa Reset. Se spune că flip-flopul SR se află într-o stare „invalidă” (Meta-stabilă) dacă ambele intrări de setare și de resetare sunt activate simultan.
După cum am văzut mai sus, flip-flopul SR cu poartă NAND de bază necesită intrări logice „0” pentru a inversa sau schimba starea de la Q la Q și viceversa. Cu toate acestea, putem schimba acest circuit flip-flop de bază într-unul care își schimbă starea prin aplicarea unor semnale de intrare pozitive prin adăugarea a două porți NAND suplimentare conectate ca inversoare la intrările S și R, așa cum se arată.
Flip-flop SR cu porți NAND pozitive
Pe lângă utilizarea porților NAND, este de asemenea posibil să se construiască flip-flops SR simple pe un bit folosind două porți NOR cuplate încrucișat conectate în aceeași configurație. Circuitul va funcționa într-un mod similar cu circuitul porții NAND de mai sus, cu excepția faptului că intrările sunt active HIGH și condiția de invalidare există atunci când ambele intrări ale acesteia sunt la nivelul logic „1”, iar acest lucru este prezentat mai jos.
Flip-flop-ul NOR Gate SR
Circuitele de debranșare a comutatorului
Flip-flopsurile declanșate pe muchie necesită o tranziție de semnal curată și frumoasă, iar o utilizare practică a acestui tip de circuit set-reset este ca un latch utilizat pentru a ajuta la eliminarea „ricoșeului” mecanic al comutatorului. După cum îi spune și numele, „switch bounce” apare atunci când contactele oricărui întrerupător acționat mecanic, buton sau tastatură sunt acționate, iar contactele interne ale întrerupătorului nu se închid complet în mod curat, ci mai întâi ricoșează împreună înainte de a se închide (sau deschide) atunci când întrerupătorul este apăsat.
Aceasta dă naștere unei serii de impulsuri individuale care pot fi lungi de zeci de milisecunde pe care un sistem sau circuit electronic, cum ar fi un contor digital, le poate vedea ca pe o serie de impulsuri logice în loc de un singur impuls lung și se poate comporta incorect. De exemplu, în timpul acestei perioade de salt, tensiunea de ieșire poate fluctua foarte mult și poate înregistra mai multe numere de intrare în loc de un singur număr. În acest caz, pentru a elimina acest tip de problemă se pot utiliza flip-flops SR cu set-reset sau circuite de blocare bistabile, iar acest lucru este demonstrat mai jos.
SR Flip Flop Switch Switch Debounce Circuit
În funcție de starea curentă a ieșirii, dacă butoanele de setare sau de resetare sunt apăsate, ieșirea se va schimba în modul descris mai sus și orice intrări nedorite suplimentare (sărituri) provenite din acțiunea mecanică a comutatorului nu vor avea niciun efect asupra ieșirii la Q.
Când este apăsat celălalt buton, chiar primul contact va determina schimbarea stării de blocare, dar orice ricoșeu mecanic suplimentar al comutatorului nu va avea, de asemenea, niciun efect. Flip-flop-ul SR poate fi apoi resetat automat după o perioadă scurtă de timp, de exemplu 0,5 secunde, pentru a înregistra orice intrări repetate suplimentare și intenționate de la aceleași contacte de întrerupător, cum ar fi intrările multiple de la tasta „RETURN” a unei tastaturi.
Concursurile integrate disponibile în mod obișnuit, realizate special pentru a depăși problema ricoșeului întrerupătorului, sunt MAX6816, cu o singură intrare, MAX6817, cu două intrări și MAX6818, circuite integrate de debranșare a întrerupătorului cu intrare octală. Aceste cipuri conțin circuitele flip-flop necesare pentru a asigura o interfațare curată a comutatoarelor mecanice cu sistemele digitale.
Set-Reset latch-urile bistabile pot fi, de asemenea, utilizate ca generatoare de impulsuri monostabile (one-shot) pentru a genera un singur impuls de ieșire, fie de nivel înalt, fie de nivel scăzut, de o anumită lățime sau perioadă de timp specificată în scopuri de sincronizare sau de control. 74LS279 este un circuit integrat de blocare bistabilă SR Quad SR, care conține patru bistabile individuale de tip NAND într-un singur cip, permițând construirea cu ușurință a circuitelor de debranșare a comutatorului sau a circuitelor de ceas monostabile/astabile.
Quad SR Bistable Latch 74LS279
Gated or Clocked SR Flip-Flop
În circuitele logice secvențiale este uneori de dorit să se dispună de un flip-flop SR bistabil care își schimbă starea numai atunci când sunt îndeplinite anumite condiții, indiferent de starea intrărilor Set sau Reset. Prin conectarea unei porți AND cu 2 intrări în serie cu fiecare bornă de intrare a flip-flopului SR se poate crea un flip-flop SR Gated. Această intrare condițională suplimentară se numește intrare „Enable” și primește prefixul „EN”. Adăugarea acestei intrări înseamnă că ieșirea de la Q își schimbă starea numai atunci când este HIGH și, prin urmare, poate fi utilizată ca intrare de ceas (CLK), ceea ce o face sensibilă la nivel, după cum se arată mai jos.
Gated SR Flip-flop
Când intrarea de activare „EN” este la nivelul logic „0”, ieșirile celor două porți AND sunt, de asemenea, la nivelul logic „0”, (principiile porților AND) indiferent de starea celor două intrări S și R, blocând cele două ieșiri Q și Q în ultima lor stare cunoscută. Atunci când intrarea de activare „EN” trece la nivelul logic „1”, circuitul răspunde ca un flip-flop bistabil SR normal, cele două porți AND devenind transparente la semnalele de setare și resetare.
Această intrare de activare suplimentară poate fi, de asemenea, conectată la un semnal de sincronizare a ceasului (CLK), adăugând sincronizarea ceasului la flip-flop, creând ceea ce se numește uneori un „flip-flop SR cu ceas”. Așadar, un flip-flop SR bistabil pornit funcționează ca un latch bistabil standard, dar ieșirile sunt activate numai atunci când un „1” logic este aplicat la intrarea EN și dezactivate de un „0” logic.
În următorul tutorial despre circuite logice secvențiale, vom analiza un alt tip de flip-flop simplu declanșat pe muchie care este foarte asemănător cu flip-flopul RS, numit flip-flop JK, numit după inventatorul său, Jack Kilby. Flip-flop-ul JK este cel mai utilizat dintre toate modelele de flip-flop-uri deoarece este considerat a fi un dispozitiv universal.