Тема 5. Последовательностные цифровые устройства.

5-1. Определение последовательностного цифрового устройства.

Цифровое устройство называется последовательностным (ПЦУ), если его выходные сигналы Y зависят не только от значений входных сигналов X в данный момент времени, но и от значений входных сигналов, поступивших в предшествующие моменты времени. Иными словами, ПЦУ должно отслеживать последовательность поступления входных сигналов для формирования результата на своем выходе. Отсюда очевиден термин «последовательностое». В ПЦУ предыстория поступления входных сигналов обязательно фиксируется с помощью специальных запоминающих элементов. Поэтому говорят, что ПЦУ обладают памятью. Элемент памяти помимо входных и выходных сигналов характеризуется состоянием, которое может изменяться в дискретные моменты времени под воздействием сигналов на его входе. Простейший элемент памяти может принимать одно из двух состояний – логическую единицу или логический нуль. Это состояние может сохраняться сколь угодно долго до тех пор, пока не будет заменено на новое. ПЦУ называются еще цифровыми автоматами, конечными автоматами или автоматами с памятью. Структура ПЦУ представлена на рис. 5.1.

ПЦУ состоит из комбинационного цифрового устройства (КЦУ) и запоминающего устройства (ЗУ), представляющее собой совокупность простейших элементов памяти Т1, Т2,..., Тk, на которые воздействуют сигналы U={u1, u2, ..., uk}. Под воздействием сигнала ui элемент Ti может перейти в одно из двух состояний – логического нуля или логической единицы. Состояние элемента Ti отображается сигналом zi. Совокупность сигналов Z={z1, z2, ..., zk} отображает состояние ПЦУ. Если в ПЦУ содержится k простейших элементов памяти, то общее число состояний ПЦУ равно 2k.

 

Рис. 5.1. Структурная схема последовательностного цифрового устройства.

 

Комбинационное цифровое устройство, входящее в состав ПЦУ, представляет собой устройство, работа которого описывается логическими функциями Y=F(X,Z) и U=H(X,Z). ПЦУ работает под воздействием входных сигналов X, которые поступают в различные моменты времени t. В момент времени t=0 ПЦУ находится в начальном состоянии. При этом Z(t)={z1(t), z2(t), ..., zk(t)}, принимает некоторое начальное значение. При поступлении в моменты времени сигналов xi(t) в ПЦУ формируются выходные сигналы yi(t) и сигналы ui(t), воздействующие на запоминающие элементы. В результате ПЦУ переходит в некоторое состояние Z(t), и тем самым фиксируется воздействие входных сигналов X(t) в момент времени t. Совокупность правил, определяющих последовательность переключения состояний Z(t) и последовательность выходных сигналов Y(t) в зависимости от последовательности входных сигналов X(t), принято называть законом функционирования ПЦУ.

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

 

5-2. Триггеры.

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

Функциональная классификация является наиболее общей и представляет собой классификацию триггеров по виду логического уравнения, характеризующего состояния входов и выходов триггера в момент времени до его срабатывания tn и после tn+1. В соответствии с функциональной классификацией различают RS-, D-, T- и JK-триггеры.

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

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

- минимальная длительность входного сигнала - определяет минимально допустимую длительность входного сигнала, при которой еще происходит переключение триггера из одного состояния в другое;

- максимальная частота переключения триггера определяется минимально допустимым временным интервалом между двумя последовательными сигналами минимальной длительности.

Закон функционирования триггера удобно отображать с помощью так называемых таблиц переходов, в которых даются состояния входов и выходов триггера в момент времени до его срабатывания tn и после tn+1, при этом выходное состояние может обозначаться следующим образом:

0 - триггер находится в состоянии Q=0;

1 - триггер находится в состоянии Q=1;

Q - состояние триггера не изменяется при изменении информации на входе;

- состояние триггера изменяется на противоположное при изменении информации на входе;

Х - неопределенное состояние триггера - характеризуется тем, что в процессе действия информационного сигнала на входе логические уровни выходов триггера одинаковы (или ), а после окончания действия информационного сигнала триггер может оказаться в состояние Q=1 или Q=0 с равной вероятностью.

Перейдем к рассмотрению триггеров различных типов.

RS-триггер. Триггером RS-типа называется логическое устройство с двумя устойчивыми состояниями, имеющее два информационных входа R и S, такие, что при S=1 и R=0 триггер принимает единичное состояние (Q=1), а при S=0, R=1 - нулевое (Q=0). Вход S называется единичным, а R - нулевым. Принцип работы RS-триггера можно задать таблицей переходов, где Qn – исходное состояние триггера:

 

 

tn tn+1
Rn Sn Qn+1
Qn
X

 

Для того, чтобы найти логическое уравнение RS-триггера, преобразуем таблицу переходов к виду, в котором состояние Qn определим конкретными значениями и представим его в виде входной переменной:

 

tn tn+1
Rn Sn Qn Qn+1
0
X
X

 

Запишем СДНФ для функции Qn+1 (неопределенные состояние не учитываются)

 

.

 

Для минимизации СДНФ заполним диаграмму Вейча, в которой отметим также неопределенные значения функции Qn+1 (рис. 5.2,а). Из диаграммы видно, что в результате склейки можно получить две простые импликанты и . Так как функция является частично определенной, то для избавления от переменной в импликанте , можно неопределенные значения в диаграмме заменить единичными значениями и произвести склейку всего одной переменной Sn (рис. 5.2,б). МДНФ, таким образом примет вид, который и будет соответствовать логическому уравнение RS-триггера

 

.

 

а) б)

Рис. 5.2. Диаграммы Вейча для асинхронного RS-триггера.

 

Полученное уравнение задает работу асинхронного RS-триггера. Состояние такого триггера определяется только значениями сигналов R и S. Асинхронный RS-триггер можно построить на логических элементах И-НЕ, ИЛИ-НЕ. Преобразуем логическое уравнение асинхронного RS-триггера, используя законы отрицания алгебры логики:

 

.

 

Для реализации триггера на элементах ИЛИ-НЕ проведем отрицание обеих частей полученного уравнения

 

.

 

Таким образом, сигнал на инвертирующем выходе RS-триггера - это сигнал на выходе элемента ИЛИ-НЕ, на один вход которого подан сигнал S, а на второй - сигнал с выхода другого элемента ИЛИ-НЕ (рис. 5.3,а).

 

 

а) б) в)

 

Рис. 5.3. Структурные схемы асинхронных RS-триггеров на базе элементов ИЛИ-НЕ, И-НЕ и УГО асинхронного RS-триггера с инверсными входами.

 

Для реализации RS-триггера на элементах И-НЕ, необходимо выполнить следующие преобразования:

 

,

.

 

Структурная схема асинхронного RS-триггера, соответствующая полученному уравнению, изображена на рис. 5.3,б, а условное графическое изображение – на рис. 5.3,в. Из рисунка видно, что на вход триггера на элементах И-НЕ сигналы R и S необходимо подавать в инверсном виде.

В качестве самостоятельных устройств асинхронные RS-триггеры находят ограниченное применение, но являются базовыми схемами для более сложных триггерных устройств. В устройствах цифровой обработки находят применение тактируемые RS-триггеры, которые называются еще синхронными. Эти триггеры, кроме входов установки R и S, имеют вход разрешения записи C. Срабатывание синхронного триггера происходит только при наличии активного сигнала на этом входе. Работа синхронного RS-триггера задается таблицей переходов:

 

tn tn+1
Cn Rn Sn Qn+1
Qn
Qn
Qn
Qn
Qn
X

 

Из таблицы видно, что до тех пор, пока сигнал Cn имеет значение логического нуля, триггер сохраняет свое состояние неизменным. Как только Cn становится равным логической единицы, работа синхронного триггера разрешается, и его состояния соответствуют состояниям асинхронного триггера. Алгоритм нахождения логической функции синхронного RS-триггера аналогичен алгоритму нахождения логической функции асинхронного RS-триггера. Преобразуем таблицу переходов к виду:

 

tn tn+1
Cn Rn Sn Qn Qn+1
X
X

 

Заполним диаграмму Вейча с учетом неопределенных состояний (рис. 5.4,а). С целью упрощения МДНФ зададим вместо неопределенных значений единичные и найдем простые импликанты путем склеивания, как это показано на рис. 5.4,б. На рисунке специально не была произведена склейка импликанты с целью соблюдения аналогии ФАЛ асинхронного и синхронного RS-триггеров.

а) б)

Рис. 5.4. Диаграммы Вейча для синхронного RS-триггера.

 

Согласно диаграмме запишем минимальную ФАЛ и выполним следующее преобразование

 

.

 

Полученная ФАЛ содержит два слагаемых. Первое слагаемое представляет собой логическою конъюнкцию инверсного значения сигнала тактирования и сигнала состояния триггера до срабатывания, а второе – логическую конъюнкцию прямого значения сигнала тактирования и ФАЛ асинхронного RS-триггера.

Для реализации структурной схемы синхронного RS-триггера необходимо сигналы установки S и R асинхронного триггера стробировать сигналом разрешения C. Сделать это можно, используя логические элементы И, либо И-НЕ. В первом случае стробированные сигналы R и S будут представлены в прямом виде, поэтому их необходимо подавать на схему асинхронного RS-триггера на элементах ИЛИ-НЕ (рис. 5.5,а). Во втором случае сигналы R и S окажутся проинвертированными. Поэтому в качестве асинхронного следует выбрать триггер на базе элементов И-НЕ (рис. 5.5,б).

 

а) б)

Рис. 5.5. Варианты структурных схем синхронных RS-триггеров.

 

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

 

а) б)

Рис. 5.6. Структурная схема синхронно RS-триггера с входами асинхронной установки и его условное графическое обозначение.

 

Поскольку триггер, изображенный на структурной схеме, реализован на элементах И-НЕ, то сигналы асинхронной установки R и S должны иметь инверсные активные уровни. Кроме того, поскольку сигналы асинхронной установки подаются непосредственно на выходной каскад (асинхронный RS-триггер), то они имеют больший приоритет перед остальными сигналами триггера.

D-триггер. D-триггер относится к одновходовым триггерам. Асинхронный D-триггер имеет один вход D и прямой и инверсный выходы Q и . Работа асинхронного D-триггера задается таблицей переходов:

 

tn tn+1
Dn Qn+1

 

Соответствующее таблице истинности логическое уравнение имеет вид

 

.

 

Логическое уравнение показывает, что состояние D-триггера в момент времени tn+1 соответствует значению сигнала на D-входе в момент времени tn, т.е. с помощью D-триггера осуществляется задержка входного сигнала. Отсюда второе название асинхронного D-триггера – триггер задержки. Асинхронный D-триггер не имеет практического применения, поскольку его функцию может выполнять схема из последовательного соединения двух инверторов. Наибольший интерес представляет тактируемый (синхронный) D-триггер, работа которого описывается таблицей переходов:

 

 

tn tn+1
Cn Dn Qn+1
Qn
Qn

 

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

 

.

 

Из уравнения видно, что при наличии тактирующего сигнала (С=1), триггер переходит в состояние Qn+1=Dn ,а при отсутствии тактирующего сигнала (С=0), триггер сохраняет предыдущее состояние Qn+1=Qn . Иными словами, синхронный D-триггер осуществляет запись информационного разряда по активному уровню сигнала C с последующим его хранением. Отсюда синхронный D-триггер имеет другое название – триггер-защелка.

Рассмотрим вариант реализации синхронного D-триггера на элементах И-НЕ. Для этого выполним следующие преобразования над задающей его работу ФАЛ

 

.

 

Полученное уравнение совпадает по своей структуре с уравнением для асинхронного RS-триггера, при условии, что , . Тогда очевидно, что D-триггер представляет собой RS-триггер, на информационные входы которого поданы сигналы в соответствии с полученными выражениями. Поскольку сигналы R и S на вход RS-триггера на базе элементов И-НЕ должны подаваться в инверсном виде, то для получения D-триггера, на входы RS-триггера необходимо подавать . Преобразуем выражение для к виду:

 

.

 

С учетом полученных выражений, структурная схема синхронного D-триггера на базе элементов И-НЕ может быть представлена совокупностью двух каскадов. Первый выполняет функцию формирования сигналов и , а второй – асинхронного RS-триггера (рис. 5.7,а). На рис. 5.7,б показано условное графическое обозначение D-триггера.

 

а) б)

Рис. 5.7. Структурная схема синхронного D-триггера на элементах И-НЕ и его УГО.

 

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

 

tn tn+1
Tn Qn+1
Qn

 

Составленное по таблице переходов СДНФ для Qn+1 уже имеет минимальный вид

 

.

 

Характерной его особенностью является то, что частота изменения потенциала на его выходах в два раза меньше частоты сигналов на входе T (рис. 5.8). Это свойство используется при построении двоичных счетчиков. Отсюда второе название T-триггера – счетный триггер.

 

Рис. 5.8. Диаграммы входного и выходного потенциалов T-триггера.

 

Структуру T-триггера можно определить путем преобразования его логической функции к удобному для синтеза в заданном базисе виду. Однако, из анализа работы RS-триггера очевидно, что в том случае, если он находился в единичном состоянии Q=1, то для сброса его в нулевое состояние необходимо сигнал с прямого выхода Q подать на вход R сброса в нуль. Если же RS-триггер изначально находился в нулевом состоянии, т.е. и , то для приведения его в единичное состояние необходимо сигнал с выхода подать на вход S установки в единицу. Достигается это путем введения обратных связей (рис. 5.9,а). При этом, роль входа Т будет выполнять вход разрешения C синхронного RS-триггера.

Т-триггер можно построить и на базе D-триггера. Если в логическом уравнении синхронного D-триггера принять , тогда уравнение запишется в виде

 

.

 

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

 

а) б)

Рис. 5.9. Синтез Т-триггера на базе синхронного RS-триггера и D-триггера.

 

Рассмотренные структуры Т-триггера являются практически нецелесообразными, поскольку характеризуются нестабильностью работы. Действительно, в течение всего времени, пока на входе T присутствует активный уровень сигнала, будет происходить непрерывная смена его состояний на противоположные с частотой, равной обратной величине времени задержки триггера. В результате возникает колебательный процесс. Причиной этого явления служит то, что Т-триггер, обладая обратными связями, принимает информацию как из внешней среды, так и со своих собственных выходов. Поэтому для устойчивой работы Т-триггера необходимо разделить во времени функции приема тактирующего сигнала Т и фиксации на входах R, S или D сигналов с соответствующих выходов Q и . Для этого в структуру Т-триггера вводится дополнительный второй запоминающий элемент на базе RS- или D-триггера. На синхронизирующий вход этого элемента тактовый сигнал подается в инверсном виде по отношению к тактовому сигналу первого запоминающего элемента. Подобная организация структур триггерных устройств называется двухступенчатой.

Пример двухступенчатого Т-триггера на базе двух синхронных RS-триггеров приведен на рис. 5.10,а, а на основе двух D-триггеров – на рис. 5.10,б. Из рисунка видно, что когда на синхронизирующем входе первого триггера в двухступенчатой структуре действует нулевой уровень тактирующего сигнала Т, он хранит свое состояние Q1 и . В это время на синхронизирующий вход второго триггера поступает инвертированный сигнал Т, т.е. имеющий уровень логической единицы. В результате второй триггер принимает состояние первого, т.е. Q1=Q2 и =. Запись в первый триггер при этом запрещена. Как только тактирующий сигнал Т примет уровень логической единицы, произойдет запись информации из второго триггера в первый. В результате состояние первого триггера изменится на противоположное. При этом запись во второй триггер производиться не будет, поскольку на его входе будет действовать нулевой уровень сигнала разрешения записи. Процесс будет повторяться с приходом каждого тактирующего импульса, что обеспечит устойчивую работу устройства. В условных графических обозначениях всех двухступенчатых триггеров принято в обозначении функции элемента указывать два символа «ТТ», как это показано на примере двухступенчатого Т-триггера (рис. 5.10,в). Вход Т Т-триггера принято называть счетным.

 

а) б)

в)

Рис. 5.10. Двухступенчатый T-триггер на базе синхронных RS-триггеров и D-триггеров и его условное графическое обозначение.

 

JK-триггер. JK-триггер относится к двухвходовым устройствам и функционирует по правилам, похожим на правила функционирования RS-триггера. Отличие состоит в том, что в JK-триггере все состояния являются определенными. Можно провести аналогию входов JK- и RS-триггеров: вход K JK-триггера выполняет функцию входа R RS-триггера, а вход J JK-триггера – функцию входа S RS-триггера. При этом, если в RS-триггере комбинация единичных значений входов R и S является запрещенной, то в случае аналогичной комбинации J- и K-входов, JK-триггер меняет свое состояние на противоположное. Правило работы асинхронного JK-триггера можно сформулировать следующей таблицей переходов:

 

tn tn+1
Kn Jn Qn+1
Qn

 

Выполнив действия, аналогичные действиям по нахождению логической функции RS-триггера, можно определить выражение для Qn+1 асинхронного JK-триггера

.

 

Наибольшее распространение получили тактируемые или синхронные JK-триггеры, работа которых задается таблицей переходов:

tn tn+1
Cn Kn Jn Qn+1
Qn
Qn
Qn
Qn
Qn

Соответствующее таблице логическое выражение имеет вид

 

 

Поскольку при подаче на J- и K-входы триггер инвертирует свое состояние, т.е. выполняет функцию Т-триггера, то логично предположить, что структура синхронного JK-триггера должна повторять структуру T-триггера. В качестве базовых следует выбрать RS-триггеры. Причем, первый RS-триггер должен быть асинхронным и иметь внешнюю в структурном плане схему стробирования выходных сигналов с сигналом синхронизации C и соответствующими сигналами J и K (рис. 5.11,а). С выходов элементов И-НЕ сигналы имеют инвертированные значения, поэтому в качестве асинхронного RS-триггера следует выбирать триггер, реализованный на базе элементов И-НЕ и имеющий инверсные входы и . Условное графическое изображение синхронного двухступенчатого JK-триггера приведено на рис. 5.11,б.

 

а) б)

Рис. 5.11. Структура синхронного JK-триггера и его условное графическое обозначение.

 

Триггер JK-типа относится к разряду универсальных, поскольку на его основе можно получить схемы, выполняющие функции RS-, D- и T-триггеров. Для выполнения функции RS-триггера, JK-триггер можно использовать, не вводя никаких дополнительных связей и узлов. Достаточно сигнал S подать на вход J, а сигнал R – на вход K (рис. 5.12,а). При этом одновременная подача на эти входы логических единиц не нарушит правило работы RS-триггера, поскольку у RS- триггера такая комбинация входных сигналов является вовсе неопределенной.

Если в логическом уравнении для синхронного JK-триггера принять и , тогда

 

,

 

что совпадает с логическим уравнением D-триггера. Таким образом, для получения D-триггера из JK-триггера необходимо сигнал подавать на вход J, который будет выполнять функцию D-входа, а на вход K сигнал D подавать через инвертор (рис. 5.12,б).

Для получения T-триггера достаточно объединить входы J и K. Тогда справедливы следующие преобразования

 

.

 

Это уравнение приобретает вид логического уравнения T-триггера, причем объединенные входы J и K играют роль T-входа (рис. 5.12,в). В качестве входа Т можно использовать и вход разрешения записи С тактируемого JK-триггера. В этом случае на объединенные входы J и K необходимо постоянно подавать логическую единицу, что задает режим инвертирования состояния JK-триггера. При этом само инвертирование будет происходить лишь при поступлении на вход C разрешающего сигнала (рис. 5.12,г).

 

а) б)

в) г)

Рис. 5.12. Реализация триггеров различных типов на базе JK-триггера.

 

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

 

Рис. 5.13. Обозначение входов динамического управления.

 

5-3. Счетчики.

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

Основными параметрами счетчика являются:

- модуль счета или коэффициент пересчета Ксч;

- быстродействие счетчика.

Модуль счета Ксч характеризует число устойчивых состояний счетчика, т. е. предельное число импульсов, которое может быть им сосчитано. После поступления Ксч входных импульсов счетчик возвращается в исходное состояние. Такие счетчики называются также делителями на число, равное Ксч.. По модулю счета счетчики подразделяются на двоичные, у которых Ксч=2m, и недвоичные, у которых Ксч¹2m, где m – положительное целое число.

Быстродействие счетчика в свою очередь определяется двумя величинами:

- разрешающей способностью , т.е. минимальным допустимым интервалом времени между подачей двух входных импульсов, при котором не происходит потеря счета;

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

При этом должно выполняться условие tр>tуст.

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

mдв.=log2Kсч.

 

Для недвоичных счетчиков количество триггеров следует выбирать из условия

 

mнедв.=[log2Kсч],

 

где [log2Kсч] - двоичный логарифм заданного коэффициента пересчета, округленный до ближайшего (большего) целого числа.

Двоичные счетчики. Начнем с двоичных счетчиков. Для их построения можно использовать различные типы триггеров. Наиболее удобным является триггер Т-типа (счетный триггер), который осуществляет подсчет импульсов по модулю 2. Такой триггер по сути дела является простейшим счетчиком с Ксч=2. Соединив несколько счетных триггеров определенным образом, можно получить схему многоразрядного счетчика. Если в качестве базовых используются Т-триггеры с прямым динамическим счетным входом, то для построения трехразрядного суммирующего двоичного счетчика, их необходимо объединить так, как это показано на рис. 5.14,а. Срабатывание всех триггеров происходит по переднему фронту счетного импульса. Поэтому, чтобы реализовать операцию суммирования, необходимо на триггеры Т2 и Т3 информацию подавать с инверсных выходов предыдущих триггеров. Временная диаграмма работы счетчика показана на рис. 5.14,б.

Состояния выходов Q1, Q2 и Q3 сгруппируем в зависимости от номера счетного импульса в таблице 5.1. Из таблицы очевидно, что двоичный код, задаваемый логическими состояниями выходов счетчика соответствует порядковому номеру входного счетного импульса С. При подаче последнего восьмого импульса счетчик возвращается в исходное состояние, после чего процесс повторяется. Модуль счета, таким образом, Ксч=23=8.

 

Рис. 5.14. Структурная схема и временная диаграмма работы трехразрядного двоичного суммирующего счетчика на основе Т-триггеров с прямым динамическим счетным входом.

 

Таблица 5.1.

С Исходное состояние
Q1
Q2
Q3
Десятичный код

 

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

 

Рис. 5.15. Структурная схема и временная диаграмма работы трехразрядного двоичного суммирующего счетчика на основе Т-триггеров с инверсным динамическим счетным входом.

 

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

 

Рис. 5.16. Структурная схема и временная диаграмма работы трехразрядного двоичного вычитающего счетчика на основе Т-триггеров с прямым динамическим счетным входом.

 

Таким образом, путем переключения выходов с инверсных на не инверсные и обратно, можно получить как суммирующие, так и вычитающие счетчики. Это свойство положено в основу построения реверсных счетчиков. Для этих целей используются коммутаторы выходов на базе логических элементов 2И-ИЛИ-НЕ (рис. 5.17). Элементы ЛЭ1 и ЛЭ2 выполняют роль коммутаторов выходных сигналов с триггеров Т1 и Т2. При подаче логического нуля на вход «-1» и логической единицы на вход «+1», на выходе верхней структуры И элементов ЛЭ1 и ЛЭ2 формируется результат с выходов Q1 и Q2 соответствующих триггеров. На выходе нижней структуры И присутствует логический нуль, в результате чего выходы и не влияют на работу схемы. Структура ИЛИ-НЕ элементов ЛЭ1 и ЛЭ2 инвертирует значения соответствующих коммутируемых выходов. Таким образом, осуществляется инверсия сигналов Q1 и Q2, которые подаются на прямые динамические тактовые входы триггеров Т2 и Т3. Счетчик работает в режиме суммирования. При подаче логического нуля на вход «+1» и логической единицы на вход «-1» картина меняется. Закрытыми оказываются прямые выходы Q1, Q2, а открываются инверсные выходы и . При этом, их значения инвертируются элементами ИЛИ-НЕ ЛЭ1 и ЛЭ2, в результате чего они становятся прямыми. Счетчик начинает работать в режиме вычитания. На практике, с целью упрощения процесса управления, обычно вместо двух входов «+1» и «-1» используется только один из этих входов. Сигнал второго входа формируется через инвертор.

 

Рис. 5.17. Структурная схема трехразрядного двоичного реверсивного счетчика.

 

В рассмотренных счетчиках срабатывание триггеров происходит поочередно друг за другом, т.е. последовательно. Такие счетчики называются асинхронными. Их недостаток состоит в том, что увеличивается общее время установления tуст с увеличением числа триггеров. Кроме того, появление промежуточных комбинаций может привести к ложному срабатыванию дешифратора, если такой есть в структуре ПЦУ. Для устранения этого недостатка используются счетчики, у которых все триггеры срабатывают одновременно. Такие счетчики получили название синхронных счетчиков. Идея синхронного счетчика заключается в построении внешней комбинационной схемы, формирующей сигналы, согласно которым будет происходить одновременное переключение только части триггеров в зависимости от текущего выходного кода. Причем эти сигналы должны быть сформированы до поступления очередного счетного импульса. Счетный импульс должен поступать на все триггеры одновременно. Для этих целей необходимо использовать тактируемые Т-триггеры, входы синхронизации которых объединяются в общую шину. На тактовые Т-входы каждого триггера подаются заранее сформированные сигналы переноса с комбинационной схемы.

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

 

Рис. 5.18. Структурная схема четырехразрядного суммирующего счетчика с параллельным переносом.

 

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

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

Другой вариант структуры синхронного счетчика – это структура со сквозным переносом. Согласно этой структуре, перенос формируется только из единичных результатов соседних разрядов. Для этих целей достаточно использовать только двухвходовые элементы И при любой разрядности счетчика (рис. 5.19). Перенос между разрядами осуществляется через каждый элемент И (ЛЭ1 и ЛЭ2) в их последовательной структуре. Отсюда следует, что общее время срабатывания всего счетчика определяется временем срабатывания одного триггера и суммарным временем задержки последовательной цепи логических элементов И. Выигрыш по быстродействию в такой структуре осуществляется за счет меньшего времени срабатывания одного логического элемента по сравнению со временем срабатывания одного триггера. При достаточно большой разрядности счетчика, время задержки во всех элементах И может оказаться значительным и сравняться с временем срабатывания одного триггера.

 

Рис. 5.19. Структурная схема четырехразрядного суммирующего счетчика со сквозным переносом.

 

Недвоичные счетчики. Недвоичные счетчики имеют Ксч¹2m. Принцип их построения заключается в исключении некоторых устойчивых состояний обычного двоичного счетчика. Избыточные состояния исключаются с помощью обратных связей внутри счетчика. Как было показано ранее, количество триггеров в недвоичном счетчике есть округленное до большего целого числа значение mнедв=[log2Kсч]. Поэтому, если задействовать все возможные состояния m триггеров, то счетчик окажется двоичным. Организуя обратные связи в двоичном счетчике таким образом, чтобы определенными выходными кодовыми комбинациями осуществлять либо его обнуление, либо установку в состояние, отличное от очередного, реализуется недвоичный счетчик с произвольным Ксч. Часть состояний двоичного счетчика, таким образом, пропускаются.

Наибольший интерес среди недвоичных счетчиков представляют двоично-десятичные счетчики с Ксч=10, которые строятся на основе четырех счетных триггеров. Важность этого класса счетчиков заключается в том, что с их помощью легко может быть осуществлен вывод содержимого счетчика в десятичном коде. Действительно каждый двоично-десятичный счетчик имеет десять устойчивых состояний и соответствует одному разряду десятичной системы счисления.

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

 

14-4. Регистры.

Регистрами называются последовательностные цифровые устройства, выполняющие функции приема, хранения и передачи информации. Информация в регистре хранится в виде двоичного кода, т.е. представлена комбинацией сигналов логического нуля и логической единицы. Каждому разряду кода, записанному в регистр, соответствует свой разряд регистра, как правило, на основе триггеров RS-, D- или JK-типа. Основным классификационным признаком, по которому различают регистры, является способ записи информации или кода числа в регистр. По этому признаку можно выделить регистры следующих типов:

- параллельные;

- последовательные;

- последовательно-параллельные.

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

Время ввода числа в регистр параллельного типа равно времени ввода одного разряда. Время ввода числа в регистр последовательного типа равно m×T, где m - число разрядов вводимого числа, а T - период следования тактирующих сигналов, осуществляющих ввод (вывод) информации.

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

Параллельные регистры. Параллельный регистр используется для кратковременного хранения чисел, представленных в параллельном двоичном коде. Поэтому параллельные регистры называются еще регистрами памяти. Рассмотрим способы построения регистров памяти на триггерах RS-типа. Каждый триггер служит для хранения одного разряда числа, значит, для хранения m-разрядного двоичного числа необходимо иметь m RS-триггеров. Как следует из таблицы переходов RS-триггера, для записи единицы необходимо подавать единицу на вход S и нуль на вход R, а для записи нуля – наоборот – единицу на вход R и нуль на вход S, т.е. информация должна поступать на оба входа RS-триггера. Полученный регистр будет парафазным, причем вход S - прямой, а вход R - инверсный. Для синхронной записи во все триггеры одновременно, их тактовые входы необходимо объединить в одну шину (рис. 5.20).

Рис. 5.20. Структурная схема параллельного парафазного регистра на синхронных RS-триггерах.

 

Если необходимо синтезировать параллельный регистр на RS-триггерах однофазного типа, т.е. вход R не использовать, то остаются следующие варианты по таблице переходов RS-триггера:

 

tn tn+1
Sn Qn+1
Qn

 

Чтобы получить нулевой сигнал на выходе, при Sn=0, необходимо чтобы Qn=0, т.е. перед записью необходимо обнулить триггер. Для этого нужно объединить все входы R и при подаче на информационные входы S сигнала с уровнем логического нуля, подать на объединенные входы R логические единицы (рис. 5.21). Таким образом, осуществляется предварительная установка триггеров в нулевое состояние. Если теперь на входы S соответствующих триггеров подать значения записываемых разрядов исходного кода, то они зафиксируются на выходах триггеров.

 

Рис. 5.21. Структурная схема параллельного однофазного регистра на синхронных RS-триггерах.

 

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

Рис. 5.22. Структурная схема параллельного регистра на D-триггерах.

 

Последовательные регистры. Последовательный регистр предназначен для кратковременного хранения информации, но, в отличие от параллельного регистра, в нем осуществляется логическая операция сдвига кода хранимого числа на любое количество разрядов. Ввод информации в последовательный регистр осуществляется по одному последовательному каналу V. Сдвиг кода числа происходит с помощью синхронизирующих импульсов С, в результате подачи которых осуществляется сдвиг всех разрядов кода числа со входа к выходу или наоборот. Как и в случае параллельных регистров, последовательный регистр может быть синтезирован на базе триггеров RS-типа (JK-типа), но наиболее удобным для этих целей является использование D-триггеров. (рис. 5.23). Из рисунка видно, что информация с первым тактирующим импульсом с входа V передается на выход первого и вход второго триггеров. С приходом второго тактирующего импульса информация из первого триггера перепишется на выход второго триггера. На выход первого триггера запишется новое значение с входа V. Таким образом, будет осуществляться сдвиг исходного кода вправо. Отсюда последовательные регистры называются еще регистрами сдвига. Информация выводится из триггера по одному выходу Q.

 

Рис. 5.23. Структурная схема последовательного регистра.