Мультиплексор и демультиплексор — различия между версиями
Gaporf (обсуждение | вклад) (→Логическая схема мультиплексора) |
Gaporf (обсуждение | вклад) (Прошу прощение за Парсер, который где-то поставил не то(() |
||
Строка 1: | Строка 1: | ||
− | <div style="background-color: #ABCDEF; font-size: | + | <div style="background-color: #ABCDEF; font-size: <tex>1</tex>6px; font-weight: bold; color: #000000; text-align: center; padding: <tex>4</tex>px; border-style: solid; border-width: <tex>1</tex>px;">Эта статья находится в разработке!</div> |
<includeonly>[[Категория: В разработке]]</includeonly> | <includeonly>[[Категория: В разработке]]</includeonly> | ||
Строка 16: | Строка 16: | ||
[[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]] | [[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]] | ||
− | ===Мультиплексор 2-to-1=== | + | ===Мультиплексор <tex>2</tex>-to-1=== |
Рассмотрим мультиплексор <tex>2-to-1</tex> (это значит, что есть всего два входа <tex>x_0</tex> и <tex>x_1</tex>, значения которых могут подаваться на вход <tex>z</tex>). Переберём всевозможные варианты значений на входах. Если на <tex>s</tex> подавать <tex>0</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_0</tex>, т.е. в данном случае значение на входе <tex>x_1</tex> нас не интересует. Аналогично, если на вход <tex>s</tex> подавать <tex>1</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_1</tex>. Для более лучшего понимания посмотрим на таблицу истинности. | Рассмотрим мультиплексор <tex>2-to-1</tex> (это значит, что есть всего два входа <tex>x_0</tex> и <tex>x_1</tex>, значения которых могут подаваться на вход <tex>z</tex>). Переберём всевозможные варианты значений на входах. Если на <tex>s</tex> подавать <tex>0</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_0</tex>, т.е. в данном случае значение на входе <tex>x_1</tex> нас не интересует. Аналогично, если на вход <tex>s</tex> подавать <tex>1</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_1</tex>. Для более лучшего понимания посмотрим на таблицу истинности. | ||
Строка 24: | Строка 24: | ||
! <tex>s</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>z</tex> | ! <tex>s</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>z</tex> | ||
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || ? || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> |
|} | |} | ||
− | ===Мультиплексор 4-to-1=== | + | ===Мультиплексор <tex>4</tex>-to-1=== |
− | Также рассмотрим мультиплексор <tex>4-to-1</tex> (это значит, что есть четыре входа <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> и <tex>x_3</tex>, значения которых могут подаваться на выход <tex>z</tex>). Также переберём всевозможные варианты значений на входах. Тут уже 2 входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, значение какого из входов <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> или <tex>x_3</tex> будет подаваться на выход <tex>z</tex>. Если <tex>s_0 = s_1 = 0</tex>, то на выход <tex>z</tex> будет подаваться значение входа <tex>x_0</tex>, если <tex>s_0 = 1</tex> и <tex>s_1 = 0</tex> <tex>-</tex> то значение <tex>x_1</tex>, если <tex>s_0 = 0</tex> и <tex>s_1 = 1</tex> <tex>-</tex> то значение <tex>x_2</tex>, в противном случае <tex>-</tex> значение <tex>x_3</tex>. Для более лучшее понимания рекомендуется обратиться к таблице истинности. | + | Также рассмотрим мультиплексор <tex>4-to-1</tex> (это значит, что есть четыре входа <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> и <tex>x_3</tex>, значения которых могут подаваться на выход <tex>z</tex>). Также переберём всевозможные варианты значений на входах. Тут уже <tex>2</tex> входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, значение какого из входов <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> или <tex>x_3</tex> будет подаваться на выход <tex>z</tex>. Если <tex>s_0 = s_1 = <tex>0</tex></tex>, то на выход <tex>z</tex> будет подаваться значение входа <tex>x_0</tex>, если <tex>s_0 = <tex>1</tex></tex> и <tex>s_1 = <tex>0</tex></tex> <tex>-</tex> то значение <tex>x_1</tex>, если <tex>s_0 = <tex>0</tex></tex> и <tex>s_1 = <tex>1</tex></tex> <tex>-</tex> то значение <tex>x_2</tex>, в противном случае <tex>-</tex> значение <tex>x_3</tex>. Для более лучшее понимания рекомендуется обратиться к таблице истинности. |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>x_2</tex> !! <tex>x_3</tex> !! <tex>z</tex> | ! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>x_2</tex> !! <tex>x_3</tex> !! <tex>z</tex> | ||
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || ? || ? || ? || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{1}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex> || ? || ? || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{1}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> |
|} | |} | ||
==Логическая схема мультиплексора== | ==Логическая схема мультиплексора== | ||
− | [[Файл:LogicSircuit1to8.png|thumb|360px|Логическая схема мультиплексора 8-to-1]] | + | [[Файл:LogicSircuit1to8.png|thumb|360px|Логическая схема мультиплексора <tex>8</tex>-to-1]] |
Заметим, что [[дешифратор]] имеет <tex>n</tex> входов и <tex>2^n</tex> выходов, причём на все выходы дешифратора подаётся <tex>0</tex> кроме выхода <tex>z_i</tex>, на который подаётся <tex>1</tex>, где <tex>i</tex> - число, которое кодируется его входами. | Заметим, что [[дешифратор]] имеет <tex>n</tex> входов и <tex>2^n</tex> выходов, причём на все выходы дешифратора подаётся <tex>0</tex> кроме выхода <tex>z_i</tex>, на который подаётся <tex>1</tex>, где <tex>i</tex> - число, которое кодируется его входами. | ||
Строка 70: | Строка 70: | ||
[[Файл:1to4demux.png|thumb|180px|1-to-4 демультиплексор]] | [[Файл:1to4demux.png|thumb|180px|1-to-4 демультиплексор]] | ||
− | ===Демультиплексор 1-to-2=== | + | ===Демультиплексор <tex>1</tex>-to-2=== |
Рассмотрим демультиплексор <tex>1-to-2</tex> (это значит, что у демультиплексора два выхода). Если на вход <tex>s</tex> подать значение <tex>0</tex>, то на выход <tex>z_0</tex> будет подаваться то же значение, которое подаётся на вход <tex>y</tex>, а на выход <tex>z_1</tex> будет подаваться <tex>0</tex>. Если же на вход <tex>s</tex> подать значение <tex>1</tex>, то на выход <tex>z_0</tex> будет подаваться значение <tex>0</tex>, а на выход <tex>z_1</tex> то же значение, которое будет подаваться на вход <tex>y</tex>. Для более лучшего понимания посмотрим на таблицу истинности. | Рассмотрим демультиплексор <tex>1-to-2</tex> (это значит, что у демультиплексора два выхода). Если на вход <tex>s</tex> подать значение <tex>0</tex>, то на выход <tex>z_0</tex> будет подаваться то же значение, которое подаётся на вход <tex>y</tex>, а на выход <tex>z_1</tex> будет подаваться <tex>0</tex>. Если же на вход <tex>s</tex> подать значение <tex>1</tex>, то на выход <tex>z_0</tex> будет подаваться значение <tex>0</tex>, а на выход <tex>z_1</tex> то же значение, которое будет подаваться на вход <tex>y</tex>. Для более лучшего понимания посмотрим на таблицу истинности. | ||
Строка 77: | Строка 77: | ||
! <tex>s</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> | ! <tex>s</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> | ||
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> |
|} | |} | ||
− | ===Демультиплексор 1-to-4=== | + | ===Демультиплексор <tex>1</tex>-to-4=== |
− | Также рассмотрим демультиплексор <tex>1-to-4</tex> (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, на какой из выходов <tex>z_0</tex>, <tex>z_1</tex>, <tex>z_2</tex> или <tex>z_3</tex> будет подаваться значение <tex>y</tex>, тогда как на остальные выходы будет подаваться <tex>0</tex>. В случае, когда <tex>s_0 = s_1 = 0</tex>, то на выход <tex>z_0</tex> будет подаваться значение на входе <tex>y</tex>, тогда как на <tex>z_1</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>. Если же <tex>s_0 = 1</tex> и <tex>s_1 = 0</tex>, то на выходы <tex>z_0</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>, а на выход <tex>z_1</tex> будет подаваться то же, что подаётся на вход <tex>y</tex>. Аналогично разбираются случаи <tex>s_0 = 0</tex>, <tex>s_1 = 1</tex> и <tex>s_0 = s_1 = 1</tex>. Для более лучшего понимания посмотрим на таблицу истинности. | + | Также рассмотрим демультиплексор <tex>1-to-4</tex> (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, на какой из выходов <tex>z_0</tex>, <tex>z_1</tex>, <tex>z_2</tex> или <tex>z_3</tex> будет подаваться значение <tex>y</tex>, тогда как на остальные выходы будет подаваться <tex>0</tex>. В случае, когда <tex>s_0 = s_1 = <tex>0</tex></tex>, то на выход <tex>z_0</tex> будет подаваться значение на входе <tex>y</tex>, тогда как на <tex>z_1</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>. Если же <tex>s_0 = <tex>1</tex></tex> и <tex>s_1 = <tex>0</tex></tex>, то на выходы <tex>z_0</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>, а на выход <tex>z_1</tex> будет подаваться то же, что подаётся на вход <tex>y</tex>. Аналогично разбираются случаи <tex>s_0 = <tex>0</tex></tex>, <tex>s_1 = <tex>1</tex></tex> и <tex>s_0 = s_1 = <tex>1</tex></tex>. Для более лучшего понимания посмотрим на таблицу истинности. |
{| class="wikitable" | {| class="wikitable" | ||
Строка 93: | Строка 93: | ||
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> !! <tex>z_2</tex> !! <tex>z_3</tex> | ! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> !! <tex>z_2</tex> !! <tex>z_3</tex> | ||
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> |
|- | |- | ||
− | | | + | | <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> |
|} | |} | ||
==Логическая схема демультиплексора== | ==Логическая схема демультиплексора== | ||
− | [[Файл:LogicSircuit1to8demux.png|thumb|360px|Логическая схема демультиплексора 1-to-8]] | + | [[Файл:LogicSircuit1to8demux.png|thumb|360px|Логическая схема демультиплексора <tex>1</tex>-to-8]] |
Построим схему, аналогичную схеме мультиплексора. | Построим схему, аналогичную схеме мультиплексора. |
Версия 23:23, 3 декабря 2018
Определение: |
Мультиплексор (англ. multiplexer, или mux) - логический элемент, имеющий | входов , , , , , , , и один выход , на который подаётся значение на входе , где - число, которое кодируется входами , , , .
Определение: |
Демультиплексор (англ. demultiplexer, или demux) - логический элемент, имеющий | входов , , , , и выходов , , , . На все выходы подаётся кроме выхода , на который подаётся значение на входе , где - число, которое кодируется входами , , , .
Содержание
Принцип работы мультиплексора
Мультиплексор -to-1
Рассмотрим мультиплексор
(это значит, что есть всего два входа и , значения которых могут подаваться на вход ). Переберём всевозможные варианты значений на входах. Если на подавать , то на выход будет подаваться то же значение, которое подаётся на вход , т.е. в данном случае значение на входе нас не интересует. Аналогично, если на вход подавать , то на выход будет подаваться то же значение, которое подаётся на вход . Для более лучшего понимания посмотрим на таблицу истинности.? | |||
? | |||
? | |||
? |
Мультиплексор -to-1
Также рассмотрим мультиплексор
(это значит, что есть четыре входа , , и , значения которых могут подаваться на выход ). Также переберём всевозможные варианты значений на входах. Тут уже входа и , которые определяют, значение какого из входов , , или будет подаваться на выход . Если </tex>, то на выход будет подаваться значение входа , если </tex> и </tex> то значение , если </tex> и </tex> то значение , в противном случае значение . Для более лучшее понимания рекомендуется обратиться к таблице истинности.? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? | ||||
? | ? | ? |
Логическая схема мультиплексора
Заметим, что дешифратор имеет входов и выходов, причём на все выходы дешифратора подаётся кроме выхода , на который подаётся , где - число, которое кодируется его входами.
Тогда давайте построим дешифратор
(это значит, что у дешифратора имеется входов и выходов), на вход ему подадим входы , , , , а выходы этого дешифратора обозначим как , , , , а потом с помощью гейта соединим выход дешифратора с входом мультиплексора, потом соединим все гейты с выходом . Давайте разберёмся, почему эта схема правильная: очевидно, что если входы , , кодируют вход , то это значит, что только выход дешифратора будет иметь , тогда как на остальных выходах будет , значит, что значения на входах , , , , , , на ответ никак повлиять не могут. Теперь, если на входе было , то на выходе будет , если же на входе был , то на выходе будет .Принцип работы демультиплексора
Демультиплексор -to-2
Рассмотрим демультиплексор
(это значит, что у демультиплексора два выхода). Если на вход подать значение , то на выход будет подаваться то же значение, которое подаётся на вход , а на выход будет подаваться . Если же на вход подать значение , то на выход будет подаваться значение , а на выход то же значение, которое будет подаваться на вход . Для более лучшего понимания посмотрим на таблицу истинности.Демультиплексор -to-4
Также рассмотрим демультиплексор
(это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа и , которые определяют, на какой из выходов , , или будет подаваться значение , тогда как на остальные выходы будет подаваться . В случае, когда </tex>, то на выход будет подаваться значение на входе , тогда как на , и будет подаваться . Если же </tex> и </tex>, то на выходы , и будет подаваться , а на выход будет подаваться то же, что подаётся на вход . Аналогично разбираются случаи </tex>, </tex> и </tex>. Для более лучшего понимания посмотрим на таблицу истинности.Логическая схема демультиплексора
Построим схему, аналогичную схеме мультиплексора.
Тогда давайте построим дешифратор,
, на входы дешифратора подадим входы , , , , а выходы этого дешифратора мы обозначим как , , , . Поставим гейтов и соединим каждый из выходов дешифратора , , , со входом с помощью гейта , потом соединим соответственные гейты с выходами , , , , причем мы соединим гейт с выходом , если на этот гейт приходится выход дешифратора .См. также
- Метод Лупанова синтеза схем
- Реализация булевой функции схемой из функциональных элементов
- Дешифратор