Генератор последовательности чисел
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 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
ПРИЛОЖЕНИЕ……………………………………………………
ВВЕДЕНИЕ
Элементную базу цифровых устройств (ЦУ) составляют интегральные схемы (ИС). Со времени их изобретения (1959 г. США) ИС постоянно совершенствуются и усложняются. Характеристикой сложности ИС является уровень интеграции, оцениваемый либо числом базовых логических элементов, либо числом транзисторов, которые могут быть реализованы на кристалле.
С ростом уровня интеграции ИС в проектировании всё больше усиливается аспект, который можно назвать интерфейсным проектированием. Задачей разработки ИС становится составление блоков из субблоков стандартного вида, путём правильного их соединения. Успешное проектирование требует хорошего знания номенклатуры и параметров элементов, узлов и устройств цифровой аппаратуры и привлечения автоматизированного проектирования (САПР) для создания сложных схем.
ИС широкого применения изготавливаются по технологиям КМОП, ТТЛШ, ЭСЛ и др.
Элементы КМОП обладают рядом уникальных параметров (малая потребляемая мощность, высокая помехоустойчивость, широкие допуски на величину питающих напряжений, высокое быстродействие при небольших ёмкостных нагрузках). Эти элементы доминируют в схемах внутренних областей БИС/СБИС.
Элементы ТТЛШ в основном
применяются в области
Элементы ЭСЛ обеспечивают максимальное быстродействие, но ценой повышения потребляемой мощности, что снижает достижимый уровень интеграции.
В данном
курсовом проекте будет рассмотрен
синтез генератор кодов
1 АНАЛИТИЧЕСКИЙ ОБЗОР
1.1 Двоично-десятичные коды
Для представления информации в десятичной системе счисления и выполнения операций над десятичными числами в цифровых устройствах используется двоично-десятичное кодирование, при котором каждая десятичная цифра представляется группой двоичных цифр. Число битов в таких группах строго фиксируется (их должно быть не менее четырех) с сохранением всех левых нулевых разрядов. В практике используется несколько разновидностей двоично-десятичных кодов сохраняющих свое значение благодаря полезным специфическим особенностям[1].
Минимальное число двоичных разрядов для эквивалентного отображения десятичных цифр определяется как mmin=log2Np, где Np=10 –число десятичных цифр (количество сообщений). Таким образом, mmin=log210≈3,33 разряда, что после округления до ближайшего большего целого дает четыре разряда.
При т=4 количество кодовых комбинаций двоичных символов оказывается равным N=24=16, поэтому шесть комбинаций избыточны. Другими словами, БДК при т=4 будет более мощным, чем это нужно для представления десятичных цифр 0–9. Если же принять т=3, двух комбинаций будет недоставать. В первом случае можно исключить любые шесть комбинаций, что приводит к огромному количеству вариантов построения БДК, определяемому числом размещений из N элементов по Np.Таким образом, в принципе может быть получено около 30 млрд. БДК (включая и совершенно лишенные практического смысла).
Если ограничиться весомозначными кодами (практическое применение находят только такие БДК), у которых для любой десятичной цифры хi справедливо соотношение хi=q3S3+q2S2+q1S1+q0S0 где Si - целые числа (веса разрядов тетрады); qi - двоичные символы разрядов тетрады, то можно прийти к следующему условию: вес любого разряда не должен превышать больше чем на единицу сумму весов предыдущих (младших) разрядов.
Исходя из этого общего условия формулируются правила построения БДК:
– первый от конца весовой коэффициент должен быть равен единице (Si=1) – для возможности отображения в БДК десятичной цифры 1;
– второй весовой коэффициент должен быть равен единице или двум (S2=1 или S2=2) – для кодирования, цифры 2;
– оставшиеся веса S3 и S4 подбираются таким образом, чтобы для их суммы выполнялись условия: S3+S4≥6 при S2=2 или S3+S4≥7 при S2=1, что позволяет закодировать остальные десятичные цифры от 3 до 9.
Правилам 1–3 будут удовлетворять только 17 видов БДК целыми и положительными весами. Заданный по условию код 5-3-2-1 так же соответствует этим основным правилам и может быть использован для вычислений и кодирования информации в различных устройствах.
Количество возможных вариантов kв кода в общем случае находится как:
Где: i – число неоднозначно представимых десятичных цифр;
γi – количество способов кодирования i-й десятичной цифры в данном БДК.[1]
Для определения kв составляется таблица (табл.1.1.1).
Таблица 1.1.1 – БДК 5-3-2-1
БК |
цифра | |||
5 |
3 |
2 |
1 | |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
1 |
3 |
0 |
1 |
0 |
1 |
4 |
1 |
0 |
0 |
0 |
5 |
0 |
1 |
1 |
0 |
5 |
1 |
0 |
0 |
1 |
6 |
0 |
1 |
1 |
1 |
6 |
1 |
0 |
1 |
0 |
7 |
1 |
1 |
0 |
0 |
8 |
1 |
0 |
1 |
1 |
8 |
1 |
1 |
0 |
1 |
9 |
1 |
1 |
1 |
0 |
10 |
1 |
1 |
1 |
1 |
11 |
Т.е. в коде 5-3-2-1 j=6, γ3= γ5= γ6= γ8= 2;
В ряде случаев важной задачей является обоснованный выбор конкретного варианта данного БДК, оказывающим существенное влияние на некоторые характеристики преобразователей БК в БДК и обратно (аппаратурные затраты, экономичность, быстродействие и др.). Составление вариантов кода сводится, по существу, к перебору всех возможных сочетаний двоичных комбинаций, которыми могут быть закодированы одни и те же десятичные цифры.[1]
Если БДК предполагается использовать в качестве основного, т. е. арифметического, а не посылочного кода в ЭВМ, то выбранное двоично-десятичное представление, строго говоря, должно удовлетворять следующим пяти требованиям:
1. однозначность соответствия каждой десятичной цифре двоичной тетрады (единственность представления десятичных цифр). Это требование связано с эффективностью процессов кодирования – декодирования;
2. упорядоченность первого рода, заключающаяся в том, что большим десятичным цифрам ставятся в соответствие большие тетрады (или наоборот). Выполнение этого требования необходимо для операции сравнения чисел в БДК;
3.четность, когда четным десятичным цифрам соответствуют четные тетрады (или наоборот). Четность, называемая упорядоченностью второго рода, способствует безошибочному округлению чисел БДК, а также упрощает некоторые арифметические (деление, извлечение корня) и логические операции;
4. самодополняемость, или требование дополнительности, облегчающее алгебраическое сложение в обратном и дополнительном кодах;
5. однозначность каждого разряда тетрады, или, по-другому, весомозначность. Это требование состоит в том, что одноименные разряды всех тэтрад должны иметь один и тот же вес, представленный целым числом.
1.2 Триггеры
Триггером называется логическое устройство с двумя устойчивыми состояниями. Выходной сигнал на выходе такого устройства зависит не только от входных сигналов, действующих в данный момент, но и от сигналов, воздействовавших в предыдущий момент времени. Триггеры – элементарные автоматы, содержащие собственно элемент памяти (фиксатор) и схему управления. Фиксатор строится на двух инверторах, связанных друг с другом "накрест", так что выход одного соединен с входом другого. Такое соединение дает цепь с двумя устойчивыми состояниями (рис.1.2.1). Действительно, если на выходе инвертора 1 имеется логический ноль, то он обеспечивает на выходе инвертора 2 логическую единицу, благодаря которой сам и существует. То же согласование сигналов имеет место и для второго состояния, когда инвертор 1 находится в единице, а инвертор 2 – в нуле. Любое из двух состояний может существовать неограниченно долго.
Рисунок 1.2.1 – схемы фиксаторов с входами управления на элементах ИЛИ-НЕ и И-НЕ [4]
Переходное состояние, в котором инверторы активны, неустойчиво. Это можно показать, имея в виду, что напряжения в любой цепи не являются идеально постоянными, а всегда имеют место флуктуации. Флуктуации обязательно приведут фиксатор в одно из двух стабильных состояний, т. к. из-за наличия в схеме петли положительной обратной связи любое изменение режиме вызывает продолжение в том же направлении, пока фиксатор не перейдет в устойчивое состояние, когда петля обратной связи как бы разрывается вследствие потери инверторами усилительных свойств (переход в режимы отсечки и насыщения, свойственные устойчивым состояниям).
Чтобы управлять фиксатором, нужно иметь в логических элементах дополнительные входы, превращающие инверторы в элементы И-НЕ либо ИЛИНЕ. На входы управления поступают внешние установочные сигналы.
Установочные сигналы показаны на рисунке 1.2.1 штриховыми линиями. Буквой R латинского алфавита (от Reset) обозначен сигнал установки триггера и ноль (сброса), а буквой S (от Set) — сигнал установки в состояние логической единицы (установки). Состояние триггера считывается по значению прямого выхода, обозначаемого как Q. Чаще всего триггер имеет и второй выход с инверсным сигналом. Для фиксатора на элементах ИЛИ-HЕ установочным сигналом является единичный, поскольку только он приводит логический элемент в нулевое состояние независимо от сигналов на других входах элемента. Для фиксатора на элементах И-НЕ установочным сигналом является нулевой, как обладающий тем же свойством однозначно задавать состояние элемента независимо от состояний других входов.[4]
По логическому функционированию различают триггеры типов RS, D, Т, JК. Кроме того, используются комбинированные триггеры, в которых совмещаются одновременно несколько типов, и триггеры со сложной входной логикой (группами входов, связанных между собой логическими зависимостями).
Триггер типа RS имеет два входа – установки в единицу (S) и установки в ноль (R).Одновременная подача сигналов установки S и сброса R не попускается (эта комбинация сигналов называется запрещенной)
Триггер типа D (от слова Delay – задержка) имеет один вход (D). Его состояние повторяет входной сигнал, но с задержкой, определяемой тактовым сигналом.
Триггер типа Т изменяет свое состояние каждый раз при поступлении входного сигнала. Имеет один вход (T), называется триггером со счетным входом или счетным триггером.
Триггер типа JK универсален, имеет входы установки (J) и сброса (К), подобные входам триггера RS. В отличие от последнего, допускает ситуацию с одновременной подачей сигналов на оба эти входа (J=К=1). В этом режиме работает как счетный триггер относительно третьего (тактового) входа.
В комбинированных
триггерах совмещаются
Примером триггера со сложной входной логикой служит JK-триггер с группами входов J1J2J3 и К1К2К3. соединенными операцией конъюнкция: J=JIJ2J3, K=KIK2K3.
По способу записи информации различают асинхронные (нетактируемые) и синхронные (тактируемые) триггеры. В нетактируемых переход в новое состояние вызывается непосредственно изменениями входных информационных сигналов. В тактируемых, имеющих специальный вход, переход происходит только при подаче на этот вход тактовых сигналов. Тактовые сигналы называют также синхронизирующими, исполнительными, командными и т. д. Обозначаются они буквой С (от слова Clock).
По способу восприятии тактовых сигналов триггеры делятся на управляемые уровнем и управляемые фронтом. Управление уровнем означает, что при одном уровне тактового сигнала триггер воспринимает входные сигналы и реагирует на них, а при другом не воспринимает и остается в неизменном состоянии. При управлении фронтом разрешение на переключение дается только в момент перепада тактового сигнала (на его фронте или спаде). В остальное время независимо от уровня тактового сигнала триггер не воспринимает входные сигналы и остается в неизменном состоянии. Триггеры, управляемые фронтом, называют также триггерами с динамическим управлением.
Динамический вход может быть прямым или инверсным. Прямое динамическое управление означает разрешение на переключение при изменении тактового сигнала с нулевого значения на единичное, инверсное – при изменении истового сигнала с единичного значении на нулевое.
По характеру процесса переключения триггеры делятся на одноступенчатые и двухступенчатые. В одноступенчатом триггере переключение в новое состояние происходит сразу, в двухступенчатом – по этапам. Двухступенчатые триггеры состоят из входной и выходной ступеней. Переход в новое состояние происходит в обеих ступенях поочередно. Один из уровней тактового сигнала разрешает прием информации во входную ступень при неизменном состоянии выходной ступени. Другой уровень тактового сигнала разрешает передачу нового состояния из входной ступени в выходную.[4]
RS-триггеры являются наиболее простыми и используются в качестве запоминающих ячеек, а также при построении других более сложных типов триггеров. На рисунке 1.2.2 представлены условно графические обозначения RS-триггеров на элементах «И-НЕ» и «ИЛИ-НЕ».
По способу управления RS-триггеры делятся на асинхронные и синхронные. АсинхронныйRS-триггер в своей структуре имеет два информационных входа - установки в единичное (S) и нулевое (R) состояния, а также два выхода и . Реализуются на логических элементах ИЛИ-НЕ либо «И-НЕ», которые характеризуются активными и пассивными логическими уровнями. Для элементов ИЛИ-НЕ активным уровнем является логическая«1», а пассивным - логический «0». Для элементов «И-НЕ» активным уровнем является логический«0», а пассивным - логическая «1».
Пассивный логический уровень, действующий на входе логического элемента, не приводит к изменению логического уровня на его выходе.
Одновременная подача активных уровней на информационные входы RS-триггера не допускается, так как состояние триггера в этом случае становится неопределенным.
Таблица 1.2.1 иллюстрирует переход значений выходного сигнала→ при воздействии на входе информационных сигналов S и R, поэтому ее называют также таблицей переходов.
Из таблицы 1.2.1 следует, что на двух входах RS-триггера возможны четыре комбинации выходных сигналов. При S=0 и R=0 триггер сохраняет предыдущее состояние (=), это функциональное свойство позволяет реализовать на RS- триггере элементарную ячейку памяти.Если S=0 и R=1, то триггер устанавливается в нулевое состояние (=0), при S=1 и R=0 - в единичное состояние (=1).
а)
Рисунок 1.2.2 – Условно графические обозначения RS-триггеров: а) асинхронный на элементах «И-НЕ»; б) синхронный на элементах «ИЛИ-НЕ»[3]
Таблица 1.2.1 – Режимы работы RS-триггера
S R Q |
Режим работы | |
0 0 0 0 0 1 |
0 1 |
Хранение информации |
0 1 0 0 1 1 |
0 0 |
Установка лог. 0 |
1 0 0 1 0 1 |
1 1 |
Установка лог. 1 |
1 1 0 1 1 1 |
x x |
Неопределенность |
Состояние RS-триггера при S=1 и R=1 является неопределенным, поскольку триггер после воздействия на входе активных уровней сигнала может равновероятно перейти как в нулевое, так и единичное состояние. В таблице 1.2.1 неопределенные состояния отмечены знаком x.
Синхронный триггер, имеющий дополнительный статический вход синхронизации C, называют стробируемым триггером. При наличии входных сигналов переключение триггера происходит только в моменты поступления импульса синхронизации (C=1). При значениях C=0 триггер сохраняет предыдущее состояние Q. Схема RS-триггера синхронизируемого уровнем показана на рис. 1.2.3, а. Упрощенная таблица переключений и условные обозначения RS-триггера показаны на рисунок 1.2.3, б и в. При подаче на входы триггера сигналов C=S=R=1 на выходах элементов 1, 2 схемы управления формируются активные нулевые уровни, которые поступают на ячейку памяти, выполненную на элементах 3 и 4. После окончания действия сигналов триггер устанавливается в неопределенное состояние. Следовательно, для данных типов триггеров комбинация входных сигналов C=R=S=1 является запрещенной.[1]
Рисунок 1.2.3 - RS-триггер синхронизируемый уровнем: а) структурная схема; б) упрощенная таблица переключений; в) условно графическое обозначение[1]
RS-триггеры
синхронизируемые уровнем
Аналогично
ведут себя и асинхронные
триггеры-защелки, выходные сигналы
которых изменяются во время
действия активных уровней входных
информационных сигналов. При
переходе на пассивные уровни
триггер защелкивается и в
нем устанавливается режим
Триггеры синхронизируемые фронтом называются тактируемыми и функционируют согласно сигналам, поданным на информационные входы S и R, но воспринимают их только в момент перехода тактового синхронизирующего сигнала C с нулевого уровня на единичный («0»→«1») либо наоборот («1»→«0»). Такое переключение триггеров происходит в течение короткого времени вблизи фронта (или среза) синхроимпульса.Схема синхронного RS-триггера с прямым синхронизируемым входом и его условное обозначение показаны на рис. 1.2.4, а, б. Схема выполнена на шести логических элементах «И-НЕ», для которых активным является уровень логического «0». Если триггер переключается фронтом синхроимпульса, то тактовый вход C называется прямым синхронизируемым входом, если срезом - то инверсным синхронизируемым входом (рисунок 1.2.4, б, в, где соответствующий вход С отмечен косой чертой).[1]
Рисунок 1.2.4 - RS-триггер синхронизируемый фронтом: а) структурная схема; б) и в) условно графические обозначения с прямым и инверсным синхронизируемыми входами; г) упрощенная таблица переключений[1]
На рис. 1.2.4, а элементы 2, 3, 5, 6 образуют RS-триггер синхронизируемым уровнем. Вспомогательные элементы 1, 4 совместно с элементами 2, 3 образуют общую схему управления. Такая схема будет чувствительна к изменению входных информационных сигналов S и R при синхросигнале C=1.
Если входной синхросигнал C=0, то при произвольных значениях S и R (отмечены на рис. 1.2.5, г знаком *) на выходах элементов 2 и 3 установятся пассивные единичные сигналы и ячейка памяти триггера (элементы 5, 6) сохраняет ранее установленные состояния Q и Q .
При действии на входе C положительного фронта синхросигнала триггер устанавливается в состояние «0» или «1» согласно поданным на входы S и R информационным сигналам. Элементы 1, 4 будут блокировать цепи подачи информационных сигналов сразу же после изменения синхросигнала с «нулевого» значения на «единичное» и при достижении синхросигналом C уровня логической «1» будут сохранять блокировку до возвращения C к «нулевому» уровню. Для того чтобы осуществить новое переключение триггера, необходимо воздействие на входе C нового положительного фронта синхросигнала.Состояние триггера при воздействии S=R=0 является неопределенным. Для данного типа триггера такая комбинация входных сигналов запрещена.
Рисунок 1.2.5 - Временные диаграммы RS-триггера синхронизируемого фронтом[1]
В различных системах управления с применением синхронных RS-триггеров возникает необходимость независимой установки и считывания информации, причем снятие выходной информации необходимо осуществлять при отключенных входных сигналах. Подобные задачи можно решать с помощью двухступенчатого синхронного триггера, называемого MS-триггером, у которого отсутствует сквозная передача информационного сигнала с входа на выход. Структура MS-триггера, построенного на основе RS-триггера, показана на рисунке 1.2.6. MS-триггер содержитдва RS-триггера синхронизируемые уровнем, которые называются ведущий триггер M (master) и ведомый триггер S (slave). Схема тактируется единым синхросигналом, который подается непосредственно на вход C ведущего M-триггера и через инвертор на вход ведомого S-триггера. Если на входе MS-триггера действует синхросигнал C=1, то ведущий M-триггер по положительному фронту синхроимпульса C устанавливается в состояние, соответствующее поданным на вход схемы информационным сигналам S и R согласно таблице переключений (рис. 1.2.7, б). Данное состояние M-триггера сохранится, пока уровень синхросигнала C будет равен логической «1». [4]
Рисунок 1.2.6 – Структурная схема MS-триггера[7]
Рисунок 1.2.7 - MS-триггер: а) структурная схема; бупрощенная таблица переключений; в) условно графическое обозначение[4]
В это время ведомый S-триггер, имеющий на своем входеинверсный сигнал C, будет находиться в режиме хранения прежней информации и не воспринимает поступающие на его вход сигналы с выхода ведущего M-триггера.
Если на вход MS-триггера поступит синхросигнал C=0, то при достижении им уровня логического «0» ведущий M-триггер установится в режим хранения информации и будет отключен от информационных входов S и R. Вэто время по отрицательному фронту синхроимпульса C информационные сигналы с выходов q и q ведущего M-триггера будут переписаны в ведомый S-триггер и поступят на выход MS-триггера (выходы Q и Q).
Работу двухступенчатого RS-триггера поясняют временные диаграммы, приведенные на рисунке 1.2.8, из которых следует, что за время периода тактового синхроимпульса C, управление процессами в двухступенчатом триггере осуществляется двумя фронтами синхроимпульса, но выходные сигналы триггера Q+ и Q+ устанавливаются только по отрицательному фронту тактового синхроимпульса C.
Следует также отметить режим работы триггера, когда оба входных сигнала S и R равны логической«1». В этом случае в момент отрицательного перепада синхросигнала C работа триггера оказывается непредсказуемой, но как только любой из входных информационных сигналов снимается, схема возвращается к работе в обычном режиме. Поэтому комбинация R=S=1 для данного типа триггера является запрещенной.
Рисунок 1.2.8 - Временные диаграммы двухступенчатого синхронного RS-триггера[1]
1.3 Счетчики
Как следует из самого названия, счетчики предназначены для счета входных импульсов. То есть с приходом каждого нового входного импульса двоичный код на выходе счетчика увеличивается (или уменьшается) на единицу. Срабатывать счетчик может по отрицательному фронту входного (тактового) сигнала или по положительному фронту входного сигнала. Режим счета обеспечивается использованием внутренних триггеров, работающих в счетном режиме. Выходы счетчика представляют собой как раз выходы этих триггеров. Каждый выход счетчика представляет собой разряд двоичного кода, причем разряд, переключающийся чаще других (по каждому входному импульсу), будет младшим, а разряд, переключающийся реже других – старшим.
Счетчик может работать на увеличение выходного кода по каждому входному импульсу, это основной режим, имеющийся во всех счетчиках, он называется режимом прямого счета. Счетчик может также работать на уменьшение выходного кода по каждому входному импульсу, это режим обратного или инверсного счета, предусмотренный в счетчиках, называемых реверсивными. Инверсный счет бывает довольно удобен в схемах, где необходимо отсчитывать заданное количество входных импульсов.[5]
Большинство счетчиков работают в обычном двоичном коде, то есть считают от 0 до (2N – 1), где N — число разрядов выходного кода счетчика. Например, 4-разрядный счетчик в режиме прямого счета будет считать от 0 (код 0000) до 15 (код 1111). После максимального значения кода счетчик по следующему входному импульсу переключается опять в 0, то есть работает по кругу. Если же счет инверсный, то счетчик считает до нуля, а дальше переходит к максимальному коду 1111.

- Генератор посылки
- Генератор сигналов специальной формы
- Генератор синусоидального напряжения
- Генератор синусоидальных колебаний
- Генератор тактовых импульсов
- Генератор телевизионных сигналов на базе МПС
- Генератор формування електричних сигналів
- Генератор кодового слова «Дима»
- Генератор кодов последовательных чисел
- Генератор паролей
- Генератор пачек импульсов
- Генератор переменного тока
- Генератор переменного тока автомобиля. Устройство, принцип работы, неисправности и ремонт
- Генератор пилообразного напряжения