Ссылка на архив

Шифраторы, дешифраторы, триггеры

Министерство Высшего и Среднего Специального

Образования Республики Узбекистан

Наманганский Инженерно-Педагогический Институт

Факультет: «Информатика»

Кафедра: «Информатика и Информационные Технологии»

ЛАБОРАТОРНАЯ РАБОТА

На тему: «Шифраторы, дешифраторы, триггеры»

Выполнил:

Студент группы 4-ИАТ-2000

Черкасов Андрей Викторович

Наманган-2003

ШИФРАТОРЫ И ДЕШИФРАТОРЫ

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

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

Аналогичное положение имеет место и в случае построения дешифраторов на ПЭ и ФН. Для построения дешифратора на ПЭ в простейшем случае можно взять ПЭ, реализующий функцию И, и построить схему, полностью идентичную схеме на клапанах. При этом пользуются как прямые, так и инверсные значения аргументов, так как дешифратор реализует систему функций

(1-1)

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

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

На рисунке 1 показана схема трёхвходового дешифратора на ПЭ. Характерная особенность этого дешифратора в том, что он использует только прямые значения аргументов и работает по синхронному принципу. Если на шину С подан высокий потенциал, то дешифратор открыт и работает надлежащим образом; если же на этой шине имеется низкий потенциал, соответствующий логическому 0, то дешифратор закрыт (блокирован) и на всех его выходах имеются нули. Очевидно, если убрать шину синхроимпульсов и снизить пороги элементов на единицу, то получим асинхронный дешифратор с выходными двухвходовыми элементами.

На рисунке 2 показан другой вариант асинхронного двоично-восьмеричного дешифратора, в котором используются только прямые значения аргументов. Однако недостатком, как этой, так и предыдущей схемы можно считать то, что в них используются разнотипные элементы.

При использовании многовходовых ПЭ с прямым и инверсным выходами дешифратор можно построить на однотипных элементах. На рисунке 3 показан двоично-восьмеричный дешифратор, построенный на однотипных ПЭ, каждый из которых имеет четыре входа с весами +1 и один вход с весом –1, порог +2, прямой и инверсный выходы. Необходимые функции дешифратора (1-1) этим элементом реализуются путём подключения некоторых входов к постоянным логическим уровням 0 или 1 и снятия информации с прямого или инверсного выхода элемента.

Многоступенчатые дешифраторы на ФН и ПЭ строятся точно так же, как на булевых элементах. Поэтому их не будем рассматривать.

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

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

На рисунке 5 показан шифратор, построенный на мажоритарных элементах «2 или более из 3». Выходы МЭ (мажоритарные элементы) попарно объединены, т.е. на выходах реализована операция ИЛИ по высокому уровню (монтажное ИЛИ). Этот шифратор работает по синхронному принципу, то есть двоичный код появляется на его выходе только при поступлении синхроимпульса.

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

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

ТРИГГЕРЫ

Существуют различные типы триггеров на потенциальных элементах: RS-триггеры (синхронные и асинхронные), D-триггеры типов Latche и Edge, RST-, D-, и JK-триггеры типа ведущий-ведомый (Master-Slave) и так далее. Рассмотрим примеры построения таких триггеров на НЛЭ (нейронные логические элементы).

Функцию асинхронного RS-триггера аналитически можно описать следующим образом: (2-1), где , если , и p=0, если . Допустим, что в рассматриваемом триггере комбинация сигналов R=1, S=1 является запрещённой, то есть . Тогда, обозначая Rx1 Sx2, Q(t)x3, Q(t+1)=F, получим:

(2-2)

Изображая эту функцию в виде точечной диаграммы, а затем преобразуя её в пороговую диаграмму и синтезируя ФНО по алгоритму синтеза ФН, получим простейшую схему RS-триггера, показанную на рисунке 2-1а. Нетрудно проверить, что при отсутствии сигналов R и S (R=S=0) единичное состояние триггера, то есть возбуждённое состояние нейрона, устойчиво благодаря обратной связи с прямого выхода. Нулевое состояние триггера также устойчиво, так как оно соответствует невозбуждённому состоянию нейрона. При поступлении сигнала R=1 или S=1 состояние нейрона, следовательно, состояние триггера изменяется.

По функции(2-2) можно синтезировать также другие варианты RS-триггера на ФНР, ФНЗ или ФНО, но они не проще данной схемы.

Допустим в триггере разрешается комбинация R=S=1, то есть p=1. Тогда из (2-1) будем иметь: (2-3).

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

Если полученную согласно (2-3) точечную диаграмму подвергать преобразованию типа Px1x1 – то получим новую точечную диаграмму, по которой, синтезируя минимальный нейрон, получим схему RS-триггера, показанную на рисунке 2-1в. Как видно, здесь уже требуется один МЭ «2 или более из 3». В этой схеме вход R работает по негативной логике, то есть логической единице соответствует низкий потенциал.

Работу синхронного RS-триггера аналитически можно представить следующей системой функций:

(2-4)

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

Синтезируя ФН, реализующие эти функции, получим два идентичных ПЭ с весами +1, +1, +2 и порогом +2. Оба эти ПЭ имеют общую входную переменную С, а по другим аргументам отличаются. Соединяя эти два ПЭ в соответствии с (2-4), получим схему синхронного RS-триггера, показанную на рисунке 2-2б. Если по функции (2-5) синтезировать ФНО, то получается нейрон с аналогичной структурой и другой полярностью синхроимпульса. Здесь и далее принимается, что вход (синапс) НЛЭ возбуждён, если на него подан высокий уровень потенциала.

На рисунке 2-3 приведены схемы простых D-триггеров с R и S входами на ПЭ и ФН. Схемы построены таким образом, что в них полностью отсутствует соревнование (гонка) сигналов. В схемах входы R и S работают по асинхронному принципу, а информационный сигнал D записывается в триггер только при поступлении синхроимпульса. В схеме рисунка 2-3а, вход R работает по негативной логике, т.е. в нормальных условиях при отсутствии сигнала Уст. 0 на входе R имеется высокий уровень потенциала. Здесь используются как прямые, так и инверсные значения синхроимпульсов. В схеме рисунка 2-3б, прямым выходом триггера служит инверсный выход нейрона. Наиболее простой с точки зрения технической реализации является схема рисунка 2-3б.

Рассмотрим работу схемы рисунка 2-3б. При отсутствии входных сигналов схема может находиться в одном из двух устойчивых состояний – нейрон возбуждён (Q=0) и не возбуждён (Q=1). При Q=0, благодаря обратной связи, суммарная активность () синапсов равна +2 или +1 в зависимости от того, что имеется на информационном входе D. Поскольку , то в обоих случаях состояние схемы устойчивое.

Допустим Q=1, D=0б то есть нейрон не возбуждён и на информационном входе имеется низкий потенциал. При поступлении синхроимпульса в нейроне возбуждаются два синапса с весами +2 и –1. Поскольку , то нейрон возбуждается и обратная связь поддерживает это состояние после снятия синхроимпульса. Таким образом, с поступлением синхроимпульса (С) в триггер записывается информация 0, имеющая на входе D. Если к моменту поступления следующего синхроимпульса информация на входе D не изменяется, то состояние 0 триггера также не изменится. Допустим теперь информация на входе сменилась (D=1). Тогда, поскольку С отсутствует, состояние триггера не изменяется, так как в нейроне снова возбуждены два синапса с весами –1 и +2 и . При поступлении С в нейроне оказываются возбуждёнными все три синапса и, поскольку , нейрон переходит в невозбуждённое состояние, то есть триггер переключается на 1. В других случаях схема работает аналогичным образом.

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

Рассмотрим триггеры со счётными входами, или так называемые Т-триггеры. В простейшем случае Т-триггер можно построить на двух RS-триггерах типа рисунка 2-2а, с добавлением некоторых входов или вентилей, как это делается обычно при построении Т-триггера на булевых элементах. Однако при этом потребуются 4-6 элементов, то есть схема получается сложной.

На рисунке 2-4 показана схема счётного триггера, построенная на трёх мажоритарных элементах. Для работы в счётном режиме на управляющие входы y1 и y2 подаётся постоянно высокий уровень потенциала 1. При каждом поступлении счётного сигнала Т выход Q-триггера переключается в противоположное состояние, причём рабочим перепадом является отрицательный перепад счётного сигнала, то есть триггер работает по принципу Master-Slave, МЭ1 и МЭ2 образуют ведущий триггер, а МЭ3-ведомый. На рисунке 2-4 справа показана временная диаграмма работы триггера. Максимальная частота переключения этого триггера в счётном режиме равна: , где -задержка одного элемента.

На рисунке 2-5 приведены схемы Т- и RST-триггеров, построенных на двух ФНР и ФНО соответственно. Обе схемы работают согласно временной диаграмме, приведённой на рисунке 2-5 внизу. Верхний нейрон Нм реагирует на положительный перепад счётного сигнала и называется ведущим (Master) элементом, а нижний нейрон Нs реагирует на отрицательный перепад счётного сигнала и называется ведомым (Slave) элементом. Ведомый нейрон Нs напоминает предыдущее состояние триггера на время, равное длительности запускающего сигнала. Это свойство схемы в некоторый момент времени содержать в себе информацию как о текущем, так и о предыдущем состоянии – очень важно. Как будет показано далее, оно широко используется при построении логических устройств на таких триггерах.

Рассмотрим работу триггера рисунка 2-5а. Допустим, что триггер находится в состоянии 0, то есть Q’=Q=0, и на вход Т поступает сигнал (высокий потенциал). Этот сигнал возбуждает нейрон Нм через синапс с весом +1, а нейрон Нs остаётся в невозбуждённом состоянии, поскольку в нём до переключения Нм возбуждены два синапса с весами +1 и –2 и суммарная активность, а после переключения Нм возбуждены все три синапса с весами +1 и –2 и суммарная активность. Таким образом, пока на входе Т стоит высокий потенциал, Нм находится в возбуждённом состоянии, а Нs – в невозбуждённом. После снятия сигнала на входе Т (подан низкий потенциал) нейрон Нs также переходит в возбуждённое состояние благодаря синапсу, связанному с выходом Q’, а нейрон Нм не изменяет своего состояния. Следовательно, за один период входного сигнала триггер переключается полностью из состояния 0 в состояние 1. Обратное переключение из состояния 1 в состояние 0 происходит аналогичным образом.

Максимальное быстродействие триггера на рисунке 2-5 в счётном режиме равно: . Для установки триггера в состояние 0 или 1 достаточно на соответствующий вход подать положительный импульс с длительностью , то есть R- и S- входы триггера работают по асинхронному принципу.

На рисунке 2-6 показан ведущий-ведомый (Master-Slave) D-триггер (далее будем называть MSD-триггером) с пара фазным входом и временная диаграмма его работы. При поступлении синхроимпульса его положительный перепад записывает информацию D в ведущем нейроне Нм, при этом состояние ведомого нейрона остаётся прежним. Отрицательный перепад синхроимпульса, состояние ведущего нейрона записывает в ведомом нейроне Нs. Как видно, информация на выходе этого триггера появляется с задержкой, равной длительности синхроимпульса. Поэтому этот триггер иногда называют также задержанным D-триггером в отличие от простого D-триггера.

Как известно, универсальным типом триггера является JK-триггер, который может работать как в режиме синхронного RS-триггера, так и в режиме Т-триггера и MSD-триггера. Рассмотренный на рисунке 2-4 Т-триггер можно превратить в JK-триггер, если на управляющие входы y1 и y2 подать сигналы J и K соответственно, а на вход Т подать синхроимпульсы. Если же на вход у1 подать сигнал D, а на вход y2 - сигнал, то этот триггер превратится в MSD-триггер с парафазным входом.

На рисунке 2-7 приведена схема JK-триггера на ИЛИ – нейронах. Хотя в схеме используются прямое и инверсное значения тактирующего сигнала, но соревнование (гонка) сигналов полностью отсутствует. При J=K=1 тактирующий сигнал не влияет на триггер. Если J=K=0 или эти входы объединены с входом , то триггер работает в счётном режиме, то есть превращается в Т-триггер. В остальных случаях тактирующий сигнал записывает входную информацию в триггер, причём снова верхний нейрон является ведущим, а нижний - ведомым.

Рассмотрим работу приведённого JK-триггера. В исходном состоянии отсутствует тактирующий сигнал, то есть C=0, а . При этом триггер может находиться либо в состоянии 0, либо в 1. Оба эти состояния триггера устойчивые. Действительно, допустим триггер находится в состоянии 0. Это означает, что Q=Q’=0. Нм не возбуждён, так как в нём возбуждены один положительный и один отрицательный входы, сумма весов которых меньше порога (+1). Следовательно, состояние Нм устойчивое. В Нs возбуждён отрицательный вход, связанный с . Поэтому состояние Нs также устойчивое.

Аналогичным образом устойчиво также единичное состояние триггера, когда Q=Q’=1, благодаря обратным связям с прямых выходов нейронов к своим же положительным входам.

При отсутствии тактирующего сигнала (С=0) изменение информации на входах J и K не влияет на триггер. Допустим триггер находится в состоянии 0 и J=1, K=0. Пока С=0, то есть , сигнала J не действует на положительный вход Нм, связанный с элементом ИЛИ, остаётся возбуждённым, так как J=1, а тормозящий вход гасится, так как К=0. В результате Нм возбуждается, то есть Q’=1. Этот сигнал не может возбуждать Нs пока С=1. При снятии тактирующего сигнала высокий потенциал выхода Q’ поддерживает Нм в возбуждённом состоянии и одновременно возбуждает Нs, то есть получается Q=1.

Таким образом, положительный перепад тактирующего сигнала переключает Нм, а отрицательный перепад – Hs. В итоге после одного тактирующего импульса триггер переключается из состояния 0 в состояние 1.

В этом состоянии, когда Q=1, J=1, K=0, при повторном поступлении тактирующего сигнала состояние Нм, следовательно, и состояние всего триггера не изменится, так как при С=1, оба входа Нм остаются возбуждёнными, причём положительный вход от сигнала J, отрицательный вход от сигнала Q.

При соединении входов J и K с входом или при подаче на входы J и K постоянного низкого потенциала (J=K=0) триггер изменяет своё состояние на противоположное при каждом поступлении тактирующего сигнала С, то есть превратиться в Т-триггер.

Работу описанного JK-триггера можно выразить следующим образом:

, где Q(t) – состояние триггера в момент t.

Если на входы J и K триггера подавать инверсные значения сигналов, то триггер будет работать аналогичным образом. Для перехода в счётный режим необходимо на эти входы подавать сигнал 1 или объединить их со сходом С.

На рисунке 2-8 показан вариант JK-триггера, где используются однополярные тактирующие сигналы C и все выходы работают по позитивной логике.

Можно привести множество других вариантов триггеров, построенных на ПЭ и ФН различных типов.

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
  1. С.О.Мкртчян «Проектирование логических устройств ЭВМ на нейронных элементах», Москва, «Энергия», 1977, Стр.74-78
  2. С.О.Мкртчян «Проектирование логических устройств ЭВМ на нейронных элементах», Москва, «Энергия», 1977, Стр.40-49