Цифровые схемы - энкодеры
An Encoder- комбинационная схема, выполняющая операцию, обратную декодеру. Он имеет максимум 2 n входных и n выходных линий. Он создаст двоичный код, эквивалентный входу, который имеет высокий уровень активности. Следовательно, кодер кодирует 2 n входных строк n битами. Необязательно представлять разрешающий сигнал в энкодерах.
Кодер с 4 на 2
Пусть с 4 по 2 Энкодер имеет четыре входа Y 3 , Y 2 , Y 1 и Y 0 и два выхода A 1 и A 0 . Вblock diagram от 4 до 2 Энкодер показан на следующем рисунке.
В любой момент только один из этих 4 входов может иметь значение «1», чтобы на выходе получить соответствующий двоичный код. ВTruth table энкодера от 4 до 2 показан ниже.
Входы | Выходы | ||||
---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 |
0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 |
Из таблицы истинности мы можем написать Boolean functions для каждого выхода как
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {3} + Y_ {1} $$
Мы можем реализовать две вышеупомянутые логические функции, используя два входа ИЛИ. Вcircuit diagram энкодера с 4 по 2 показано на следующем рисунке.
Приведенная выше принципиальная схема содержит два логических элемента ИЛИ. Эти логические элементы ИЛИ кодируют четыре входа двумя битами.
Восьмеричный в двоичный кодировщик
Восьмерично-двоичный энкодер имеет восемь входов от Y 7 до Y 0 и три выхода A 2 , A 1 и A 0 . Восьмерично-двоичный кодировщик - это не что иное, как кодировщик от 8 до 3. Вblock diagram преобразование восьмеричного в двоичный кодировщик показано на следующем рисунке.
В любой момент только один из этих восьми входов может иметь значение «1», чтобы получить соответствующий двоичный код. ВTruth table от восьмеричного до двоичного кодировщика показано ниже.
Входы | Выходы | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Из таблицы истинности мы можем написать Boolean functions для каждого выхода как
$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$
$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$
Мы можем реализовать вышеуказанные логические функции, используя четыре входных логических элемента ИЛИ. Вcircuit diagram преобразование восьмеричного в двоичный кодировщик показано на следующем рисунке.
Приведенная выше принципиальная схема содержит три логических элемента ИЛИ с 4 входами. Эти логические элементы ИЛИ кодируют восемь входов тремя битами.
Недостатки энкодера
Ниже приведены недостатки обычного кодировщика.
Возникает неоднозначность, когда все выходы энкодера равны нулю. Потому что это может быть код, соответствующий входам, когда только наименее значимый вход равен единице или когда все входы равны нулю.
Если более чем один вход активен High, кодировщик выдает выходной сигнал, который может быть неправильным кодом. Заexample, если и Y 3, и Y 6 равны «1», то кодировщик выдает 111 на выходе. Это не эквивалентный код, соответствующий Y 3 , когда он равен «1», ни эквивалентный код, соответствующий Y 6 , когда он равен «1».
Итак, чтобы преодолеть эти трудности, мы должны назначить приоритеты каждому входу кодировщика. Тогда выходом энкодера будет (двоичный) код, соответствующий активному высокому входу (ам), который имеет более высокий приоритет. Этот кодировщик называетсяpriority encoder.
Приоритетный кодировщик
Энкодер с приоритетом от 4 до 2 имеет четыре входа Y 3 , Y 2 , Y 1 и Y 0 и два выхода A 1 и A 0 . Здесь вход Y 3 имеет наивысший приоритет, тогда как вход Y 0 имеет самый низкий приоритет. В этом случае, даже если более одного входа одновременно имеют значение «1», выходом будет (двоичный) код, соответствующий входу, который имеетhigher priority.
Мы рассмотрели еще один output, V чтобы знать, действителен ли код, доступный на выходах, или нет.
Если хотя бы один вход энкодера равен «1», то код, доступный на выходах, является действительным. В этом случае выход V будет равен 1.
Если все входы энкодера равны «0», то код, доступный на выходах, недействителен. В этом случае выход V будет равен 0.
В Truth table кодировщика с приоритетом от 4 до 2 показан ниже.
Входы | Выходы | |||||
---|---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 | V |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | Икс | 0 | 1 | 1 |
0 | 1 | Икс | Икс | 1 | 0 | 1 |
1 | Икс | Икс | Икс | 1 | 1 | 1 |
Использовать 4 variable K-maps для получения упрощенных выражений для каждого вывода.
Упрощенный Boolean functions находятся
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $
Аналогичным образом мы получим логическую функцию вывода V как
$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$
Мы можем реализовать вышеупомянутые логические функции с помощью логических вентилей. Вcircuit diagram энкодер с приоритетом от 4 до 2 показан на следующем рисунке.
Приведенная выше принципиальная схема содержит два логических элемента ИЛИ с 2 входами, один логический элемент ИЛИ с 4 входами, один логический элемент И с двумя входами и инвертор. Здесь комбинация логического элемента И и инвертора используется для создания действительного кода на выходах, даже если несколько входов одновременно равны «1». Следовательно, эта схема кодирует четыре входа двумя битами на основеpriority назначается каждому входу.