- Grundprinzip des Decoders:
- Nachteile von Standarddecodern:
- Prioritätsdecoder:
- 3: 8 Decoder:
- 4:16 Decoder:
- Anwendungen:
Decoder ist eine Art kombinatorische Schaltung, die einen kleinen Bitwert in einen großen Bitwert decodiert. Es wird normalerweise in Kombination mit Encodern verwendet, die genau das Gegenteil von dem tun, was ein Decoder tut. Lesen Sie daher hier mehr über Encoder, bevor Sie mit Decodern fortfahren. Genau wie bei Encodern gibt es auch hier viele Arten von Decodern, aber die Anzahl der Ausgangsleitungen in einem Decoder ist immer größer als die Anzahl der Eingangsleitungen. In diesem Tutorial erfahren Sie, wie ein Decoder funktioniert und wie wir einen für unser Projekt erstellen können.
Grundprinzip des Decoders:
Wie bereits erwähnt, ist der Decoder nur ein Gegenstück zu einem Encoder. Es nimmt eine bestimmte Anzahl von Binärwerten als Eingaben und decodiert sie dann unter Verwendung von Logik in mehr Zeilen. Im Folgenden wird ein Beispieldecoder gezeigt, der 2 Zeilen als Eingabe aufnimmt und in 4 Zeilen konvertiert.
Eine andere Faustregel bei Decodern lautet: Wenn die Anzahl der Eingänge als n betrachtet wird (hier n = 2), ist die Anzahl der Ausgänge immer gleich 2 n (2 2 = 4), was in unserem Fall vier ist. Der Decoder hat 2 Eingangsleitungen und 4 Ausgangsleitungen; Daher wird diese Art von Decoder als 2: 4-Decoder bezeichnet. Die zwei Eingangspins werden als I1 und I0 bezeichnet, und die vier Ausgangspins werden wie oben gezeigt von O0 bis O3 benannt.
Es ist auch wichtig zu wissen, dass ein gewöhnlicher Decoder wie der hier gezeigte den Nachteil hat, dass er nicht zwischen dem Zustand unterscheiden kann, dass beide Eingänge Null sind (nicht mit anderen Schaltungen verbunden) und beide Eingänge niedrig sind (logisch 0). Dieser Nachteil kann mit einem Priority Decoder behoben werden, den wir später in diesem Artikel erfahren werden. Die Wahrheitstabelle eines gewöhnlichen Decoders ist unten gezeigt
Aus der Decoder-Wahrheitstabelle können wir den Booleschen Ausdruck für jede Ausgabezeile schreiben. Folgen Sie einfach der Stelle, an der die Ausgabe hoch wird, und bilden Sie eine UND-Logik, die auf den Werten von I1 und I0 basiert. Es ist der Encoder-Methode sehr ähnlich, aber hier verwenden wir die UND-Logik anstelle der ODER-Logik. Der Boolesche Ausdruck für alle vier Zeilen ist unten angegeben, wobei das Symbol (.) Die UND-Logik und das Symbol (') die NICHT-Logik darstellt
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Nachdem wir alle vier Ausdrücke haben, können wir diese Ausdrücke unter Verwendung der UND-Gatter und NICHT-Gatter in eine kombinatorische Logikgatterschaltung umwandeln. Verwenden Sie einfach die UND-Gatter anstelle von (.) Und ein NICHT-Gatter (invertierte Logik) anstelle von ('), und Sie erhalten das folgende Logikdiagramm.
Lassen Sie uns den 2: 4-Decoder-Schaltplan auf dem Steckbrett erstellen und überprüfen, wie er im wirklichen Leben funktioniert. Damit es als Hardware funktioniert, müssen Sie den Logikgatter-IC wie 7404 für das NICHT-Gatter und den 7408 für das UND-Gatter verwenden. Die beiden Eingänge I0 und I1 werden über einen Druckknopf bereitgestellt und der Ausgang wird durch LED-Leuchten beobachtet. Sobald Sie die Verbindung auf dem Steckbrett hergestellt haben, sieht es im Bild unten ungefähr so aus
Die Karte wird von einer externen + 5V-Versorgung gespeist, die wiederum den Gate-IC über die Pins Vcc (Pin 14) und Masse (Pin 7) versorgt. Der Eingang wird durch Drucktasten gegeben, wenn er gedrückt wird, ist er logisch 1 und wenn er nicht gedrückt wird, gibt er logisch 0, ein Pulldown-Widerstand mit dem Wert 1k wird ebenfalls entlang der Eingangsleitungen hinzugefügt, um zu verhindern, dass die Stifte schweben. Die Ausgangsleitungen (O0 bis O3) werden durch diese roten LED-Leuchten angezeigt. Wenn sie leuchten, ist dies logisch 1, andernfalls logisch 0. Die vollständige Funktionsweise dieser Decoderschaltung ist im folgenden Video dargestellt
Beachten Sie, dass die Wahrheitstabelle für jeden Eingang in der oberen linken Ecke angezeigt wird und die LED ebenfalls in der gleichen Reihenfolge leuchtet. In ähnlicher Weise können wir auch ein kombinatorisches Logikdiagramm für alle Arten von Decodern erstellen und diese auf Hardware wie dieser aufbauen. Sie können sich auch die leicht verfügbaren Decoder-ICs ansehen, wenn Ihr Projekt zu einem passt.
Nachteile von Standarddecodern:
Genau wie ein Encoder hat auch der Standarddecoder das gleiche Problem: Wenn beide Eingänge nicht verbunden sind (logisches X), bleibt der Ausgang nicht Null. Stattdessen betrachtet der Decoder es als logisch 0 und das Bit O0 wird hoch gesetzt.
Prioritätsdecoder:
Um dieses Problem zu lösen, verwenden wir den Prioritätsdecoder. Dieser Decodentyp verfügt über einen zusätzlichen Eingangspin mit der Bezeichnung „E“ (Enable), der mit dem gültigen Pin des Prioritätsdecoders verbunden wird. Das Blockschaltbild für einen Prioritätsdecoder ist unten dargestellt.
Die Wahrheitstabelle für einen Prioritätscodierer ist ebenfalls unten gezeigt, hier steht X für keine Verbindung und '1' für logisch hoch und '0' für logisch niedrig. Beachten Sie, dass das Freigabebit 0 ist, wenn auf den Eingangsleitungen keine Verbindung besteht und daher auch die Ausgangsleitungen Null bleiben. Auf diese Weise können wir den oben genannten Nachteil überwinden.
Wie immer aus der Wahrheitstabelle können wir den Booleschen Ausdruck für die Ausgabezeilen O0 bis O3 steuern. Der Boolesche Ausdruck für die obige Wahrheitstabelle ist unten gezeigt. Wenn Sie genauer hinschauen, können Sie feststellen, dass der Ausdruck dem eines normalen 2: 4-Decoders entspricht, das Enable-Bit (E) jedoch mit dem Ausdruck auf AND gesetzt wurde.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Das kombinatorische Logikdiagramm für den obigen Booleschen Ausdruck kann unter Verwendung einiger Inverter (NICHT-Gatter) und UND-Gatter mit drei Eingängen erstellt werden. Ersetzen Sie einfach das (') Symbol durch Inverter und das (.) Symbol durch UND-Gatter und Sie erhalten das folgende Logikdiagramm.
3: 8 Decoder:
Es gibt auch einige Decoder höherer Ordnung wie den 3: 8-Decoder und den 4: 16-Decoder, die häufiger verwendet werden. Diese Decoder werden häufig in IC-Paketen verwendet, um die Komplexität der Schaltung zu gewährleisten. Es ist auch sehr üblich, Decoder niedrigerer Ordnung wie die 2: 4-Decoder zu einem Decoder höherer Ordnung zu kombinieren. Zum Beispiel wissen wir, dass ein 2: 4-Decoder 2 Eingänge (I0 und I1) und 4 Ausgänge (O0 bis O3) hat und ein 3: 8-Decoder drei Eingänge (I0 bis I2) und acht Ausgänge (O0 bis O7) hat. Wir können die folgenden Formeln verwenden, um die Anzahl der Decoder niedrigerer Ordnung (2: 4) zu berechnen, die erforderlich sind, um einen Decoder höherer Ordnung wie einen 3: 8-Decoder zu bilden.
Erforderliche Anzahl von Decodern niedrigerer Ordnung = m2 / m1 Wobei m2 -> Anzahl der Ausgänge für Decoder niedrigerer Ordnung m1 -> Anzahl von Ausgängen für Decoder höherer Ordnung
In unserem Fall ist der Wert von m1 4 und der Wert von m2 8, also wenden wir diese Werte in den obigen Formeln an, die wir erhalten
Erforderliche Anzahl von 2: 4-Decodern für 3: 8-Decoder = 8/4 = 2
Jetzt wissen wir, dass wir zwei 2: 4-Decoder benötigen, um einen 3: 8-Decoder zu bilden, aber wie sollten diese beiden verbunden werden, um sich zu sammeln. Das folgende Blockdiagramm zeigt genau das
Wie Sie sehen können, werden die Eingänge A0 und A1 als parallele Eingänge für beide Decoder angeschlossen, und dann wird der Enable-Pin des ersten Decoders als A2 (dritter Eingang) verwendet. Das invertierte Signal von A2 wird an den Aktivierungsstift des zweiten Decoders gegeben, um die Ausgänge Y0 bis Y3 zu erhalten. Hier werden die Ausgänge Y0 bis Y3 als niedrigere vier Intervalle und die Ausgänge Y4 bis Y7 als höhere vier Intervalle bezeichnet. Die Zwischenzeiten niedrigerer Ordnung werden vom zweiten Decodierer erhalten, und die Zwischenzeiten höherer Ordnung werden vom ersten Decodierer erhalten. Obwohl ein bemerkenswerter Nachteil bei dieser Art von kombinatorischem Design darin besteht, dass der Decoder keinen Aktivierungsstift hat, der ihn für die Probleme anfällig macht, die wir zuvor besprochen haben.
4:16 Decoder:
Ähnlich wie bei einem 3: 8-Decoder kann ein 4: 16-Decoder auch durch Kombinieren von zwei 3: 8-Decodern aufgebaut werden. Für einen 4: 16-Decoder haben wir vier Eingänge (A0 bis A3) und sechzehn Ausgänge (Y0 bis Y15). Während wir für einen 3: 8-Decoder nur drei Eingänge haben (A0 bis A2).
Wir haben die Formeln bereits verwendet, um die Anzahl der erforderlichen Decoder zu berechnen. In diesem Fall beträgt der Wert von m1 8, da der 3: 8-Decoder 8 Ausgänge hat, und der Wert von m2 16, da der 4: 16-Decoder 16 Ausgänge hat. Wenden wir diese Werte also in den obigen Formeln an, die wir erhalten
Erforderliche Anzahl 3: 8-Decoder für 4:16 Decoder = 16/8 = 2
Daher benötigen wir zwei 3: 8-Decoder, um einen 4:16-Decoder zu konstruieren. Die Anordnung dieser beiden 3: 8-Decoder ähnelt auch der zuvor beschriebenen. Das Blockschaltbild zum Verbinden dieser beiden 3: 8-Decoder ist unten dargestellt.
Hier werden die Ausgänge Y0 bis Y7 als niedrigere acht Minuten und die Ausgaben von Y8 bis Y16 als höhere acht Minuten betrachtet. Die unteren rechten Zwischenzeiten werden direkt mit den Eingängen A0, A1 und A2 erstellt. Die gleichen Signale werden auch an die drei Eingänge des ersten Decoders gegeben, aber der Enable-Pin des ersten Decoders wird als vierter Eingangs-Pin (A3) verwendet. Das invertierte Signal des vierten Eingangs A3 wird an den Freigabepin des zweiten Decoders gegeben. Der erste Decoder gibt den höheren Wert für acht Minuten aus.
Anwendungen:
Ein Decoder wird normalerweise in Kombination mit einem Encoder verwendet und daher teilen sich beide die gleichen Anwendungen. Ohne Decoder und Encoder wäre moderne Elektronik wie Handy und Laptops nicht möglich gewesen. Einige wichtige Anwendungen von Decodern sind unten aufgeführt.
- Sequenzierungssignalanwendung
- Timing-Signal-Anwendungen
- Netzwerkleitungen
- Speicherelemente
- Telefonnetze