ЛАБОРАТОРНАЯ РАБОТА № 3 СЧЕТЧИКИ. АНАЛИЗ И СИНТЕЗ 3.1. Цель работы Знакомство с принципом действия счетчиков различных типов. Овладение методикой синтеза синхронных счетчиков с произвольным модулем счета. Ознакомление с особенностями работы типовых счетчиков в интегральном исполнении. 3.2. Основные положения Счетчиком называют цифровое устройство (цифровой автомат), сигналы на выходе которого, в определенном коде, отображают число импульсов, поступивших на счетный вход. Кроме того, в счётчиках выполняются такие микрооперации, как установка в исходное состояние, хранение и выдача слов. По мере поступления входных сигналов счетчик последовательно меняет свои состояния, образованные комбинациями состояний триггеров со счетным входом. Число разрешенных состояний счетчика называют модулем счета, коэффициентом пересчета или емкостью M (в общем случае , где n - число триггеров или двоичных разрядов счетчика). Счетчики классифицируют по значению модуля, направлению счета и способу организации межразрядных связей. По значению модуля счета различают: двоичные (), двоично-кодированные с произвольным модулем, с одинарным кодированием и др. По направлению счета: суммирующие (прямого счета - Up-counter), вычитающие (обратного счета - Down-counter) и реверсивные (Up-Down-counter). По способу организации межразрядных связей различают счетчики с последовательным, параллельным и комбинированным переносами. Кроме того, все перечисленные типы счетчиков принято делить на два вида: синхронные и асинхронные. При этом в асинхронных счетчиках изменение его состояния, вызванное воздействием очередного импульса, характеризуется последовательным во времени изменением состояний триггеров (как правило, это счетчики с последовательным переносом). В синхронных счетчиках смена состояний характеризуется одновременным во времени изменением состояний его триггеров. В этом качестве синхронные счетчики образуют один из видов синхронных автоматов, потому к ним может быть применена и стандартная методика синтеза этого класса автоматов. Определим некоторые закономерности двоичных счётчиков. Соответствие между числом входных импульсов и состояниями 3-разрядного двоичного счетчика (прямой и обратный счет) представлено в табл. 3.1. Рассматривая табл. 3.1 для прямого счета, можно отметить две закономерности: Значение переменной Qi изменяется тогда, когда переменная в соседнем младшем разряде Qi-1 переходит из состояния «1» в состояние «0». Значение выходной переменной Qi изменяется при поступлении очередного импульса счета в том случае, когда переменные во всех младших разрядах Qi-1, ..., Q1 находятся в состоянии «1». Таблица 3.1 Число входных Суммирующий Вычитающий
импульсов Q3 Q2 Q1 Q3 Q2 Q1
0 0 0 0 1 1 1
1 0 0 1 1 1 0
2 0 1 0 1 0 1
3 0 1 1 1 0 0
4 1 0 0 0 1 1
5 1 0 1 0 1 0
6 1 1 0 0 0 1
7 1 1 1 0 0 0
Первая закономерность указывает на возможность реализации счетчика асинхронного типа, вторая позволяет построить синхронный счетчик. Для вычитающего счетчика аналогичные закономерности можно сформулировать так: Значение выходной переменной Qi изменяется, когда переменная в соседнем младшем разряде Qi-1 переходит из состояния «0» в состояние «1». Значение выходной переменной Qi изменяется при поступлении очередного импульса счета в том случае, когда все переменные в предыдущих младших разрядах Qi-1, ..., Q1 находятся в состоянии «0». 3.3. Асинхронные последовательные счетчики
Рис. 3.1 Асинхронный суммирующий счетчик на JK- триггерах (а) и временная диаграмма его работы (б). Асинхронные счетчики строятся в виде цепочки триггеров со счетным входом (JK- триггер с J=K=1 или D- триггер с инверсной обратной связью, ), когда тактовый вход каждого последующего подключен к выходу Q или предыдущего, что зависит как от направления счета, так и от типа тактирующего входа триггера. Схема суммирующего счетчика на JK- триггерах и временная диаграмма его работы приведены на рис. 3.1. Если тактовые входы JK- триггеров соединить с инверсными выходами предыдущих триггеров, то получится схема вычитающего счетчика. Аналогично, если в схеме вычитающего счетчика на D- триггерах (рис. 3.2.) тактовые входы триггеров соединить с инверсными выходами предыдущих триггеров, то счетчик станет суммирующим. Полученные счетчики называют последовательными, так как в них каждый триггер переключается выходным сигналом предыдущего. Эти счетчики отличаются простой схемой, но низким быстродействием в режиме регистрации входных сигналов, так как в этом режиме нельзя подавать очередной входной сигнал, пока не зафиксировано предыдущее состояние счетчика. Время установления кода равно tуст = nt зд. тр, где t зд. тр - время задержки переключения триггера. Очевидно, что максимальная частота входных сигналов в режиме регистрации составляет fмакс.рег=1/tуст. Впрочем, в режиме деления входных импульсов максимальная частота их поступления будет ограничиваться быстродействием младшего триггера и составит fмакс.дел=1/tзд.тр.
Рис. 3. 2 Асинхронный вычитающий счетчик на D- триггерах (а) и временная диаграмма его работы (б). Второй недостаток состоит в том, что из-за накопления временных сдвигов в разрядах в процессе установления кода, в счетчике возникают на короткие промежутки времени ложные состояния. Поэтому если к выходным разрядам такого счетчика подключить дешифратор, то на его выходах могут появиться ложные сигналы, соответствующие промежуточным фазам перехода счетчика из одного состояния в другое. От названных недостатков свободны синхронные счетчики. 3.4. Синхронные двоичные счетчики
Рис. 3.3 Структурная схема синхронного счетчика Схему синхронного счетчика можно представить обобщенной структурной схемой (рис. 3.3), включающей триггеры со счетным входом T и комбинационную схему, формирующую функции возбуждения fi для этих счетных входов. В JK- триггерах счетный вход организуется путем соединения входов J и K. Вход управляет режимом работы схемы ( - прямой счет, - обратный счет), а выходной сигнал переноса/займа CR/BR (Carry/Borrow) может использоваться для наращивания разрядности счетчика.
Рис. 3.4 Двоичный счетчик с изменяемым направлением счета ( - прямой, - обратный) Как следует из анализа табл. 3.1 (правило 2), переключение триггера младшего разряда осуществляется с приходом каждого счетного сигнала CLK, а остальных триггеров - только в том случае, когда все триггеры младших разрядов установлены в «1» (прямой счет) или в «0» (обратный счет). Следовательно, в общем случае, функция возбуждения триггера fi для синхронного двоичного счетчика может быть определена выражением: , . (1) Для младшего разряда: f1=1. Сигнал переноса/заёма может формироваться в двух случаях, а именно, когда в счетчике хранится максимальное значение кода при и минимальное значение при : . (2)
Рис. 3.5 Временная диаграмма формирования переноса и займа в 4-разрядном синхронном счетчике (CE=1) На рис. 3.4 представлена схема 4-разрядного синхронного двоичного счетчика с изменяемым направлением счета, построенного в соответствии с выражениями (1) и (2) с тем отличием, что в схему введен дополнительный управляющий вход CE (Count Enable - разрешение счета). Временные диаграммы работы счетчика (рис. 3.5) поясняют особенности формирования переноса в режиме прямого счета и заёма - в обратном с учетом запаздывания в их формировании относительно счетного (тактового) сигнала CLK. Каскадировать счетные группы можно двумя способами: с использованием последовательного или параллельного переносов. При параллельном переносе (рис. 3.6) две счетные группы как бы объединяются в единую синхронную схему 8- разрядного счетчика. Наличие управляющего входа разрешения счета CE при таком способе объединения является просто обязательным. Иногда, когда высокая скорость не требуется, счетные группы можно соединить последовательно (рис. 3.7), при этом сигнал переноса (заёма) служит тактовым сигналом следующей старшей группы. В этом случае (см. диаграммы рис. 3.5) вместо выхода целесообразно использовать тот же сигнал, только синхронизированный тактовым сигналом (CR/BR). Схему же счетчика при этом можно упростить, убрав вход разрешения счета CE.
Рис. 3.6 Каскадирование синхронных счетчиков с параллельным переносом
Рис. 3.7 Каскадирование синхронных счетчиков с помощью последовательного переноса 3.5. Синтез счетчиков с произвольным модулем Различные области применения требуют использования счетчиков с разными модулями (например, в качестве делителей частоты импульсной последовательности используются счётчики с M<2n ), для работы в десятичной системе счисления применяются декадные счетчики с M=10) и т. д. Существующие методы построения счетчиков с произвольным модулем счета очень разнообразны и сводятся по существу к различным подходам в устранении избыточных состояний , где 2n -модуль счета n- разрядного двоичного счетчика [Л. 2...4, 8]. В лабораторной работе используются лишь два способа: классический метод синтеза счетчика с произвольным модулем M, рассматривающий поведение счетчика как синхронного автомата с заданной таблицей переходов; метод исключения группы избыточных состояний. Классический метод. Кратко перечислим основные этапы синтеза. На основе заданного значения модуля M определяем число триггеров n, округлив до ближайшего большего целого величину . Выбираем (если он не является заданным) тип триггера, в котором имеется или легко реализуется счетный режим. Выбираем естественный порядок счета, начиная с 0 (в диапазоне 0...M-1), или с ? (в диапазоне от до 2n-1) и составляем таблицу переходов счетчика по форме табл. 3.2 (выбран JK- триггер и M=5). Таблица 3.2 Состояния счетчика Функции возбуждения триггеров
Исходное (t) Следующее (t+1)
Q3 Q2 Q1 Q3 Q2 Q1 J3 K3 J2 K2 J1 K1
0 0 0 0 0 1 0 * 0 * 1 *
0 0 1 0 1 0 0 * 1 * * 1
0 1 0 0 1 1 0 * * 0 1 *
0 1 1 1 0 0 1 * * 1 * 1
1 0 0 0 0 0 * 1 0 * 0 *
Составляем карты Карно для каждой из функций возбуждения от аргументов и находим соответствующие минимальные формы: J3=Q2Q1, J2=Q1, J1=, K3=1, K2=Q1, K1=1. На основе известных выражений для функций возбуждения строим схему синхронного счетчика с заданным модулем. Метод исключения. Использование метода предполагает знание выражения для функции возбуждения счётного входа i-го разряда счётчика (1). Изложение метода проведём на конкретном примере синтеза суммирующего счётчика, для которого выражение (1) при примет вид , . (3) Для младшего i=1 разряда f1=1. Примем значение модуля счёта M=6 а, в качестве триггера, Т-триггер. На основе заданного значения модуля M определяем число триггеров n, округлив до ближайшего большего целого величину , т. е. n=3. Составляем таблицу состояний счётчика по модулю 2n Состояния счётчика –––––––– Q3 Q2 Q1 –––––––– 0 0 0 C 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 A ––––––– 1 1 0 B 1 1 1 Исключим из таблицы группу избыточных состояний с выделением в таблице следующих кодовых комбинаций (наборов): A, B, C. При этом: А – состояние предшествующее группе избыточных состояний, В – первое в группе избыточных состояний, а С – следующее за группой избыточных состояний. Выполним функцию коррекции поразрядных функций возбуждения fi (i=1, 2, 3) по следующим правилам а) Если i - ые разряды для состояний В и С совпадают, то коррекция не требуется Qi(B) = Qi(C), тогда fi*= fi.. Здесь fi* - откорректированное значение поразрядной функции возбуждения. В данном примере f1*= f1=1. (4) Если i - ые разряды для состояний В и С не совпадают, то коррекция производится по следующим правилам. б) Qi(А) ? Qi(C) - имеет место переключение состояния триггера для вновь установленных смежных состояний. Тогда fi*= fi V?А, где функция ?А = 0 для всех наборов, за исключением набора А, для которого ?А = 1. Следовательно, и fi*=1, что обеспечит переключение триггера i- го разряда при переходе с набора состояний А к В. в) Qi(А) = Qi(C) – отсутствует переключение состояния триггера для вновь установленных смежных состояний. Тогда fi*= , в этом случае значение поразрядной функции возбуждения fi*=0 будет блокировать переключение триггера i- го разряда при переходе с набора состояний А к В. Поскольку избыточные состояния исключены из состояний счётчика, то выражение для функции ?А можно минимизировать с учётом этих избыточных состояний. В этом случае, как это нетрудно получить, будем иметь ?А = Q3Q1. В рассматриваемом примере синтеза счётчика имеет место коррекция как по правилу (4, б) f3*=f3V ?А=Q1Q2 V Q3Q1, (5) так и по правилу (4, с) f2*==Q1*= (6) В выражениях (5) и (6) f2=Q1 и f3= Q1Q2 представляют поразрядные функции возбуждения для 2 го и 3-го разрядов соответственно. На рис 3.8 изображена схема счётчика, построенная в соответствии с выражениями (4) - (6). Индивидуальные задания для синтеза синхронных счетчиков с произвольным модулем сведены в табл. 3.3. 3.6. Исследование готовых счетчиков в интегральном исполнении Для исследования предлагаются следующие схемы счетчиков: КМ555ИЕ13 (SN 74191) - синхронный реверсивный 4-разрядный счетчик (варианты 1 – 6); КМ555ИЕ9 (SN 74160) - синхронный десятичный счетчик (варианты 7 – 12). Таблица 3.3 № варианта Модуль M Порядок счета Тип триггера Метод синтеза
1 2 10 9 0...М-1 JK Классический
3 4 7 6 ?...2n D
5 6 7 6 0...М-1
7 8 10 9 0...М-1 JK Исключение избыточных состояний
9 10 7 5 ?...2n Т
11 12 7 5 0...М-1
Условные изображения счетчиков даны на рис. 3.9, а назначения выводов приведено соответственно в табл. 3.4 и табл. 3.6. ИС КМ555ИЕ13 (SN 74191). Режимы работы синхронного реверсивного 4-разрядного двоичного счетчика, с возможностью асинхронной установки в произвольное состояние от 0 до 15, представлены в табл. 3.5.
Рис. 3.8 Функциональные обозначения двоичного (а) и десятичного (б) счетчиков Описание выводов ИС КМ555ИЕ13. Таблица 3.4 Обозначения выводов Назначение выводов
Вход управления режимом счета: - прямой, - обратный
Т Счетный вход (прямой динамический)
ЕС Разрешение счета (низкий уровень)
LD Разрешение асинхронной загрузки данных (низкий уровень)
Поразрядные входы для параллельной загрузки данных
Поразрядные выходы данных
СТ=0/СТ=15 Выход (высокий уровень), инициализирующий минимальное значение счетчика при и максимальное при
BR/CR Выход переноса/заёма (низкий уровень), синхронизируемый сигналом по входу Т
Таблица истинности режимов работы КМ555ИЕ13. Таблица 3.5 Состояния входов Выход Режим
Т Di Qi
0 Х Х Х 0 0 Параллельная асинхронная загрузка
0 Х Х Х 1 1
1 0 0 (( Х
Прямой счет
1 1 0 (( Х
Обратный счет
1 Х 1 (( Х
Хранение
Счет производится по положительному фронту сигнала на входе Т. В каждом из режимов счета, в зависимости от значения сигнала на входе , ИС вырабатывает два выходных сигнала (СТ=0/СТ=15 и ), которые используются для каскадирования ИС данного типа с целью построения многоразрядных счетчиков. Исследование схемы включает: Экспериментальное построение временных диаграмм для сигналов на выводах СТ=0/СТ=15 и BR/CR (по фазам сигнала CLK) в зависимости от состояния счетчика, режима работы и уровня сигнала CLK на входе Т. Разработка схем сопряжения ИС КМ555ИЕ13 с использованием последовательного и параллельного переносов. КМ555ИЕ9 (SN 74160) Режимы работы ИС синхронного десятичного счетчика с возможностью синхронной установки в произвольное состояние от 0 до 9, асинхронным сбросом и с дешифрирующим счетным входом приведены в табл. 3.7. Описание выводов ИС КМ555ИЕ9. Таблица 3.6 Обозначения выводов Назначение выводов
Поразрядные входы для предварительной синхронной загрузки данных
LD Асинхронный вход разрешения (низкий уровень) предварительной загрузки данных
Т Счетный вход (прямой динамический), выполняющий также синхронную загрузку данных, если
ЕС1 и ЕС2/ЕСR Входы разрешения счета и разрешения счета/переноса, объединенные операцией И
R Вход установки нуля (низкий уровень)
Поразрядные выходы данных
CR Выход переноса или инициализация значения (СТ)=1001
Исследование схемы включает построение временных диаграмм для выходов и сигнала переноса CR в функции счетного сигнала CLK на входе Т. Разработка схем сопряжения ИС КМ555ИЕ9 с использованием последовательного и параллельного переносов. Таблица истинности режимов работы КМ555ИЕ9. Таблица 3.7 Состояния входов Выходы Режимы
Т EC1 EC2/ECR
Di Qi CR
0 Х Х Х Х Х 0 0 Установка нуля
1 (( Х Х 0 1/0 1/0 * Синхронная загрузка счетчика
1 (( 1 1 1 Х
* Счет
1 Х 0 Х 1 Х
* Хранение
1 Х Х 0 1 Х
0
*) значение сигнала зависит от состояния счетчика. 3.7. Выполнение работы и содержание отчета Собрать схему счетчика с произвольным модулем в соответствии с заданным вариантом и провести её исследование. Построить временные диаграммы работы для выходных сигналов. Произвести исследование схемы счетчика ИС КМ555ИЕ13 (варианты 1 – 6). Произвести исследование схемы десятичного счетчика ИС КМ555ИЕ9 (варианты 7 – 12). Отчет по работе должен содержать: основные этапы синтеза синхронного счетчика с произвольным модулем и его схему; Схему испытания и временные диаграммы работы счетчика с произвольным модулем; Схему испытания и временные диаграммы работы счетчика КМ555ИЕ13 (КМ555ИЕ9); ЛИТЕРАТУРА 1. Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. – М.: Энергоатомиздат, 1991.-592 с: ил. 2. Угрюмов Е. П. Проектирование элементов и узлов ЭВМ: Учеб. пособие для вузов. – М.: Высшая Школа, 1987.-318 с.: ил. 3. Потемкин И. С. Функциональные узлы цифровой автоматики. – М.: Энергоатомиздат, 1988.-320 с.: ил. 4. Зельдин Е. А. Цифровые интегральные микросхемы в информационно-измерительной аппаратуре. – Л.: Энергоатомиздат, 1986.-280 с.: ил. 5. Пухальский Г.И., Новосельцева Т. Я. Проектирование дискретных устройств на интегральных микросхемах: Справочник. -М.: Радио и связь, 1990.-304 с.: ил. 6. Цифровые ЭВМ: Практикум / К.Г.Самофалов, В.И.Корнейчук, В.П.Тарасенко; Под общ. ред. К.Г.Самофалова. - К.: Выща шк.,1990.-225с.:Ил 7. Скляров В. А. Синтез автоматов на матричных БИС / Под. Ред. С. И. Баранова. – Минск: Наука и техника, 1984.-288 с.: ил. 8. . Угрюмов Е. П. Цифровая схемотехника.- СПб.: БХВ – Санкт-Петербург, 2000. – 528 с.: ил. Работа подготовил доцент кафедры ВТ НГТУ В. А. Афанасьев. Редакция 2002г.