Лекция № 4
“Последовательностные логические устройства.”
Все ранее рассмотренные схемы являются схемами мгновенного действия. Информация на их выходах меняется мгновенно с изменением информации на входах. Поэтому, они называются комбинационными. Однако, зачастую бывает необходим элемент, способный запоминать информацию о том, что какое-то событие имело место. Назовем его запоминающим устройством (ЗУ).
Элементарной запоминающей ячейкой является триггер. Простейший, т.н. “R-S” триггер может быть построен с помощью двух логических элементов путем введения обратных связей.
При подаче активного уровня на вход R на выходе Q
устанавливается низкий уровень, а на выходе - высокий уровень сигнала, и не меняется
при дальнейших изменениях уровня сигнала на входе R. Аналогично, при подаче
активного уровня на вход S, на выходе Q устанавливается высокий уровень, а на
выходе
- низкий.
Одновременная подача активных уровней на оба входа запрещена. Простейший R-S
триггер фиксирует информацию, поступившую на его входы в любой момент времени.
Как можно заметить, состояние выходных сигналов подобных схем зависит не только от входных, но и от выходных сигналов, запоминаемых устройством до прихода новой совокупности входных сигналов. Такие устройства называются последоватеностными схемами или конечными автоматами
.Работу триггерных схем можно описать с помощью таблиц, аналогичным ранее применявшимся таблицам истинности. Однако, в данном случае они называются таблицами переключений. Для простейшего RS-триггера Таблица переключений имеет вид:
Sn |
Rn |
Qn |
Qn+1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
X |
1 |
1 |
1 |
X |
Представленной таблице переключений соответствует следующая карта Карно:
Qn SnRn |
00 |
01 |
11 |
10 |
0 |
0 |
0 |
X |
1 |
1 |
1 |
0 |
X |
1 |
Если позиции, соответствующие неопределенным состояниям заполнить единицами, то получим функцию RS-триггера с инверсными входами:
;
Если неопределенные позиции заполнить нулями, то получим уравнение RS-триггера с прямыми входами:
;
Оба приведенных типа триггеров имеют запрещенное состояние входных сигналов 11, приводящее к несанкционированному переключению выхода в 0 или 1.
Если заполнить неопределенные позиции комбинацией 01, то получим уравнение т.н. E-триггера:
;
Этот триггер не имеет запрещенных комбинаций. Комбинация входных сигналов 11 не меняет состояние выходных сигналов.
Если заполнить неопределенные позиции комбинацией 10, то получим уравнение т.н. JK-триггера
:;
JK-триггер является часто используемым, поэтому для отличия от RS-триггера его входы не S и R, а J и K соответственно. Поэтому уравнение JK-триггера можно переписать так:
;
Этот триггер характерен тем, что комбинация входных сигналов 11 приводит к инвертированию выходных сигналов. Данное свойство этого триггера позволяет ему работать в т.н. “счетном” режиме. Для этого необходимо объединить входы J и K. При этом каждый входной импульс будет приводить к инвертированию выходного сигнала. Триггер, работающий
в счетном режиме называют Т-триггером.Уравнение Т-триггера получим произведя замену J=K=T в последнем уравнении:
;
Объединив последовательно несколько Т-триггеров можно получить простейший двоичный счетчик или делитель частоты.
Подобные счетчики обладают пониженным быстродействием т.к. каждый триггер вносит некоторую задержку при прохождении счетных импульсов.
Из-за конечного времени переключения логических элементов и
задержки срабатывания в логических схемах возможны т.н. “гонки сигналов” -
переходные режимы, вызванные тем, что из-за задержек поступления информации
выходной сигнал на некоторое время принимает ложные значения. Рассмотрим эти
режимы на примере схемы, реализующей функцию
Теоретически выходной сигнал такой схемы Y должен быть всегда равен 1 и не изменяться при изменении входного сигнала X. Однако в реальной схеме инвертор имеет конечное время распространения сигнала, из-за чего сигнал на второй вход элемента “И-НЕ” приходит несколько позже чем на первый. Т.о. существует короткий интервал времени, в течение которого комбинация входных сигналов логического элемента соответствует нулевому уровню выходного сигнала.
Подобные ситуации могут приводить к ложным срабатываниям триггеров и нарушению алгоритма работы устройства. Устранить ошибки, возникающие за счет “гонок сигналов” в логических цепях можно за счет временного стробирования. Вырабатываемый логическим устройством сигнал в этом случае передается на последующие устройства не непрерывно и не в произвольные моменты времени, а только в такие моменты времени, когда искажение правильных значений выходного сигнала за счет “гонок” заведомо исключено.
Временное стробирование обеспечивается с помощью схем совпадения (схем “И” или “И-НЕ”). В течение времени стробирования на один вход схемы “И” действует стробирующий импульс, а на второй - сигнал логического устройства. Обычно стробирующие сигналы действуют периодически. Их называют тактовыми или синхронизирующими. Период следования тактовых импульсов называют тактом логического устройства. Триггеры, работающие с использованием синхронизирующих сигналов, называют синхронными. Схема синхронного RS-триггера имеет вид:
Основой схемы служит асинхронный RS-триггер с инверсными входами. Сигнал на каждый вход триггера подается через схему “И-НЕ”. При активном единичном уровне синхросигнала C сигналы со входов S и R передаются на соответствующие входы триггера, а при нулевом уровне синхросигнала на обоих входах триггера устанавливается неактивный единичный уровень сигналов. Т.о., синхронный R-S триггер, в отличие от него, обеспечивает фиксацию информации только при активном состоянии на входе синхронизации. Логическая функция синхронного RS-триггера имеет вид:
;
Состояние в синхронных триггерах может измениться только во время действия синхроимпульса. В промежутках между синхроимпульсами выходные напряжения постоянны. Это свойство позволяет создать на основе синхронных RS-триггеров триггеры задержки - D-триггеры (Delay Trigger). D-триггер фиксирует информацию, приходящую на один вход данных. У D-триггера значение выходного сигнала в (n+1) такте равно значению входного сигнала в n такте. Т.о., D-триггер запоминает состояние входного сигнала на период одного такта квантования. Схема D-триггера имеет вид:
Он выполняет логическую функцию:
;
Из D-триггера можно получить счетный T-триггер, подав на вход D сигнал с инверсного выхода.
Описанные типы триггеров пропускают входной сигнал на выход в течение всего активного периода сигнала синхронизации.
Двухступенчатый триггер никогда непосредственно не пропускает входной сигнал на выход.
Синхронные триггеры выпускаются в виде отдельных микросхем, примерами которых могут служить КР1533ТВ9 (74ALS112) - двойной JK-триггер, КР1533ТМ2 (74ALS74) - двойной D-триггер и др.
Объединив несколько D-триггеров с единым входом синхронизации можно получить регистр, способный фиксировать многоразрядную информацию. В соответствии со структурой внутренних триггеров существуют регистры-защелки и регистры с синхронным стробированием. Регистры-защелки пропускают входную информацию на выход при одном уровне сигнала синхронизации и фиксируют ее при переходе сигнала синхронизации в другое состояние. Регистры с синхронным стробированием фиксируют информацию по фронту сигнала синхронизации. Примерами таких регистров могут служить микросхемы КР1533ИР22 (74ALS373) - 8-разрядный регистр-защелка и КР1533ИР23 (74ALS374) - 8-разрядный регистр, фиксирующий информацию по переднему фронту сигнала синхронизации.
Функции переходов рассмотренных типов триггеров можно получить из уравнений этих триггеров если в них положить С=1. Они имеют вид:
- для D-триггера;
- для JK-триггера;
- для Т-триггера.
Отсюда можно вывести функции возбуждения каждого из перечисленных типов триггеров, которые определяют какие значения должны быть установлены на управляющих входах в предыдущем такте квантования для того, чтобы в следующем такте на выходе триггера установился сигнал заданного значения. Эти функции имеют вид:
- для D-триггера;
- для JK-триггера;
- для Е-триггера.
Представленные функции используются для синтеза конечных автоматов. Продемонстрируем процесс синтеза на примере создания двоичного счетчика. Составим таблицу переключений счетчика в которой представим последовательные комбинации выходов счетчика и комбинации, следующие за текущей.
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
После этого можно составить карты Карно и определить уравнения зависимостей последующих состояний разрядов счетчика от предыдущих.
;
;
;
Подставляя теперь эти уравнения в выражения для функций возбуждения получим уравнения для цепей, формирующих управляющие сигналы триггеров соответствующих разрядов счетчика. В случае реализации счетчика на Т-триггерах получим:
;
;
.
Эти уравнения соответствуют следующей схеме.
В случае реализации счетчика на D-триггерах получим уравнения:
;
;
.
Эти уравнения соответствуют следующей схеме.
Аналогичным образом можно осуществить синтез двоично-десятичных, вычитающих, реверсивных и других типов счетчиков. Подобные счетчики называются синхронными, т.к. сигнал синхронизации подается одновременно на все триггеры. Такие устройства выпускаются серийно в виде отдельных микросхем, примерами которых могут служить КР1533ИЕ9 (74ALS160) - 4-разрядный двоично-десятичный синхронный счетчик, КР1533ИЕ10
(74ALS161) - 4 разрядный двоичный синхронный счетчик и др.Данные устройства имеют параллельную предзагрузку данных через входы A, B, C, D и строб загрузки LOAD, а также сброс в нулевое состояние по сигналу CLR. Выход переноса в следующий разряд RCO устанавливается в нулевое состояние если текущее состояние счетчика является последним (1111 - для двоичных и 1001 - для двоично десятичных). Включая последовательно несколько таких устройств можно создавать многоразрядные синхронные счетчики.
Если объединить несколько D-триггеров по цепочке,
соответствующей уравнению , то получим т.н. регистр
сдвига
Они используются как устройства с последовательным вводом
данных (для ввода N-разрядного двоичного слова необходимо n тактов квантования),
а также для выполнения операций умножения или деления на путем сдвига двоичного слова на n разрядов
в лево или вправо соответственно.