In een vorige tutorial hebben we gekeken naar de digitale Not Gate, ook wel inverter genoemd, en we zagen dat de uitgangstoestand van de NOT gate het complement, het tegengestelde of het omgekeerde is van zijn ingangssignaal.
Dus bijvoorbeeld, wanneer de enkele ingang van de NOT gate “HIGH” is, zal zijn uitgangstoestand NIET “HIGH” zijn. Wanneer het ingangssignaal “LAAG” is, zal de uitgangstoestand NIET “LAAG” zijn, met andere woorden, hij “inverteert” zijn ingangssignaal, vandaar de naam “Inverter”.
Maar soms moeten we in digitale elektronische schakelingen logische poorten van elkaar isoleren of ze hoger dan normale belastingen, zoals relais, solenoïden en lampen, laten aansturen of schakelen zonder dat inversie nodig is.
In tegenstelling tot de single input, single output inverter of NOT gate zoals de TTL 7404, die zijn ingangssignaal inverteert of aanvult op de uitgang, voert de “Buffer” geen inversie of beslissingsmogelijkheden uit (zoals logische poorten met twee of meer ingangen), maar produceert in plaats daarvan een uitgang die precies overeenkomt met die van zijn ingang. Met andere woorden, een digitale buffer doet niets omdat zijn uitgangstoestand gelijk is aan zijn ingangstoestand.
Dan kunnen digitale buffers worden beschouwd als Idempotente poorten die de Idempotente Wet van Boole toepassen, omdat wanneer een ingang door dit apparaat gaat, de waarde ervan niet wordt veranderd. De digitale buffer is dus een “niet-inverterend” apparaat en zal ons daarom de Booleaanse uitdrukking geven van: 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
- Dubbele inversie met behulp van NOT Gates
- Digitale buffer fan-out voorbeeld
- De “Tri-state Buffer”
- Tri-state bufferschakelaar equivalent
- Active “HIGH” Tri-state Buffer
- Active “HIGH” Inverting Tri-state Buffer
- Active “LOW” Tri-state Buffer
- Active “LOW” Inverting Tri-state Buffer
- Tri-state Buffer Control
- Tri-state Buffer Data Bus Control
- Tri-state Bufferbesturing
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. De eerste “inverteert” het ingangssignaal A en de tweede “re-inverteert” het terug naar het oorspronkelijke niveau en voert een dubbele inversie van het ingangssignaal uit.
Dubbele inversie met behulp van NOT Gates
U denkt nu misschien, Wat is het nut van een digitale buffer als deze het ingangssignaal op geen enkele manier inverteert of wijzigt, of geen logische beslissingen neemt of bewerkingen uitvoert zoals de AND- of OR-poorten dat doen, waarom dan niet gewoon een stuk draad gebruiken? Maar een niet-inverterende digitale buffer heeft veel toepassingen in de digitale elektronica, waarbij een van de belangrijkste voordelen is dat hij digitale versterking biedt.
Digitale buffers kunnen worden gebruikt om andere poorten of schakelfasen van elkaar te isoleren, zodat de impedantie van de ene schakeling de impedantie van een andere niet beïnvloedt. Een digitale buffer kan ook worden gebruikt om belastingen met een hoge stroomsterkte, zoals transistorschakelaars, aan te drijven, omdat hun vermogen om de uitgang aan te drijven in het algemeen veel groter is dan hun vereisten voor het ingangssignaal. Met andere woorden, buffers kunnen worden gebruikt voor de versterking van het vermogen van een digitaal signaal, omdat zij een zogenaamd hoog “fan-out” vermogen hebben.
Digitale buffer fan-out voorbeeld
De Fan-out parameter van een buffer (of een digitaal IC) is de uitgangsstuurcapaciteit of uitgangsstroomcapaciteit van een logische poort die een grotere vermogensversterking van het ingangssignaal oplevert. Het kan nodig zijn om meer dan één logische poort op de uitgang van een andere aan te sluiten of om een hoge stroombelasting zoals een LED te schakelen, dan stelt een buffer ons in staat om precies dat te doen.
In het algemeen is de uitgang van een logische poort gewoonlijk verbonden met de ingangen van andere poorten. Elke ingang vereist een bepaalde hoeveelheid stroom van de uitgang van de poort om van toestand te veranderen, zodat elke extra poortverbinding de belasting van de poort vergroot. De fan-out is dus het aantal parallelle belastingen dat gelijktijdig door één digitale buffer van een logische poort kan worden gestuurd. Als stroombron kan een buffer een hoge fan-out hebben tot 20 gates van dezelfde logische familie.
Als een digitale buffer een hoge fan-out heeft (stroombron) moet hij ook een hoge “fan-in” hebben (stroom-sink). De voortplantingsvertraging van de poort gaat echter snel achteruit als functie van de fan-in, dus poorten met een fan-in groter dan 4 moeten worden vermeden.
Dan is er een limiet aan het aantal ingangen en uitgangen dan met elkaar kunnen worden verbonden en in toepassingen waar we poorten van elkaar moeten ontkoppelen, kunnen we een Tri-state Buffer of een tristate output driver gebruiken.
De “Tri-state Buffer”
Naast de standaard digitale buffer die we hierboven hebben gezien, is er nog een ander type digitale bufferschakeling waarvan de uitgang “elektronisch” kan worden losgekoppeld van het uitgangscircuit wanneer dat nodig is. Dit type buffer staat bekend als een 3-staten-buffer of, wat gebruikelijker is, een drie-staten-buffer.
Een drie-staten-buffer kan worden gezien als een ingangsgestuurde schakelaar met een uitgang die elektronisch “AAN” of “UIT” kan worden gezet door middel van een extern “besturings-” of “inschakel”- ( EN ) signaalingang. Dit stuursignaal kan een logisch “0” of een logisch “1” signaal zijn, waardoor de tri-state buffer zich in de ene toestand bevindt, waarin zijn uitgang normaal kan werken en de vereiste uitgang kan produceren, of in een andere toestand waarin zijn uitgang geblokkeerd of uitgeschakeld is.
Een tri-state buffer heeft dan twee ingangen nodig. De ene is de data-ingang en de andere is de vrijgave- of stuuringang, zoals afgebeeld.
Tri-state bufferschakelaar equivalent
Wanneer deze in de derde toestand wordt geactiveerd, wordt de uitgang uitgeschakeld of “UIT” gezet, wat een open circuittoestand oplevert die noch een logische “HIGH” noch een “LOW” is, maar in plaats daarvan een uitgangstoestand geeft van zeer hoge impedantie, Hoog-Z, of meer algemeen Hi-Z. Dit type apparaat heeft dus twee logische toestandsingangen, “0” of een “1”, maar kan drie verschillende uitgangstoestanden produceren, “0”, “1” of “Hi-Z”, daarom wordt het een “Tri” of “3-state” apparaat genoemd.
Merk op dat deze derde toestand NIET gelijk is aan een logisch niveau “0” of “1”, maar een hoge impedantietoestand is waarin de uitgang van de buffers elektrisch is losgekoppeld van de rest van het circuit. 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 is het tegenovergestelde van het bovenstaande, aangezien zijn uitgang wordt in- of uitgeschakeld wanneer een logisch niveau “0” wordt toegepast op zijn “enable” controlelijn. Wanneer een buffer wordt ingeschakeld door een logische “0”, is de uitgang het complement van zijn ingang. Wanneer de “enable” controlelijn een logisch niveau “1” heeft, is de uitgang van de buffer uitgeschakeld en is er een hoge impedantie, Hi-Z, aanwezig op de uitgang.
Tri-state Buffer Control
We hebben hierboven gezien dat een buffer kan zorgen voor spannings- of stroomversterking binnen een digitale schakeling en dat hij ook kan worden gebruikt om het ingangssignaal te inverteren. We hebben ook gezien dat digitale buffers beschikbaar zijn in de tri-state vorm waarmee de uitgang effectief kan worden uitgeschakeld, waardoor een hoge impedantietoestand (Hi-Z) wordt geproduceerd die equivalent is aan een open circuit.
De tri-state buffer wordt gebruikt in veel elektronische en microprocessorcircuits, omdat ze het mogelijk maken dat meerdere logische apparaten op dezelfde draad of bus kunnen worden aangesloten zonder schade of verlies van gegevens. Stel bijvoorbeeld dat we een datalijn of databus hebben met daarop een geheugen, randapparatuur, I/O of een CPU aangesloten. Elk van deze apparaten is in staat om tegelijkertijd gegevens naar elkaar te zenden of te ontvangen op deze enkele databus, waardoor een zogenaamde contentie ontstaat.
Contentie ontstaat wanneer meerdere apparaten met elkaar zijn verbonden omdat sommige hun uitgang hoog willen sturen en andere laag. Als deze apparaten tegelijkertijd gegevens gaan verzenden of ontvangen, kan er kortsluiting ontstaan wanneer het ene apparaat een logische “1”, de voedingsspanning, naar de bus stuurt, terwijl het andere op logisch niveau “0” of massa is ingesteld, hetgeen resulteert in een kortsluitingstoestand en mogelijk schade aan de apparaten en verlies van gegevens.
Digitale informatie wordt over deze databussen of gegevenssnelwegen ofwel serieel, een bit per keer, of het kan tot acht (of meer) draden samen in een parallelle vorm, zoals in een microprocessor databus waardoor meerdere tri-state buffers kunnen worden aangesloten op dezelfde gegevenssnelweg zonder schade of verlies van gegevens, zoals afgebeeld.
Tri-state Buffer Data Bus Control
Dan kan de Tri-state Buffer worden gebruikt om apparaten en schakelingen van de databus en van elkaar te isoleren. Als de uitgangen van verschillende Tri-state Buffers elektrisch met elkaar zijn verbonden, worden Decoders gebruikt om slechts één set Tri-state Buffers tegelijk actief te laten zijn terwijl de andere apparaten zich in hun hoge impedantietoestand bevinden. Een voorbeeld van Tri-state Buffers aangesloten op een 4-draads databus is hieronder afgebeeld.
Tri-state Bufferbesturing
Dit basisvoorbeeld laat zien hoe een binaire decoder kan worden gebruikt om een aantal tri-state buffers afzonderlijk of gezamenlijk in datasets aan te sturen. De decoder selecteert de juiste uitgang die overeenkomt met zijn binaire ingang, waardoor slechts één set gegevens een logische “1” of logische “0” uitgangstoestand op de bus kan doorgeven. Op dit moment worden alle andere tri-state uitgangen die op dezelfde buslijnen zijn aangesloten uitgeschakeld door ze in hun hoge impedantie Hi-Z toestand te plaatsen.
Dan kan data van dataset “A” alleen worden doorgegeven aan de gemeenschappelijke bus als een actief HIGH signaal wordt toegepast op de tri-state buffers via de Enable lijn, ENA. Op alle andere momenten vertegenwoordigt het een hoge impedantie toestand die effectief geïsoleerd is van de databus.
Op dezelfde manier geeft dataset “B” alleen data door aan de bus wanneer een vrijgavesignaal wordt toegepast via ENB. Een goed voorbeeld van tri-state buffers die met elkaar verbonden zijn om datasets aan te sturen is de TTL 74244 Octal Buffer.
Het is ook mogelijk om Tri-state Buffers “back-to-back” te verbinden om een zogenaamde Bi-directionele Buffer-schakeling te maken met één “active-high buffer” parallel geschakeld maar omgekeerd met één “active-low buffer”.
Hier werkt de “enable” stuuringang meer als een directioneel stuursignaal waardoor de gegevens zowel worden gelezen “van” als verzonden “naar” dezelfde databusdraad. In dit soort toepassingen kan een tri-state buffer met bi-directioneel schakelvermogen zoals de TTL 74245 worden gebruikt.
We hebben gezien dat een Tri-state buffer een niet-inverterend apparaat is dat een uitgang geeft (die gelijk is aan zijn ingang) alleen wanneer de ingang naar de Enable, ( EN ) pin HIGH is anders gaat de uitgang van de buffer in zijn hoge impedantie, ( Hi-Z ) toestand. Tri-state uitgangen worden in veel geïntegreerde schakelingen en digitale systemen gebruikt en niet alleen in digitale tristate buffers.
Zowel digitale buffers als tri-state buffers kunnen worden gebruikt om spanning of stroomversterking te leveren die veel hogere belastingen, zoals relais, lampen of vermogenstransistors, aanstuurt dan met conventionele logische poorten. Maar een buffer kan ook worden gebruikt om te zorgen voor elektrische isolatie tussen twee of meer circuits.
We hebben gezien dat een databus kan worden gemaakt als verschillende tristate-apparaten met elkaar worden verbonden en zolang er maar één tegelijk wordt geselecteerd, is er geen probleem. 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