Мультиплексор – это коммутатор N входов на один выход. На принципиальных схемах мультиплексоры обозначают следующим образом:
Приведённый мультиплексор имеет четыре входа 0 ÷ 3, которые коммутируются на выход У в зависимости от логической комбинации на управляющих (адресных) входах А и В. А – младший разряд, В – старший. Код на адресных входах задаёт номер информационного входа, который коммутируется на выход, что видно из таблицы истинности.
В
А
У
Вх. 0
Вх. 1
Вх. 2
Вх. 3
Мультиплексоры бывают с инвертирующим выходом, а также со стробирующим входом. Стробирующий вход обычно обозначают буквой S. Стробирующий вход – это вход, разрешающий работу мультиплексора. Активным уровнем входа S, разрешающим работу мультиплексора, в большинстве случаев является уровень логического нуля. Если мультиплексор с инверсией выхода, то при при неработающем мультиплексоре (S=1) на выходе будет единица и наоборот. Наряду с одинарными мультиплексорами, в линейке логических микросхем довольно широко представлены сдвоенные мультиплексоры. Обозначение такого мультиплексора на принципиальной схеме имеет вид, аналогичный варианту 1.
Вариант 1
Вариант 2
Как видно из рисунка, мультиплексор имеет инвертирующие выходы и два стробирующих входа. Управление коммутацией входов у представленного мультиплексора параллельное. Т.е при подаче кода адреса коммутируемого входа мультиплексора на входы А и В, коммутируются одинаковые входы обоих входных тетрад, но на разные выходы У1 и У2. Необходимо отметить, что выходы должны быть разрешены соответствующими стробирующими входами S.
Кроме мультиплексоров, коммутирующих один из входов на один выход, имеются мультиплексоры, которые коммутируют сразу все входы на выходы (число выходов в этом случае равно числу входов), имеют третье состояние выходов и несколько параллельных входов. Такие мультиплексоры удобно применять для переключения источников сигналов имеющих «шинную» организацию, т.е передающих параллельный код. Подобные мультиплексоры на принципиальных схемах обозначаются аналогично варианту 2. Такой мультиплексор выводит на выход сигналы входных тетрад R или D, в зависимости от состояния адресного входа А при условии, что на стробирующем входе присутствует низкий уровень, иначе, выход мультиплексора будет находится в третьем состоянии.
Расширение мультиплексора по входам. Очень часто при проектировании логических устройств возникают проблемы получения коммутатора с большим количеством входов. Так, например, в клавиатурах компьютеров используются мультиплексоры, которые имеют 100 входов. Готовых микросхем с таким количеством входов нет, однако, получить описанный мультиплексор из менее ёмких по входам мультиплексоров не составляет большого труда. Рассмотрим этот процесс подробнее. Например, нам необходимо получить 8-и входовой мультиплексор, но под руками оказались мультиплексоры, которые имеют только по 4 входа. В этом случае старший адресный разряд используют для управления мультиплексорами, т.е. в качестве стробирующего сигнала. Принципиальная схема включения мультиплексоров для описанного случая будет иметь вид:
С
В
А
№ MS
2-ой MS
….
1-ый MS
….
На схеме проставлены логические уровни сигналов, когда адрес входа имеет формат 0ххх, т.е. когда вход С = 0. В этом случае работает нижний (2-й) мультиплексор и его четыре входа коммутируются на выход схемы. В случае, когда С = 1 работает верхний мультиплексор и уже его четыре входа коммутируются на выход схемы. Таким образом, подобное каскадное включение мультиплексоров позволяет расширять количество входов мультиплексоров. Необходимо отметить также и то обстоятельство, что в такой схеме имеется возможность точно определить номер информационного входа, на котором присутствует логический ноль (либо единица). Для этого достаточно перебрать все возможные комбинации адресов входов, и каждый раз проверять состояние выхода схемы.
Дальнейшее расширение количества входов мультиплексоров возможно, но требует более сложных схемных решений. Так для получения из описанных выше мультиплексоров одного, но с 16-ю входами необходимо установить четыре мультиплексора, а управление ими реализовывать не на отдельных логических элементах, а на специализированном устройстве, который называется дешифратор.
Использование MS для реализации булевых функций. С помощью мультиплексора можно реализовывать различные булевы функции. При использовании мультиплексора для реализации логических функций число адресных входов мультиплексора должно быть равно количеству аргументов логической функции. Значения логической функции подаются на информационные входы мультиплексора. Причём на каждый информационный вход мультиплексора должен подаваться тот логический уровень, который соответствует набору аргументов логической функции, подаваемому на адресные входы мультиплексора.
Таким образом, принципиальная схема устройства, реализующего логическую функцию с тремя аргументами, имеет вид:
В
А
У
Иногда необходимо реализовать логическую функцию на основе мультиплексора, когда число аргументов логической функции оказывается больше адресных входов мультиплексора. Это можно сделать только в случае, когда количество аргументов логической функции на единицу больше количества адресных входов мультиплексора. В этом случае старший аргумент логической функции используется как значение логической функции и подаётся на информационные входы мультиплексора. В некоторых случаях может использоваться дополнительный инвертор. Принципиальная схема подобного устройства имеет вид:
С
В
А
У
Сравнивая предыдущий пример и представленный выше можно видеть, что последняя схема реализует как предыдущую схему (при С = 0), так и дополнительную часть таблицы истинности (при С = 1).