Шифраторы и дешифраторы конспект

Обновлено: 02.07.2024

Шифратор (кодер) — (англ. encoder) логическое устройство, выполняющее преобразование позиционного кода в n-разрядный двоичный код. Шифратор выполняет функцию преобразования унарного кода в двоичный. При подаче сигнала на один из входов (обязательно на один, не более) на выходе появляется двоичный код номера активного входа.

Таблица истинности для шифратора 4 в 2
A3 A2 A1 A0 X1 X0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
Если количество входов настолько велико, что в шифраторе используются все возможные комбинации сигналов на выходе, то такой шифратор называется полным, если не все, то неполным. Число входов и выходов в полном шифраторе связано соотношением:

где n — число входов,m — число выходов.
Приоритетный шифратор отличается от шифратора наличием дополнительной логической схемы выделения активного уровня старшего входа для обеспечения условия работоспособности шифратора (только один уровень на входе активный). Уровни сигналов на остальных входах схемой игнорируются.
Дешифратор - это логическое устройство, работающее следующим образом: он получает на вход закодированный сигнал (двоичный, двоично-десятичный и т.п.), и выдает его на одном из n своих выходов. Существуют другие дешифраторы, преобразующие один код в другой.
Число входов дешифратора обычно меньше числа выходов.
Примеры дешифраторов:
• дешифратор 2 в 4; дешифратор 3 в 8; дешифратор 4 в 8;
• дешифратор двоично-десятичного кода в двоичный;
• дешифратор двоичного кода в код для 7-сегментного индикатора.
В соответствии с кодовой комбинацией на входах дешифратор выдает активный уровень (уровень логической единицы) на одном из выходов
. Двоичной комбинации 101 на входах соответствует логическая 1 на выходе Q5 (двоичное 101 равно десятичному 5), на остальных выходах будет 0.


Таблица истинностидля дешифратора 3 в 8.
A2 A1 A0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0


Принцип работы шифратора заключается в том, что выходы [math]z_0[/math] , [math]z_1[/math] , [math]\ldots[/math] , [math]z_[/math] кодируют один из входов [math]s_0[/math] , [math]s_1[/math] , [math]\ldots[/math] , [math]s_[/math] в двоичной системе счисления. Очевидно, что если подать на несколько входов значение [math]1[/math] , то такая схема будет работать некорректно. В качестве примера рассмотрим шифратор [math]4[/math] -to- [math]2[/math] . Если [math]s_0 = 1[/math] , то [math]z_0 = z_1 = 0[/math] , если же [math]s_1 = 1[/math] , то [math]z_0 = 1[/math] и [math]z_1 = 0[/math] . Остальные случаи разбираются аналогичным образом.

[math]S_0[/math] [math]S_1[/math] [math]S_2[/math] [math]S_3[/math] [math]Z_0[/math] [math]Z_1[/math]
[math]\textbf[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math]
[math]0[/math] [math]\textbf[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]1[/math]
[math]0[/math] [math]0[/math] [math]\textbf[/math] [math]0[/math] [math]1[/math] [math]0[/math]
[math]0[/math] [math]0[/math] [math]0[/math] [math]\textbf[/math] [math]1[/math] [math]1[/math]

Построить логическую схему шифратора можно следующим образом: давайте будем использовать гейт [math]OR[/math] , который имеет [math]m[/math] входов (где [math]m[/math] — какое-то натуральное число), и на выходе возвращает [math]0[/math] , если на всех его входах будет подано [math]0[/math] , в противном случае этот гейт вернёт [math]1[/math] . Давайте рядом с каждым выходом [math]z_i[/math] поставим гейт [math]OR[/math] , и будем, по необходимости, расширять этот гейт. Тогда для каждого входа рассмотрим двоичное представление номера этого входа, и если на [math]i[/math] -ом месте стоит [math]1[/math] , то соединим этот вход с гейтом [math]OR[/math] , который соединён с выходом [math]z_i[/math] . Очевидно, если подать ровно на один вход [math]1[/math] , то выходы будут кодировать это число в двоичном представлении (если подать [math]1[/math] на вход [math]s_0[/math] , то на всех выходах будет [math]0[/math] , а сам вход не будет соединён ни с каким гейтом).




Суть дешифратора заключается в том, что с помощью [math]n[/math] входов [math]s_0[/math] , [math]s_1[/math] , [math]\ldots[/math] , [math]s_[/math] можно задавать выход, на который будет подаваться [math]1[/math] . Для того, чтобы лучше понять, как работает дешифратор, рассмотрим в качестве примера дешифратор [math]2[/math] -to- [math]4[/math] (это значит, что у этого дешифратора есть два входа [math]s_0[/math] и [math]s_1[/math] и четыре выхода [math]z_0[/math] , [math]z_1[/math] , [math]z_2[/math] и [math]z_3[/math] ). Если [math]s_0 = s_1 = 0[/math] , то на выходе [math]z_0[/math] будет значение [math]1[/math] , на остальных выходах будет [math]0[/math] . Если же [math]s_0 = 1[/math] , [math]s_1 = 0[/math] , то на выходе [math]z_1[/math] будет [math]1[/math] , на остальных выходах будут [math]0[/math] . Если [math]s_0 = 0[/math] , [math]s _1 = 1[/math] , то на выходе [math]z_2[/math] будет [math]1[/math] , а на остальных входах будет [math]0[/math] . Если же [math]s_0 = s_1 = 1[/math] , то на выходе [math]z_3[/math] будет [math]1[/math] , а на других — [math]0[/math] .

[math]S_0[/math] [math]S_1[/math] [math]Z_0[/math] [math]Z_1[/math] [math]Z_2[/math] [math]Z_3[/math]
[math]\textbf[/math] [math]\textbf[/math] [math]\textbf[/math] [math]0[/math] [math]0[/math] [math]0[/math]
[math]\textbf[/math] [math]\textbf[/math] [math]0[/math] [math]\textbf[/math] [math]0[/math] [math]0[/math]
[math]\textbf[/math] [math]\textbf[/math] [math]0[/math] [math]0[/math] [math]\textbf[/math] [math]0[/math]
[math]\textbf[/math] [math]\textbf[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]\textbf[/math]

Давайте построим логическую схему дешифратора рекурсивным способом: допустим, что мы построили схему для [math]n-1[/math] входа, теперь попробуем слить [math]n[/math] -ый выход с предыдущими [math]n-1[/math] . Для [math]n=1[/math] схема выглядит тривиальным образом: от входа [math]s_0[/math] отходят два провода, один напрямую соединён с выходом [math]z_1[/math] , другой соединён с гейтом [math]NOT[/math] , а гейт [math]NOT[/math] соединён с выходом [math]z_0[/math] . Теперь допустим, что мы можем построить схему для [math]n-1[/math] входов. Тогда [math]n[/math] -ый вход соединим с дешифратором [math]1[/math] -to- [math]2[/math] , а первые [math]n-1[/math] входы соединим с дешифратором [math](n-1)[/math] -to- [math](2^)[/math] и потом соединим каждый выход дешифратора [math](n-1)[/math] -to- [math](2^)[/math] с каждым выходом дешифратора [math]1[/math] -to- [math]2[/math] с помощью гейтов [math]AND[/math] , потом соединим соответствующие гейты с выходами [math]z_i[/math] таким образом, чтобы значение на входе [math]z_i[/math] было равно [math]1[/math] только в том случае, если число [math]i[/math] кодируется входами [math]s_0[/math] , [math]s_1[/math] , [math]\ldots[/math] , [math]s_[/math] . Очевидно, что мы таким образом перебрали всевозможные комбинации значений на входах [math]s_0[/math] , [math]s_1[/math] , [math]\ldots[/math] , [math]s_[/math] , поэтому наша схема будет работать верно.

Устройство называют комбинационным, если его выходные сигналы в некоторый момент времени однозначно определяются входными сигналами, имеющими место в этот момент времени.

Комбинационные цифровые устройства (КЦУ) не содержат элементов памяти. Простейшим КЦУ является конъюнктор.

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

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

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

Рассмотрим поэтапный синтез КЦУ с одним выходом.

Этап 1. Запись условий функционирования КЦУ. Как отмечалось ранее, эти условия могут быть заданы словесно, с помощью таблиц истинности или булевых выражений. Например, требуется синтезировать на элементах И — НЕ КЦУ на три входа, выходной сигнал которого совпадает с большинством входных сигналов (мажоритарный элемент). Это словесное описание условий функционирования требуемого КЦУ. Ему соответствует таблица истинности:



Этап 2. Запись и минимизация булева выражения обычно производится на основе таблиц истинности. Если условия на этапе 1 заданны словесно, то на их основе предварительно составляется таблица истинности. Если булево выражение уже имеется на этапе 1, то выполняется его минимизация. В процессе минимизации широко используется преобразования с помощью соотношения булевой алгебры.
По таблице истинности записываем булево выражение (логическую функцию):
y= x 3 •x 2 •x 1 +x 3 • x 2 •x 1 +x 3 •x 2 • x 1 +x 3 •x 2 •x 1
Минимизацию логической функции осуществим с использованием основных теорем алгебры логики.

Добавим к данной функции два слагаемых, которое уже есть в данной функции, используя правило: х + х + х = х.
y= x 3 •x 2 •x 1 +x 3 • x 2 •x 1 +x 3 •x 2 • x 1 +x 3 •x 2 •x 1 +x 3 •x 2 •x 1 +x 3 •x 2 •x 1 Применим метод склеивания: х 1 • x 2 + x 1 •x 2 = x 2

y = x 2 •x 1 + x 3 •x 1 + x 3 •x 2

В результате получили упрощённое минимизированное выражение.

Этап 3. Запись минимизированной структурной формулы в заданном базисе. Так как реализация КЦУ на ИС предусматривает широкое использование элементов И — НЕ, ИЛИ — НЕ, И — ИЛИ — НЕ, то часто возникает необходимость соответствующих преобразований структурных формул с учётом заданной элементной базы.

Для перехода к заданному базису И — НЕ поставим два знака инверсии над правой частью формулы и применим к ней правило де Моргана. В результате получим структурную формулу в следующем виде:


Этап 4. составления структурной схемы, т. е. изображения нужных логических элементов и связей между ними.
Структурная схема синтезированного КЦУ приведена на рисунке:


Типовые комбинационные цифровые устройства.

При построении сложных устройств широко применяются не только отдельные логические элементы, реализующие элементарные булевы функции, но и их комбинации в виде типовых структур, выполняемых как единое целое в виде интегральных микросхем. На входе таких структур могут подаваться информационные логические сигналы и сигналы управления. Последние могут определять, например, порядок передачи информационных входных сигналов на выход или играть роль сигналов синхронизации. Во многих случаях, особенно при использовании в устройствах выходных цепей с тремя состояниями, в качестве сигналов синхронизации выступают сигналы " Выбор микросхемы" (CS). Наличие активного значения такого сигнала управления (в одних микросхемах это логический нуль, в других — логическая единица) разрешает устройству выполнение заданных функций, отсутствие его переводит схему в " невыбранное" состояние, при котором она обрабатывает информацию, а её выходы отключены от нагрузки. Внутренняя структура КЦУ часто приводится в справочниках. Для разработчика важно знать таблицу истинности, принцип преобразования входных сигналов в выходные.

Мультиплексоры и демультиплексоры

Мультиплексором называются комбинационные устройство, обеспечивающее передачу в желаемом порядке цифровой информации, поступающей по нескольким входам на один выход. Мультиплексоры обозначают через MUX (от англ. multiplexor), а также через MS (от англ. Multiplexor selector). Схематически мультиплексор можно изобразить в виде коммутатора, обеспечивающего подключение одного из нескольких входов (их называют информационными) к одному выходу устройства. Кроме информационных входов в мультиплексоре имеются адресные входы и, как правило, разрешающие (стробирующие). Сигналы на адресных входах определяют, какой конкретно информационный канал подключен к выходу. Если между числом информационных входов n и число адресных входов m действуют соотношение n =2 m , то такой мультиплексор называют полным. Если n m , то мультиплексор называют неполным.

Рассмотрим функционирование двухвходового мультиплексора (2 → 1), который условно изображён в виде коммутатора, а состояние его входов Х 1 , Х 2 и выхода Y приведено в таблице:



Исходя из таблицы, можно записать следующее уравнение: Y = X 1 • A + X 2 • A,

Реализация такого устройства и его УГО приведены ниже:



Количество мультиплексируемых входов называется количеством каналов мультиплексора, а количество выходов называется числом разрядов мультиплексора.

Число каналов мультиплексоров, входящих в стандартные серии, составляет от 2 до 16, а число разрядов — от 1 до 4, при чём чем больше каналов имеет мультиплексор, тем меньше у него разрядов.

Управление работой мультиплексора (выбор номера канала) осуществляется с помощью входного кода адреса. Например, для 4 — канального мультиплексора необходим 2 — разрядный управляющий (адресный) код, а для 16 — канального — 4 разрядный код. Разряды кода обозначаются 1, 2, 4, 8 или А0, А1, A2, А3. Мультиплексоры бывают с выходом 2С и с выходом 3С. Выходы мультиплексоров бывают прямыми и инверсивными. Выход 3С позволяет объединить выходы мультиплексоров с выходами других микросхем, а также получать двунаправленные и мультиплексированные линии.

УГО мультиплексора, имеющего 8 информационных входов, 3 адресных входа, вход разрешения V, и два выхода (прямой инверсный) показано на рисунке:



При V = 1 мультиплексор блокируется.



Два 8 — канальных мультиплексора объединены в 16 — ти канальный. Старший разряд А3 выбирает один из 2 — ух мультиплексоров.

Расширение разрядности мультиплексоров в общем случае реализуется их каскадным включением:



Здесь " Мультиплексорное дерево" содержит четыре четырёхвходовых мультиплексора MUX1 — MUX4 c запараллеленными адресными входами А0, А1, которыми одновременно выбирается один из входов всех четырёх элементов, а мультиплексор MUX5 кодом на адресных входах А2, А3 выбирает один из выходов Y 0 — Y 3 . Таким образом, четырёхразрядный код на входах А0 — А3соединяется с входом только один из 16 входов (16 =2 4 ) D0 — D15.

Демультиплексором называют устройство, в котором сигналы с одного информационного входа поступают в желаемой последовательности по нескольким выходам в зависимости от кода на адресных шинах. Таким образом, демультиплексор в функциональном отношении противоположен мультиплексору. Демультиплексоры обозначают через DMX или DMS:


При использовании КМОП — технологии можно построить двунаправленные ключи, которые обладают возможностью пропускать ток в обоих направлениях и передавать не только цифровые, но и аналоговые сигналы. Благодаря этому можно строить мультиплексоры — демультиплексоры, которые могут использоваться либо как мультиплексоры, либо как демультиплексоры. Мультиплексоры — демультиплексоры обозначаются через MX.

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

Шифратор — это комбинационное устройство, преобразующее десятичные числа в двоичную систему счисления, причём каждому входу может быть поставлено в соответствие десятичное число, а набор выходных логических сигналов соответствует определённому двоичному коду. Шифратор иногда называют " кодером" (от англ. Coder) и используют, например, для перевода десятичных чисел, набранных на клавиатуре.
Функции шифратора показаны на рисунке:



УГО и таблица истинности шифратора приведены на рисунке:


Из таблицы видно, что на выходах 1, 2, 4, 8, формируется двоичный код номера входной линии (x 0 , х 1 . x 9 ), на которую приходит входной сигнал. Одновременное поступление нескольких входных сигналов приводит к неопределённости на выходах.

Дешифратором называется комбинационное устройство, преобразующее n — разрядный двоичный код в логический сигнал, появляющийся на том выходе, десятичный номер которого соответствует двоичному коду. Функции дешифратора показан на рисунке:


УГО и таблица истинности дешифратора показаны на рисунке:



Активным всегда являются только один выход. Легко заметить, что активируется тот выход, адрес которого установлен на входах.

Дешифраторы широко используются в цифровой аппаратуре.

Аналоговый коммутатор с цифровым управлением

Аналоговый коммутатор служит для последовательной обработки аналоговых сигналов.

Схема и УГО аналогового коммутатора показаны на рисунке:



Аналоговый коммутатор содержит ключи, на вход каждого из которых (Д0, Д1. Д7) действует напряжение аналогового сигнала. Управление ключами производится дешифратором, на входы которого поступает цифровой код.

Для коммутации на выход линии D0 на адресных входах устанавливают код À 0 = 0, À 1 = 0, À 2 = 0, для аналогичного соединения линии D1 — код = 0, = 0, = 0 и т. д.

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

Мультиплексоры — демультиплексоры

При использовании КМОП — технологии можно построить двунаправленные ключи, которые обладают возможностью пропускать ток в обоих направлениях:

Сопротивление КМОП — транзистора в открытом состоянии составляет от 10 Ом до 1 кОм, сопротивление в закрытом состоянии ограничивается токами утечки, которые составляют 0,1. 100 нА, время включения ключа составляет 3. 5 нс.

Двунаправленные ключи могут передавать цифровые и аналоговые сигналы. Благодаря этому можно строить мультиплексоры — демультиплексоры:



Показанная на рисунке микросхема содержит два четырёхвходовых мультиплексора, которые могут использоваться как демультиплексоры (МХ — ДМХ). На схемах они обозначаются буквами МХ.

Микросхема содержит один общий инверсный вход Е разрешения (стробирования) и два общих адресных входа 1 и 2.

При логической 1 на входе разрешения выходы отключаются от информационных входов и переходят в высокоипедансное состояние.

При активизации входа разрешения, т. е. при подаче на него логического 0, происходит соединение одного из информационных входов (в соответствии с кодом на адресных входах) с выходом микросхемы. Поскольку это состояние происходит при помощи двунаправленных ключей на КМОП — транзисторах, то сигнал может передаваться как со входов на выход (режим мультиплексора), так и с выхода на входы ( режим демультиплексора). Кроме того, передаваемый сигнал может быть как аналоговым, так и цифровым.

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

Преобразователи кодов служат для преобразования входных двоичных кодов в выходные двоично— десятичные и наоборот. Находят применение в схемах многоразрядной десятичной индикации. На схемах обозначаются буквами X/Y. Например, микросхема к155пп5 представляет преобразователь двоично-десятичного кода, в код семисегментного индексатора:



1, 2, 4, 8 — информационные входы.

1, 2, 3, 4, 5, 6, 7 — выходы для управления светодиодной матрицей (показана справа)



Сегмент светится, если на него подаётся логическая 1.

Цифровые компараторы (компараторы кодов)

Цифровые компараторы выполняют сравнение двух чисел, заданных в двоичном коде. Они могут определять равенство двух двоичных чисел А и В с одинаковым количеством разрядов либо вид неравенства А > В или А b, Fa = b, Fa b = а • b
Fa = b = аb + a b
Fa a b

Схема одноразрядного компаратора, реализующая приведённые функции, показана ниже:


Например, четырёхразрядный компаратор кодов имеет два варианта обозначения:



Сумматоры

Сумматоры — это комбинационные устройства, предназначенные для сложения двух входных двоичных кодов. Например, арифметическая сумма кодов 0111 (число 7) и 0101 (число 5) равна 1100 (число 12). Арифметическая сумма кодов 1101 (число 13) и 0110 (число 6) равна 10011 (число 19), т. е. сумма двух двоичных чисел с числом разрядов n может иметь результат с числом разрядов n + 1. Этот дополнительный (старший) разряд называется выходом переноса (Р). На схемах сумматоры обозначаются буквами SM. Микросхемы сумматоров кодируются буквами ИМ.
Рассмотрим таблицу истинности сложения двух одноразрядных двоичных чисел без учёта переноса:

A B S
0 0 0
0 1 1
1 0 1
1 1 0

Запишем логическую функцию:

Устройство, реализующее эту функцию, называется " исключающее ИЛИ":



Схема не информирует о бите переноса.

Рассмотрим сложение двух одноразрядных двоичных чисел, для чего составим таблицу сложения (таблицу истинности), в которой отразим значение входных чисел А и В, значение результата суммирования S и значения переноса в старший разряд Р:

A B P S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Работа устройства, реализующего таблицу истинности, описывается следующими уравнениями: S = A B+A B и Р = АВ

Устройство, реализующего таблицу истинности, содержит " исключающие ИЛИ" и конъюнктор " И"



Это устройство называется полусумматором и изображается в виде:



Устройства называются полусумматором, т. к. имеет только два входа и не воспринимается сигнал переноса от других микросхем. Он используется только в младшем разряде.

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



Работа устройства, реализующего таблицу истинности, описывается следующими уравнениями:
S= A B P n-1 +A BP n-1 + AB P n-1 +ABP n-1
Pn=AB P n-1 + A BP n-1 +A B P n-1 +ABP n-1
Устройство, реализующие таблицу, содержит два полусумматора и дизъюнктор " ИЛИ":



Это устройство называется одноразрядным сумматором и имеет следующее условное графическое обозначение:



Сумматоры бывают одноразрядные (для суммирования двух одноразрядных чисел) двухразрядные (суммируют двухразрядные числа) и четырёхразрядные (суммируют четырёхразрядные числа). Чаще всего применяют 4 — х разрядные:


рис. 3.35
Типы логических устройств

Логические устройства разделяют на два класса: комбинационные и последовательностные.

Устройство называют комбинационным, если его выходные сигналы в некоторый момент времени однозначно определяются входными сигналами, имеющими место в этот момент времени.

Абрамян Евгений Павлович

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

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

Васильев Дмитрий Петрович

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

Что такое шифратор?

Если количество входов настолько велико, что в шифраторе используются все возможные комбинации сигналов на выходе, то такой шифратор называется полным, если не все, то неполным. Число входов и выходов в полном шифраторе связано соотношением n= 2 m , где n— число входов, m— число выходов.

Так, для преобразования кода кнопочного пульта в четырехразрядное двоичное число достаточно использовать лишь 10 входов, в то время как полное число возможных входов будет равно 16 (n = 2 4 = 16), поэтому шифратор 10×4 (из 10 в 4) будет неполным.

Рассмотрим пример построения шифратора для преобразования десятиразрядного единичного кода (десятичных чисел от 0 до 9) в двоичный код. При этом предполагается, что сигнал, соответствующий логической единице, в каждый момент времени подается только на один вход. Условное обозначение такого шифратора и таблица соответствия кода приведены на рис. 3.35.

рис. 3.36

Представим на рис. 3.36 схему такого шифратора, используя элементы ИЛИ.

Читайте также: