Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Элементы комбинационной схемотехники. Ч.1. Лабораторный практикум по курсу «Основы информационной техники». Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Лабораторная работа 6
ПРИМЕНЕНИЕ МУЛЬТИПЛЕКСОРА
КАК МНОГОФУНКЦИОНАЛЬНОГО УЗЛА
ЦИФРОВЫХ УСТРОЙСТВ
Цель: изучить устройство и работу мультиплексора в каче-
стве многофункционального элемента цифровой электроники.
Введение
Все цифровые комбинационные узлы – многофункциональные,
т.е. они могут выполнять функции, специально для них не преду­смотренные. В ряде случаев эти узлы обеспечивают некоторые схемные преимущества перед специализированными, предназна­ченными для реализации этих функций. Мультиплексор является наиболее характерным многофункциональным узлом. Структура и разнообразные режимы работы универсального селектора­мультиплексора позволяют использовать его в качестве коммута­тора не только цифровых, но и аналоговых сигналов, в качестве мажоритарной схемы с приоритетом или, например, в качестве двоичного шифратора клавиатуры, не чувствительного к «дребез­гу» контактов. Универсальность мультиплексора позволяет ис­пользовать его в микропроцессорных системах для повышения их производительности за счет рациональной обработки сигналов за­проса на прерывание. Различные варианты применения програм­мируемого мультиплексора помогают в управлении прохождением информации, расшифровки команд машин с микропрограммным управлением для реализация цифрового хронирующего генератора. Применение «статистических» или «разумных» мультиплексоров дает возможность реализовать в сетях передачи данных многие функции, свойственные более дорогим сетевым процессорам с микропрограммным управлением и концентратором. Другим до­стоинством статистических мультиплексоров является то, что их распределенная логика позволяет им работать в качестве модемов и устройств коммутации.
81
Реализация произвольных функций алгебры логики
на мультиплексорах
Пусть требуется реализовать функцию алгебры логики (ФАЛ),
зависящую от двух переменных и представленную таблицей ис­тинности (табл. 6.1).
Таблица 6.1
Таблица истинности ФАЛ
№ набора х1 х0 Y
0 0 0 1 1 0 1 0 2 1 0 0 3 1 1 1
Запишем уравнение переключательной функции в совершенной
дизъюнктивной нормальной форме (СДНФ) для этой функции и одновременно уравнение для мультиплексора MUX 4 → 1:
, (6.1)
1001
⋅⋅+⋅+⋅+⋅= xxxxxxxxY
1212121ФАЛ
Y AAI AAI AAI A AI=⋅+⋅+ ⋅+⋅⋅. (6.2)
01 3 01 2 0 1 1 0 1 0MUX
Очевидно полное совпадение выражений (6.1) и (6.2), из кото-
рых следует: если логические переменные x ветствующие адресные входы A мационные входы I
, I1, I2 и I3 нужно подать, соответственно, 1, 0, 0
0
и A0 MUX 4 → 1, то на его инфор-
1
и x0 подать на соот-
1
и 1 (рис. 6.1).
В общем случае можно сформулировать
следующее правило: если количество логиче­ских переменных n, от которых зависит реали­зуемая ФАЛ, совпадает с разрядностью адрес­ной части мультиплексора, то эти переменные подаются на адресные входы мультиплексора (старшая переменная − на старший адресный вход), а на информационные входы мульти­плексора MUX 2
n
→ 1 − константы 0 и 1 в со-
ответствии с таблицей истинности реализуе­мой ФАЛ.
82
Рис. 6.1. Реализация
ФАЛ при помощи
мультиплексора
MUX 4 → 1
Реализуем на том же MUX 4 → 1 ФАЛ, зависящую от трех пе-
ременных (табл. 6.2). Запишем для нее ДНФ, воспользовавшись картой Карно, представленной на рис. 6.2:
210 210 21
.Yxxx xxx xx=⋅⋅+⋅⋅+⋅ (6.3)
Таблица истинности
№ набора
x1 x0
x
2
0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1
Таблица 6.2
Y
Рис. 6.2. Карта Карно
Преобразуем выражение (6.3) к виду, аналогичному выражению
(6.1):
,1)()(0)()(
⋅⋅+⋅⋅+⋅⋅+⋅⋅= xxxxxxxxxxY
(6.4)
где произведение
введено, чтобы в выражении (6.4) были
012⋅xx
представлены все четыре конституэнты единицы двух переменных
x
и x1.
2
Сравнивая выражения (6.4) и (6.2), видим их полное соответ-
ствие. Отсюда вывод: на адресные входы A подать логические переменные x
I
, I2 и I3 для произвольной ФАЛ, зависящей от трех переменных, в
1
и x1, а информационные входы I0,
2
и A0 MUX 4 → 1 нужно
1
общем случае являются функциями от третьей переменной x кие функции – 0, 1, x
x
и
0
. Реализация данной ФАЛ представлена
0
на рис. 6.3.
Тот же результат проще получить, если в табл. 6.2 выделить че-
тыре группы по две строки в каждой и отделить переменную x
x
и x1 (табл. 6.3).
2
83
1201212012
. Та-
0
от
0
Рис. 6.3. Принципиальная схема
x
x
Таблица истинности с выделенными четырьмя группами по две строки
№ набора
0 1
2 3
4 5
6 7
x1 x0 Y
x
2
0 0
0 0
1 1
1 1
0 0
1 1
0 0
1 1
0 1
0 1
0 1
0 1
Таблица 6.3
0 1
0 0
1 0
1 1
Видно, что переменные x2 и x1 образуют четыре набора, на каж-
дом из которых функция Y зависит только от одной переменной x причем значения Y = f (x
) легко выявляются из этой таблицы.
0
Для общего случая можно сформулировать следующее правило:
если количество логических переменных n, от которых зависит ре­ализуемая ФАЛ, на единицу больше разрядности адресной части мультиплексора, то данную ФАЛ можно реализовать на мульти­плексоре MUX 2
n
→ 1 и одном инверторе.
Если распространить данный метод на реализацию ФАЛ, зави-
сящую от четырех переменных, на том же MUX 4 → 1, то очевид­но, что если две старшие переменные x но, на адресные входы A
и A0, то информационные входы будут
1
функциями двух младших переменных x ций – 16, из них 6 – вырожденные (0, 1, x
и x2 подать, соответствен-
3
и x0. Всего таких функ-
1
, x0,
1
),
,
а 10 функ-
0
1
ций зависят от двух переменных, причем для реализации послед­них требуются 8 различных логических элементов (И; И-НЕ; ИЛИ;
0
,
84
ИЛИ-НЕ; а функцию импликации;
ab ab⋅+⋅
b – элемент запрета; а + b – элемент, реализующий
·
ab ab⋅+ ⋅
– элемент равнозначности и
– элемент, реализующий сумму по модулю два). Итак, кроме мультиплексора, для данной реализации потребуется в худ­шем случае восемь различных логических элементов, поэтому ее, как правило, не рекомендуется использовать.
В некоторых частных случаях ФАЛ, зависящую от четырех пе­ременных, можно реализовать с использованием только одного мультиплексора MUX 4 → 1 без каких-либо логических элементов. Рассмотрим эти случаи.
Пусть требуется реализовать ФАЛ, представленную картой Карно (рис. 6.4).
Рис. 6.4. Карта Карно
Если две старшие переменные x3 и x2 подать на адресные входы
и A0 MUX 4 → 1, то информационные входы I0, I1, I2 и I3 можно
A
1
представить четырьмя картами Карно для двух переменных x (рис. 6.5).
а б в г
Рис. 6.5. Карты Карно для информационных входов I0−I3
Эти карты являются в данном случае строками карты Карно, представленной на рис. 6.4.
Из рис. 6.5 следует: I ветствующая схемная реализация показана на рис. 6.6.
= x
0
, I1 = x0, I2 = x1 и I3 = x1 + x0. Соот-
1·x0
85
и x0
1
Рис. 6.6. Схема, реализующая ФАЛ, заданная картами Карно (см. рис. 6.5)
Подадим теперь на адресные входы A1 и A0, соответственно, пе­ременные x представить четырьмя картами Карно для двух переменных x (рис. 6.7), причем эти карты в данном случае − столбцы карты Кар­но, данной в табл. 6.3.
и x0, тогда информационные входы I0, I1, I2 и I3 можно
1
и x2
3
3–I0
а б в г
Рис. 6.7. Карты Карно для информационных входов I
Из рис. 6.7 следует: I0 = 0, I1 = x2, I2 = x3 и
= 1. Соответствующая реализация – на
I
3
рис. 6.8. Сравнивая рис. 6.6 и 6.8, делаем очевидный вывод о предпочтительности реализации, представленной на рис. 6.8, так как здесь не требуется никаких логических элементов.
Для поиска рациональной структуры по данной методике в общем случае потребу­ется анализ шести вариантов подачи двух различных переменных из четырех на ад-
Рис. 6.8. Схема, реали-
зующая ФАЛ, пред-
ставленная картами
Карно (рис. 6.7)
ресные входы MUX 4 → 1 (здесь шесть – это число различных сочетаний из четырех переменных по две).
Проще рациональную структуру выявить, выполняя следующие процедуры:
−
записать реализуемую ФАЛ в ДНФ; в нашем случае из
рис. 6.8 следует
86
x
x
Y = x
− определить две переменные, наиболее часто встречающиеся в различных простых импликантах; из (6.5) это x встречаются по два раза, а переменные x но переменные x ресные входы A
используя правило развертывания, законы дополнительно-
−
и x0 необходимо подать на соответствующие ад-
1
и A0 MUX 4 → 1;
1
сти, одинарных элементов, поглощения и распределительный закон первого рода, преобразовать ДНФ к виду, когда в выражении для реализуемой ФАЛ присутствуют все четыре конституэнты едини­цы двух переменных, выявленных в предыдущей процедуре; в нашем случае имеем
Y = x3⋅x1 + x1⋅x0 + x2⋅x0 = x3⋅x1 ⋅1 + x1⋅x0 + x2 ⋅1 ⋅ x0 = = x
= x = x = x
⋅ (x0 + 0)x + x1⋅x0 + x2⋅ (x1 +1)x⋅x0 =
3⋅x1
+ x3⋅x1⋅
3⋅x1⋅x0
⋅
⋅x0 + x3⋅x1⋅0x + x1⋅x0⋅(1 + x3 + x2) =
x
2
1
⋅
⋅x0 + x3⋅x1⋅0x + x1⋅x0.
x
2
1
Представим теперь выражение (6.6) в виде, аналогичном выра-
жению (6.1):
Y =
xx ⋅ ⋅ 0 +
01
Сравнивая (6.7) и (6.2), выявляем: I0 = 0, I1 = x2, I2 = x3 и I3 = 1 (см. рис. 6.8). Эту методику можно распространить и на реализа­цию систем двух или четырех ФАЛ с использованием 2- или 4-разрядных мультиплексоров, имеющих общую адресную часть. Рациональный выбор переменных, подаваемых на адресные входы мультиплексоров, определяется подсчетом общего числа каждой переменной, входящей в две или четыре функции, и в качестве ад­ресных выбираются те, которые встречаются наибольшее число раз во всех простых импликантах всех реализуемых ФАЛ.
Если использовать стробируемые MUX 2 стояния выхода, то любую ФАЛ, зависящую от n + 2 переменных, легко реализовать на двух стробируемых мультиплексорах и двух инверторах. Один из инверторов используется в цепи стробирова-
+ x
3·x1
+ x1⋅x0 + x2⋅x1⋅x0 + x2⋅
0
x
1
1·x0
+ x
; (6.5)
2·x0
и x0, так как они
1
и x2 – только один; имен-
3
⋅x0 = (6.6)
1
⋅x0⋅x2 + x1⋅0x ⋅x3 + x1⋅x0 ⋅1. (6.7)
n
→ 1, имеющие три со-
87
ния одного из мультиплексоров, другой – на их информационных входах.
Пример. Пусть требуется реализовать ФАЛ, представленную
картой Карно на рис. 6.9.
Рис. 6.9. Карта Карно
Будем использовать стробируемые мультиплексоры типа MUX 4 → 1, имеющиt три состояния выхода и активный уровень «0» на стробирующих входах. Представим эту карту в виде двух, завися­щих от трех младших переменных (рис. 6.10).
а б
Рис. 6.10. Карты Карно
Подавая переменную x3 непосредственно на стробирующий вход одного из мультиплексоров MUX 4 → 1, мы реализуем функ­цию y внешний инвертор на вход другого – y что Y = y
(карта Карно, см. рис. 6.10,а) и через дополнительный
1
(см. рис. 6.10,б). Очевидно,
2
+ y2, причем логическая операция «ИЛИ» здесь – мон-
1
тажная операция соединения в единую цепь выходов этих двух мультиплексоров. Подавая переменные x адресные входы A
и A0, а переменную x0 непосредственно или че-
1
и x1 на соответствующие
2
рез второй дополнительный внешний инвертор вместе с констан­тами 0 и 1 на информационные входы мультиплексоров, получаем окончательную реализацию ФАЛ (рис. 6.11).
88
Рис. 6.11. Реализация ФАЛ, представленная картой Карно (см. рис. 6.9)
Надо отметить, что функции y
и y2 можно реализовать по раци-
1
ональным структурам, способы получения которых описаны ранее, так как на адресные входы двух мультиплексоров необязательно подавать одни и те же переменные.
Реализацию одной ФАЛ на мультиплексоре можно рассматри­вать как одноразрядное постоянное запоминающее устройство (ПЗУ), а системы из n ФАЛ, зависящих от одних и тех же перемен­ных, – как n-разрядное ПЗУ.
Мультиплексор как многофункциональный узел
Работа мультиплексора в режиме сдвигателя
Сдвигателем называется цифровой комбинационный узел,
предназначенный для сдвига n-разрядного слова на любое число разрядов в диапазоне от 0 до m за один такт. Имеется в виду, что смена однопозиционного управляющего сигнала вызывает немед­ленное (через время, определяемое задержками распространения сигналов через логические элементы) выполнение требуемой мик­рооперации.
89
Рассмотрим уравнения (6.8) для сдвигателя с параметрами n = 4, m = 3. Это значит, что разрядность входного слова X = {x x
} − n = 4, разрядность выходного слова Y = {y6, y5, y4, y3, y2, y1,
0
y
} − n + m = 7 , сдвиг может быть реализован на 0, 1, 2 и, макси-
0
, x2, x1,
3
мум, на три разряда:
y
= S0 ⋅ x0,
0
y
= S0 ⋅ x1 + S1 ⋅ x0,
1
y
= S0 ⋅ x2 + S1 ⋅ x1 + S2 ⋅ x0,
2
y
= S0 ⋅ x3 + S1 ⋅ x2 + S2 ⋅ x1 + S3 ⋅ x0, (6.8)
3
y
= S1 ⋅ x3 + S2 ⋅ x2 + S3 ⋅ x1,
4
= S2 ⋅ x3 + S3 ⋅ x2,
y
5
y
= S3 ⋅ x3,
6
где S0 – однопозиционный управляющий сигнал; при его активном состоянии S го слова на выход без сдвига, при S
= 1 и S1 = S2 = S3 = 0 обеспечивается передача входно-
0
= 1 и S0 = S2 = S3 = 0 осуществ-
1
ляется сдвиг входного слова на один разряд и т. д.
Для реализации этих уравнений требуются двухвходовые эле­менты «И» и элементы «ИЛИ» на 2, 3 и 4 входа. Поскольку в дан­ном случае выполняется четыре микрооперации (m = 0, 1, 2 или 3), то наиболее просто реализовать такой сдвигатель на семи MUX 4 → 1, используя их адресные входы как управляющий код числа m (табл. 6.4).
Таблица 6.4
Таблица управляющих кодов
№ набора A1 A0 Сдвиг
0 0 0 0 1 0 1 1 2 1 0 2 3 1 1 3
Принципиальная схема такого сдвигателя приведена на рис. 6.12. На свободные входы мультиплексоров подаются сигна­лы, характер которых определяется конкретным алгоритмом, реа­лизуемым операционным узлом (логический, арифметический, циклический сдвиг и т.п.).
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]