Вычислительная техника и информационные технологии    

Глава 3

назад | оглавление | вперёд

 

3. Комбинационные устройства

Комбинационные устройства состоят из логических элементов. Выходной сигнал в любой момент времени определяется состоянием входов и пропадает после снятия входных сигналов. Наиболее известным представителем такого класса схем является дешифратор.

3.1 Дешифратор (декодер)

Служит для преобразования n-разрядного позиционного двоичного кода в единичный выходной сигнал на одном из 2n выходов. При каждой входной комбинации сигналов на входе появляется 1 на из выходов. Потому полный декодер имеет  n-входов и 2n-выходов.

Составим таблицу истинности декодера при n=2.

Х1

Х2

У0

У1

У2

У3

0

0

1

0

0

0

0

1

0

1

0

0

1

0

0

0

1

0

1

1

0

0

0

1

Таблица 3.1 - Таблица истинности двухразрядного дешифратора

Если схема имеет несколько выходов, то каждый выход описывается своей функцией. Такая система функций называется системой собственных функций.

По этой системе несложно построить схему дешифратора (рис.3.1).

Рисунок 3.1 - Схема дешифратора

Условное графическое обозначение изображено на рисунке 3.2.

Рисунок 3.2 - Условное графическое обозначение дешифратора

Декодер можно синтезировать с управляющим входом например, входом V.

V

X1

X2

Y0

Y1

Y2

Y3

1

0

0

1

0

0

0

1

0

1

0

1

0

0

1

1

0

0

0

1

0

1

1

1

0

0

0

1

0

-

-

0

0

0

0

Таблица 3.2 - Таблица истинности

Таблица истинности составлена так, что при V=1 декодер работает как обычно, а при V=0 на всех выходах будут нули.

Система собственных функций.

Рисунок 3.3 - Дешифратор с управляющим входом V

3.2 Шифратор (кодер)

Выполняет функцию, обратную декодеру, то есть преобразует непозиционный (унитарный) двоичный код  в n разрядный позиционный.

Составим таблицу истинности шифратора при n = 2.

Х1

X2

X3

Х4

Y0

Y1

1

0

0

0

0

0

0

1

0

0

0

1

0

0

1

0

1

0

0

0

0

1

1

1

Таблица 3.3 - Таблица истинности шифратора при n = 2

Синтезируем шифратор. Для этого запишем систему собственных функций

Рисунок 3.4 - Схема шифратора

Рисунок 3.5 - Условное графическое обозначение шифратора

3.3 Мультиплексор

Мультиплексор – устройство, которое позволяет коммутировать один из 2n информационных входов X на один выход Y под действием  n управляющих (адресных) сигналов. На рисунке 3.6 изображена упрощенная схема мультиплексора на идеализированных электронных ключах.

Рисунок 3.6 - Схема мультиплексора на идеализированных электронных ключах

В цифровых схемах требуется управлять ключами при помощи логических уровней. Поэтому желательно подобрать устройство, которое могло бы выполнять функции электронного ключа с электронным управлением цифровым сигналом.

Попробуем заставить работать в качестве электронного ключа уже знакомые нам логические элементы. Рассмотрим таблицу истинности логического элемента "И". При этом один из входов логического элемента "И" будем рассматривать как информационный вход электронного ключа, а другой вход – как управляющий. Так как оба входа логического элемента "И" эквивалентны, то не важно какой из них будет управляющим входом.

Пусть вход X будет управляющим, а Y – информационным. Для простоты рассуждений, разделим таблицу истинности на две части в зависимости от уровня логического сигнала на управляющем входе X.

По таблице истинности отчетливо видно, что пока на управляющий вход X подан нулевой логический уровень, сигнал, поданный на вход Y, на выход Out не проходит. При подаче на управляющий вход X логической единицы, сигнал, поступающий на вход Y, появляется на выходе Out.

Это означает, что логический элемент "И" можно использовать в качестве электронного ключа. При этом не важно, какой из входов элемента "И" будет использоваться в качестве управляющего входа, а какой – в качестве информационного. Остается только объединить выходы элементов "И" на один выход. Это делается при помощи логического элемента "ИЛИ" точно так же как и при построении схемы по произвольной таблице истинности. Получившийся вариант схемы коммутатора с управлением логическими уровнями приведен на рисунке 3.7.

Рисунок 3.7 - Принципиальная схема мультиплексора, выполненная на логических элементах

В схемах, приведенных на рисунках 3.6 и 3.7, можно одновременно включать несколько входов на один выход. Однако обычно это приводит к непредсказуемым последствиям. Кроме того, для управления таким коммутатором требуется много входов, поэтому в состав мультиплексора обычно включают двоичный дешифратор, как показано на рисунке 3.8. Такая схема позволяет управлять переключением информационных входов мультиплексора при помощи двоичных кодов, подаваемых на его управляющие входы. Количество информационных входов в таких схемах выбирают кратным степени числа два.

Рисунок 3.8 - Принципиальная схема мультиплексора, управляемого двоичным кодом

Условно-графическое обозначение четырёхвходового мультиплексора с управлением двоичным кодом приведено на рисунке 3.9. Входы A0 и A1 являются управляющими входами мультиплексора, определяющими адрес информационного входного сигнала, который будет соединён с выходным выводом мультиплексора Y. Информационные входные сигналы обозначены как X0, X1, X2 и X3.

Рисунок 3.9 - Условно графическое обозначение четырёхвходового мультиплексора

В условно-графическом обозначении названия информационных входов A, B, C и D заменены названиями X0, X1, X2 и X3, а название выхода Out заменено на название Y. Такое название входов и выходов более распространено в отечественной литературе. Адресные входы обозначены как A0 и A1.

Промышленностью выпускаются мультиплексоры с числом адресных входов 2, 3, 4. Если этого недостаточно, то используют каскадное включение мультиплексоров (рис. 3.10). Пусть требуется создать 16–ти  канальный мультиплексор из 4–х канальных. Значит адрес должен быть четырёхразрядным    А0  А1  А2  А3  ( 2= 16 ). Этот адрес подаётся на входы декодеров определённым образом.

Рисунок 3.10 - Каскадное включение мультиплексоров

3.4 Демультиплексор

Выполняет функцию обратную мультиплексору, то есть коммутирует один информационный вход на один из 2n выходов под действием n управляющих (адресных) сигналов. Составим схему демультиплексора при n = 2.

Рисунок 3.11 - Схема демультиплексора

Очевидно, что если на информационный вход (D) подать 1, то это будет дешифратор в чистом виде. Вход D можно использовать как клапан (V).

Рисунок 3.12 - Условное графическое изображение демультиплексора

3.5 Преобразователи кодов

Наиболее широко преобразователи кодов известны применительно к цифровым индикаторам. Например, преобразователь 4-х разрядного позиционного двоичного кода в десятичные цифры.

Имеется семи сегментный индикатор и с его помощью требуется высветить десять цифр.

 

Рисунок 3.13 - Семи сегментный индикатор

Очевидно, что двоичный код должен иметь не менее четырёх разрядов (2= 16 что больше 10).

Составим таблицу истинности (ТИ) работы такого преобразователя.

Цифра

двоичный код 8-4-2-1

а

б

в

г

д

е

ж

0

0

0

0

0

1

1

1

1

1

1

0

1

0

0

0

1

0

1

1

0

0

0

0

2

0

0

1

0

1

1

0

1

1

0

1

3

0

0

1

1

1

1

1

1

0

0

1

4

0

1

0

0

0

1

1

0

0

1

1

5

0

1

0

1

1

0

1

1

0

1

1

6

0

1

1

0

1

0

1

1

1

1

1

7

0

1

1

1

1

1

1

0

0

0

0

8

1

0

0

0

1

1

1

1

1

1

1

9

1

0

0

1

1

1

1

1

0

1

1

Таблица 3.4 - Таблица истинности преобразователя

По ТИ несложно составить систему собственных функций для всех выходов, т.е. СДНФ, минимизировать её и составить схему. Так и делают.

Рисунок 3.14 - Условное графическое обозначение преобразователя кода

3.6 Сумматоры

Сумматор – узел компьютера, предназначенный для сложения двоичных чисел. Построение двоичных сумматоров обычно начинается с сумматора по модулю.

Сумматор по модулю 2

Схема сумматора по модулю 2 совпадает со схемой исключающее «ИЛИ».

Х1

Х2

У

0

0

0

0

1

1

1

0

1

1

1

0

На основе логического уравнения,  описывающего этот элемент можно синтезировать схему:

Рисунок 3.15 - Схема сумматора по модулю 2

Сумматор по модулю 2 выполняет суммирование без учёта переноса. В обычном двоичном сумматоре требуется учитывать перенос, поэтому требуются схемы, позволяющие формировать перенос в следующий двоичный разряд. Таблица истинности такой схемы, называемой полусумматором, приведена на рисунке 3.16.

Полусумматор

Рисунок 3.16 - Таблица истинности полусумматора

Здесь        а и в – слагаемые;

S – сумма;

P0 – перенос в старший разряд (выход переноса Pout).

Запишем систему собственных функций для полусумматора:

P0 = a × в

Рисунок 3.17 - Принципиальная схема, реализующая таблицу истинности полусумматора

Рисунок 3.18 - Изображение полусумматора на схемах

Полный сумматор

Схема полусумматора формирует перенос в старший разряд, но не  может учитывать перенос из младшего разряда. При сложении многоразрядных двоичных чисел необходимо складывать три цифры в каждом разряде – 2 слагаемых и единицу переноса из предыдущего разряда PI.

PI

a

в

S

PO

PI – вход 1 переноса из предыдущего разряда

PO – выход 1 переноса в старший разряд.

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

 

1

0

0

1

0

 

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Таблица 3.5 - Таблица истинности полного сумматора

На основании таблицы истинности запишем систему собственных функций для каждого выхода:

В результате получим схему полного сумматора (рисунок 3.19).

Рисунок 3.19 - Принципиальная схема, реализующая таблицу истинности полного двоичного одноразрядного сумматора

Рисунок 3.20 - Изображение полного двоичного одноразрядного сумматора на схемах

Многоразрядный сумматор

Для того чтобы получить многоразрядный сумматор, необходимо соединить входы и выходы переносов соответствующих двоичных разрядов. Схема соединения приведена на рисунке 3.21. Полный двоичный многоразрядный сумматор изображается на схемах как показано на рисунке 3.22.

Рисунок 3.21 - Принципиальная схема многоразрядного двоичного сумматора

Рисунок 3.22 - Изображение полного двоичного многоразрядного сумматора на схемах

3.7 Шинные формирователи

Мультиплексоры предназначены для объединения нескольких выходов в тех случаях, когда заранее известно, сколько выходов нужно объединять. Часто это неизвестно. Более того, в ряде случаев количество объединяемых микросхем изменяется в процессе эксплуатации устройств. Наиболее яркий пример - это компьютеры, в которых в процессе эксплуатации изменяется объем оперативной памяти, количество портов ввода-вывода, количество дисководов. В таких случаях невозможно для объединения нескольких выходов воспользоваться логическим элементом "ИЛИ".

Для объединения нескольких выходов на один вход в случае, когда заранее не известно, сколько микросхем нужно объединять, используется два способа:

·                   монтажное ИЛИ

·                   шинные формирователи

Исторически первой схемой объединения выходов были схемы с открытым коллектором (монтажное "ИЛИ"). Схема монтажного "ИЛИ" приведена на рисунке 3.23.

Такое объединение микросхем называется шиной и позволяет объединять до 10 микросхем на один провод. Естественно, для того, чтобы микросхемы не мешали друг другу, только одна из микросхем должна выдавать информацию на общий провод. Остальные микросхемы в этот момент времени должны быть отключены от шины (то есть выходной транзистор должен быть закрыт). Это обеспечивается внешней микросхемой управления, не показанной на данном рисунке. В качестве подобной микросхемы может служить обычный дешифратор.

На принципиальных схемах логические элементы с открытым коллектором обозначаются, как это показано на рисунке 3.24.

Недостатком приведенной схемы объединения нескольких микросхем на один провод является низкая скорость передачи информации, обусловленная затягиванием переднего фронта. Это явление связано с различным сопротивлением заряда и разряда паразитной ёмкости шины. Ток заряда паразитной ёмкости проходит через сопротивления R1 и R2, которые много больше сопротивления открытого транзистора, обеспечивающий разряд этой ёмкости. Величину сопротивления нагрузки R1 и R2 невозможно уменьшить меньше некоторого предела, определяемого напряжением низкого уровня, который определяется в свою очередь допустимым током потребления всей схемы в целом. Временная диаграмма напряжения на шине с общим коллектором приведена на рисунке 3.25.

Рисунок 3.23 - Схема монтажного "ИЛИ"

Рисунок 3.24 - Обозначение микросхемы с открытым коллектором на выходе

Рисунок 3.25 - Временные диаграммы напряжения на входе и выходе микросхемы с открытым коллектором

Рисунок 3.26 - Путь протекания сквозного тока при непосредственном соединении выходов цифровых микросхем

Рисунок 3.27 - Принципиальная схема выходного каскада микросхемы с тремя состояниями на выходе

Рисунок 3.28 - Обозначение микросхемы с тремя состояниями на выходе

Рисунок 3.29 - Обозначение шинного формирователя

Естественным решением этой проблемы было бы включение транзистора в верхнее плечо схемы, но при этом возникает проблема сквозных токов, из-за которой невозможно соединять выходы цифровых микросхем непосредственно, и почему выходы микросхем объединяют при помощи микросхем с открытым коллектором (“логическое ИЛИ”). Причина возникновения сквозных токов поясняется на рисунке 3.26. На этом рисунке показана ситуация, когда одна из микросхем пытается выдать на выход логическую “1”, а другая микросхема пытается выдать логический “0”.

Эта проблема исчезает, если появляется возможность закрывать транзисторы, как в верхнем, так и в нижнем плече выходного каскада. Если в микросхеме закрыты оба транзистора, то такое состояние выхода микросхемы называется третьим состоянием или z-состоянием (высокоомным состоянием) выхода микросхемы. Такая возможность появляется в специализированных микросхемах с третьим состоянием на выходе микросхемы. Принципиальная схема выходного каскада микросхемы с тремя состояниями на выходе приведена на рисунке 3.27.

На принципиальных схемах логические элементы с тремя состояниями на выходе обозначаются, как это показано на рисунке 3.28.

Часто в микросхеме, содержащей элементы с тремя состояниями выходного каскада,  объединяют управляющие сигналы всех элементов в один провод. Такие микросхемы называют шинными формирователями и изображают на схемах как показано на рисунке 3.29.