Генератор последовательности чисел

Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 00:54, курсовая работа

Краткое описание

Элементную базу цифровых устройств (ЦУ) составляют интегральные схемы (ИС). Со времени их изобретения (1959 г. США) ИС постоянно совершенствуются и усложняются. Характеристикой сложности ИС является уровень интеграции, оцениваемый либо числом базовых логических элементов, либо числом транзисторов, которые могут быть реализованы на кристалле.

Содержание

ВВЕДЕНИЕ 3
1 АНАЛИТИЧЕСКИЙ ОБЗОР 4
1.1 Двоично-десятичные коды 4
1.2 Триггеры 7
1.3 Счетчики 16
1.4 Генераторы кодов 21
2 КОНКРЕТИЗАЦИЯ ТЕХНИЧЕСКОГО ЗАДАНИЯ 23
3 ВЫБОР И ОПИСАНИЕ РАБОТЫ ЭЛЕМЕНТНОЙ БАЗЫ 25
4 СИНТЕЗ СТРУКТУРНОЙ СХЕМЫ 27
4.1 Синтез счетчика 27
4.2 Синтез преобразователя кодов 32
5 АНАЛИЗ СТРУКТУРНОЙ СХЕМЫ 37
6 РАЗРАБОТКА ЭЛЕКТРИЧЕСКОЙ СХЕМЫ И ОПИСАНИЕ ЕЁ РАБОТЫ 40
ЗАКЛЮЧЕНИЕ 43
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 44

Прикрепленные файлы: 1 файл

0. генератор RS TTЛШ.docx

— 1.36 Мб (Скачать документ)

Имеются также двоично-десятичные счетчики, предельный код на выходе которых  не превышает максимального двоично-десятичного  числа, возможного при данном количестве разрядов. Например, 4-разрядный двоично-десятичный счетчик в режиме прямого счета будет считать от 0 (код 0000) до 9 (код 1001), а затем снова от 0 до 9. При инверсном счете двоично-десятичные счетчики считают до нуля, а со следующим входным импульсом переходят к максимально возможному двоично-десятичному числу (то есть 9 для 4-разрядного счетчика).

По быстродействию все счетчики делятся на три большие  группы:

– асинхронные (или последовательные) счетчики;

– синхронные счетчики с асинхронным переносом (или параллельные счетчики с последовательным переносом);

– синхронные (или параллельные) счетчики.

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

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

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

 

        Т > Ntз,

             

 

 

где Т  – период входного сигнала,

N – число разрядов счетчика,

 tз – время задержки одного разряда.

Надо  еще учесть, что за период входного сигнала должно успеть сработать  устройство (узел), на которое поступает выходной код счетчика, иначе счетчик просто не нужен, поэтому ограничение на частоту входного сигнала обычно бывает еще жестче.

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

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

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

Для объединения  нескольких синхронных счетчиков с целью увеличения числа их разрядов (для каскадирования) используется специальный выходной сигнал переноса. В зависимости от принципов формирования этого сигнала переноса и от принципов его использования синхронные (параллельные) счетчики делятся на счетчики с асинхронным (последовательным) переносом и счетчики с синхронным (параллельным) переносом (или полностью синхронные счетчики).[5]

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

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

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

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

Синхронные (или параллельные) счетчики представляют собой наиболее быстродействующую разновидность счетчиков. Наращивание их разрядности при соблюдении определенных условий не приводит к увеличению полной задержки срабатывания. То есть можно считать, что именно синхронные счетчики работают как идеальные счетчики, все разряды которых срабатывают одновременно, параллельно. Задержка срабатывания счетчика в этом случае примерно равна задержке срабатывания одного триггера. Достигается такое быстродействие существенным усложнением внутренней структуры микросхемы.[5]

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

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

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

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

1.4 Генераторы кодов

 

Последовательностные узлы этого типа называют также распределителями сигналов (импульсов), так как образуемая на их выходах последовательность двоичных чисел часто используется в цифровых системах как последовательность сигналов, управляющих работой других узлов. Число состояний генератора называется длиной последовательности чисел Ln, которая определяется как число тактов машинного времени (периодов синхросигналов), после которого последовательность чисел па выходе генератора повторяется. По своей структуре генераторы чисел близки либо к счетчикам, либо к регистрам.[3]

Генераторы  на основе счетчиков. Любой счетчик можно рассматривать как генератор определенной последовательности чисел, имеющей Lnс. Например, счетчик с модулем счета Кс=8 является генератором последовательности чисел 0—1—2—3—4—5—6—7. Аналогично можно получить структуры генераторов любой последовательности чисел. При этом требуемое число разрядов (триггеров) равно числу двоичных разрядов m в генерируемых числах. Если m>log2Ln, то для уменьшения числа используемых триггеров структура генераторов несколько изменяется. В этом случае генератор целесообразно строить в виде соединения счетчика с модулем счета Kc=Ln и подключенной к его выходам комбинационной схемы, реализующей требуемые значения двоичных чисел. Пример реализации такой схемы представлен на рис. 1.4.1.

 

 

 

Рисунок 1.4.1 – логическая схема генератора кодов 0011-0010-1100-1000

 

Генераторы  на основе сдвиговых регистров. Таким способом можно реализовать генераторы циклических последовательностей чисел, в которых каждое последующее число образуется путем сдвига предыдущего числа, записанного в регистре, на один разряд с введением в освободившийся первый разряд 0 или 1. Для этого к входу первого разряда регистра подключается комбинационная схема, образующая необходимый управляющий сигнал Z0. Например, регистр (кольцевой счетчик) на рис. 1.4.2 генерирует циклическую последовательность 0—1—3—7—6—4.[3]

 

 

 

Рисунок 1.4.2 – генератор на основе регистра. Генерирует циклическую последовательность 0—1—3—7—6—4.[3] 

2 КОНКРЕТИЗАЦИЯ ТЕХНИЧЕСКОГО ЗАДАНИЯ

 

Тема проекта: “генератор кодов последовательности чисел”

Исходные  данные:

  1. Последовательность чисел: 01, 48, 56, 28, 51,38, 48, 04, 5, 6, 7, 99.
  2. Код представления чисел  – 5-3-2-1.
  3. Режим работы – непрерывный.
  4. Синхронизация – внешняя.
  5. Тип триггеров – RS.
  6. Элементная база – ТТЛШ(ALS).

 

Рисунок 2.1 – Условно-графическое изображение генератора кодов последовательности чисел

 

Генератор имеет  два входа:

 – асинхронный сброс  в «режим ожидания».

 –  вход синхронизации.

Генератор имеет 9 выходов:

  – выходы верхнего разряда генератора.

  – выходы нижнего разряда генератора.

  – выход индикации состояния генератора.

 

Для сброса генератора необходимо на вход   подать низкий уровень. В этом случае генератор переходит в «режим ожидания». При этом все выходы ( и ) находятся в высокоомном состоянии.

При подаче на вход высокого уровня генератор переходит в «режим генерации» и последовательно передает по выходам коды, соответствующие кодам заданной последовательности в коде 5–3–2–1 в непрерывном режиме работы.

Если генератор  находится в «режиме генерации», то выход будет иметь состояние логической «1».

Таблица 2.1 –Таблица состояний генератора

 

Режим работы

входы

выходы

С

Ra

     

Режим генерации

 

1

   

1

Режим ожидания

x

0

Z

Z

0

Информация о работе Генератор последовательности чисел