Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример счетчика с прямым/обратным счетом





На рис. А.35 показана конфигурация счетчика с прямым счетом (суммирующего счетчика), реализованного посредством трех триггеров. Этот счетчик считает в таком порядке: 0,1,2, …7,0,.... Для обратного счета, то есть счета в порядке 0,7,6,.применяются похожие схемы (см. упражнение А.26). При построении этих простых схем используется заложенная в Т-триггере возможность переключения состояний.

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

Счетчик будет сконструирован на основе стандартной технологии синтеза последовательных схем. Такая схема считает в прямом направлении, если входной сигнал х равен 0, и в обратном, если входной сигнал равен 1. Текущее значение счетчика будет изменяться на отрицательном фронте тактового сигнала. Предположим, что нас особо интересует состояние счетчика в тот момент, когда мы досчитаем до 2. Поэтому при значении счетчика 2 мы будем выдавать выходной сигнал z = 1, а все остальное время сигнал z будет равен 0.

Такой счетчик можно реализовать как последовательную схему. Для того чтобы определить новое значение счетчика, которое будет установлено после очередного тактового импульса, достаточно знать значение х и текущее значение счетчика. Предшествующие его значения для этого не нужны. Если текущее значение равно 2 и х = 0, следующим значением будет 3. И не важно, получено текущее значение путем прямого счета от 1 или путем обратного счета от 3.

Прежде чем показать, как реализуется такая схема, давайте опишем ее поведение с помощью диаграммы состояний. У нашего счетчика имеется четыре разных состояния: S0, S1, S2 и S3. Диаграмма состояний — это граф, в котором состояния представлены окружностями (иногда называемыми узлами). Переходы между состояниями представлены стрелками с надписями. Связанная со стрелкой надпись указывает, какое значение переменной х вызывает данный переход и какое значение счетчика получается в результате. Диаграмма состояний для нашего счетчика с прямым/обратным счетом приведена на рис. А.47. Например, стрелка, исходящая от состояния S1 (счетчик = 1) при х = 0, указывает на состояние S2. При этом сообщается, что пока схема находится в состоянии S1 и х = 0, выходное значение z должно быть равным 0. Стрелка, ведущая от узла S2 к узлу S3, указывает, что когда х = 0, на следующем такте будет выполнен переход в состояние S3, а выходное значение z будет установлено в 1.

Обратите внимание, что диаграмма состояний описывает функциональное поведение счетчика вне какой бы то ни было связи с его конкретной реализацией. Так, рис. А.47 может соответствовать цифровой схеме, механическому счетному устройству или компьютерной программе. Подобные диаграммы позволяют описывать любую систему с последовательным поведением.

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

Рис. А.47. Диаграмма состояния для счетчика с прямым/обратным счетом по модулю 4, сигнализирующего о значении 2

 

Текущее состояние Следующее состояние Выход zг
Х=0 Х= 1 Х=0 Х=1
S0 S1 S2 S3 S1 S2 S3 S0 S3 S0 S1 S2    

Рис. А.48. Таблица состояний для счетчика с прямым/обратным счетом

Определив функциональное поведение счетчика, можно переходить к его физической реализации. Для того чтобы закодировать все четыре состояния счетчика, достаточно двух битов. Обозначим их как у2 (старший бит) и у1 (младший бит). Состояния счетчика, определяемые значениями переменных у2 и y1, мы 6удем записывать в форме у2у1. У нашего счетчика четыре состояния у2у1: S0 = 00, S1 = 01, S2 = 10 и S3 = 11. Как видите, это просто двоичная запись чисел из диапазона от 0 до 3, применяемая для обеспечения наглядности счета. Переменные у2 и у1 называются переменными состояния последовательной схемы. При указанных значениях этих переменных таблицу состояний для нашего примера можно переписать так, как показано на рис. А.49. Для обозначения следующих состоянии в ней используются переменные Y2 и Y1.

Мы могли бы выбрать и другие обозначения состояний у2у1. В частности, они могут быть такими: S0 = 10, S1= 11, S2 = 01 и S3= 00. Но такие обозначения не совсем логичны, хотя схема прекрасно бы функционировала. Реализация различных состояний обычно требует разных затрат (см. упражнение А.32).

Мы планировали создать нашу схему на основе D-триггеров, в которых значения двух переменных состояния будут сохраняться между последовательными тактовыми импульсами. Выход Q каждого триггера будет представлять переменную текущего состояния, а вход D — переменную следующего состояния Yi. Заметьте, что Yi является функцией переменных у2, у1 и х (это хорошо видно на A.49).

 

Текущее состояние Следующее состояние Выход z
Х=0 Х=1 Х=0 Х=1
Y2Y1 Y2Y1 Y2Y1
0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0

Рис. А.49. Значения состояний для примера, приведенного на рис. А.48

На основе представленной здесь таблицы для функций Y2 и Y1 можно составить вот такие выражения:

Y2 = у1 + у2 + х + у2у1х = у2Åу1Åх

Y1 = + у2 + х + у2 х =

Выходное значение z определяется следующим образом:

Z = у2

С учетом этих выражений составляется схема, приведенная на рис. А.50.

 

Рис. А.50. Реализация счетчика с прямым/обратным счетом

 

Временные диаграммы

Для того чтобы полнее представить себе работу схемы счетчика, необходимо рассмотреть его временную диаграмму. На рис. А.51 приведен пример возможной последовательности событий, происходящих в нашей схеме. Предполагается, что переходы между состояниями (изменения значений триггеров) происходят на отрицательном фронте тактирующего сигнала и что начальным состоянием счетчика является S0. Вначале х = 0. Поэтому в момент времени t0 счетчик переходит в состояние S1, затем, в момент времени t1 он переходит в состояние S2 (и на выходе z является значение 1), а затем, в момент времени t2, — в состояние S3 (на и выходе z мы снова видим 0). Далее, в момент времени t3, счетчик снова переходит состояние S0. Предположим, что в этот момент входное значение х меняется на 1, чего счетчик начинает считать в обратном порядке. Когда в момент времени t5 счетчик снова достигнет состояния S2, на выходе z опять появится значение 1

Рис. А.51. Временная диаграмма для схемы, приведенной на рис. А.50

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

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

Еще одно важное наблюдение касается соответствия диаграммы состояний, представленной на рис. А.47, временной диаграмме. Возьмем, к примеру, тактовый период между моментами времени t1 и t2. В течение этого времени схема находится в состоянии S2 и на ее входе сохраняется значение х = 0. На диаграмме состояний эта ситуация представлена исходящей из узла S2 стрелкой с надписью х = 0. Поскольку эта стрелка указывает на узел S3, на следующем фронте тактового сигнала (t2) переменные у1 и у2 принимают значения, соответствующие состоянию S3. А пока счетчик будет оставаться в состоянии S2, на выходе z будет значение 1.


 

Лекция 35

Date: 2016-07-18; view: 733; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию