Оглавление
Дешифраторы и шифраторы применяются для преобразовании входных бинарных данных в определённый код или в декодировании входного сигнала для управления различными устройствами. Данные элементы стали неотъемлемой частью современной схемотехники и широко используются как в дискретной логике, так и в составе программируемых логических интегральных схем.
👉 Принципы работы дешифраторов и шифраторов базируются на законах булевой алгебры. Эти устройства реализуются при помощи комбинации логических элементов и могут быть выполнены как в виде дискретных логических микросхем, так и в составе более сложных, интегральных, таких как микроконтроллеры и процессоры.
Основные понятия
Что такое дешифратор
Это комбинационное логическое устройство, которое преобразует бинарный код на входе в сигнал активации одного из множества выходов. При подаче определённой комбинации двоичных значений на входах дешифратора активируется строго один выход, соответствующий этому коду. Таким образом, дешифратор выполняет операцию выбора одного из множества.

Простейший пример — двухвходный дешифратор, который имеет четыре выхода. На входы подаются два бинарных сигнала. В зависимости от комбинации этих сигналов активируется один из четырёх выходов. Формально дешифратор выполняет функцию преобразования n-разрядного двоичного числа в один активный выход из 2ⁿ возможных.
Что такое шифратор
Это устройство, выполняющее обратную функцию по сравнению с дешифратором. Его задача заключается в преобразовании сигнала с одного из активных входов в соответствующий двоичный код на выходе. В отличие от дешифратора, у шифратора количество входов больше числа выходов, поскольку входами управляют отдельные линии, а выходом является код.

Для шифратора характерна функция выбора кода, соответствующего активному входу. Если активировано несколько входов одновременно, то в зависимости от типа шифратора может выдаваться код с наибольшим приоритетом либо результат может быть неопределённым.
👉 Дешифратор преобразует код в активную линию, а шифратор выполняет обратное действие — преобразует активную линию в код. Дешифратор имеет меньше входов и больше выходов. Шифратор наоборот имеет больше входов и меньше выходов. Эти устройства часто применяются в паре для организации различных логических схем выбора и управления.
Классификация дешифраторов
Дешифраторы различаются по ряду признаков. Наиболее важными характеристиками являются количество входов и выходов, наличие или отсутствие входа разрешения работы, тип логики выходов.
- Прямой дешифратор представляет собой стандартный вид дешифратора, который при наличии активного входного кода активирует один из выходов. Остальные выходы при этом находятся в неактивном состоянии. Такой тип дешифратора используется для простых схем выбора.
- Дешифратор с разрешением (англ. enable input) имеет дополнительный вход, который служит для включения или отключения работы устройства. При неактивном сигнале разрешения все выходы находятся в неактивном состоянии, независимо от состояния входных линий. Такой вариант применяется в случаях, когда необходимо управлять работой дешифратора извне, например, в многоуровневых схемах выбора.
- Частично декодированный отличается тем, что не все возможные комбинации входов преобразуются в отдельные выходы. Они используются там, где полный набор выходов не требуется или где необходимо уменьшить число логических элементов в схеме.
Примеры микросхем дешифраторов
Наиболее распространённые микросхемы дешифраторов:
- 74HC138 — 3 кода на входе, 8 выходов, входы разрешения.
- 74LS42 — 4 кода на входе, 10 выходов.
- CD4514 — 4 кода на входе, 16 выходов.

Каждая из них имеет свои особенности и применяется в различных сферах цифровой техники.
Классификация шифраторов
Они также подразделяются на несколько типов в зависимости от их функциональных особенностей и области применения.
- Прямой шифратор формирует на выходе двоичный код, соответствующий активному входу. В случае одновременной активации нескольких входов такой шифратор обычно выдаёт неопределённый результат, если не предусмотрена система приоритета.
- Приоритетный шифратор отличается от прямого тем, что при одновременной активации нескольких входов он формирует код входа с наибольшим приоритетом. Такой шифратор используется в более сложных схемах, где возможна ситуация наложения сигналов.
Примеры микросхем шифраторов
Примеры популярных микросхем шифраторов:
- 74HC148 — 8 входов, 3 кода на выходе, приоритетный.
- 74LS147 — 10 входов, 4 кода на выходе.

Таблицы истинности
Рассмотрим примеры для обоих устройств.
Таблица истинности дешифратора 3-8
| Вход A2 | Вход A1 | Вход A0 | Активный выход |
|---|---|---|---|
| 0 | 0 | 0 | Y0 |
| 0 | 0 | 1 | Y1 |
| 0 | 1 | 0 | Y2 |
| 0 | 1 | 1 | Y3 |
| 1 | 0 | 0 | Y4 |
| 1 | 0 | 1 | Y5 |
| 1 | 1 | 0 | Y6 |
| 1 | 1 | 1 | Y7 |
Таблица истинности приоритетного шифратора 8-3
| Входы | Выходы |
|---|---|
| 00000001 | 000 |
| 0000001X | 001 |
| 000001XX | 010 |
| 00001XXX | 011 |
| 0001XXXX | 100 |
| 001XXXXX | 101 |
| 01XXXXXX | 110 |
| 1XXXXXXX | 111 |
Схемы реализации

Реализация дешифраторов на логических элементах
Дешифраторы могут быть реализованы на основе комбинаций логических вентилей И и НЕ. Рассмотрим пример построения 2-4 дешифратора. Устройство имеет два входа: \( A_1 \) и \( A_0 \), и четыре выхода: \( Y_0 \), \( Y_1 \), \( Y_2 \), \( Y_3 \).
Каждый выход активируется при определённой комбинации входов:
\( Y_0 = \overline{A_1} \cdot \overline{A_0} \)
\( Y_1 = \overline{A_1} \cdot A_0 \)
\( Y_2 = A_1 \cdot \overline{A_0} \)
\( Y_3 = A_1 \cdot A_0 \)
Схема строится из двух инверторов, которые формируют сигналы \( \overline{A_1} \) и \( \overline{A_0} \), и четырёх вентилей И на два входа каждый, которые генерируют выходные сигналы в соответствии с вышеуказанными формулами.
Реализация шифраторов на логических элементах
Шифраторы также могут быть построены с использованием вентилей И, ИЛИ и НЕ. Рассмотрим простой 4-2 шифратор. Он имеет четыре входа: \( D_3 \), \( D_2 \), \( D_1 \), \( D_0 \) и два выхода: \( Y_1 \), \( Y_0 \).
Формулы для выходов:
\( Y_1 = D_2 + D_3 \)
\( Y_0 = D_1 + D_3 \)
В случае приоритетного шифратора к этим формулам добавляются элементы для блокировки низкоприоритетных входов, если активен более приоритетный.
Схема приоритетного шифратора
Для примера приоритетного шифратора 4-2:
\( Y_1 = D_3 + (D_2 \cdot \overline{D_3}) \)
\( Y_0 = D_3 + (D_1 \cdot \overline{D_3} \cdot \overline{D_2}) \)
Здесь вводятся дополнительные логические элементы для реализации приоритета.
Проектирование данных устройств
Калькулятор делителя частоты
Калькулятор дешифратора
Формирование таблиц истинности
Для начала проектирования составляется таблица истинности устройства с описанием всех возможных входных комбинаций и соответствующих выходных значений. Это позволяет определить минимально необходимый набор логических выражений для каждого выхода.
Минимизация логических выражений
Для уменьшения количества используемых логических элементов применяются методы минимизации логических выражений: карты Карно, метод Куайна-Мак-Класки и другие. Это позволяет снизить аппаратные затраты и упростить схему.
Учёт задержек
При проектировании важно учитывать задержки прохождения сигнала через логические элементы. Дешифраторы и шифраторы являются комбинационными схемами, и их задержка определяется количеством уровней логических вентилей, через которые проходит сигнал от входа до выхода:
\( t_d = n \cdot t_g \)
где \( t_d \) — общая задержка, \( n \) — число уровней вентилей, \( t_g \) — задержка одного вентиля.
Задержка распространения сигнала
Задержка распространения (propagation delay) — это время от момента изменения сигнала на входе до появления корректного сигнала на выходе. Для дешифраторов с большим числом выходов задержка может быть значительной, что важно учитывать при проектировании высокоскоростных схем.
Генерация ложных срабатываний
В дешифраторах и шифраторах возможны ситуации, когда из-за различий в задержках по разным логическим путям появляются кратковременные ложные импульсы на выходах. Для предотвращения этого применяются синхронизация, добавление регистров или фильтрация выходных сигналов.
Схемы на транзисторах
Дешифраторы могут быть реализованы не только с помощью готовых логических микросхем, но и на дискретных транзисторах. В простейшем случае используется схема с транзисторными ключами для формирования необходимой логики И и НЕ. Например, для дешифратора 2-4 с активным низким уровнем на выходе каждая комбинация входных сигналов управляет транзистором, который замыкает соответствующую линию выхода на землю.

Преимущества транзисторной реализации:
- возможность точной настройки уровня сигнала;
- реализация в дискретной электронике, когда нет возможности использовать ИС;
- гибкость при проектировании нестандартных дешифраторов.
Недостатки:
- большие размеры схемы;
- сложность отладки;
- увеличение времени распространения сигнала по сравнению с готовыми логическими микросхемами.
Шифратор на транзисторах строится по аналогичному принципу. Каждая входная линия управляет транзистором, который через схему логических элементов формирует необходимый код на выходах. Особенностью приоритетного шифратора на транзисторах является необходимость дополнительной схемы блокировки сигналов с низким приоритетом, если активен более высокий приоритет. Схема шифратора может содержать каскады с транзисторами в конфигурации ИЛИ-НЕ для генерации приоритетных выходов:
\( Y_1 = \overline{(D_3) \cdot (D_2)} \)
\( Y_0 = \overline{(D_3) \cdot (D_1)} \)
Программная реализация
Дешифратор в программном виде
👉 В современных микроконтроллерах и процессорах дешифраторы могут быть реализованы программно. Это особенно удобно в микропроцессорных системах управления. Программный дешифратор — это, по сути, алгоритм, который по входному коду определяет, какой выходной сигнал активировать.
Пример программного кода на языке C для 3-8 дешифратора:
void decoder3to8(uint8_t input, uint8_t* output) {
for (int i = 0; i < 8; i++) {
output[i] = (i == input) ? 1 : 0;
}
}
Такой подход используется для управления линиями вывода микроконтроллера, светодиодами, реле и другими устройствами.
Шифратор в программном виде
Программный шифратор реализуется как функция поиска активного входа и формирования кода.
Пример на C для 8-3 шифратора с приоритетом:
uint8_t encoder8to3(uint8_t input) {
for (int i = 7; i >= 0; i—) {
if (input & (1 << i)) {
return i;
}
}
return 0xFF; // код ошибки, если нет активных входов
}
Такой шифратор может применяться в программных клавиатурных интерфейсах, системах опроса датчиков.
Использование ПЛИС и ПЛМ
Реализация дешифраторов в ПЛИС
При проектировании цифровых систем на ПЛИС (полевых программируемых вентильных матрицах) дешифраторы могут быть описаны с использованием языков описания аппаратуры — VHDL или Verilog. Пример VHDL-кода для 3-8 дешифратора:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity decoder3to8 is
Port ( A : in STD_LOGIC_VECTOR (2 downto 0);
Y : out STD_LOGIC_VECTOR (7 downto 0));
end decoder3to8;architecture Behavioral of decoder3to8 is
begin
process(A)
begin
Y <= (others => ‘0’);
case A is
when «000» => Y(0) <= ‘1’;
when «001» => Y(1) <= ‘1’;
when «010» => Y(2) <= ‘1’;
when «011» => Y(3) <= ‘1’;
when «100» => Y(4) <= ‘1’;
when «101» => Y(5) <= ‘1’;
when «110» => Y(6) <= ‘1’;
when «111» => Y(7) <= ‘1’;
when others => null;
end case;
end process;
end Behavioral;
Реализация шифраторов в ПЛИС
Для шифратора 8-3 на VHDL:
entity encoder8to3 is
Port ( D : in STD_LOGIC_VECTOR (7 downto 0);
Y : out STD_LOGIC_VECTOR (2 downto 0));
end encoder8to3;architecture Behavioral of encoder8to3 is
begin
process(D)
begin
if D(7) = ‘1’ then
Y <= «111»;
elsif D(6) = ‘1’ then
Y <= «110»;
elsif D(5) = ‘1’ then
Y <= «101»;
elsif D(4) = ‘1’ then
Y <= «100»;
elsif D(3) = ‘1’ then
Y <= «011»;
elsif D(2) = ‘1’ then
Y <= «010»;
elsif D(1) = ‘1’ then
Y <= «001»;
elsif D(0) = ‘1’ then
Y <= «000»;
else
Y <= «—«; — нет активных входов
end if;
end process;
end Behavioral;
Таблицы характеристик и сравнения
Таблица: основные параметры дешифраторов
| Тип дешифратора | Входов | Выходов | Поддержка активного уровня | Время задержки (типичное) | Пример микросхемы |
|---|---|---|---|---|---|
| 2-4 | 2 | 4 | Низкий, высокий | 10 нс | 74HC139 |
| 3-8 | 3 | 8 | Низкий, высокий | 10 нс | 74HC138 |
| 4-16 | 4 | 16 | Низкий | 15 нс | 74LS154 |
| 5-32 | 5 | 32 | Высокий | 20 нс | Программируемые |
Таблица: основные параметры шифраторов
| Тип шифратора | Входов | Выходов | Приоритет | Время задержки (типичное) | Пример микросхемы |
|---|---|---|---|---|---|
| 8-3 | 8 | 3 | Нет | 12 нс | CD4532 |
| 8-3 приоритетный | 8 | 3 | Да | 15 нс | 74LS148 |
| 16-4 приоритетный | 16 | 4 | Да | 25 нс | ПЛИС / ПЛМ |
- Дешифраторы часто применяются для управления индикацией и выбором устройств. Например, 3-8 дешифратор в составе клавиатурного сканера или для включения одной из восьми линий питания в блоке управления светодиодной матрицей. В системах с микроконтроллерами дешифраторы позволяют сэкономить количество выводов и упростить разводку печатной платы.
- Шифраторы находят применение в устройствах, где необходимо преобразовать выбор одного из множества сигналов в компактный код. Пример — обработка сигналов от сенсорных панелей, клавиатур с большим количеством кнопок, систем диагностики и тревоги. Приоритетные шифраторы используются для устранения конфликтов сигналов при одновременном срабатывании нескольких датчиков.
Таблица: примеры распространённых микросхем
| Тип микросхемы | Номер | Описание | Входов | Выходов |
|---|---|---|---|---|
| Дешифратор 2-4 | К155ИЕ2 (CD4511) | Дешифратор с активным LOW выходом | 2 | 4 |
| Дешифратор 3-8 | К155ИЕ7 (74HC138) | Трёхлинейный дешифратор с одним активным LOW выходом | 3 | 8 |
| Дешифратор 4-16 | К155ИД1 (74HC154) | Четырёхлинейный дешифратор | 4 | 16 |
| Шифратор 4-2 | К155ИР3 (74HC147) | Приоритетный десятичный шифратор | 10 (BCD) | 4 |
| Шифратор 8-3 | К155ИР7 (74HC148) | Приоритетный шифратор | 8 | 3 |
| Универсальный дешифратор | К561ИЕ8 (CD4514) | 4-16 линии дешифратор с буферизацией | 4 | 16 |
Тестирование и отладка
Проверка дешифраторов осуществляется подачей всех возможных комбинаций входных сигналов и анализом состояния выходов. Для этого применяются:
- логические анализаторы;
- светодиодные индикаторы на выходах;
- осциллографы для оценки задержек.
Для шифраторов проверка выполняется путём поочередной активации входов и контроля выходного кода. Особое внимание уделяется приоритету: активный более высокий вход должен подавлять более низкие по приоритету сигналы.

Литература
Таким образом, дешифраторы и шифраторы являются важными элементами цифровой логики. Их применение обеспечивает эффективное управление множеством линий данных и упрощает построение сложных систем управления. Вот список литературы на по теме, для дополнительной информации:
- Т. Н. Власова, А. П. Котельников, «Основы цифровой схемотехники», Москва, Высшая школа, 2012.
- В. П. Нечаев, «Цифровая техника и микропроцессоры», Санкт-Петербург, Питер, 2016.
- С. А. Федоров, «Цифровые устройства и системы», Москва, ДМК Пресс, 2014.
- Ю. А. Жуков, «Логические элементы и цифровые схемы», Москва, Энергоатомиздат, 2009.
- И. В. Петров, «Проектирование цифровых схем», Москва, Горячая линия — Телеком, 2013.
- Е. В. Смирнов, «Цифровая электроника: теория и практика», Санкт-Петербург, БХВ-Петербург, 2017.







