Научная статья на тему 'МЕТОДИКА КЛАССИФИКАЦИИ ТРИГГЕРОВ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ'

МЕТОДИКА КЛАССИФИКАЦИИ ТРИГГЕРОВ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ Текст научной статьи по специальности «Математика»

CC BY
104
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРИГГЕРЫ / КЛАССИФИКАЦИЯ ТРИГГЕРОВ / ОПРЕДЕЛЕНИЯ ОБЪЕКТОВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Аннотация научной статьи по математике, автор научной работы — Воробьев Николай Васильевич

Based on the analysis of general requirements for triggers the systematic methods of their classification by the functional feature have been offered, and the precise definitions for each type of the triggers have been given. Keywords: triggers, triggers’ classification, computer hardware objects definition.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «МЕТОДИКА КЛАССИФИКАЦИИ ТРИГГЕРОВ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ»

ПРОБЛЕМЫ ВЫСШЕГО ОБРАЗОВАНИЯ

УДК 681.32

Методика классификации триггеров по функциональному назначению

Н.В. Воробьев

Национальный исследовательский университет ««МИЭТ»

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

Ключевые слова: триггеры, классификация триггеров, определения объектов вычислительной техники.

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

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

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

Триггерным устройством называется триггер, закон функционирования которого отличается от законов стандартных (типовых) схем триггеров (далее триггер).

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

© Н.В. Воробьев, 2013

изготавливаемых в виде дискретных микросхем малой степени интеграции, в составе схем средней, большой и сверхбольшой степени интеграции, в качестве библиотечных элементов при проектировании устройств на БМК и ПЛИС.

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

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

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

Понятие о дискретном (машинном) времени приведено на рис.1.

С •

X Ч) IV ¡F" '1 IV h II \ III V iv ь IV / к IV / '5 1

X (|» h » L Ь „ 1, '4 „ 1

IV / п t.

V IV

Ч ц Ц ! t \ t 1 ; --^

Рис.1. Представление дискретного (машинного) времени

Предположим, что в цифровом устройстве используется однофазная система синхронизации. На рис.1 С (clock - часы, синхронизация) - выход системного тактового генератора, причем активным сигналом является переход 01 (фронт), все активные сигналы помечены стрелками на переходах 01, которые совершаются в дискретные моменты времени t0, ti, t2 и т.д.; х - произвольная логическая переменная в какой-либо точке цифрового устройства, изменяющаяся под действием активного сигнала С. Интервал времени от момента t0, включая его, до момента ti, не включая его, называется временем состояния t0 переменной х. Аналогично интервал времени от ti до t2 называется временем состояния ti переменной х и т.д.

В общем случае время состояния включает следующие составляющие:

I - факт возможности изменения переменной (всегда соответствует моменту появления активного сигнала системного генератора), в рассматриваемом случае переходу 01 сигнала С;

II - задержка переключения сигнала; в некоторых случаях эта составляющая отсутствует;

III - переходной процесс, который имеет место, когда происходит смена состояния переменной х;

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

Из рис.1 следует, что во времени состояния ^ отсутствуют составляющие II и III, так как переменная х не изменяется, сохраняя значение х = 1. Аналогично нет составляющих II и III во временах состояния ^ и t4 , так как переменная х не изменяется, сохраняя значение х = 0.

Анализировать поведение цифрового узла во всех временах состояния ¿0, t1, ... нет необходимости. Принято одно из времен состояния обозначать как время текущего состояния t (иногда его называют состоянием до переключения), тогда вслед за ним идет время следующего состояния t + 1 (иногда его называют состоянием после переключения) (см. рис.1). Введение состояний t и t + 1 позволяет легко описывать поведение во времени цифрового устройства аналитически.

Общие положения о триггерах. Триггер как простейшее инженерное последователь-ностное устройство должен удовлетворять требованиям следующих общих положений.

1. Триггер хранит и обрабатывает один двоичный разряд данных, поэтому имеет один выход и, следовательно, два состояния выхода.

2. В большинстве случаев выход представляется в парафазном виде: Q и Q. Инверсный выход Q является вспомогательным и служит лишь для упрощения построения различных схем, использующих выходной сигнал триггера.

3. Состояние триггера определяется прямым выходом Q. Считается, что триггер

находится в нулевом состоянии, если Q = 0, а Q = 1, и в единичном состоянии, если

Q = 1, а Q = 0.

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

4. Триггер должен быть устойчивым устройством. В общем случае любое последо-вательностное устройство или конечный автомат, в том числе и триггер, будет устойчивым, если для всех разрешенных наборов входных потенциальных сигналов обеспечивается ситуация Qt+1 = Qt. Если на каких-то неизменяющихся наборах возникает

ситуация Qt+1 = Qt , то триггер вырождается в генератор, а это уже устройство совершенно другого класса.

5. Триггер должен обладать полной системой переходов выхода, т.е обладать способностью обеспечивать все возможные переходы выхода Q: Qt—Qt+1, а именно 0—0, 0—»1, 1—»0 и 1 — 1 (кратко 00, 01, 10 и 11). Здесь ^ - состояние выхода триггера в текущем машинном времени (до переключения); Qt+1 - состояние выхода триггера в следующем машинном времени (после переключения). Все четыре перехода выхода триггера нужно рассматривать как переключения. Полнота переходов выхода триггера обеспечивается тем, что любому переходу выхода триггера должен соответствовать хотя бы один переход между разрешенными потенциальными наборами его входных сигналов.

Классификация триггеров по функциональному назначению. Функциональное назначение триггеров является его основным классификационным признаком. Оно может быть легко выявлено из представления триггера в качестве операционного устройства (рис.2) на основе анализа общих положений. Однобитовые внешние входные данные могут быть записаны в триггер для хранения или последующей обработки. Вход Б присутствует только у одного типа триггера (Б-триггера).

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

Перечислим микрооперации, переходы выхода О^О^1, которые может в общем виде выполнять триггер:

- 00 и 11 - «Режим хранения». Очевидно, что эту микрооперацию должен обеспечивать триггер любого типа, так как именно она делает его простейшим элементом памяти (запоминающей ячейкой). Аналитически эту микрооперацию можно представить

01+1 /Ы

= О;

- 00 и 10 - «Установка триггера в нулевое состояние» (сброс триггера). Аналитически эту операцию можно представить в виде О+1 = 0;

- 11 и 01 - «Установка триггера в единичное состояние» (установка триггера). Аналитически эту микрооперацию можно представить в виде О+1 = 1;

- 01 и 10 - «Смена (изменение) состояния выхода триггера на противоположное

(инверсное)». Аналитически эту микрооперацию можно представить в виде О+1 = Q \ Не путать это выражение с выражением для режима генерации;

- 00, 10 и 11, 01 - «Прием (запись в триггер) внешних однобитовых данных Б», причем переходы 00 и 10 соответствуют записи в триггер Б = 0, а переходы 11 и 01 -записи в триггер Б = 1. Аналитически эту микрооперацию можно представить в виде О+1 = Б1.

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

микроопераций, а уравнение Qt+1 = О' - просто разновидность пятой микрооперации.

Полноту переходов выхода триггера можно обеспечить различной совокупностью (не обязательно минимальной) нескольких микроопераций (таблица). Из таблицы следует, что для реализации триггера, обладающего полнотой переходов его выхода, требуется выполнить либо две микрооперации (варианты Ь и с), либо три (варианты а, е, /, И), либо четыре (варианты ё и g), либо пять (вариант к). В таблице отражены не все возможные варианты совокупностей микроопераций.

Код микрооперации

Рис.2. Триггер как операционное устройство

(Q и Q - парафазное представление выхода триггера, D - однобитовые внешние входные данные (data))

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

Выполняемая микрооперация

Вариант набора Qt+1 = Q Qt+1 = 0 Qt+1 = 1 Qt+1 = Q Qt+1 = D

a + + +

b + +

c + +

d + + + +

e + + +

f + + +

g + + + +

h + +

k + + + + +

Отметим, что варианты a, b и c являются минимальными (т.е. в них нельзя убрать какую-либо микрооперацию). Все остальные наборы не являются минимальными. Так, в наборе e можно убрать микрооперацию Qt+1 = 0. У вариантов b и c код микрооперации будет одноразрядным. Для варианта b этот вход кода микрооперации называют тактовым входом, причем когда на тактовом входе действует активный сигнал данные с информационного входа D записываются в триггер, а когда действует неактивный сигнал -триггер сохраняет свое предыдущее состояние. Триггер такого типа называют D-триггером. Это триггер, выполняющий две микрооперации: хранение и прием внешних данных. D-триггер может использоваться для приема и хранения внешних данных либо для задержки данных на один такт, т.е. данные, записанные в D-триггер в текущем такте t, могут быть считаны с выхода D-триггера в следующем такте t + 1.

Для варианта c однобитовый вход кода микрооперации называют счетным входом Т, а триггер называют Т-триггером, или счетным. При каждом активном сигнале на входе Т такой триггер изменяет состояние выхода на противоположное, а при неактивном сигнале сохраняет свое предыдущее состояние. Это триггер, выполняющий две микрооперации: хранение и изменение состояния на противоположное.

У варианта a код микрооперации должен быть двухразрядным. Это следует из того, что n-разрядным двоичным кодом можно задать 2n различных микроопераций, выполняемых операционным устройством.

Двум разрядам кода микрооперации, как и для D- и Г-триггеров, придают смысловое значение. Назовем один из разрядов входом установки триггера в нулевое состояние R (reset - сброс), а другой - входом установки триггера в единичное состояние S (set - установка), тогда микрооперации (см. таблицу) для варианта a будут выполняться для следующих значений входов R и S:

Qt+1 = Q - оба входа R и S являются неактивными;

Qt+l = 0 - R-вход активный, а S-вход неактивный;

Qt+l = 1 - R-вход неактивный, а S-вход активный.

Эти три микрооперации обеспечат полноту переходов выхода триггера.

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

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

1. Qt+1 = х, где х - безразличное состояние выхода (либо 0, либо 1). Это следует из противоречия - нельзя триггер одновременно установить в 0 и в 1, т.е. в данном случае набор R-вход - активный и S-вход - активный должен рассматриваться как «логически запрещенный». Точное определение понятия «логически запрещенный» рассматривается в материалах, посвященных структурному синтезу. Триггер такого типа называют RS-триггером. Это триггер, выполняющий три микрооперации: хранение, установка в 0 и установка в 1. Возможная четвертая микрооперация не определена, поэтому для разработчика значение выхода безразлично.

2. Qt+1 = 0 - R-триггер. Он устанавливается в нулевое состояние при двух наборах входных сигналов: R-вход - активный, S-вход - неактивный и R-вход - активный, S-вход - активный или, что то же самое, R-вход - активный, а значение сигнала на S-входе безразлично. Это триггер, выполняющий четыре микрооперации: хранение, две микрооперации установка в 0 и установка в 1.

3. Q = 1 - S-триггер. Он устанавливается в единичное состояние при двух наборах входных сигналов: R-вход - неактивный, S-вход - активный и R-вход - активный, S-вход - активный или, что то же самое, S-вход - активный, а значение сигнала на R-входе безразлично. Это триггер, выполняющий четыре микрооперации: хранение, установка в 0 и две микрооперации установка в 1.

4. Qt+1 = Q. - E-триггер (E - exclusive - исключительный). Он сохраняет свое предыдущее состояние при двух входных наборах входных сигналов: R-вход и S-вход одновременно либо неактивные, либо активные. Это триггер, выполняющий четыре микрооперации: две микрооперации хранение, установка в 0 и установка в 1.

5. Qt+1 = Q1 - JK-триггер (см. набор d в таблице). Вход J (Jerk - внезапное включение) эквивалентен входу S, а вход K (kill - внезапное отключение) эквивалентен входу R. Это триггер, выполняющий четыре микрооперации: хранение, установка в 0, установка в 1 и изменение состояния на противоположное. Для обозначения функциональных входов разработчиками выбраны рядом расположенные буквы английского алфавита JK (как и RS), чтобы подчеркнуть, что это триггеры разного типа.

Для обозначения функциональных входов R-триггера можно использовать символы Rr и Rs , в которых большая буква соответствует типу триггера, а индекс говорит о функциональном назначении входа. (Возможен вариант Rr и SR , где большая буква -функциональное назначение входа, а индекс - тип триггера.) Аналогично для S-триггера обозначим входы SR, SS (либо RS, SS), для Е-триггера ER, ES (либо RE, SE). Наиболее часто используются обозначения (Rr; Rs); (SR ; SS); (ER; ES).

Можно интерпретировать другие наборы микроопераций (см. табл.). Набор е можно отнести к счетному триггеру, снабженному вспомогательным входом R «Установка в 0». Активный сигнал R будет устанавливать триггер в нулевое состояние независимо от сигнала на входе Т; набор f можно отнести к счетному триггеру, снабженному вспомогательным входом S «Установка в 1». Активный сигнал S будет устанавливать триггер в состояние 1 независимо от сигнала на входе Т; набор g, совпадающий с набором d, можно отнести к счетному триггеру, снабженному двумя вспомогательными входами R и S; набор h - к D-триггеру, снабженному вспомогательным входом R и т.д.; набор k включает в себя все пять микроопераций. Такой триггер как операционное устройство должен иметь трехразрядный код микроопераций и информационный вход D. Однако реализовывать его как специальный тип триггера нет смысла (он и не реализован), так

как любое триггерное устройство, работающее по произвольному закону, можно построить на базовых триггерах, к которым относят Я£-, Б-, Т- и /К-триггеры.

Вспомогательные входы Я и £ позволяют за один такт обнулить или установить в состояние 1 все разряды сразу многоразрядных регистровых структур (регистров, счетчиков, пересчетных устройств, накапливающих сумматоров и др.). Кроме вспомогательных входов Я и £ часто применяется вход V, разрешающий или запрещающий прием или прохождение сигналов Б, Т, Си др. Существуют /К-триггеры, у которых сигналы / и К реализуются как конъюнкции трех сигналов: и К — К^К^К-^ .

Рассматривая двухвходовый триггер как операционное устройство (например, Я£-триггер), можно в общем случае реализовать 24 различных схемы для каждого из двух логических базисов (И-НЕ; ИЛИ-НЕ). Обосновывается это следующим образом. Первую (из 4-х) микрооперацию (не важно какую) можно закодировать любым из четырех наборов входных сигналов Я£, вторую - любым из оставшихся трех наборов, третью -любым из оставшихся двух наборов и четвертую микрооперацию - четвертым набором, т.е. всего получается 4! = 4 • 3 • 2 -1 = 24 варианта схем. Выполнив процедуры структурного синтеза всех схем (здесь они не рассматриваются), можно получить: две схемы, построенные на двух вентилях (под вентилем будем понимать двухвходовый базисный элемент И-НЕ либо ИЛИ-НЕ); четыре схемы, выполненные на двух вентилях и одном инверторе; две схемы, построенные на двух вентилях и двух инверторах; четыре схемы, выполненные на трех вентилях; восемь схем, построенных на трех вентилях и одном инверторе; четыре схемы, выполненные на трех вентилях и двух инверторах. Все 24 схемы будут устойчивыми и обеспечат полную систему переходов выходов триггера, однако среди них минимальная структура - это схема, выполненная на двух вентилях. Эту схему и называют элементарной запоминающей ячейкой и широко используют для построения всех типовых триггеров.

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

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

Характеристические уравнения представляются в двух видах: уравнения, отражающего закон функционирования триггера, причем в качестве переменных в нем выступают активные сигналы (а ими могут быть и уровни, и переходы); уравнения, отражающего внутреннюю структуру триггера в заданном схемотехническом базисе, причем в качестве переменных в нем выступают все сигналы как потенциальные уров-

ни. Характеристическое уравнение, отражающее закон функционирования асинхронного триггера, в общем виде записывается как

Qt+1 = f (Q1 ; X -1).

Состояние триггера Q11 является функцией текущего состояния триггера Q и сигналов X t+1 на функциональных входах в следующее состояние времени.

Характеристическое уравнение, отражающее закон функционирования синхронного триггера, в общем виде можно записать

Qt+1 = f (Q ; x1 ; С+1).

Состояние триггера Qt+1 является функцией текущего состояния триггера Q1, сигналов на функциональных входах в текущем состоянии X и активного

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

w+1

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

Структурный синтез всех типов триггеров для различных видов активных сигналов представлен в [5-7].

Литература

1. Агаханян Т.М., Плеханов С.П. Интегральные триггеры устройств автоматики. - М.: Машиностроение. 1978. - 368 с.

2. Зельдин Е.А. Триггеры. - М.: Энергоатомиздат, 1983. - 96 с.

3. Потемкин И.С. Функциональные узлы цифровой автоматики. - М.: Энергоатомиздат, 1988, - 320 с.

4. Букреев И.Н., Мансуров Б.М. Горячев В.И. Микроэлектронные схемы цифровых устройств. 3-е изд. перераб. и доп. - М.: Радио и связь, 1990. - 416 с.

5. Преснухин Л.Н., Воробьев Н.В., Шишкевич А.А. Расчет элементов цифровых устройств: учеб. пособие / Под ред. Л.Н. Преснухина. - 2-е изд. перераб. и доп. - М.: Высшая шк., 1991. - 526 с.

6. Пухальский Г.И., Новосельцева Т.Я. Цифровые устройства: учеб. пособие для втузов. -СПб.: Политехника, 1996. - 885 с.

7. УгрюмовЕ.П. Цифровая схемотехника. - СПб.: БХВ-Санкт-Петербург, 2000. - 528 с.

8. Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379с.

Статья поступила 28 сентября 2012 г.

Воробьев Николай Васильевич - кандидат технических наук, профессор кафедры вычислительной техники, ведущий научный сотрудник НИИ вычислительных средств и систем управления МИЭТ. Область научных интересов: схемотехника устройств вычислительной техники и систем управления, автоматизация технологического оборудования, фотоэлектрические измерительные преобразователи, датчики и преобразователи первичной информации. E-mail: vorobjev.nvv@yandex.ru

Рис.3. Сигналы на функциональном и тактовом входах (1зд. пер - время задержки переключения)

i Надоели баннеры? Вы всегда можете отключить рекламу.