Într-un tutorial anterior am analizat poarta digitală Not Gate, numită în mod obișnuit invertor, și am văzut că starea de ieșire a porții NOT este complementul, opusul sau inversul semnalului de intrare.
Așa că, de exemplu, atunci când singura intrare a porții NOT este „HIGH”, starea de ieșire NU va fi „HIGH”. Atunci când semnalul său de intrare este „LOW”, starea sa de ieșire NU va fi „LOW”, cu alte cuvinte își „inversează” semnalul de intrare, de unde și numele de „invertor”.
Dar uneori, în circuitele electronice digitale, avem nevoie să izolăm porțile logice unele de altele sau să le facem să acționeze sau să comute sarcini mai mari decât cele normale, cum ar fi relee, solenoizi și lămpi, fără a fi nevoie de inversare. Un tip de poartă logică cu o singură intrare care ne permite să facem exact acest lucru se numește „buffer digital”.
Spre deosebire de invertorul cu o singură intrare și o singură ieșire sau de poarta NOT, cum ar fi TTL 7404, care inversează sau completează semnalul său de intrare la ieșire, „bufferul” nu realizează nicio inversiune sau capacitate de luare a deciziilor (ca porțile logice cu două sau mai multe intrări), ci produce o ieșire care se potrivește exact cu cea de intrare. Cu alte cuvinte, un buffer digital nu face nimic, deoarece starea sa de ieșire este egală cu starea de intrare.
Atunci, bufferii digitali pot fi considerați porți idempotente care aplică legea idempotentă a lui Boole, deoarece atunci când o intrare trece prin acest dispozitiv valoarea sa nu se modifică. Deci, bufferul digital este un dispozitiv „neinversor” și, prin urmare, ne va da expresia booleană de:: Q = A.
Then we can define the logical operation of a single input digital buffer as being:
„Q is true, only when A is true”
In other words, the output ( Q ) state of a buffer is only true (logic „1”) when its input A is true, otherwise its output is false (logic „0”).
- The Single Input Digital Buffer
- Inversie dublă folosind porți NOT
- Exemplu de fan-out al bufferului digital
- „Tamponul cu trei stări”
- Echivalentul comutatorului tampon cu trei stări
- Active „HIGH” Tri-state Buffer
- Active „HIGH” Inverting Tri-state Buffer
- Active „LOW” Tri-state Buffer
- Active „LOW” Inverting Tri-state Buffer
- Controlul bufferului tri-stat
- Controlul magistralei de date a bufferului cu trei stări
- Controlul Tampoanelor Tri-state Buffer
The Single Input Digital Buffer
Symbol | Truth Table | |
The Digital Buffer
|
A | Q |
0 | 0 | |
1 | 1 | |
Boolean Expression Q = A | Read as: A gives Q |
The Digital Buffer can also be made by connecting together two NOT gates as shown below. Prima va „inversa” semnalul de intrare A, iar a doua îl va „reinverti” înapoi la nivelul inițial, realizând o dublă inversare a intrării.
Inversie dublă folosind porți NOT
S-ar putea să vă gândiți, ei bine, care este rostul unui buffer digital dacă acesta nu inversează sau modifică semnalul de intrare în vreun fel, sau nu ia decizii sau face operații logice, așa cum fac porțile AND sau OR, atunci de ce să nu folosim în schimb o bucată de sârmă, și acesta este un punct de vedere bun. Dar un buffer digital neinversor are multe utilizări în electronica digitală, unul dintre principalele sale avantaje fiind acela că asigură amplificarea digitală.
Bufferul digital poate fi folosit pentru a izola alte porți sau etape de circuit între ele, împiedicând ca impedanța unui circuit să afecteze impedanța altuia. Un buffer digital poate fi, de asemenea, utilizat pentru a comanda sarcini de curent mare, cum ar fi comutatoarele cu tranzistori, deoarece capacitatea lor de comandă la ieșire este, în general, mult mai mare decât cerințele semnalului de intrare. Cu alte cuvinte, tampoanele pot fi utilizate pentru amplificarea de putere a unui semnal digital, deoarece au ceea ce se numește o capacitate mare de „fan-out”.
Exemplu de fan-out al bufferului digital
Parametrul de fan-out al unui buffer (sau al oricărui circuit integrat digital) este capacitatea de antrenare a ieșirii sau capacitatea de curent de ieșire a unei porți logice care oferă o amplificare de putere mai mare a semnalului de intrare. Poate fi necesar să se conecteze mai mult de o poartă logică la ieșirea alteia sau să se comute o sarcină de curent mare, cum ar fi un LED, atunci un buffer ne va permite să facem exact acest lucru.
În general, ieșirea unei porți logice este de obicei conectată la intrările altor porți. Fiecare intrare necesită o anumită cantitate de curent de la ieșirea porții pentru a-și schimba starea, astfel încât fiecare conexiune suplimentară a porții se adaugă la sarcina porții. Astfel, fan-out-ul reprezintă numărul de sarcini paralele care pot fi comandate simultan de un tampon digital al unei porți logice. Acționând ca o sursă de curent, un buffer poate avea un grad ridicat de „fan-out” de până la 20 de porți din aceeași familie logică.
Dacă un buffer digital are un grad ridicat de „fan-out” (sursă de curent) trebuie să aibă, de asemenea, un grad ridicat de „fan-in” (absorbant de curent). Cu toate acestea, întârzierea de propagare a porții se deteriorează rapid în funcție de „fan-in”, astfel încât trebuie evitate porțile cu un „fan-in” mai mare de 4.
Există apoi o limită a numărului de intrări și ieșiri care pot fi conectate împreună și, în aplicațiile în care trebuie să decuplați porțile între ele, putem utiliza un buffer cu trei stări sau un driver de ieșire cu trei stări.
„Tamponul cu trei stări”
Pe lângă tamponul digital standard văzut mai sus, există un alt tip de circuit tampon digital a cărui ieșire poate fi deconectată „electronic” de la circuitul său de ieșire atunci când este necesar. Acest tip de buffer este cunoscut sub denumirea de buffer cu 3 stări sau, mai frecvent, de buffer cu trei stări.
Un buffer cu trei stări poate fi considerat ca un comutator controlat la intrare cu o ieșire care poate fi activată sau dezactivată electronic prin intermediul unui semnal extern de intrare „Control” sau „Enable” ( EN ). Acest semnal de control poate fi fie un semnal logic de tip „0”, fie un semnal logic de tip „1”, ceea ce face ca bufferul cu trei stări să se afle într-o stare care permite ca ieșirea sa să funcționeze în mod normal, producând ieșirea necesară, sau într-o altă stare în care ieșirea sa este blocată sau deconectată.
Un buffer cu trei stări necesită două intrări. Una fiind intrarea de date și cealaltă fiind intrarea de activare sau de control, după cum se arată.
Echivalentul comutatorului tampon cu trei stări
Când este activat în cea de-a treia stare, acesta își dezactivează sau își „dezactivează” ieșirea, producând o stare de circuit deschis care nu este nici la un nivel logic „HIGH” sau „LOW”, ci oferă în schimb o stare de ieșire de impedanță foarte ridicată, High-Z sau, mai frecvent, Hi-Z. Apoi, acest tip de dispozitiv are două intrări cu două stări logice, „0” sau „1”, dar poate produce trei stări de ieșire diferite, „0”, „1” sau ” Hi-Z „, motiv pentru care se numește dispozitiv „Tri” sau „cu 3 stări”.
Rețineți că această a treia stare NU este egală cu un nivel logic „0” sau „1”, ci este o stare de înaltă impedanță în care ieșirea tamponului este deconectată electric de restul circuitului. As a result, no current is drawn from the supply.
There are four different types of Tri-state Buffer, one set whose output is enabled or disabled by an „Active-HIGH” control signal producing an inverted or non-inverted output, and another set whose buffer output is controlled by an „Active-LOW” control signal producing an inverted or non-inverted output as shown below.
Active „HIGH” Tri-state Buffer
Symbol | Truth Table | ||
Tri-state Buffer
|
Enable | IN | OUT |
0 | 0 | Hi-Z | |
0 | 1 | Hi-Z | |
1 | 0 | 0 | |
1 | 1 | 1 | |
Read as Output = Input if Enable is equal to „1” |
An Active-high Tri-state Buffer such as the 74LS241 octal buffer, is activated when a logic level „1” is applied to its „enable” control line and the data passes through from its input to its output. When the enable control line is at logic level „0”, the buffer output is disabled and a high impedance condition, Hi-Z is present on the output.
An active-high tri-state buffer can also have an inverting output as well as its high impedance state creating an active-high tri-state inverting buffer as shown.
Active „HIGH” Inverting Tri-state Buffer
Symbol | Truth Table | ||
Inverting Tri-state Buffer
|
Enable | IN | OUT |
0 | 0 | Hi-Z | |
0 | 1 | Hi-Z | |
1 | 0 | 1 | |
1 | 1 | 0 | |
Read as Output = Inverted Input if Enable equals „1” |
The output of an active-high inverting tri-state buffer, such as the 74LS240 octal buffer, is activated when a logic level „1” is applied to its „enable” control line. The data at the input is passes through to the output but is inverted producing a complement of the input. When the enable line is LOW at logic level „0”, the buffer output is disabled and at a high impedance condition, Hi-Z.
The same two tri-state buffers can also be implemented with an active-low enable input as shown.
Active „LOW” Tri-state Buffer
Symbol | Truth Table | ||
Tri-state Buffer
|
Enable | IN | OUT |
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | Hi-Z | |
1 | 1 | Hi-Z | |
Read as Output = Input if Enable is NOT equal to „1” |
An Active-low Tri-state Buffer is the opposite to the above, and is activated when a logic level „0” is applied to its „enable” control line. The data passes through from its input to its output. When the enable control line is at logic level „1”, the buffer output is disabled and a high impedance condition, Hi-Z is present on the output.
Active „LOW” Inverting Tri-state Buffer
Symbol | Truth Table | ||
Inverting Tri-state Buffer
|
Enable | IN | OUT |
0 | 0 | 1 | |
0 | 1 | 0 | |
1 | 0 | Hi-Z | |
1 | 1 | Hi-Z | |
Read as Output = Inverted Input if Enable is NOT equal to „1” |
An Active-low Inverting Tri-state Buffer este opusul celui de mai sus, deoarece ieșirea sa este activată sau dezactivată atunci când se aplică un nivel logic „0” la linia sa de control „enable”. Atunci când un buffer este activat de un „0” logic, ieșirea este complementul intrării sale. Atunci când linia de control de activare este la nivelul logic „1”, ieșirea bufferului este dezactivată și la ieșire este prezentă o stare de înaltă impedanță, Hi-Z.
Controlul bufferului tri-stat
Am văzut mai sus că un buffer poate asigura amplificarea tensiunii sau a curentului în cadrul unui circuit digital și poate fi, de asemenea, utilizat pentru a inversa semnalul de intrare. Am văzut, de asemenea, că tampoanele digitale sunt disponibile în forma tri-state care permite ca ieșirea să fie efectiv deconectată producând o stare de înaltă impedanță (Hi-Z) echivalentă cu un circuit deschis.
Tri-state Buffer-ul este utilizat în multe circuite electronice și microprocesoare deoarece permite conectarea mai multor dispozitive logice la același fir sau bus fără deteriorare sau pierdere de date. De exemplu, să presupunem că avem o linie de date sau un autobuz de date la care sunt conectate niște memorii, periferice, I/O sau un CPU. Fiecare dintre aceste dispozitive este capabil să trimită sau să primească date unul altuia pe acest autobuz de date unic în același timp, creând ceea ce se numește contenție.
Contenția apare atunci când mai multe dispozitive sunt conectate împreună deoarece unele doresc să își conducă ieșirea la nivel înalt, iar altele la nivel scăzut. Dacă aceste dispozitive încep să trimită sau să primească date în același timp, se poate produce un scurtcircuit atunci când un dispozitiv emite pe magistrală un „1” logic, tensiunea de alimentare, în timp ce altul este setat la nivelul logic „0” sau la masă, ceea ce duce la o stare de scurtcircuit și, eventual, la deteriorarea dispozitivelor, precum și la pierderea de date.
Informația digitală este trimisă pe aceste autobuze de date sau autostrăzi de date fie în serie, bit cu bit, fie poate fi până la opt (sau mai multe) fire împreună într-o formă paralelă, cum ar fi într-un autobuz de date al microprocesorului, permițând ca mai multe tampoane cu trei stări să fie conectate la aceeași autostradă de date fără deteriorare sau pierdere de date, după cum se arată.
Controlul magistralei de date a bufferului cu trei stări
Apoi, bufferul cu trei stări poate fi utilizat pentru a izola dispozitivele și circuitele de magistrala de date și unele de altele. Dacă ieșirile mai multor dispozitive tampon cu trei stări sunt conectate electric între ele, se folosesc decodoare pentru a permite ca doar un set de dispozitive tampon cu trei stări să fie activ la un moment dat, în timp ce celelalte dispozitive se află în starea de înaltă impedanță. Mai jos este prezentat un exemplu de dispozitive tampon cu trei stări conectate la un autobuz de date cu 4 fire.
Controlul Tampoanelor Tri-state Buffer
Acest exemplu de bază arată cum poate fi folosit un decodor binar pentru a controla un număr de Tampoane Tri-state Buffer fie individual, fie împreună în seturi de date. Decodificatorul selectează ieșirea corespunzătoare care corespunde intrării sale binare, permițând ca un singur set de date să treacă pe magistrală fie o stare de ieșire „1” logic, fie o stare de ieșire „0” logic. În acest moment, toate celelalte ieșiri cu trei stări conectate la aceleași linii de magistrală sunt dezactivate prin plasarea lor în starea Hi-Z de înaltă impedanță.
Apoi, datele din setul de date „A” pot fi transferate pe magistrala comună numai atunci când un semnal activ HIGH este aplicat la tampoanele cu trei stări prin linia de activare, ENA. În toate celelalte momente, acesta reprezintă o stare de înaltă impedanță, fiind efectiv izolat de magistrala de date.
În mod similar, setul de date „B” transmite date către magistrală numai atunci când se aplică un semnal de activare prin ENB. Un bun exemplu de tampoane cu trei stări conectate împreună pentru a controla seturile de date este Tamponul octal TTL 74244.
Este, de asemenea, posibil să se conecteze tampoane cu trei stări „spate în spate” pentru a produce ceea ce se numește un circuit tampon bidirecțional cu un „tampon activ-înalt” conectat în paralel, dar în sens invers cu un „tampon activ-jos”.
În acest caz, intrarea de control „enable” acționează mai mult ca un semnal de control direcțional, determinând ca datele să fie atât citite „de la”, cât și transmise „către” același fir de bus de date. În acest tip de aplicație se poate utiliza un buffer cu trei stări cu capacitate de comutare bidirecțională, cum ar fi TTL 74245.
Am văzut că un buffer cu trei stări este un dispozitiv neinversor care dă o ieșire (care este aceeași cu intrarea sa) numai atunci când intrarea la pinul de activare ( EN ) este HIGH, în caz contrar ieșirea bufferului trece în starea de înaltă impedanță ( Hi-Z ). Ieșirile cu trei stări sunt utilizate în multe circuite integrate și sisteme digitale și nu numai în tampoanele digitale cu trei stări.
Atât tampoanele digitale, cât și cele cu trei stări pot fi utilizate pentru a asigura amplificarea tensiunii sau a curentului care acționează sarcini mult mai mari, cum ar fi relee, lămpi sau tranzistoare de putere, decât cu porțile logice convenționale. Dar un buffer poate fi folosit, de asemenea, pentru a asigura izolarea electrică între două sau mai multe circuite.
Am văzut că o magistrală de date poate fi creată dacă mai multe dispozitive cu trei stări sunt conectate împreună și atâta timp cât numai unul este selectat la un moment dat, nu există nicio problemă. Tri-state buses allow several digital devices to input and output data on the same data bus by using I/O signals and address decoding.
Tri-state Buffers are available in integrated form as quad, hex or octal buffer/drivers in both uni-directional and bi-directional forms, with the more common being the TTL 74240, the TTL 74244 and the TTL 74245 as shown.
Commonly available Digital Buffer and Tri-state Buffer IC’s include:
TTL Logic Digital Buffers
- 74LS07 Hex Non-inverting Buffer
- 74LS17 Hex Buffer/Driver
- 74LS244 Octal Buffer/Line Driver
- 74LS245 Octal Bi-directional Buffer
CMOS Logic Digital Buffers
- CD4050 Hex Non-inverting Buffer
- CD4503 Hex Tri-state Buffer
- HEF40244 Tri-state Octal Buffer