Multiplexor
Digitální multiplexor je kombinační logický obvod, který funguje podobně jako obyčejný vícepolohový přepínač. Do přepínače vede několik vodičů a poloha páčky určuje, který z nich bude spojen s výstupem. Nyní tuto analogii přenesme do digitálního světa. Obecně máme několik digitálních vstupů X, jeden výstup Y a tzv. adresový vstup A, který funguje jako ta „páčka“ pro výběr požadovaného vstupu.
multiplexor jako přepínač
V digitální technice se však jeden vstup nebo výstup může obecně skládat z více bitů (jednotlivých vodičů), což může ze začátku trochu mást. Proto budu pro upřesnění používat termíny:
- vstupní bit
- výstupní bit
- adresový bit
Jeden vstup se pak může skládat z jednoho nebo více vstupních bitů (a podobně to platí i pro adresový vstup a výstup). Dále by mělo platit, že počet vstupních bitů jednoho vstupu odpovídá počtu výstupních bitů. Kdyby byl například počet vstupních bitů 10 a počet výstupních bitů 16, kde by pak multiplexor vzal zbývajících 6 bitů?
Šířka adresového vstupu
Hodnotou adresového vstupu určujeme, který vstup bude přiveden na výstup. Abychom multiplexor využili naplno, je potřeba mít dostatečný počet adresových bitů – jedině tak budeme moci přepínat mezi všemi možnými vstupy. Označíme-li počet všech vstupních bitů jako X, počet výstupních bitů jako Y a počet adresových bitů jako A, měl by u multiplexoru platit následující vztah:

Značení a názvosloví multiplexorů
Multiplexor se ve schématech značí jako rovnoběžník, který má na delší straně vstupy a na kratší straně výstup. Z jednom boku vychází adresový vstup. Ke každému vstupu ještě můžeme doplnit hodnotu adresového vstupu, pro kterou je daný vstup vyveden na výstup. Tuto hodnotu obvykle zapisujeme v binární, desítkové nebo hexadecimální soustavě.
Multiplexory se mohou dále přesněji označovat podle poměru vstupních a výstupních bitů. Hodnota tohoto poměru by měla být rovna počtu vstupů. Uvedeme si nějaké příklady, ať je to jasnější:
| Vstupy | Šířka | =Vstup | =Výstup | =Adresa | Označení | |
|---|---|---|---|---|---|---|
| 2 | 1 bit | 2 bity | 1 bit | 1 bit | 2:1 | 2-to-1 |
| 32 | 1 bit | 32 bitů | 1 bit | 5 bitů | 32:1 | 32-to-1 |
| 4 | 2 bity | 8 bitů | 2 bity | 2 bity | 8:2 (=4:1) | 8-to-2 (=4-to-1) |
| 8 | 4 bity | 32 bitů | 4 bity | 3 bity | 32:4 (=8:1) | 32-to-4 (=8-to-1) |
různé typy multiplexorů
Schéma multiplexoru 2:1 (1-bit)
Nejjednodušší možný multiplexor, což je 1-bitový multiplexor 2:1, se skládá z pouhých čtyř hradel – dvou hradel AND, jednoho hradla OR a z jednoho invertoru. Hradla AND mají za úkol spínat vstupní bity podle hodnoty adresového vstupu. Invertor se stará o to, aby se oba vstupy navzájem vylučovaly (na výstup musí být připojen vždy pouze jeden ze vstupů). A konečně hradlo OR spojuje obě hradla AND do jednoho výstupu.
schéma multiplexoru 2:1 (1-bit)
Vstupy a výstupy
- vstupy X0, X1 – vstupy multiplexoru
- vstup A – adresový vstup
- výstup Y – výstup multiplexoru
Pravdivostní tabulka
Pravdivostní tabulka je velmi prostá. Pokud je na adresovém vstupu A logická 0, bude výstup roven prvnímu vstupu X0. Jestliže pak na adresový vstup přivedeme logickou 1, bude hodnota na výstupu rovna druhému vstupu X1.
| A | X0 | X1 | Y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Schéma multiplexoru 2:1 (2-bit)
O něco složitější je zapojení multiplexoru 2:1 se dvěma bity na každý vstup. Přibydou dvě hradla AND a jedno hradlo OR. Musíme si uvědomit, že každý vstup chceme ovládat pouze jednou hodnotou adresového vstupu, takže všechna spínací hradla AND patřící k jednomu vstupu napojíme na odpovídající hodnotu adresového vstupu. Odpovídající bity jednotlivých vstupů za hradly AND spojíme hradly OR a jejich výstupy vyvedeme ven.
schéma multiplexoru 2:1 (2-bit)
Vstupy a výstupy
- vstupy X00, X01, X10, X11 – vstupy multiplexoru
- vstup A1 – adresový vstup
- výstup Y – výstup multiplexoru
Pravdivostní tabulka
Klasická pravdivostní tabulka pro toto zapojení by byla velmi dlouhá (měla by 32 řádků, protože máme 5 vstupů). Proto ji trochu zjednodušíme a tím pádem zpřehledníme.
| A | Y1 | Y2 |
|---|---|---|
| 0 | X01 | X02 |
| 1 | X11 | X12 |
Schéma multiplexoru 4:1 (1-bit)
Horní část schématu by měla být již jasná, jedná se pouze o spínání vstupů hradly AND a jejich svedení do jednoho výstupu jedním hradlem OR. V dolní části schématu však vidíme obvod, který převádí 2-bitový adresový vstup na 4-bitový výstup tak, aby v každou chvíli byl v logické 1 pouze jeden z nich – a ostatní byly rovny logické 0. Tento obvod se také nazývá dekodér na kód 1 z N. Princip jeho funkce se myslím dá pochopit ze schématu.
schéma multiplexoru 4:1 (1-bit)
Vstupy a výstupy
- vstupy X00, X01, X10, X11 – vstupy multiplexoru
- vstupy A1, A2 – adresové vstupy
- výstup Y – výstup multiplexoru
Pravdivostní tabulka
Pravdivostní tabulku opět zjednodušíme, jako jsme to udělali předtím. Doufám, že je vám funkce multiplexoru už jasná – je to v podstatě jen ten zmiňovaný vícepolohový přepínač, který na výstup vyvede vstup zadaný hodnotou adresové sběrnice.
| A1 | A2 | Y |
|---|---|---|
| 0 | 0 | X00 |
| 0 | 1 | X01 |
| 1 | 0 | X10 |
| 1 | 1 | X11 |
Řetězení multiplexorů
Složitější multiplexory můžeme sestavit z několika jednoduchých. Například multiplexor 8:1 lze sestavit ze dvou multiplexorů 4:1 a z jednoho multiplexoru 2:1. Výstupy z obou multiplexorů 4:1 jsou zavedeny na vstup multiplexoru 2:1 a adresové vstupy jsou celkem tři. To odpovídá multiplexeru 8:1 (protože třetí mocnina dvojky je právě osm). Pozor však musíme dát na pořadí bitů adresové sběrnice.