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

Литература / vorob / VOROB10

.DOC
Скачиваний:
27
Добавлен:
17.04.2013
Размер:
728.06 Кб
Скачать

- 11 -

ДЕШИФРАТОРЫ И СЕЛЕКТОРЫ

Дешифратором в цифровой технике называют комбинационный узел, преобразующий n-разрядный двоичный код в однопозиционный (одноместный) код или в совокупность однопозиционных кодов. Примерами однопозиционного кода могут быть: цепь установки в нулевое состояние регистра или счетчика, адрес конкретной ячейки памяти, сигналы типа “Включить нагреватель”, “Тревога” и т. п. Примером совокупности однопозиционных кодов является семисегментный алфавитно-цифровой индикатор и индикаторы других типов.

Так как n-разрядный двоичный код имеет 2n наборов, то соответствующее число может быть и однопозиционных кодов. Если дешифратор выполняется в виде интегральной схемы (ИС) и имеет число выходов N = 2n, то он называется полным дешифратором, если N < 2n, то - неполным. Примером последнего является ИС дешифратора двоично-десятичного кода (n = 4, N = 10). Для случая N = 1 дешифратор принято называть детектором состояния.

Активный сигнал в цепи однопозиционного кода может быть либо статическим потенциалом, кодирующим логические 0 и 1, либо переходами 01 и 10, поэтому различают дешифраторы с активным нулем и активной единицей выхода.

Рассмотрим структуру полного дешифратора, преобразующего двухразрядный двоичный код в однопозиционный код (см. табл. 1), где:

x1и x0 – переменные дешифрируемого двухразрядного двоичного кода;

y0 – однопозиционный выход дешифратора, вырабатывающий активный сигнал

(0 или 1) на наборе x1x0 = 00 и неактивные сигналы на остальных наборах и т. д., то есть табл. 1 построена так, что индекс у однопозиционного выходного сигнала совпадает с номером набора входного двоичного кода.

Таблица 1

Набора

Входы

Выходы

С активной “1”

С активным “0

x1

x0

У0

У1

У2

У3

У0

У1

У2

У3

0

0

0

1

0

0

0

0

1

1

1

1

0

1

0

1

0

0

1

0

1

1

2

1

0

0

0

1

0

1

1

0

1

3

1

1

0

0

0

1

1

1

1

0

Рассматривая выходные сигналы yi как функции алгебры логики (ФАЛ), зависящие от переменных x1 и x0, для дешифратора с активной единицей выхода из табл. 1 получаем:

(1)

где выражения с групповой инверсией получены с использованием закона двойного отрицания и правила де-Моргана [1].

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

(2)

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

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

Функциональное обозначение полученных структур приведено на рис. 2 (а - для дешифратора с активной единицей выхода, и б - с активным нулем выхода), где обозначено: DC - decoder - аббревиатура, принятая для обозначения дешифраторов; цифры 2 и 1 в левом узком поле обозначают двоичные веса разрядов (входных переменных) дешифрируемого двоичного кода, а кружки справа на рис. 2, б говорят о том, что активными сигналами выхода являются уровни “0” (в положительной логике).

Рис.1.

Рис. 2.

Полезно отметить, что структура дешифратора будет определяться тем, как схемотехнически выполняется вся совокупность конституент. Так для дешифратора с активной единицей выхода при n = 4 произвольный выход может быть реализован как:

(3)

(4)

(5)

где или ; i = 0 ... 2n - 1; j = 0 ... n - 1.

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

Дешифратор, который реализуется по выражению (4), называется пирамидальным, так как его структура представляет из себя n1 -ярусную “пирамиду”, состоящую только из двухвходовых элементов И. На вершине пирамиды (первом ярусе) расположены четыре двухвходовых элемента И, реализующих конституенты единицы от двух младших переменных x1и x0, на втором ярусе - восемь двухвходовых элементов И, реализующих конституенты единицы от трех младших переменных и т. д. В основании пирамиды, то есть на выходе дешифратора, расположены 2n двухвходовых элементов И. Эта структура никогда не выпускалась и не выпускается в виде ИС, так как имеет очень большие задержки распространения сигналов.

Дешифратор, который реализуется по выражению (5), называется двухступенчатым, так как его схема представляет их себя матричную структуру, состоящую из двух ступеней. Первая ступень включает в себя два n/2-входовых ((n +1)/2 и (n - 1)/2 при нечетном n линейных дешифраторов, выходы которых образуют 2n/2 строк и 2n/2 столбцов, а вторая ступень включает в себя 2n двухвходовых элементов И, расположенных в каждом из пересечений строк и столбцов, причем на входы этих элементов подаются сигналы с соответствующих строки и столбца. Двухступенчатые дешифраторы используются в микросхемах памяти для дешифрации адреса запоминающих ячеек, причем, как правило, вторая ступень реализуется как составная часть этих ячеек.

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

В большинстве случаев ИС дешифраторов выполняются с активным нулем выхода, что обосновывается следующими соображениями: быстродействием (время перехода 10 , как правило, меньше времени перехода 01); потребляемой мощностью (большая мощность потребляется при низком уровне сигнала на выходе, например ТТЛ-элементов, и поэтому целесообразно, чтобы все элементы, формирующие неактивный высокий уровень, потребляли бы меньшую мощность) и помехозащищенностью (навести помеху в низкоомную цепь, формирующую низкий уровень, крайне тяжело).

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

1. Как построить дешифратор m-разрядного кода, если имеются дешифраторы n-разрядного кода, причем m > n?

2. Можно ли использовать дешифраторы не по прямому назначению, то есть являются ли они многофункциональными узлами?

Для решения первого вопроса рассмотрим уравнения полного дешифратора с активным нулем выхода при n = 3:

(6)

В уравнениях (6) для y0...y3 переменная x2 встречается только с инверсией, а для y4...y7 - только без инверсии, в то время как переменные x1 и x0 образуют совпадающие комбинации в y0 и y4, y1 и y5 и т. д. Будем рассматривать переменную x2 как стробирующий вход v (valve - клапан, вентиль) для дешифратора 1 из 4-х (см. рис. 1, г). Из соображений, отмеченных выше, выберем активный уровень для v равным 0. Тогда получим схему, представленную на рис. 3, а, называемую стробируемым дешифратором, функциональное обозначение которого приведено на рис. 3, б.

Рис. 3.

Обращаяясь опять к уравнениям (6), мы видим, что для реализации дешифратора 1 из 8-ми (дешифрирующего трехразрядный двоичный код) необходимо взять два стробируемых дешифратора 1 из 4-х и один внешний дополнительный инвертор. Получается схема, приведенная на рис. 4. Нетрудно видеть, что так же легко реализуется дешифратор 1 из 16-ти на пяти стробируемых дешифраторах 1 из 4-х (см. рис. 5), причем один из них будет дешифрировать наборы, представленные двумя старшими переменными, и стробировать остальные четыре. Вход v этого дешифратора будет являться стробирующим входом для всего дешифратора 1 из 16-ти. Приведенных примеров достаточно, чтобы разобраться в структурах многочисленных типов дешифраторов, реализуемых в виде ИС в различных сериях.

На второй вопрос можно ответить положительно, что подтверждается рассмотрением нескольких применений дешифратора в качестве многофункционального узла.

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

Рис. 6.

Для селектора, выполняемого как логический узел, адрес разумеется задается двоичным кодом. Если использовать стробируемый дешифратор 1 из 4-х с активным нулем выхода, логическим аналогом механического селектора, показанного на рис. 6, будет схема, приведенная на рис. 7, где xвх подается на стробирующий вход, двухразрядный адрес а1а0 одного из четырех выходных направлений подается на информационные входы дешифратора, а выходы дешифратора являются выходами селектора, причем индекс активного или выбранного выхода совпадает с номером набора адреса. На невыбранных выходах будут формироваться уровни 1 (в дешифраторах с активной единицей выхода - соответственно уровни 0).

Пусть необходимо передать данные xвх на выход D2, то есть по адресу а1а0 = 10. Уравнение для выхода y2 в терминах дешифратора имеет вид . После подстановки переменных в терминах селектора имеем .

Если у разработчика нет стробируемого дешифратора, то можно использовать в качестве стробирующего входа любой из его информационных входов, но предпочтительнее вход с максимальным весом. Пусть имеется нестробируемый дешифратор 1 из 8-ми с активной единицей выхода (рис. 8). Подадим входные данные xвх на вход x2 дешифратора с весом 4, а на входы x1 и x0 соответственно адрес а1а0 выходного направления.

Двухразрядный адрес здесь адресует только четыре выходных направления, а у дешифратора восемь выходов, поэтому в данном случае реализуется селектор 1 в 4-е с парафазными выходами. Пусть мы подали адрес а1а0 = 01. Рассмотрим уравнения выходов с индексами 1 и 5 в терминах дешифратора: , .

В терминах селектора получаем: ,

.

Итак, получили сдвоенный однобитовый селектор с общими адресной частью и информационным входом, один из которых передает данные на выход в обратном коде (D0...D3), а другой - в прямом (D4...D7), что в ряде случаев существенно упрощает различные схемотехнические решения.

Реализация произвольных ФАЛ с использованием дешифратора. Пусть требуется реализовать ФАЛ, зависящую от трех переменных и представленную картой Карно (см. рис. 9).

Рис. 9.

Эту функцию можно представить в СДНФ, в базисе И-НЕ, и в СКНФ, в базисе ИЛИ-НЕ:

  • СДНФ: (7)

- базис И-НЕ: (8)

- СКНФ: (9)

- базис ИЛИ-НЕ: (10)

Поскольку в полном дешифраторе реализуются все конституенты, то для получения ФАЛ достаточно добавить к нему один логический элемент. Итак, для реализации ФАЛ по уравнению (7) требуется дешифратор с активной единицей выхода и четырехвходовый элемент ИЛИ (рис. 10, а); по уравнению (8) - дешифратор с активным нулем выхода и четырехвходовый элемент И-НЕ (рис. 10, б); по уравнению (9) - дешифратор с активным нулем выхода и четырехвходовый элемент И (рис. 10, в) и по уравнению (10) - дешифратор с активной единицей выхода и четырехвходовый элемент ИЛИ-НЕ (рис. 10, г).

Из рассмотренного примера следует, что для реализации произвольной ФАЛ, зависящей от n переменных, требуются две ИС: дешифратор 1 из 2n и логический элемент с числом входов не более 2n - 1. Отметим также, что если используется дешифратор с открытым коллектором (с активным нулем выхода), то схема на рис. 10, в может быть реализована без дополнительного элемента И, с использованием монтажной операции И как показано на рис. 10, д, а если используется дешифратор, выполненный на элементах ЭСЛ-типа (эмиттерно-связанной логики) с открытым эмиттером (с активной единицей выхода), то схема на рис.10, а может быть реализована без дополнительного элемента ИЛИ, с использованием монтажной операции ИЛИ как показано на рис.10,е.

Рекомендуется самостоятельно рассмотреть особенности реализации произвольных ФАЛ на стробируемых дешифраторах.

Рис. 10.

Использование дешифратора для реализации ПЗУ малого объема. Пусть требуется реализовать ПЗУ, хранящее четыре восьмиразрядных слова. Использование стандартных ИС ПЗУ в данном случае нецелесообразно из-за их значительно большего информационного объема и соответственно большей стоимости, а также из-за необходимости использования аппаратно-программных средств для программирования данных в ПЗУ. Проще реализовать систему из восьми ФАЛ, в качестве которых рассматриваются отдельно взятые разряды хранимых слов. Так как в нашем случае хранятся четыре слова, то адрес ПЗУ будет двухразрядным (см. табл. 2).

Таблица 2

а1

а0

Q7

Q6

Q5

Q4

Q3

Q2

Q1

Q0

0

0

0

0

0

0

0

0

1

1

0

1

0

0

1

1

1

1

0

1

1

0

1

0

0

0

1

0

1

1

1

1

1

0

1

0

1

1

1

0

Возьмем дешифратор 1 из 4-х с активным нулем выхода и на его основе реализуем необходимую систему ФАЛ (см. рис. 11). Пояснения: разряд Q7 реализован с помощью двухвходового элемента И-НЕ, хотя можно было бы использовать и двухвходовый элемент И с подключением его входов к выходам y и y1 дешифратора, либо как Q7 = a1; разряд Q6 является константой “0”; разряды Q5 и Q2 являются совпадающими функциями; разряд Q4 является инверсией выхода y1 дешифратора; разряд Q3 - константа “1”; а в качестве разрядов Q1 и Q0 просто используются выходы y1 и y3 соответственно.

Если использовать в качестве инвертора двухвходовый вентиль И-НЕ, то из рис.11 видно, что данное ПЗУ реализуется на двух ИС: дешифраторе 1 из 4-х и ИС типа 4 х 2И-НЕ, причем в последней один вентиль будет свободным и может быть использован для других целей.

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

В качестве других применений дешифратора можно отметить следующие:

- дешифраторы могут быть реализованы на универсальных селекторах-мультиплексорах, выполненных на элементах КМДП-типа и двунаправленных полупроводниковых ключах - в этом случае необходимо учитывать особенности реализации стробирования этих схем;

- совместное использование дешифратора и мультиплексора позволяет построить компаратор двух многоразрядных двоичных чисел;

- дешифратор широко используется при построении матричных коммутаторов;

- с использованием дешифраторов могут быть построены матричные сумматоры и т. д.

Примечание. Схемные реализации этих применений будут приведены при рассмотрении соответствующих узлов в последующих статьях.

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

Литература.

1. Воробьев Н. В. Введение в булеву алгебру//CHIP NEWS. - 1997.

- № 5- 6.

Соседние файлы в папке vorob