Двоичное кодирование
Одиночный цифровой сигнал не слишком информативен, ведь он может принимать только два значения: нуль и единица. Поэтому в тех случаях, когда необходимо передавать, обрабатывать или хранить большие объемы информации, обычно применяют несколько параллельных цифровых сигналов. При этом все эти сигналы должны рассматриваться только одновременно, каждый из них по отдельности не имеет смысла. В таких случаях говорят о двоичных кодах, то есть о кодах, образованных цифровыми (логическими, двоичными) сигналами. Каждый из логических сигналов, входящих в код, называется разрядом. Чем больше разрядов входит в код, тем больше значений может принимать данный код.
В отличие от привычного для нас десятичного кодирования чисел, то есть кода с основанием десять, при двоичном кодировании в основании кода лежит число два (рис. 2.9). То есть каждая цифра кода (каждый разряд) двоичного кода может принимать не десять значений (как в десятичном коде: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), а всего лишь два — 0 и 1. Система позиционной записи остается такой же, то есть справа пишется самый младший разряд, а слева — самый старший. Но если в десятичной системе вес каждого следующего разряда больше веса предыдущего в десять раз, то в двоичной системе (при двоичном кодировании) — в два раза. Каждый разряд двоичного кода называется бит (от английского "Binary Digit" — "двоичное число").
Рис. 2.9. Десятичное и двоичное кодирование
В табл. 2.3 показано соответствие первых двадцати чисел в десятичной и двоичной системах.
Из таблицы видно, что требуемое количество разрядов двоичного кода значительно больше, чем требуемое количество разрядов десятичного кода. Максимально возможное число при количестве разрядов, равном трем, составляет при десятичной системе 999, а при двоичной — всего лишь 7 (то есть 111 в двоичном коде). В общем случае n-разрядное двоичное число может принимать 2n различных значений, а n-разрядное десятичное число — 10n значений. То есть запись больших двоичных чисел (с количеством разрядов больше десяти) становится не слишком удобной.
0 | 0 | 10 | 1010 |
1 | 1 | 11 | 1011 |
2 | 10 | 12 | 1100 |
3 | 11 | 13 | 1101 |
4 | 100 | 14 | 1110 |
5 | 101 | 15 | 1111 |
6 | 110 | 16 | 10000 |
7 | 111 | 17 | 10001 |
8 | 1000 | 18 | 10010 |
9 | 1001 | 19 | 10011 |
p> Для того чтобы упростить запись двоичных чисел, была предложена так называемая шестнадцатиричная система (16-ричное кодирование). В этом случае все двоичные разряды разбиваются на группы по четыре разряда (начиная с младшего), а затем уже каждая группа кодируется одним символом. Каждая такая группа называется полубайтом (или нибблом, тетрадой), а две группы (8 разрядов) — байтом. Из табл. 2.3 видно, что 4-разрядное двоичное число может принимать 16 разных значений (от 0 до 15). Поэтому требуемое число символов для шестнадцатиричного кода тоже равно 16, откуда и происходит название кода. В качестве первых 10 символов берутся цифры от 0 до 9, а затем используются 6 начальных заглавных букв латинского алфавита: A, B, C, D, E, F.
Рис. 2.10. Двоичная и 16-ричная запись числа
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
При сложении любых двух n- разрядных двоичных чисел может получиться n-разрядное или (n+1)-разрядное число.
Точно так же производится вычитание. Пусть из числа 10010 (18) надо вычесть число 0111 (7). Записываем числа с выравниванием по младшему разряду и вычитаем точно так же, как в случае десятичной системы:
При вычитании 0 из 0 получаем 0, при вычитании 0 из 1 получаем 1, при вычитании 1 из 1 получаем 0, при вычитании 1 из 0 получаем 1 и заем 1 в следующем разряде. Результат — 1011 (десятичное 11).
При вычитании возможно получение отрицательных чисел, поэтому необходимо использовать двоичное представление отрицательных чисел.
Для одновременного представления как двоичных положительных, так и двоичных отрицательных чисел чаще всего используется так называемый дополнительный код. Отрицательные числа в этом коде выражаются таким числом, которое, будучи сложено с положительным числом такой же величины, даст в результате нуль. Для того чтобы получить отрицательное число, надо поменять все биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и прибавить к результату 1. Например, запишем число –5. Число 5 в двоичном коде выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу: 1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000 (перенос в пятый разряд игнорируем).
Отрицательные числа в дополнительном коде отличаются от положительных значением старшего разряда: единица в старшем разряде определяет отрицательное число, а нуль — положительное.
Помимо стандартных арифметических операций, в двоичной системе счисления используются и некоторые специфические операции, например, сложение по модулю 2. Эта операция (обозначается A) является побитовой, то есть никаких переносов из разряда в разряд и заемов в старших разрядах здесь не существует. Правила сложения по модулю 2 следующие: , , . Эта же операция называется функцией Исключающее ИЛИ. Например, просуммируем по модулю 2 два двоичных числа 0111 и 1011:
Среди других побитовых операций над двоичными числами можно отметить функцию И и функцию ИЛИ.Функция И дает в результате единицу только тогда, когда в соответствующих битах двух исходных чисел обе единицы, в противном случае результат —0. Функция ИЛИ дает в результате единицу тогда, когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном случае результат 0.
Функции цифровых устройств
Любое цифровое устройство от самого простейшего до самого сложного всегда действует по одному и тому же принципу (рис. 2.11). Оно принимает входные сигналы, выполняет их обработку, передачу, хранение и выдает выходные сигналы. При этом совсем не обязательно любое изменение входных сигналов приводит к немедленному и однозначному изменению выходных сигналов. Реакция устройства может быть очень сложной, отложенной по времени, неочевидной, но суть от этого не меняется.
В качестве входных сигналов нашего устройства могут выступать сигналы с выходов других цифровых устройств, с тумблеров и клавиш или с датчиков физических величин. Причем в последнем случае, как правило, необходимо преобразование аналоговых сигналов с датчиков в потоки цифровых кодов (рис. 2.12) с помощью аналого-цифровых преобразователей (АЦП). Например, в случае персонального компьютера входными сигналами являются сигналы с клавиатуры, с датчиков перемещения мыши, с микрофона (давление воздуха, то есть звук, преобразуется в аналоговый электрический сигнал, а затем — в цифровые коды), из кабеля локальной сети и т.д.
Рис. 2.11. Включение цифрового устройства
Рис. 2.12. Аналого-цифровое и цифро-аналоговое преобразование
Выходные сигналы цифрового устройства могут предназначаться для подачи на другие цифровые устройства, для индикации (на экране монитора, на цифровом индикаторе и т.д.), а также для формирования физических величин. Причем в последнем случае необходимо преобразовывать потоки кодов с цифрового устройства в непрерывные (аналоговые) сигналы (рис. 2.12) с помощью цифро-аналоговых преобразователей (ЦАП) и в физические величины. Например, в случае персонального компьютера выходными сигналами будут: сигналы, подаваемые компьютером на принтер; сигналы, идущие на видеомонитор (аналоговые или цифровые); звук, воспроизводимый динамиками компьютера (потоки кодов с компьютера преобразуются в аналоговый электрический сигнал, который затем преобразуется в давление воздуха — звук).
Одно цифровое устройство может состоять из нескольких более простых цифровых устройств. Часто эти составные элементы называют блоками, модулями, узлами, частями. Если объединяются несколько сложных цифровых устройств, то говорят уже о цифровых системах, комплексах, установках. Мы в основном будем использовать термин "устройство", как занимающий промежуточное положение.
Связь между входными и выходными сигналами может быть жесткой, неизменной или гибко изменяемой (программируемой). То есть цифровое устройство может работать по жесткому, раз и навсегда установленному алгоритму или по алгоритму программируемому. Как правило, при этом выполняется один очень простой принцип: а чем больше возможностей для изменения связи входных и выходных сигналов, чем больше возможностей изменения алгоритма работы, тем цифровое устройство будет медленнее. Речь в данном случае, конечно же, идет о предельно достижимом быстродействии.
Иначе говоря, простые устройства с жесткой логикой работы всегда могут быть сконструированы с более высоким быстродействием по сравнению с программируемыми, гибкими устройствами со сложным алгоритмом работы. Жесткая логика также обеспечивает малый объем аппаратуры (малые аппаратурные затраты) для реализации простых функций. Зато программируемые, интеллектуальные устройства обеспечивают более высокую гибкость и меньшую стоимость при необходимости сложной обработки. А для реализации простых функций они часто оказываются избыточно сложными. Так что выбор между двумя этими типами цифровых устройств зависит от конкретной решаемой задачи.
Значительное число задач может быть решено как чисто аппаратным путем (с помощью устройств на жесткой логике), так и программно-аппаратным путем (с помощью программируемых устройств). В таких случаях надо смотреть, какие характеристики устройства являются самыми важными: скорость работы, стоимость, гибкость, простота проектирования и т.д. — и в зависимости от этого выбирать то или иное решение, так или иначе перераспределять функции между программным обеспечением и аппаратурой.
В данной книге основное внимание будет уделено устройствам и узлам с жесткой логикой работы. Однако уяснение принципов их работы и их проектирования может оказать большую помощь и при создании программируемых, интеллектуальных устройств.
Корпуса цифровых микросхем
Большинство микросхем имеют корпус, то есть прямоугольный контейнер (пластмассовый, керамический, металлокерамический) с металлическими выводами (ножками). Предложено множество различных типов корпусов, но наибольшее распространение получили два основных типа:
Рис. 2.8. Примеры корпусов DIL и FlatКорпус с двухрядным вертикальным расположением выводов, например, DIP (Dual In Line Package, Plastic) — пластмассовый корпус, DIC (Dual In Line Package, Ceramic) — керамический корпус. Общее название для таких корпусов — DIL (рис. 2.8). Расстояние между выводами составляет 0,1 дюйма (2,54 мм). Расстояние между рядами выводов зависит от количества выводов.Корпус с двухрядным плоскостным расположением выводов, например, FP (Flat-Package, Plastic) — пластмассовый плоский корпус, FPC (Flat-Package, Ceramic) — керамический плоский корпус. Общее название для таких корпусов — Flat (рис. 2.8). Расстояние между выводами составляет 0,05 дюйма (1,27 мм) или 0,025 дюйма (0,0628 мм).
Номера выводов всех корпусов отсчитываются начиная с вывода, помеченного ключом, по направлению против часовой стрелки (если смотреть на микросхему сверху). Ключом может служить вырез на одной из сторон микросхемы, точка около первого вывода или утолщение первого вывода (рис. 2.8). Первый вывод может находиться в левом нижнем или в правом верхнем углу (в зависимости от того, как повернут корпус). Микросхемы обычно имеют стандартное число выводов из ряда: 4, 8, 14, 16, 20, 24, 28,.… Для микросхем стандартных цифровых серий используются корпуса с количеством выводов начиная с 14.
Назначение каждого из выводов микросхемы приводится в справочниках по микросхемам, которых сейчас имеется множество. Правда, лучше ориентироваться на справочники, издаваемые непосредственно фирмами-изготовителями. В данной книге назначение выводов не приводится.
Отечественные микросхемы выпускаются в корпусах, очень похожих на DIL и Flat, но расстояния между их выводами вычисляются по метрической шкале и поэтому чуть-чуть отличаются от принятых за рубежом. Например, 2,5 мм вместо 2,54 мм, 1,25 мм вместо 1,27 мм и т.д. Для корпусов с малым числом выводов (до 20) это не слишком существенно, но для больших корпусов расхождение в расстоянии может стать существенным. В результате на плату, рассчитанную на зарубежные микросхемы, нельзя поставить отечественные микросхемы, и наоборот.
Основные обозначения на схемах
Для изображения электронных устройств и их узлов применяется три основных типа схем:
принципиальная схема;структурная схема;функциональная схема.Различаются они своим назначением и, самое главное, степенью детализации изображения устройств.
Принципиальная схема — наиболее подробная. Она обязательно показывает все использованные в устройстве элементы и все связи между ними. Если схема строится на основе микросхем, то должны быть показаны номера выводов всех входов и выходов этих микросхем. Принципиальная схема должна позволять полностью воспроизвести устройство. Обозначения принципиальной схемы наиболее жестко стандартизованы, отклонения от стандартов не рекомендуются.
Структурная схема — наименее подробная. Она предназначена для отображения общей структуры устройства, то есть его основных блоков, узлов, частей и главных связей между ними. Из структурной схемы должно быть понятно, зачем нужно данное устройство и что оно делает в основных режимах работы, как взаимодействуют его части. Обозначения структурной схемы могут быть довольно произвольными, хотя некоторые общепринятые правила все-таки лучше выполнять.
Функциональная схема представляет собой гибрид структурной и принципиальной. Некоторые наиболее простые блоки, узлы, части устройства отображаются на ней, как на структурной схеме, а остальные — как на принципиальной схеме. Функциональная схема дает возможность понять всю логику работы устройства, все его отличия от других подобных устройств, но не позволяет без дополнительной самостоятельной работы воспроизвести это устройство. Что касается обозначений, используемых на функциональных схемах, то в части, показанной как структура, они не стандартизованы, а в части, показанной как принципиальная схема, — стандартизованы.
В технической документации обязательно приводятся структурная или функциональная схема, а также обязательно принципиальная схема. В научных статьях и книгах чаще всего ограничиваются структурной или функциональной схемой, приводя принципиальные схемы только некоторых узлов.
А теперь рассмотрим основные обозначения, используемые на схемах.
Все узлы, блоки, части, элементы, микросхемы показываются в виде прямоугольников с соответствующими надписями. Все связи между ними, все передаваемые сигналы изображаются в виде линий, соединяющих эти прямоугольники. Входы и входы/выходы должны быть расположены на левой стороне прямоугольника, выходы — на правой стороне, хотя это правило часто нарушают, когда необходимо упростить рисунок схемы. Выводы и связи питания, как правило, не прорисовывают, если, конечно, не используются нестандартные включения элементов схемы. Это самые общие правила, касающиеся любых схем.
Прежде чем перейти к более частным правилам, дадим несколько определений.
Положительный сигнал (сигнал положительной полярности) — это сигнал, активный уровень которого — логическая единица. То есть нуль — это отсутствие сигнала, единица — сигнал пришел (рис. 2.1).
Рис. 2.1. Элементы цифрового сигнала
Отрицательный сигнал (сигнал отрицательной полярности) — это сигнал, активный уровень которого — логический нуль. То есть единица — это отсутствие сигнала, нуль — сигнал пришел (рис. 2.1).
Активный уровень сигнала — это уровень, соответствующий приходу сигнала, то есть выполнению этим сигналом соответствующей ему функции.
Пассивный уровень сигнала — это уровень, в котором сигнал не выполняет никакой функции.
Инвертирование или инверсия сигнала — это изменение его полярности.
Инверсный выход — это выход, выдающий сигнал инверсной полярности по сравнению с входным сигналом.
Прямой выход — это выход, выдающий сигнал такой же полярности, какую имеет входной сигнал.
Положительный фронт сигнала — это переход сигнала из нуля в единицу.
Отрицательный фронт сигнала (спад) — это переход сигнала из единицы в нуль.
Передний фронт сигнала — это переход сигнала из пассивного уровня в активный.
Задний фронт сигнала — это переход сигнала из активного уровня в пассивный.
Тактовый сигнал (или строб) — управляющий сигнал, который определяет момент выполнения элементом или узлом его функции.
Шина — группа сигналов, объединенных по какому-то принципу, например, шиной называют сигналы, соответствующие всем разрядам какого-то двоичного кода.
Серии цифровых микросхем
В настоящее время выпускается огромное количество разнообразных цифровых микросхем: от простейших логических элементов до сложнейших процессоров, микроконтроллеров и специализированных БИС (Больших Интегральных Микросхем). Производством цифровых микросхем занимается множество фирм — как у нас в стране, так и за рубежом. Поэтому даже классификация этих микросхем представляет собой довольно трудную задачу.
Однако в качестве базиса в цифровой схемотехнике принято рассматривать классический набор микросхем малой и средней степени интеграции, в основе которого лежат ТТЛ серии семейства 74, выпускаемые уже несколько десятилетий рядом фирм, например, американской фирмой Texas Instruments (TII). Эти серии включают в себя функционально полный комплект микросхем, используя который, можно создавать самые разные цифровые устройства. Даже при компьютерном проектировании современных сложных микросхем с программируемой логикой (ПЛИС) применяются модели простейших микросхем этих серий семейства 74. При этом разработчик рисует на экране компьютера схему в привычном для него элементном базисе, а затем программа создает прошивку ПЛИС, выполняющую требуемую функцию.
Рис. 2.5. Система обозначений фирмы Texas Instruments
Каждая микросхема серий семейства 74 имеет свое обозначение, и система обозначений отечественных серий существенно отличается от принятой за рубежом.
В качестве примера рассмотрим систему обозначений фирмы Texas Instruments (рис. 2.5). Полное обозначение состоит из шести элементов:
Идентификатор фирмы SN (для серий AC и ACT отсутствует).Температурный диапазон (тип семейства): 74 — коммерческие микросхемы (температура окружающей среды для биполярных микросхем — 0...70°С, для КМОП микросхем — – 40...+85°С), 54 — микросхемы военного назначения (температура — –55...+125°С).Код серии (до трех символов): Отсутствует — стандартная ТТЛ–серия.LS (Low Power Schottky) — маломощная серия ТТЛШ.S (Schottky) — серия ТТЛШ.ALS (Advanced Schottky) — улучшенная серия ТТЛШ.F (FAST) — быстрая серия.HC (High Speed CMOS) — высокоскоростная КМОП–серия.HCT (High Speed CMOS with TTL inputs) — серия HC, совместимая по входу с ТТЛ.AC (Advanced CMOS) — улучшенная серия КМОП.ACT (Advanced CMOS with TTL inputs) — серия AC, совместимая по входу с ТТЛ.BCT (BiCMOS Technology) — серия с БиКМОП–технологией.ABT (Advanced BiCMOS Technology) — улучшенная серия с БиКМОП–технологией.LVT (Low Voltage Technology) — серия с низким напряжением питания. Идентификатор специального типа (2 символа) — может отсутствовать.Тип микросхемы (от двух до шести цифр).Перечень некоторых типов микросхем приведен в приложении.Код типа корпуса (от одного до двух символов) — может отсутствовать. Например, N — пластмассовый корпус DIL (DIP), J — керамический DIL (DIC), T — плоский металлический. Примеры обозначений: SN74ALS373, SN74ACT7801, SN7400.
Рис. 2.6. Обозначения отечественных микросхем
Отечественная система обозначений микросхем отличается от рассмотренной довольно существенно (рис. 2.6). Основные элементы обозначения следующие:
Буква К обозначает микросхемы широкого применения, для микросхем военного назначения буква отсутствует.Тип корпуса микросхемы (один символ) — может отсутствовать. Например, Р — пластмассовый корпус, М — керамический, Б — бескорпусная микросхема.Номер серии микросхем (от трех до четырех цифр).Функция микросхемы (две буквы).Номер микросхемы (от одной до трех цифр). Таблица функций и номеров микросхем, а также таблица их соответствия зарубежным аналогам приведены в приложении.Например, КР1533ЛА3, КМ531ИЕ17, КР1554ИР47.
Главное достоинство отечественной системы обозначений состоит в том, что по обозначению микросхемы можно легко понять ее функцию. Зато в системе обозначений Texas Instruments виден тип серии с его особенностями.
Чем отличается одна серия от другой?
tPLH, нс не более | 22 | 15 | 11 | 8,5 |
tPHL, нс не более | 15 | 15 | 8 | 7,0 |
IIL, мА не более | -1,6 | -0,45 | -0,1 | -0,001 |
IIH, мА не более | 0,04 | 0,02 | 0,02 | 0,001 |
IOL, мА не менее | 16 | 8 | 15 | 86 |
IOH, мА не менее | -0,4 | -0,4 | -0,4 | -75 |
UOL, В не более | 0,4 | 0,5 | 0,5 | 0,3 |
UOH, В не менее | 2,4 | 2,7 | 2,5 | 4,4 |
ICC, мА не более | 12 | 4,4 | 3 | 0,04 |
На втором уровне представления (модель с учетом задержек) серии отличаются величиной задержки распространения сигнала. Это различие может быть довольно существенным. Поэтому в тех схемах, где величина задержки принципиальна, надо использовать микросхемы более быстрых серий (табл. 1.3).
На третьем уровне представления (электрическая модель) серии различаются величинами входных и выходных токов и напряжений, а также, что не менее важно, токами потребления (табл. 1.3). Поэтому в тех устройствах, где эти параметры принципиальны, надо применять микросхемы, обеспечивающие, к примеру, низкие входные токи, высокие выходные токи и малое потребление.
Серия К155 (SN74) — это наиболее старая серия, которая постепенно снимется с производства. Она отличается не слишком хорошими параметрами по сравнению с другими сериями. С этой классической серией принято сравнивать все остальные.
Серия К555 (SN74LS) отличается от серии К155 малыми входными токами и меньшей потребляемой мощностью (ток потребления — почти втрое меньше, чем у К155). По быстродействию (по временам задержек) она близка к К155.
Серия КР531 (SN74S) отличается высоким быстродействием (ее задержки примерно в 3–4 раза меньше, чем у серии К155), но большими входными токами (на 25% больше, чем у К155) и большой потребляемой мощностью (ток потребления — больше в полтора раза по сравнению с К155).
Серия КР1533 (SN74ALS) отличается повышенным примерно вдвое по сравнению с К155 быстродействием и малой потребляемой мощностью (в четыре раза меньше, чем у К155). Входные токи еще меньше, чем у К555.
Серия КР1531 (SN74F) отличается высоким быстродействием (на уровне КР531), но малой потребляемой мощностью. Входные токи и ток потребления примерно вдвое меньше, чем у К155.
Серия КР1554 (SN74AC) отличается от всех предыдущих тем, что она выполнена по КМОП-технологии. Поэтому она имеет сверхмалые входные токи и сверхмалое потребление при малых рабочих частотах. Задержки примерно вдвое меньше, чем у К155.
Наибольшим разнообразием имеющихся микросхем отличаются серии К155 и КР1533, наименьшим — КР1531 и КР1554.
Надо отметить, что приведенные здесь соотношения по быстродействию стандартных серий довольно приблизительны и верны не для всех разновидностей микросхем, имеющихся в разных сериях. Точные значения задержек необходимо смотреть в справочниках, причем желательно в фирменных справочных материалах.
Микросхемы разных серий обычно легко сопрягаются между собой, то есть сигналы с выходов микросхем одной серии можно смело подавать на входы микросхем другой серии. Одно из исключений — соединение выходов ТТЛ-микросхем со входами КМОП-микросхем серии КР1554 (74AC). При таком соединении необходимо применение резистора номиналом 560 Ом между сигналом и напряжением питания (рис. 2.7).
Рис. 2.7. Обозначения отечественных микросхем
При выборе той или иной серии микросхем следует также учитывать, что микросхемы мощной и быстрой серии КР531 создают высокий уровень помех по шинам питания, а микросхемы маломощной серии К555 очень чувствительны к таким помехам. Поэтому серию КР531 рекомендуется использовать только в крайних случаях, при необходимости получения очень высокого быстродействия. Не рекомендуется также применять в одном устройстве мощные быстродействующие микросхемы и маломощные микросхемы.
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
Надо отметить, что приведенные здесь соотношения по быстродействию стандартных серий довольно приблизительны и верны не для всех разновидностей микросхем, имеющихся в разных сериях. Точные значения задержек необходимо смотреть в справочниках, причем желательно в фирменных справочных материалах.
Микросхемы разных серий обычно легко сопрягаются между собой, то есть сигналы с выходов микросхем одной серии можно смело подавать на входы микросхем другой серии. Одно из исключений — соединение выходов ТТЛ-микросхем со входами КМОП-микросхем серии КР1554 (74AC). При таком соединении необходимо применение резистора номиналом 560 Ом между сигналом и напряжением питания (рис. 2.7).
Рис. 2.7. Обозначения отечественных микросхем
При выборе той или иной серии микросхем следует также учитывать, что микросхемы мощной и быстрой серии КР531 создают высокий уровень помех по шинам питания, а микросхемы маломощной серии К555 очень чувствительны к таким помехам. Поэтому серию КР531 рекомендуется использовать только в крайних случаях, при необходимости получения очень высокого быстродействия. Не рекомендуется также применять в одном устройстве мощные быстродействующие микросхемы и маломощные микросхемы.
Инверторы
Самый простой логический элемент — это инвертор (логический элемент НЕ, "inverter"), уже упоминавшийся в первой лекции. Инвертор выполняет простейшую логическую функцию — инвертирование, то есть изменение уровня входного сигнала на противоположный. Он имеет всего один вход и один выход. Выход инвертора может быть типа 2С или типа ОК. На рис. 3.1 показаны условные обозначения инвертора, принятые у нас и за рубежом, а в табл. 3.1 представлена таблица истинности инвертора.
Рис. 3.1. Условные обозначения инверторов: зарубежные (слева) и отечественные (справа)
В одном корпусе микросхемы обычно бывает шесть инверторов. Отечественное обозначение микросхем инверторов — "ЛН". Примеры: КР1533ЛН1 (SN74ALS04) — шесть инверторов с выходом 2С, КР1533ЛН2 (SN74ALS05) — шесть инверторов с выходом ОК. Существуют также инверторы с выходом ОК и с повышенным выходным током (ЛН4), а также с повышенным выходным напряжением (ЛН3, ЛН5). Для инверторов с выходом ОК необходимо включение выходного нагрузочного резистора pull-up. Его минимальную величину можно рассчитать очень просто: R < U/IOL, где U — напряжение питания, к которому подключается резистор. Обычно величина резистора выбирается порядка сотен Ом — единиц кОм.
0 | 1 |
1 | 0 |
Две основные области применения инверторов — это изменение полярности сигнала и изменение полярности фронта сигнала (рис. 3.2). То есть из положительного входного сигнала инвертор делает отрицательный выходной сигнал и наоборот, а из положительного фронта входного сигнала — отрицательный фронт выходного сигнала и наоборот. Еще одно важное применение инвертора — буферирование сигнала (с инверсией), то есть увеличение нагрузочной способности сигнала. Это бывает нужно в том случае, когда какой-то сигнал надо подать на много входов, а выходной ток источника сигнала недостаточен.
Рис. 3.2. Инверсия полярности сигнала и инверсия полярности фронта сигнала
Именно инвертор, как наиболее простой элемент, чаще других элементов используется в нестандартных включениях. Например, инверторы обычно применяются в схемах генераторов прямоугольных импульсов (рис. 3.3), выходной сигнал которых периодически меняется с нулевого уровня на единичный и обратно. Все приведенные схемы, кроме схемы д, выполнены на элементах К155ЛН1, но могут быть реализованы и на инверторах других серий при соответствующем изменении номиналов резисторов. Например, для серии К555 номиналы резисторов увеличиваются примерно втрое. Схема д выполнена на элементах КР531ЛН1, так как она требует высокого быстродействия инверторов.
Рис. 3.3. Схемы генераторов импульсов на инверторах
Схемы а, б и в представляют собой обычные RC-генераторы, характеристики которых (выходную частоту, длительность импульса) можно рассчитать только приблизительно. Для схем а и б при указанных номиналах резистора и конденсатора частота генерации составит порядка 100 кГц, для схемы в — около 1 МГц. Эти схемы рекомендуется использовать только в тех случаях, когда частота не слишком важна, а важен сам факт генерации. Если же точное значение частоты принципиально, то рекомендуется применять схемы г и д, в которых частота выходного сигнала определяется только характеристиками кварцевого резонатора. Схема г используется для кварцевого резонатора, работающего на первой (основной) гармонике. Величину емкости можно оценить по формуле:
C>1/(2RF) где F — частота генерации. Схема д применяется для гармониковых кварцевых резонаторов, которые работают на частоте, большей основной в 3, 5, 7 раз (это бывает нужно для частот генерации выше 20 МГц).
Рис. 3.4. Использование инверторов для задержки сигнала
Инверторы также применяются в тех случаях, когда необходимо получить задержку сигнала, правда, незначительную (от 5 до 100 нс). Для получения такой задержки последовательно включается нужное количество инверторов (рис. 3.4, вверху). Суммарное время задержки, например, для четырех инверторов, можно оценить по формуле
tЗ = 2tPHL + 2tPLHПравда, надо учитывать, что обычно реальные задержки элементов оказываются существенно ниже (иногда даже вдвое), чем табличные параметры tPHL и tPLH. То есть о точном значении получаемой задержки говорить не приходится, ее можно оценить только примерно.
Для задержки сигнала используются также конденсаторы (рис. 3.4, внизу). При этом задержка возникает из-за медленного заряда и разряда конденсатора (напряжение на конденсаторе — UC). Схема без резистора (слева на рисунке) дает задержку около 100 нс. В схеме с резистором (справа на рисунке) номинал резистора должен быть порядка сотен Ом. Но при выборе таких схем с конденсаторами надо учитывать, что некоторые серии микросхем (например, КР1533) плохо работают с затянутыми фронтами входных сигналов. Кроме того, надо учитывать, что количество времязадающих конденсаторов в схеме обратно пропорционально уровню мастерства разработчика схемы.
Наконец, еще одно применение инверторов, но только с выходом ОК, состоит в построении на их основе так называемых элементов "Проводного ИЛИ". Для этого выходы нескольких инверторов с выходами ОК объединяются, и через резистор присоединяются к источнику питания (рис. 3.5). Выходом схемы является объединенный выход всех элементов. Такая конструкция выполняет логическую функцию ИЛИ-НЕ, то есть на выходе будет сигнал логической единицы только при нулях на всех входах. Но о логических функциях подробнее будет рассказано далее.
Рис. 3.5. Объединение выходов инверторов с ОК для функции ИЛИ-НЕ
В заключение раздела надо отметить, что инверсия сигнала применяется и внутри более сложных логических элементов, а также внутри цифровых микросхем, выполняющих сложные функции.
Элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ
Следующий шаг на пути усложнения компонентов цифровой электроники — это элементы, выполняющие простейшие логические функции. Объединяет все эти элементы то, что у них есть несколько равноправных входов (от 2 до 12) и один выход, сигнал на котором определяется комбинацией входных сигналов.
Самые распространенные логические функции — это И (в отечественной системе обозначений — ЛИ), И-НЕ (обозначается ЛА), ИЛИ (обозначается ЛЛ) и ИЛИ-НЕ (обозначается ЛЛ). Присутствие слова НЕ в названии элемента обозначает только одно — встроенную инверсию сигнала. В международной системе обозначений используются следующие сокращения: AND — функция И, NAND — функция И-НЕ, OR — функция ИЛИ, NOR — функция ИЛИ-НЕ.
Название самих функций И и ИЛИ говорит о том, при каком условии на входах появляется сигнал на выходе. При этом важно помнить, что речь в данном случае идет о положительной логике, о положительных, единичных сигналах на входах и на выходе.
Элемент И формирует на выходе единицу тогда и только тогда, если на всех его входах (и на первом, и на втором, и на третьем и т.д.) присутствуют единицы. Если речь идет об элементе И-НЕ, то на выходе формируется нуль, когда на всех входах — единицы (табл. 3.4). Цифра перед названием функции говорит о количестве входов элемента. Например, 8И-НЕ — это восьмивходовой элемент И с инверсией на выходе.
0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 0 | 1 | 0 |
Элемент ИЛИ формирует на выходе нуль тогда и только тогда, если на всех входах нуль. Элемент ИЛИ-НЕ дает на выходе нуль при наличии хотя бы на одном из входов единицы (табл. 3.4). Пример обозначения: 4ИЛИ-НЕ — четырехвходовой элемент ИЛИ с инверсией на выходе.
Рис. 3.15. Обозначения элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ: зарубежные (слева) и отечественные (справа)
Отечественные и зарубежные обозначения на схемах двухвходовых элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ показаны на рис. 3.15. Все эти элементы бывают с выходами типа 2С, ОК и 3С. В последнем случае обязательно имеется вход разрешения –EZ.
Нетрудно заметить (см. табл. 3.4), что в случае отрицательной логики, при нулевых входных и выходных сигналах, элемент И выполняет функцию ИЛИ, то есть на выходе будет нуль в случае, когда хотя бы на одном из входов нуль. А элемент ИЛИ при отрицательной логике выполняет функцию И, то есть на выходе будет нуль только тогда, когда на всех входах присутствуют нули. И так как в реальных электронных устройствах сигналы могут быть любой полярности (как положительные, так и отрицательные), то надо всегда очень аккуратно выбирать требуемый в каждом конкретном случае элемент. Особенно об этом важно помнить тогда, когда последовательно соединяются несколько разноименных логических элементов с инверсией и без нее для получения сложной функции.
Поэтому элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ разработчику далеко не всегда удобно применять именно как выполняющие указанные в их названии логические функции. Иногда их удобнее использовать как элементы разрешения/запрещения или смешивания/совпадения. Но сначала мы рассмотрим случаи реализации именно логических функций на этих элементах.
На рис. 3.16 приведены примеры формирования элементами выходных сигналов на основании требуемых временных диаграмм входных и выходных сигналов. В случае а выходной сигнал должен быть равен единице при двух единичных входных сигналах, следовательно, достаточно элемента 2И. В случае б выходной сигнал должен быть равен нулю, когда хотя бы один из входных сигналов равен единице, следовательно, требуется элемент 2ИЛИ-НЕ. Наконец, в случае в выходной сигнал должен быть равен нулю при одновременном приходе единичного сигнала Вх. 1, нулевого сигнала Вх. 2 и единичного сигнала Вх. 3. Следовательно, требуется элемент 3И-НЕ, причем сигнал Вх. 2 надо предварительно проинвертировать.
Рис. 3.16. Примеры применения элементов И и ИЛИ
Любой из логических элементов рассматриваемой группы можно рассматривать как управляемый пропускатель входного сигнала (с инверсией или без нее).
Например, в случае элемента 2И-НЕ один из входов можно считать информационным, а другой — управляющим. В этом случае при единице на управляющем входе выходной сигнал будет равен проинвертированному входному сигналу, а при нуле на управляющем входе выходной сигнал будет постоянно равен единице, то есть прохождение входного сигнала будет запрещено. Элементы 2И-НЕ с выходом ОК часто используют именно в качестве управляемых буферов для работы на мультиплексированную или двунаправленную линию.
Точно так же в качестве элемента разрешения/запрещения могут применяться элементы И, ИЛИ, ИЛИ-НЕ (рис. 3.17). Разница между элементами состоит только в полярности управляющего сигнала, в инверсии (или ее отсутствии) входного сигнала, а также в уровне выходного сигнала (нуль или единица) при запрещении прохождения входного сигнала.
Рис. 3.17. Разрешение/запрещение прохождения сигналов на элементах И, И-НЕ, ИЛИ, ИЛИ-НЕ
Рис. 3.18. Появление лишнего фронта при запрещении входного сигнала
При использовании элементов разрешения/запрещения могут возникнуть дополнительные проблемы в случае, когда сигнал с выхода элемента идет на вход, реагирующий на фронт сигнала. В момент перехода из состояния разрешения в состояние запрещения и из состояния запрещения в состояние разрешения в выходном сигнале может появиться дополнительный фронт, никак не связанный с входным сигналом (рис. 3.18). Чтобы этого не произошло, надо придерживаться следующего простого правила: если вход реагирует на положительный фронт, то в состоянии запрещения на выходе элемента должен быть нуль, и наоборот.
Иногда необходимо реализовать функцию смешивания двух сигналов той или иной полярности. То есть выходной сигнал должен вырабатываться как при приходе одного входного сигнала, так и при приходе другого входного сигнала. Если оба входных сигнала положительные и выходной сигнал положительный, то мы имеем в чистом виде функцию ИЛИ, и требуется элемент 2ИЛИ. Однако при отрицательных входных сигналах и отрицательном выходном сигнале для такого же смешивания понадобится уже элемент 2И. А если полярность входных сигналов не совпадает с нужной полярностью выходного сигнала, то нужны уже элементы с инверсией (И-НЕ при положительных выходных сигналах и ИЛИ-НЕ при отрицательных выходных сигналах). На рис. 3.19 показаны варианты смешивания на разных элементах.
Рис. 3.19. Реализация смешивания двух сигналов on_load_lecture()
Повторители и буферы
Повторители и буферы отличаются от инверторов прежде всего тем, что они не инвертируют сигнал (правда, существуют и инвертирующие буферы). Зачем же тогда они нужны? Во-первых, они выполняют функцию увеличения нагрузочной способности сигнала, то есть позволяют подавать один сигнал на много входов. Для этого имеются буферы с повышенным выходным током и выходом 2С, например, ЛП16 (шесть буферных повторителей). Во-вторых, большинство буферов имеют выход ОК или 3С, что позволяет использовать их для получения двунаправленных линий или для мультиплексирования сигналов. Поясним подробнее эти термины.
Рис. 3.6. Двунаправленная линия
Под двунаправленными линиями понимаются такие линии (провода), сигналы по которым могут распространяться в двух противоположных направлениях. В отличие от однонаправленных линий, которые идут от одного выхода к одному или нескольким входам, к двунаправленной линии могут одновременно подключаться несколько выходов и несколько входов (рис. 3.6). Понятно, что двунаправленные линии могут организовываться только на основе выходов ОК или 3С. Поэтому почти все буферы имеют именно такие выходы.
Рис. 3.7. Однонаправленная мультиплексированная линия на основе буферов
Мультиплексированием называется передача разных сигналов по одним и тем же линиям в разные моменты времени. Основная цель мультиплексирования состоит в сокращении общего количества соединительных линий. Двунаправленная линия обязательно является мультиплексированной, а мультиплексированная линия может быть как однонаправленной, так и двунаправленной. Но в любом случае к ней присоединяется несколько выходов, только один из которых в каждый момент времени находится в активном состоянии. Остальные выходы в это время отключаются (переводятся в пассивное состояние). В отличие от двунаправленной линии, к мультиплексированной линии, построенной на основе буферов, может быть подключен всего лишь один вход, но обязательно несколько выходов с ОК или 3С (рис. 3.7).
Мультиплексированные линии могут строиться не только на буферах, но и на микросхемах мультиплексоров, которые будут рассмотрены в лекциях 5, 6.
Рис. 3.8. Объединение выходов буферов с ОК
Примером буферов с выходом ОК является микросхема ЛП17 (шесть буферов с ОК). Точно так же, как и в случае инверторов с ОК (см. рис. 3.5), выходы нескольких буферов с ОК могут объединяться для получения функции "Монтажное И", то есть на выходе будет сигнал логической единицы только при единицах на всех входах (рис. 3.8). То есть реализуется многовходовой элемент И.
Буферы с выходом 3С представлены гораздо большим количеством микросхем, например, ЛП8, ЛП11, АП5, АП6, АП14. Эти буферы обязательно имеют управляющий вход EZ (или OE), переводящий выходы в третье, пассивное состояние. Как правило, третьему состоянию соответствует единица на этом входе, а активному состоянию выходов — нуль, то есть сигнал EZ имеет отрицательную полярность.
Буферы бывают однонаправленные или двунаправленные, с инверсией или без инверсии сигналов, с управлением всеми выходами одновременно или с управлением группами выходов. Всем этим и определяется большое разнообразие микросхем буферов.
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 3C |
1 | 1 | 3C |
Рис. 3.9. Применение буфера с 3С в качестве буфера с ОК
Эти же буферы иногда удобно использовать для замещения буферов с выходом ОК (рис. 3.9). В этом случае вход управления служит информационным входом. При нуле на входе мы получаем нуль на выходе, а при единице на входе — третье состояние на выходе.
Рис. 3.10. Мультиплексирование двух входных кодов с помощью буферов с 3С
Очень часто надо обрабатывать не одиночные сигналы, а группы сигналов, например, сигналы, передающие многоразрядные коды. В этом случае удобно применять буферы с групповым управлением, То есть имеющие один вход разрешения EZ для нескольких выходов. Примерами могут служить микросхемы ЛП11 (шесть буферов, разделенные на две группы: четыре и два буфера, для каждой из которых имеется свой вход управления) и АП5 (восемь буферов, разделенные на две группы по четыре буфера, каждая из которых имеет свой вход управления).
На рис. 3.10 показан пример мультиплексирования двух восьмиразрядных кодов с помощью двух микросхем АП5. Одноименные выходы обеих микросхем объединены между собой. Пропускание на выход каждого из двух входных кодов разрешается своим управляющим сигналом (Упр. 1 и Упр. 2), причем должен быть исключен одновременный приход этих двух сигналов, чтобы не было конфликтов на выходах.
Рис. 3.11. Включение двунаправленного буфера
Двунаправленные буферы, в отличие от однонаправленных, позволяют передавать сигналы в обоих направлениях. В зависимости от специального управляющего сигнала T (другое обозначение — BD), входы могут становиться выходами и наоборот: выходы — входами. Обязательно имеется и вход управления третьим состоянием EZ, который может отключить как входы, так и выходы.
На рис. 3.11 для примера показан двунаправленный буфер АП6, который может передавать данные между двумя двунаправленными шинами А и B в обоих направлениях. При единичном уровне на управляющем входе Т (сигнал Напр.) данные передаются из шины A в шину B, а при нулевом уровне — из шины B в шину A (табл. 3.3). Единичный уровень на управляющем входе EZ (сигнал Откл.) отключает микросхему от обеих шин.
0 | 0 | BA |
1 | 0 | AB |
0 | 1 | 3C |
1 | 1 | 3C |
Рис. 3.12. Организация двунаправленной передачи с помощью однонаправленных буферов
Микросхемы буферов в отечественных сериях имеют разнообразные обозначения: ЛН, ЛП, АП, ИП, что порой затрудняет их выбор. Например, ЛН6, ЛП8, ЛП11, АП5, АП6, ИП5, ИП6. Буферы с буквами ЛН имеют инверсию, буферы АП и ИП могут быть с инверсией и без инверсии. Все параметры у буферов довольно близки, отличие — в инверсии, в количестве разрядов и в управляющих сигналах.
Временные параметры буферов включают помимо задержки сигнала от информационного входа до информационного выхода, также задержки перехода выхода в третье состояние и из третьего состояния в активное состояние (tPHZ, tPLZ и tPZH, tPZL). Величины этих задержек обычно примерно вдвое больше, чем величины задержек между информационным входом и выходом.
Отключаемый выход буферов (как ОК, так и 3С) требует применения нагрузочных резисторов. В противном случае вход, подключенный к отключенному выходу, оказывается подвешенным, в результате чего схема может работать неустойчиво, давать сбои. Подключение резистора в случае выхода ОК (pull-up) производится стандартным способом (см. рис. 3.8). Точно так же может быть включен резистор между выходом 3С и напряжением питания (рис. 3.13), тогда при отключенном выходе на вход будет поступать уровень логической единицы. Однако можно включить и резистор между выходом и землей, тогда при отключенном выходе на вход будет поступать сигнал логического нуля. Применяется также и включение двух резисторов (резистивного делителя), при этом величина верхнего резистора (присоединенного к шине питания) обычно выбирается в 2–3 раза меньше, чем нижнего резистора (присоединенного к "земле"), а величина параллельного соединенных двух резисторов выбирается равной примерно 100 Ом. Например, резисторы могут иметь номиналы 240 Ом и 120 Ом, 360 Ом и 130 Ом. Отключенный выход воспринимается в данном случае присоединенным к нему входом как единица.
Рис. 3.13. Включение резисторов на выходе буферов 3С
Иногда к выходам 3С резисторы не присоединяют вообще, но в этом случае надо обеспечить, чтобы последующий вход воспринимал сигнал с выхода 3С (то есть реагировал на него) только тогда, когда выход находится в активном состоянии. Иначе возможны сбои и отказы в работе устройства.
Рис. 3.14. Применение буферов для индикации
Еще одно типичное применение буферов, связанное с их большими выходными токами, — это светодиодная индикация. Светодиоды могут подключаться к выходу буферов двумя основными способами (рис. 3.14). При первом из них (слева на рисунке) светодиод горит, когда на выходе 3С или 2С-сигнал логической единицы, а при втором (справа на рисунке) — когда на выходе ОК сигнал логического нуля. Величина резистора выбирается исходя из характеристик светодиода, но обычно составляет порядка 1 кОм.
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
Например, резисторы могут иметь номиналы 240 Ом и 120 Ом, 360 Ом и 130 Ом. Отключенный выход воспринимается в данном случае присоединенным к нему входом как единица.
Рис. 3.13. Включение резисторов на выходе буферов 3С
Иногда к выходам 3С резисторы не присоединяют вообще, но в этом случае надо обеспечить, чтобы последующий вход воспринимал сигнал с выхода 3С (то есть реагировал на него) только тогда, когда выход находится в активном состоянии. Иначе возможны сбои и отказы в работе устройства.
Рис. 3.14. Применение буферов для индикации
Еще одно типичное применение буферов, связанное с их большими выходными токами, — это светодиодная индикация. Светодиоды могут подключаться к выходу буферов двумя основными способами (рис. 3.14). При первом из них (слева на рисунке) светодиод горит, когда на выходе 3С или 2С-сигнал логической единицы, а при втором (справа на рисунке) — когда на выходе ОК сигнал логического нуля. Величина резистора выбирается исходя из характеристик светодиода, но обычно составляет порядка 1 кОм.
Элементы Исключающее ИЛИ
Элементы Исключающее ИЛИ (по-английски — Exclusive-OR) также можно было бы отнести к простейшим элементам, но функция, выполняемая ими, несколько сложнее, чем в случае элемента И или элемента ИЛИ. Все входы элементов Исключающее ИЛИ равноправны, однако ни один из входов не может заблокировать другие входы, установив выходной сигнал в уровень единицы или нуля.
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Рис. 4.1. Обозначения элементов Исключающее ИЛИ: зарубежные (слева) и отечественные (справа)
Под функцией Исключающее ИЛИ понимается следующее: единица на выходе появляется тогда, когда только на одном входе присутствует единица. Если единиц на входах две или больше, или если на всех входах нули, то на выходе будет нуль. Таблица истинности двухвходового элемента Исключающее ИЛИ приведена в табл. 4.1. Обозначения, принятые в отечественных и зарубежных схемах, показаны на рис. 4.1. Надпись на отечественном обозначении элемента Исключающее ИЛИ "=1" как раз и обозначает, что выделяется ситуация, когда на входах одна и только одна единица.
Элементов Исключающее ИЛИ в стандартных сериях немного. Отечественные серии предлагают микросхемы ЛП5 (четыре двухвходовых элемента с выходом 2С), ЛЛ3 и ЛП12, отличающиеся от ЛП5 выходом ОК. Слишком уж специфическая функция реализуется этими элементами.
С точки зрения математики, элемент Исключающее ИЛИ выполняет операцию так называемого суммирования по модулю 4. Поэтому эти элементы также называются сумматорами по модулю два. Как уже отмечалось в предыдущей лекции, обозначается суммирование по модулю 2 знаком плюса, заключенного в кружок.
Основное применение элементов Исключающее ИЛИ, прямо следующее из таблицы истинности, состоит в сравнении двух входных сигналов. В случае, когда на входы приходят две единицы или два нуля (сигналы совпадают), на выходе формируется нуль (см. табл. 4.1). Обычно при таком применении на один вход элемента подается постоянный уровень, с которым сравнивается изменяющийся во времени сигнал, приходящий на другой вход. Но значительно чаще для сравнения сигналов и кодов применяются специальные микросхемы компараторов кодов, которые будут рассмотрены в следующей лекции.
В качестве сумматора по модулю 2 элемент Исключающее ИЛИ используется также в параллельных и последовательных делителях по модулю 2, служащих для вычисления циклических контрольных сумм. Но подробно эти схемы будут рассмотрены в лекциях 14,15.
Важное применение элементов Исключающее ИЛИ — это управляемый инвертор (рис. 4.2). В этом случае один из входов элемента используется в качестве управляющего, а на другой вход элемента поступает информационный сигнал. Если на управляющем входе единица, то входной сигнал инвертируется, если же нуль — не инвертируется. Чаще всего управляющий сигнал задается постоянным уровнем, определяя режим работы элемента, а информационный сигнал является импульсным. То есть элемент Исключающее ИЛИ может изменять полярность входного сигнала или фронта, а может и не изменять в зависимости от управляющего сигнала.
Рис. 4.2. Элемент Исключающее ИЛИ как управляемый инвертор
В случае, когда имеется два сигнала одинаковой полярности (положительные или отрицательные), и при этом их одновременный приход исключается, элемент Исключающее ИЛИ может быть использован для смешивания этих сигналов (рис. 4.3). При любой полярности входных сигналов выходные сигналы элемента будут положительными. При положительных входных сигналах элемент Исключающее ИЛИ будет работать как элемент 2ИЛИ, а при отрицательных он будет заменять элемент 2И-НЕ. Такие замены могут быть полезны в тех случаях, когда в схеме остаются неиспользованными некоторые элементы Исключающее ИЛИ. Правда, при этом надо учитывать, что задержка распространения сигнала в элементе Исключающее ИЛИ обычно несколько больше (примерно в 1,5 раза), чем задержка в простейших элементах И, И-НЕ, ИЛИ, ИЛИ-НЕ.
Рис. 4.3. Применение элемента Исключающее ИЛИ для смешивания двух неодновременных сигналов
Рис. 4.4. Выделение фронтов входного сигнала с помощью элемента Исключающее ИЛИ
Еще одно важнейшее применение элемента Исключающее ИЛИ — формирование коротких импульсов по любому фронту входного сигнала (рис. 4.4). В данном случае не важно, положительный фронт входного сигнала или отрицательный, на выходе все равно формируется положительный импульс. Входной сигнал задерживается с помощью конденсатора или цепочки элементов, а затем исходный сигнал и его задержанная копия поступают на входы элемента Исключающее ИЛИ. В обеих схемах в качестве элементов задержки используются также двувходовые элементы Исключающее ИЛИ в неинвертирующем включении (на неиспользуемый вход подается нуль). В результате такого преобразования можно говорить об удвоении частоты входного сигнала, так как выходные импульсы следуют вдвое чаще, чем входные.
Данную особенность элементов Исключающее ИЛИ надо учитывать в том случае, когда на оба входа элемента поступают изменяющиеся одновременно сигналы. При этом на выходе элемента возможно появление коротких паразитных импульсов по любому из фронтов входных сигналов. Исключить их влияние на дальнейшую схему можно, например, с помощью синхронизации, подобной рассмотренной в предыдущем разделе.
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
Рис. 4.4. Выделение фронтов входного сигнала с помощью элемента Исключающее ИЛИ
Еще одно важнейшее применение элемента Исключающее ИЛИ — формирование коротких импульсов по любому фронту входного сигнала (рис. 4.4). В данном случае не важно, положительный фронт входного сигнала или отрицательный, на выходе все равно формируется положительный импульс. Входной сигнал задерживается с помощью конденсатора или цепочки элементов, а затем исходный сигнал и его задержанная копия поступают на входы элемента Исключающее ИЛИ. В обеих схемах в качестве элементов задержки используются также двувходовые элементы Исключающее ИЛИ в неинвертирующем включении (на неиспользуемый вход подается нуль). В результате такого преобразования можно говорить об удвоении частоты входного сигнала, так как выходные импульсы следуют вдвое чаще, чем входные.
Данную особенность элементов Исключающее ИЛИ надо учитывать в том случае, когда на оба входа элемента поступают изменяющиеся одновременно сигналы. При этом на выходе элемента возможно появление коротких паразитных импульсов по любому из фронтов входных сигналов. Исключить их влияние на дальнейшую схему можно, например, с помощью синхронизации, подобной рассмотренной в предыдущем разделе.
Сложные логические элементы
Помимо простейших логических элементов, рассмотренных в предыдущих разделах, в состав стандартных серий входит и несколько более сложных логических элементов. Они представляют собой несложную комбинацию из простейших логических элементов. От более сложных комбинационных микросхем, которым будет посвящена следующая лекция, эти элементы отличаются именно очевидной сводимостью к простейшим элементам. Поэтому в справочниках обычно даже не приводятся таблицы истинности этих элементов.
Рис. 4.5. Логический элемент ЛР1 и его эквивалентная схема
Типичный пример сложного логического элемента — ЛР1. В корпусе микросхемы содержится два элемента, каждый из которых представляет собой комбинацию из двух элементов 2И и одного элемента 2ИЛИ-НЕ (рис. 4.5). По такому же принципу строятся и другие микросхемы ЛР. Разница между ними только в количестве элементов И и в количестве входов этих элементов (рис. 4.6). Некоторые из микросхем ЛР (ЛР1, ЛР3) допускают подключение к специальным входам микросхем расширителей ЛД, хотя такое расширение применяется на практике довольно редко. Микросхема ЛР10 отличается от ЛР9 выходом ОК.
Рис. 4.6. Примеры логических элементов ЛР
Рис. 4.7. Примеры использования элементов ЛР1
На рис. 4.7 приведено несколько примеров наиболее типичных применений микросхемы ЛР1. Самое распространенное ее использование (а) состоит в организации двухканального мультиплексирования, то есть в переключении сигналов с двух входов на один выход. При этом один из входов каждого из элементов 2И используется в качестве информационного, а другой — в качестве разрешающего. Вариант этого включения (б) — использование одного управляющего входа переключения каналов и дополнительного инвертора. При единице на управляющем входе работает верхний канал, при нуле — нижний. Еще один вариант использования элемента ЛР1 (в) — смешивание двух отрицательных входных сигналов с возможностью разрешения/запрета выходного сигнала. Наконец, последний показанный на рисунке вариант (г) — смешивание двух положительных сигналов, один из которых может быть разрешен или запрещен. То есть такое объединение в одном элементе функций И и ИЛИ довольно удобно.
На других элементах ЛР можно строить более сложные схемы. Например, элемент ЛР9 позволяет построить четырехканальный мультиплексор, так как в его структуре четыре элемента И и элемент 4ИЛИ-НЕ. Однако в большинстве случаев применение элементов ЛР для мультиплексирования оказывается не слишком удобным, так как в стандартных сериях имеются специальные микросхемы мультиплексоров с более удобным управлением.
Рис. 4.8. Использование элементов ЛР в качестве элементов 2И-НЕ и 2ИЛИ-НЕ
При необходимости элементы ЛР1 могут использоваться в качестве более простых элементов 2И-НЕ и 2ИЛИ-НЕ (рис. 4.8). Элемент 2ИЛИ-НЕ получается при попарном объединении входов. Элемент 2И-НЕ получается при отключении половины схемы путем подачи нулей на два входа. При желании можно, конечно, свести элемент ЛР даже к простому инвертору, но это, наверное, уже недопустимая роскошь.
К сложным логическим элементам, помимо ЛР, можно отнести также и элементы И-НЕ с выходом 3С (например, ЛА17 — 4И-НЕ, ЛА19 — 12И-НЕ). Их можно рассматривать как комбинацию обычного элемента И-НЕ и выходного буфера с выходом 3С. Наличие дополнительного управляющего входа EZ и выход 3С создают принципиально новые возможности применения этих элементов. Например, их можно использовать для работы на мультиплексированную или двунаправленную линию, при этом они еще и выполняют функцию И-НЕ над входными сигналами. Но на практике значительно чаще элемент ЛА19 используют как самый обычный элемент 12И-НЕ с выходом 2С, для чего на управляющий вход EZ постоянно подается сигнал логического нуля.
Среди элементов И, ИЛИ, ИЛИ-НЕ элементы с выходом 3С отсутствуют.
Триггеры Шмитта
Триггеры Шмитта представляют собой специфические логические элементы, специально рассчитанные на работу с входными аналоговыми сигналами. Они предназначены для преобразования входных аналоговых сигналов в выходные цифровые сигналы. Появление таких микросхем связано в первую очередь с необходимостью восстановления формы цифровых сигналов, искаженных в результате прохождения по линиям связи. Фронты таких сигналов оказываются пологими, в результате чего форма сигналов вместо прямоугольной может стать близкой к треугольной или синусоидальной. К тому же сигналы, передаваемые на большие расстояния, сильно искажаются шумами и помехами. Восстановить их форму в исходном виде, устранить влияние помех и шумов как раз и призваны триггеры Шмитта.
На первом и втором уровнях представления (логическая модель и модель с временными задержками) триггеры Шмитта представляют собой обычные логические элементы, которые с определенной задержкой распространения выполняют логическую функцию над входными цифровыми сигналами. Но на третьем уровне представления их отличие от обычных логических элементов очень существенно.
Рис. 4.9. Передаточные характеристики обычного инвертора и триггера Шмитта с инверсией
Если построить график зависимости выходного напряжения элемента от входного (передаточную характеристику), то для триггера Шмитта он будет гораздо сложнее, чем для обычного элемента (рис. 4.9).
В случае обычного элемента с инверсией (а) при входных напряжениях ниже определенного порога срабатывания Uпор выходной сигнал имеет высокий уровень, а при входных напряжениях выше этого порога Uпор — низкий уровень. При этом не имеет значения, возрастает входное напряжение или убывает.
А в случае триггера Шмитта с инверсией (б) принципиально как раз направление изменения сигнала. При возрастании входного сигнала от нуля до напряжения питания порог срабатывания будет одним (Uпор1), а при уменьшении сигнала от напряжения питания до нуля — другим (Uпор2), причем Uпор1 > Uпор2. В результате на графике образуется своеобразная петля. Выходной сигнал как бы запаздывает переключаться при возврате входного к исходному уровню. Это называется эффектом гистерезиса (запаздывания).
Наличие гистерезиса приводит к тому, что любой шум, любые помехи с амплитудой, меньшей величины (Uпор1 – Uпор2), отсекаются, а любые фронты входного сигнала, даже самые пологие, преобразуются в крутые фронты выходного сигнала. Главное — чтобы амплитуда входного сигнала была большей, чем (Uпор1 – Uпор2). На рис. 4.10 показано, как будет реагировать на сигнал с пологими фронтами и с шумами обычный инвертор и триггер Шмитта с инверсией.
Рис. 4.10. Реакция на искаженный входной сигнал инвертора (слева) и триггера Шмитта с инверсией (справа)
В стандартные серии цифровых микросхем входят триггеры Шмитта, представляющие собой инверторы (ТЛ2 — 6 инверторов), элементы 2И-НЕ (ТЛ3 — 4 элемента) и элементы 4И-НЕ (ТЛ1 — 2 элемента). Пороговые напряжения составляют для всех этих микросхем около 1,7 В (Uпор1) и около 0,9 В (Uпор2). Графическое обозначение триггера Шмитта представляет собой упрощенное изображение его передаточной характеристики с гистерезисом (рис. 4.11).
Наиболее распространенное применение триггеров Шмитта — это формирователь сигнала начального сброса по включению питания схемы. Необходимость такого сигнала сброса вызвана тем, что при включении питания выходные сигналы сложных микросхем, имеющих внутреннюю память (например, регистров, счетчиков), могут принимать произвольные значения, что не всегда удобно. Привести их в необходимое состояние (чаще всего — установить их в нуль) как раз и призван сигнал начального сброса.
Рис. 4.11. Триггеры Шмитта
Рис. 4.12. Формирователь импульса начальной установки по включению питания
Для формирования сигнала начального сброса используется простая RC-цепочка, причем конденсатор берется с большой емкостью. Напряжение на конденсаторе при включении питания нарастает медленно, в результате чего на выходе триггера Шмитта формируется положительный импульс (рис. 4.12). Использовать для этого обычный инвертор не рекомендуется.
Точно так же триггеры Шмитта рекомендуется применять во всех случаях, когда с помощью емкости формируется сигнал с пологими, затянутыми фронтами. В отличие от обычных логических элементов, триггеры Шмитта всегда обеспечивают надежную и стабильную работу. Правда, надо учитывать, что триггеры Шмитта имеют несколько большую задержку, чем обычные логические элементы.
Еще одно применение использование триггера Шмитта состоит в построении генераторов импульсов. В отличие от генераторов на обычных инверторах, в данном случае схема получается гораздо проще: достаточно всего лишь одного инвертирующего триггера Шмитта, одного резистора (порядка сотен Ом) и одного конденсатора (рис. 4.13). При этом очень удобно, что конденсатор одним выводом присоединен к общему проводу, к "земле". Это позволяет применять электролитические конденсаторы большой емкости, а также переменные конденсаторы. Использование двухвходовых триггеров Шмитта дает возможность легко разрешать или запрещать генерацию с помощью управляющего сигнала Разр. При уровне логической единицы на входе Разр. генерация идет, при уровне логического нуля генерации — нет.
Рис. 4.13. Управляемый генератор на триггере Шмитта
Нестандартные триггеры Шмитта можно строить также на основе самых обычных логических элементов с обратной связью через резисторы. При этом путем подбора величин этих резисторов можно выбирать значения пороговых напряжений триггера Шмитта.
Для примера на рис. 4.14 показана схема триггера Шмитта на инверторах, которая работает с входными сигналами, симметричными относительно нулевого уровня. Такие сигналы могут быть, например, в передающем кабеле с трансформаторной развязкой. В данном случае триггер Шмитта не только позволяет восстановить искаженную форму сигнала, но еще и усиливает сигнал, а также сдвигает его уровни до значений стандартных нуля и единицы.
Рис. 4.14. Триггер Шмитта, построенный на обычных логических элементах
Но чаще всего вполне хватает возможностей стандартных триггеров Шмитта, которые не требуют включения внешних элементов и имеют гарантированные характеристики.
Наконец, последнее применение триггеров Шмитта, которое мы здесь рассмотрим, состоит в подавлении так называемого дребезга контактов. Дело в том, что любой механический контакт (в кнопках, тумблерах, переключателях и т.д.) не замыкается и не размыкается сразу, мгновенно. Любое замыкание и размыкание сопровождается несколькими быстрыми замыканиями и размыканиями, приводящими к появлению паразитных коротких импульсов, которые могут нарушить работу дальнейшей цифровой схемы. Триггер Шмитта с RC-цепочкой на входе позволяет устранить этот эффект (рис. 4.15).
Рис. 4.15. Триггер Шмитта, построенный на обычных логических элементах
Конденсатор заряжается и разряжается довольно медленно, в результате чего короткие импульсы подавляются и не проходят на выход триггера Шмитта. Номинал верхнего по схеме резистора должен в данном случае быть в 6–7 раз больше номинала нижнего, чтобы резистивный делитель при замкнутом тумблере давал на входе триггера Шмитта уровень логического нуля. Сопротивления резисторов должны быть порядка сотен Ом — единиц килоОм. Емкость конденсатора может выбираться в широком диапазоне и зависит от того, какова продолжительность дребезга контактов конкретного тумблера.
Дешифраторы и шифраторы
Функции дешифраторов и шифраторов понятны из их названий. Дешифратор преобразует входной двоичный код в номер выходного сигнала (дешифрирует код), а шифратор преобразует номер входного сигнала в выходной двоичный код (шифрует номер входного сигнала). Количество выходных сигналов дешифратора и входных сигналов шифратора равно количеству возможных состояний двоичного кода (входного кода у дешифратора и выходного кода у шифратора), то есть 2n, где n — разрядность двоичного кода (рис. 5.1). Микросхемы дешифраторов обозначаются на схемах буквами DC (от английского Decoder), а микросхемы шифраторов — CD (от английского Coder).
Рис. 5.1. Функции дешифратора (слева) и шифратора (справа)
На выходе дешифратора всегда присутствует только один сигнал, причем номер этого сигнала однозначно определяется входным кодом. Выходной код шифратора однозначно определяется номером входного сигнала.
Рассмотрим подробнее функцию дешифратора.
В стандартные серии входят дешифраторы на 4 выхода (2 разряда входного кода), на 8 выходов (3 разряда входного кода) и на 16 выходов (4 разряда входного кода). Они обозначаются соответственно как 2–4, 3–8, 4–16. Различаются микросхемы дешифраторов входами управления (разрешения/запрета выходных сигналов), а также типом выхода: 2С или ОК. Выходные сигналы всех дешифраторов имеют отрицательную полярность. Входы, на которые поступает входной код, называют часто адресными входами. Обозначают эти входы 1, 2, 4, 8, где число соответствует весу двоичного кода (1 — младший разряд, 2 — следующий разряд и т.д.), или А0, А1, А2, А5. В отечественных сериях микросхемы дешифраторов обозначаются буквами ИД. На рис. 5.2 показаны три наиболее типичных микросхемы дешифраторов.
Рис. 5.2. Примеры микросхем дешифраторов
Код на входах 1, 2, 4, 8 определяет номер активного выхода (вход 1 соответствует младшему разряду кода, вход 8 — старшему разряду кода). Входы разрешения С1, С2, С3 объединены по функции И и имеют указанную на рисунке полярность.
Для примера в табл. 5. 1 приведена таблица истинности дешифратора ИД7 (3—8). Существуют и дешифраторы 4–10 (например, ИД6), которые обрабатывают не все возможные 16 состояний входного кода, а только первые 10 из них.
Первые три строки таблицы соответствуют запрету выходных сигналов. Разрешением выхода будет единица на входе С1 и нули на входах С2 и С5. Символ "Х" обозначает безразличное состояние данного входа (неважно, нуль или единица). Нижние восемь строк соответствуют разрешению выходных сигналов. Номер активного выхода (на котором формируется нулевой сигнал) определяется кодом на входах 1, 2, 4, причем вход 1 соответствует младшему разряду кода, а вход 4 — старшему разряду кода.
0 | X | X | X | X | X | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
X | 1 | X | X | X | X | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
X | X | 1 | X | X | X | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |
Еще одно распространенное применение дешифраторов — селекция (выбор) заданных входных кодов. Появление отрицательного сигнала на выбранном выходе дешифратора будет означать поступление на вход интересующего нас кода. В данном случае увеличивать число разрядов входного селектируемого кода гораздо проще, чем в предыдущем (см. рис. 5.3). Например, две микросхемы 4–16 позволяют селектировать 8-разрядный код (рис. 5.4). В примере на рисунке селектируется 16-ричный код 2А (двоичный код 0010 1010). При этом один дешифратор работа ет с младшими четырьмя разрядами кода, а другой — со старшими четырьмя разрядами. Объединяются дешифраторы так, что один из них разрешает работу другого по входам –С1 и –С2. Применяя механические переключатели выходов дешифраторов (тумблеры, перемычки), можно легко изменять код, селектируемый данной схемой.
Рис. 5.4. Селектирование кода на дешифраторах
Еще одно важное применение дешифраторов состоит в перекоммутации одного входного сигнала на несколько выходов. Или, другими словами, дешифратор в данном случае выступает в качестве демультиплексора входных сигналов, который позволяет разделить входные сигналы, приходящие в разные моменты времени, на одну входную линию (мультиплексированные сигналы). При этом входы 1, 2, 4, 8 дешифратора используются в качестве управляющих, адресных, определяющих, на какой выход переслать пришедший в данный момент входной сигнал (рис. 5.5), а один из входов С выступает в роли входного сигнала, который пересылается на заданный выход. Если у микросхемы имеется несколько стробирующих входов С, то оставшиеся входы С можно использовать в качестве разрешающих работу дешифратора.
Рис. 5.5. Включение дешифратора как демультиплексора
Как и для любых других цифровых микросхем, для дешифраторов наиболее критична ситуация одновременного или почти одновременного изменения входных сигналов. Например, если стробы С постоянно разрешают работу дешифратора, то в момент изменения входного кода на любом выходе дешифратора могут появиться паразитные отрицательные короткие импульсы.
Это может быть связано как с неодновременным выставлением разрядов кода (из-за несовершенства микросхем источников кода или из-за разных задержек распространения по линиям связи), так и с внутренними задержками самих микросхем дешифраторов.
Рис. 5.6. Стробирование выходных сигналов дешифратора
Если такие паразитные импульсы нужно исключить, то можно применять синхронизацию с помощью стробирующих сигналов. Используемый для этого сигнал С должен начинаться после текущего изменения кода, а заканчиваться до следующего изменения кода, то есть должен быть реализован вложенный цикл. На рис. 5.6 показано, как будет выглядеть выходной сигнал дешифратора без стробирования и со стробированием.
На втором уровне представления (модель с временными задержками) также надо учитывать, что задержки дешифратора больше задержки простых логических элементов примерно вдвое для входного кода и примерно в полтора раза — для стробирующих входов. То есть если попытаться заменить дешифратор схемой на логических элементах, то такой дешифратор получится медленнее. Точные величины задержек надо смотреть в справочниках.
Рис. 5.7. Позиционная индикация на дешифраторе с выходами ОК
Дешифраторы, имеющие выходы типа ОК (ИД5, ИД10), удобно применять в схемах позиционной индикации на светодиодах. На рис. 5.7 приведен пример такой индикации на микросхеме ИД5, которая представляет собой два дешифратора 2–4 с объединенными входами для подачи кода и стробами, позволяющими легко строить дешифратор 3–8. При этом старший разряд кода выбирает один из дешифраторов 2–4 (нуль соответствует верхнему по схеме дешифратору, а единица — нижнему). То есть в данном случае номер горящего светодиода равен входному коду дешифратора. Такая индикация называется позиционной.
Рис. 5.8. Объединение выходов дешифраторов с ОК
Выходы микросхем дешифраторов с ОК можно объединять между собой для реализации проводного ИЛИ (рис. 5.8). Нуль на объединенном выходе будет тогда, когда хотя бы на одном из выходов вырабатывается нуль.
При равномерном пошаговом наращивании входного кода (например, с помощью счетчика) такое решение позволяет формировать довольно сложные последовательности выходных сигналов. Правда, каждый выход дешифратора может использоваться для получения только одного выходного сигнала. Это ограничивает возможности таких схем.
Шифраторы используются гораздо реже, чем дешифраторы. Это связано с более специфической областью их применения. Значительно меньше и выбор микросхем шифраторов в стандартных сериях. В отечественных сериях шифраторы имеют в названии буквы ИВ.
На рис. 5.9 показаны для примера две микросхемы шифраторов ИВ1 и ИВ3. Первая имеет 8 входов и 3 выхода (шифратор 8–3), а вторая — 9 входов и 4 выхода (шифратор 9–4). Все входы шифраторов — инверсные (активные входные сигналы — нулевые). Все выходы тоже инверсные, то есть формируется инверсный код. Микросхема ИВ1, помимо 8 информационных входов и 3 разрядов выходного кода (1, 2, 4), имеет инверсный вход разрешения –ЕI, выход признака прихода любого входного сигнала –GS, а также выход переноса –EO, позволяющий объединять несколько шифраторов для увеличения разрядности.
Рис. 5.9. Микросхемы шифраторов
Таблица истинности шифратора ИВ1 приведена в табл. 5.2.
1 | X | X | X | X | X | X | X | X | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
0 | X | X | X | X | X | X | X | 0 | 0 | 0 | 0 | 0 | 1 |
0 | X | X | X | X | X | X | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | X | X | X | X | X | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
0 | X | X | X | X | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
0 | X | X | X | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
0 | X | X | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
0 | X | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Единичный сигнал –EI ( первая строчка) запрещает работу шифратора (все выходные сигналы устанавливаются в единицу). На выходе –GS вырабатывается нуль при приходе любого входного сигнала, что позволяет, в частности, отличить ситуацию прихода нулевого входного сигнала от ситуации отсутствия любых входных сигналов. Выход -EO становится активным (нулевым) при отсутствии входных сигналов, но разрешении работы шифратора сигналом –EI.
Стандартное применение шифраторов состоит в сокращении количества сигналов. Например, в случае шифратора ИВ1 информация о восьми входных сигналах сворачивается в три выходных сигнала. Это очень удобно, например, при передаче сигналов на большие расстояния. Правда, входные сигналы не должны приходить одновременно. На рис. 5.10 показаны стандартная схема включения шифратора и временные диаграммы его работы.
Рис. 5.10. Стандартное включение шифратора
Инверсия выходного кода приводит к тому, что при приходе нулевого входного сигнала на выходе формируется не нулевой код, а код 111, то есть 7. Точно так же при приходе, например, третьего входного сигнала на выходе образуется код 100, то есть 4, а при приходе пятого выходного сигнала — код 010, то есть 2.
Наличие у шифраторов входов EI и EO позволяет увеличивать количество входов и разрядов шифратора, правда, с помощью дополнительных элементов на выходе. На рис. 5.11 показан пример построения шифратора 16–4 на двух микросхемах шифраторов ИВ1 и трех элементах 2И-НЕ (ЛА3).
Рис. 5.11. Шифратор 16–4 на двух шифраторах 8–3
Одновременное или почти одновременное изменение сигналов на входе шифратора приводит к появлению периодов неопределенности на выходах. Выходной код может на короткое время принимать значение, не соответствующее ни одному из входных сигналов. Поэтому в тех случаях, когда входные сигналы могут приходить одновременно, необходима синхронизация выходного кода, например, с помощью разрешающего сигнала EI, который должен приходить только тогда, когда состояние неопределенности уже закончилось.
Задержка шифратора от входа до выхода кода примерно в полтора раза превышает задержку логического элемента, а задержка до выхода GS — примерно в два раза больше. Точные величины задержек микросхем надо смотреть в справочниках.
Компараторы кодов
Микросхемы компараторов кодов (английское Comparator) применяются для сравнения двух входных кодов и выдачи на выходы сигналов о результатах этого сравнения (о равенстве или неравенстве кодов). На схемах компараторы кодов обозначаются двумя символами равенства: "= =". Код типа микросхемы компаратора кода в отечественных сериях — СП.
Примером такой микросхемы может служить СП1 — 4-х разрядный компаратор кодов, сравнивающий величины кодов и выдающий информацию о том, какой код больше, или о равенстве кодов (рис. 5.16).
Помимо восьми входов для сравниваемых кодов (два 4-х разрядных кода, обозначаемых А0...А3 и В0...В3), компаратор СП1 имеет три управляющих входа для наращивания разрядности (А>B, A<B, A=B) и три выхода результирующих сигналов (А>B, A<B, A=B). Для удобства на схемах управляющие входы и выходы иногда обозначают просто ">", "<" и "=". Нулевые разряды кодов (А0 и В0) — младшие, третьи разряды (А3 и В3) — старшие.
Рис. 5.16. 4-х разрядный компаратор кодов СП1 (два варианта обозначения)
Таблица истинности компаратора кодов (табл. 5.4) кажется на первый взгляд довольно сложной, но на самом деле все просто.
Если используется одиночная микросхема, то для ее правильной работы достаточно подать единицу на вход A = B, а состояния входов A<B и A>B не важны, на них можно подать как нуль, так и единицу. Назначение выходов понятно из их названия, а полярность выходных сигналов положительная (активный уровень — единица). Если микросхемы компараторов кодов каскадируются (объединяются) для увеличения числа разрядов сравниваемых кодов, то надо выходные сигналы микросхемы, обрабатывающей младшие разряды кода, подать на одноименные входы микросхемы, обрабатывающей старшие разряды кода (рис. 5.17).
A3>B3 | X | X | X | X | X | X | 1 | 0 | 0 |
A3<B3 | X | X | X | X | X | X | 0 | 1 | 0 |
A3=B3 | A2>B2 | X | X | X | X | X | 1 | 0 | 0 |
A3=B3 | A2<B2 | X | X | X | X | X | 0 | 1 | 0 |
A3=B3 | A2=B2 | A1>B1 | X | X | X | X | 1 | 0 | 0 |
A3=B3 | A2=B2 | A1<B1 | X | X | X | X | 0 | 1 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0>B0 | X | X | X | 1 | 0 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0<B0 | X | X | X | 0 | 1 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | 1 | 0 | 0 | 1 | 0 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | 0 | 1 | 0 | 0 | 1 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | X | X | 1 | 0 | 0 | 1 |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | 1 | 1 | 0 | 0 | 0 | 0 |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | 0 | 0 | 0 | 1 | 1 | 0 |
В зарубежные стандартные серии входят также и 8-разрядные компараторы, сравнивающие два кода по величине (то есть имеющие выходы "=", ">" и "<"). Примером может служить микросхема SN74AS885.
Рис. 5.17. Каскадирование компараторов кодов
Одно из основных применений компараторов кодов состоит в селектировании входных кодов. В этом случае достаточно иметь информацию только о совпадении кодов на входах компаратора, а не о соотношении их величин. Интересующий нас код (эталонный) подается на один вход компаратора, а изменяющийся код (входной) — на другой вход. Используется только выход равенства кодов А = В. Для подобных применений выпускаются и специальные компараторы, определяющие только совпадение кодов. Примерами могут служить 8-разрядные микросхемы SN74ALS520, SN74ALS521, DC102A фирмы Dionics (отечественный аналог — КР559СК1), а также 6-разрядная микросхема DM8136 фирмы National Semiconductors (отечественный аналог — КР559СК2).
Рис. 5.18. Селектирование 16-разрядных кодов
На рис. 5.18 показано применение компараторов SN74ALS521 для селектирования 16-разрядных кодов. Инверсный сигнал с выхода первой микросхемы подается на инверсный вход разрешения второй микросхемы, выходной сигнал которой (отрицательный) говорит о совпадении входного и эталонного 16-разрядных кодов.
Неопределенные состояния на выходах компараторов кодов могут возникать при любом изменении любого из двух входных кодов. Это связано с неодновременным изменением разрядов кодов (рис. 5.19). На всех выходах компаратора СП1 могут появляться короткие паразитные импульсы. Чтобы устранить их влияние на дальнейшую часть схемы, применяется синхронизация и стробирование. Но для этого надо точно знать момент изменения входных кодов, что далеко не всегда возможно.
Рис. 5.19. Неопределенные состояния на выходах компаратора при изменении входных кодов
При применении компараторов надо учитывать также, что при каскадировании задержки микросхем суммируются и объединенный компаратор будет во столько раз медленнее одиночного, сколько микросхем в нем используется. Задержки компараторов кодов по входам разрядов кодов примерно вчетверо больше задержек логических элементов, а по входам расширения — примерно втрое. Так что эти микросхемы довольно медленные по сравнению с другими комбинационными микросхемами. Точные значения задержек надо смотреть в справочниках.
Если нам важен только факт равенства или неравенства входных кодов, то увеличить быстродействие при объединении компараторов можно, если подавать их выходные сигналы на элемент И (рис. 5.20). В этом случае суммарная задержка схемы превысит задержку одного компаратора всего лишь на задержку элемента И. При применении компараторов с инверсным выходом (например, SN74ALS521) надо брать элемент ИЛИ с нужным числом входов.
Рис. 5.20. Уменьшение задержки при каскадировании компараторов
При необходимости сравнения кодов не только на совпадение, но еще и по величине, такого простого решения не существует. Однако эта задача встречается гораздо реже.
on_load_lecture()Мультиплексоры
Мультиплексоры (английское Multiplexer) предназначены для поочередной передачи на один выход одного из нескольких входных сигналов, то есть для их мультиплексирования. Количество мультиплексируемых входов называется количеством каналов мультиплексора, а количество выходов называется числом разрядов мультиплексора. Например, 2-канальный 4-разрядный мультиплексор имеет 4 выхода, на каждый из которых может передаваться один из двух входных сигналов. А 4-канальный 2-разрядный мультиплексор имеет 2 выхода, на каждый из которых может передаваться один из четырех входных сигналов. Число каналов мультиплексоров, входящих в стандартные серии, составляет от 2 до 16, а число разрядов — от 1 до 4, причем чем больше каналов имеет мультиплексор, тем меньше у него разрядов.
Управление работой мультиплексора (выбор номера канала) осуществляется с помощью входного кода адреса. Например, для 4-канального мультиплексора необходим 2-разрядный управляющий (адресный) код, а для 16-канального — 4-разрядный код. Разряды кода обозначаются 1, 2, 4, 8 или А0, А1, А2, А5. Мультиплексоры бывают с выходом 2С и с выходом 3С. Выходы мультиплексоров бывают прямыми и инверсными. Выход 3С позволяет объединять выходы мультиплексоров с выходами других микросхем, а также получать двунаправленные и мультиплексированные линии. Некоторые микросхемы мультиплексоров имеют вход разрешения/запрета С (другое обозначение — S), который при запрете устанавливает прямой выход в нулевой уровень.
На рис. 5.12 показаны для примера несколько микросхем мультиплексоров из состава стандартных серий. В отечественных сериях мультиплексоры имеют код типа микросхемы КП. На схемах микросхемы мультиплексоров обозначаются буквами MS.
Рис. 5.12. Примеры микросхем мультиплексоров
X | X | X | 1 | Z | Z |
0 | 0 | 0 | 0 | D0 | -D0 |
0 | 0 | 1 | 0 | D1 | -D1 |
0 | 1 | 0 | 0 | D2 | -D2 |
0 | 1 | 1 | 0 | D3 | -D3 |
1 | 0 | 0 | 0 | D4 | -D4 |
1 | 0 | 1 | 0 | D5 | -D5 |
1 | 1 | 0 | 0 | D6 | -D6 |
1 | 1 | 1 | 0 | D7 | -D7 |
В табл. 5.3 в качестве примера приведена таблица истинности одноразрядного 8-канального мультиплексора с выходами 3С (КП15).
В таблице сигналы на входах 0...7 обозначены D0...D7, прямой выход — Q, инверсный выход — –Q, Z — третье состояние выхода. При единице на входе –EZ оба выхода находятся в третьем состоянии. При нуле на входе –EZ выходной сигнал на прямом выходе повторяет состояние входного сигнала, номер которого задается входным кодом на входах 1, 2, 4. Сигнал на инверсном выходе противоположен по полярности сигналу на прямом выходе.
На рис. 5.13 приведена временная диаграмма работы 4-канального мультиплексора. В зависимости от входного кода на выход передается один из четырех входных сигналов. При запрещении работы на выходе устанавливается нулевой сигнал вне зависимости от входных сигналов.
Рис. 5.13. Временная диаграмма работы 4-канального мультиплексора с разрешением
Микросхемы мультиплексоров можно объединять для увеличения количества каналов. Например, два 8-канальных мультиплексора легко объединяются в 16-канальный с помощью инвертора на входах разрешения и элемента 2И-НЕ для смешивания выходных сигналов (рис. 5.14). Старший разряд кода будет при этом выбирать один из двух мультиплексоров. Точно так же из двух 16-канальных мультиплексоров можно сделать 32-канальный. Если нужно большее число каналов, то необходимо вместо инвертора включать дешифратор, на который подаются старшие разряды кода. Выходные сигналы дешифратора будут выбирать один из мультиплексоров.
Рис. 5.14. Объединение мультиплексоров для увеличения количества каналов
Состояния неопределенности, сопровождающиеся короткими паразитными импульсами, могут возникать на выходе мультиплексоров при почти одновременном изменении входных сигналов. Здесь возможны две ситуации. Во-первых, управляющий код может переключаться сразу после изменения передаваемого в данный момент на выход входного сигнала или сразу перед изменением входного сигнала, который будет передавать на выход следующий код. Во-вторых, сигналы (разряды) управляющего кода могут переключаться не одновременно, что приведет к кратковременной передаче на выход входного сигнала, не соответствующего ни одному из значений кода. В любом случае, в момент переключения каналов сигнал на выходе мультиплексора не определен (рис. 5.15).
Чтобы избежать состояния неопределенности, лучше всего задавать состояние управляющего кода еще до начала работы схемы (до прихода входных сигналов) и в дальнейшем его не менять. Если же это невозможно, то необходима синхронизация, стробирование выходного сигнала, то есть его разрешение только тогда, когда все переходные процессы, связанные с изменением кода, уже закончились. Правда, обычно применять стробирование довольно непросто, так как мультиплексор, как правило, должен без изменений передавать любой входной сигнал.
Задержки выходного сигнала мультиплексора по входам управляющего (адресного) кода примерно в два раза превышают задержки логических элементов, а по информационным входам — примерно в полтора раза. Точные величины задержек надо смотреть в справочниках.
Рис. 5.15. Неопределенные состояния на выходе мультиплексора
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
В любом случае, в момент переключения каналов сигнал на выходе мультиплексора не определен (рис. 5.15).
Чтобы избежать состояния неопределенности, лучше всего задавать состояние управляющего кода еще до начала работы схемы (до прихода входных сигналов) и в дальнейшем его не менять. Если же это невозможно, то необходима синхронизация, стробирование выходного сигнала, то есть его разрешение только тогда, когда все переходные процессы, связанные с изменением кода, уже закончились. Правда, обычно применять стробирование довольно непросто, так как мультиплексор, как правило, должен без изменений передавать любой входной сигнал.
Задержки выходного сигнала мультиплексора по входам управляющего (адресного) кода примерно в два раза превышают задержки логических элементов, а по информационным входам — примерно в полтора раза. Точные величины задержек надо смотреть в справочниках.
Рис. 5.15. Неопределенные состояния на выходе мультиплексора
Одновибраторы и генераторы
Одновибраторы и генераторы вообще-то нельзя отнести к комбинационным микросхемам. Они занимают промежуточное положение между комбинационными микросхемами и микросхемами с внутренней памятью. Их выходные сигналы не определяются однозначно входными сигналами, как у комбинационных микросхем. Но в то же время они и не хранят информацию длительное время.
Одновибраторы ("ждущие мультивибраторы", английское название "Monostable Multivibrator") представляют собой микросхемы, которые в ответ на входной сигнал (логический уровень или фронт) формируют выходной импульс заданной длительности. Длительность определяется внешними времязадающими резисторами и конденсаторами. То есть можно считать, что у одновибраторов есть внутренняя память, но эта память хранит информацию о входном сигнале строго заданное время, а потом информация исчезает. На схемах одновибраторы обозначаются буквами G1.
В стандартные серии микросхем входят одновибраторы двух основных типов (отечественное обозначение функции микросхемы - АГ):
Одновибраторы без перезапуска (АГ1 - одиночный одновибратор, АГ4 - два одновибратора в корпусе).Одновибраторы с перезапуском (АГ3 - два одновибратора в корпусе).Разница между этими двумя типами иллюстрируется рис. 6.10. Одновибратор без перезапуска не реагирует на входной сигнал до окончания своего выходного импульса. Одновибратор с перезапуском начинает отсчет нового времени выдержки Т с каждым новым входным сигналом независимо от того, закончилось ли предыдущее время выдержки. В случае, когда период следования входных сигналов меньше времени выдержки Т, выходной импульс одновибратора с перезапуском не прерывается. Если период следования входных запускающих импульсов больше времени выдержки одновибратора Т, то оба типа одновибраторов работают одинаково.
Рис. 6.10. Принцип работы одновибраторов без перезапуска и с перезапуском
На рис. 6.11 приведены обозначения микросхем одновибраторов стандартных серий. Микросхемы АГ3 и АГ4 отличаются друг от друга только тем, что АГ3 работает с перезапуском, а АГ4 - без перезапуска.
Рис. 6.11. Микросхемы одновибраторов
Рис. 6.12. Варианты запуска одновибратора АГ1
Микросхемы имеют входы запуска, объединенные по И и ИЛИ, прямые и инверсные выходы, а также выводы для подключения внешних времязадающих цепей (резисторов и конденсаторов). Запускается работа всех одновибраторов по фронту результирующего входного сигнала. Использованная логика объединения входов микросхем позволяет запустить все одновибраторы как по положительному, так и по отрицательному фронту входного сигнала ( рис. 6.12 и 6.13).
Рис. 6.13. Варианты запуска одновибраторов АГ3 и АГ4
На неиспользуемые входы при этом надо подавать сигналы логического нуля или логической единицы. Можно также использовать остающиеся входы для разрешения или запрещения входного запускающего сигнала.
Одновибраторы АГ3 и АГ4 имеют также дополнительный вход сброса –R, логический нуль на котором не только запрещает выработку выходного сигнала, но и прекращает его. Вход –R можно также использовать для запуска одновибратора.
Таблица истинности одновибратора АГ1
Таблица истинности одновибраторов АГ3 и АГ4
Таблицы истинности одновибраторов приведены выше. Здесь инверсные входные сигналы обозначены –А, –А1, –А2, прямые входные сигналы - В, а прямой и инверсный выходные сигналы - соответственно, Q и –Q.
Стандартное включение одновибраторов предполагает подключение внешнего резистора и внешнего конденсатора (рис. 6.14).
Для одновибратора АГ1 длительность выходного импульса можно оценить по формуле T = 0,7RC. Эта формула работает при величине сопротивления резистора в пределах от 1,5 кОм до 43 кОм. Емкость конденсатора может быть любой. Внутри микросхемы имеется внутренний резистор сопротивлением около 2 кОм, подключенный к выводу R, поэтому можно включать одновибратор без внешнего резистора, подключая вывод R к напряжению питания. Повторный запуск одновибратора невозможен сразу после окончания выходного импульса, до повторного запуска обязательно должен пройти интервал t = C (если емкость измеряется в нанофарадах, то временной интервал получается в микросекундах).
Рис. 6.14. Стандартные схемы включения одновибраторов
Для одновибраторов АГ3 и АГ4 длительность импульса можно оценить по формуле: T = 0,32C(R + 0,7), где сопротивление резистора измеряется в килоОмах. Сопротивление резистора может находиться в пределах от 5,1 кОм до 51 кОм, емкость конденсатора - любая. Перезапуск одновибратора возможен только в том случае, когда интервал между входными запускающими импульсами больше 0,224С (если емкость измеряется в нанофарадах, то временной интервал - в микросекундах).
Преобразователи кодов
Микросхемы преобразователей кодов (англ. сonverter) служат для преобразования входных двоичных кодов в выходные двоично-десятичные и наоборот - входных двоично-десятичных кодов в выходные двоичные. Они используются довольно редко, так как применение двоично-десятичных кодов ограничено узкой областью, например, они применяются в схемах многоразрядной десятичной индикации. К тому же при правильной организации схемы часто можно обойтись без преобразования в двоично-десятичный код, например, выбирая счетчики, работающие в двоично-десятичном коде. Преобразование двоично-десятичного кода в двоичный встречается еще реже.
На схемах микросхемы преобразователей обозначаются буквами X/Y. В отечественных сериях преобразователи имеют обозначения ПР.
Кроме того, надо учесть, что любые преобразования параллельных кодов, даже самые экзотические, могут быть легко реализованы на микросхемах постоянной памяти нужного объема. Обычно это намного удобнее, чем брать стандартные микросхемы преобразователей кодов.
Рис. 6.5. Микросхемы преобразователей кодов
В стандартные серии входят две микросхемы преобразователей кодов: ПР6 для преобразования двоично-десятичного кода в двоичный и ПР7 для преобразования двоичного кода в двоично-десятичный (рис. 6.5). Обе микросхемы имеют выходы ОК, поэтому к ним надо присоединять нагрузочные резисторы величиной около 1 кОм, но для удобства в дальнейших схемах эти резисторы не показаны. Обе микросхемы имеют также вход разрешения выхода -ЕО при нулевом уровне на котором все выходы активны, а при единичном - переходят в состояние единицы. Преобразователь ПР6 имеет дополнительные выходы А, В, С, не участвующие в основном преобразовании.
1 | X | X | X | X | X | 1 | 1 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
Таблицы истинности преобразователей просты (табл. 6.2 и 6.3).
Например, двоично- десятичный код без младшего разряда на входе ПР6 преобразуется в двоичный код без младшего разряда на выходе ПР6. Младший разряд не участвует в преобразовании, он непосредственно передается со входа на выход. Одна микросхема ПР6 обрабатывает входные коды в диапазоне от 0 (двоично-десятичный код 00 000) до 39 (код 11 1001).
1 | X | X | X | X | X | 1 | 1 | 1 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
Рис. 6.6. Простейшее включение одиночных преобразователей кода ПР6 и ПР7
Рис. 6.7. Преобразователь двоично-десятичного кода от 0 до 99 в двоичный код
Каскадировать преобразователи ПР6 и ПР7 для увеличения разрядности также несложно. Для преобразования двоично-десятичных кодов от 0 до 99 достаточно двух микросхем ПР6 (рис. 6.7), а для преобразования двоичных кодов от 0 до 255 требуется три микросхемы ПР7 (рис. 6.8). Если надо преобразовывать двоично-десятичные коды до 999, то понадобится 6 микросхем ПР6, а для преобразования двоичных кодов до 511 потребуется 4 микросхемы ПР7. На всех выходах микросхем необходимо включать нагрузочные резисторы.
Рис. 6.8. Преобразователь двоичного кода от 0 до 255 в двоично-десятичный код
Наличие дополнительных выходов А, В, С у микросхемы ПР6 позволяет преобразовывать двоично-десятичный код от 0 до 9 в код дополнения до 9 или до 10 (рис. 6.9). То есть сумма входного и выходного кодов в этом случае равна, соответственно, 9 или 10. Например, при входном коде 6 на выходе схемы а будет код 3, а на выходе схемы б - код 4. В схеме б при входном коде 0 на выходе также формируется код 0. Как и все остальные выходы микросхемы ПР6, выходы А, В, С имеют тип ОК, поэтому к ним необходимо присоединять нагрузочные резисторы, для удобства не показанные на схеме. Такие схемы "дополнителей" применяются редко, поэтому о них упоминают не во всех справочниках и учебниках, но иногда подобные функции бывают довольно удобны.
Рис. 6.9. Преобразователи входного кода в дополнение до 9 (а) и в дополнение до 10 (б)
Задержки преобразователей кодов примерно вдвое превосходят задержки логических элементов. Точные величины задержек надо смотреть в справочниках.
Сумматоры
Микросхемы сумматоров (английское Adder), как следует из их названия, предназначены для суммирования двух входных двоичных кодов, то есть выходной код будет равен арифметической сумме двух входных кодов. Например, если один входной код - 7 (0111), а второй - 5 (0101), то суммарный код на выходе будет 12 (1100). Сумма двух двоичных чисел с числом разрядов N может иметь число разрядов (N + 1). Например, при суммировании чисел 13 (1101) и 6 (0110) получается число 19 (10011). Поэтому количество выходов сумматора на единицу больше количества разрядов входных кодов. Этот дополнительный (старший) разряд называется выходом переноса.
На схемах сумматоры обозначаются буквами SM. В отечественных сериях код, обозначающий микросхему сумматора, - ИМ.
Сумматоры бывают одноразрядные (для суммирования двух одноразрядных чисел), 2-х разрядные (суммируют 2-х разрядные числа) и 4-х разрядные (суммируют 4-х разрядные числа). Чаще всего применяют именно 4-разрядные сумматоры. На рис. 6.1 показаны для примера 2-разрядный и 4-разрядный сумматоры. Микросхема ИМ6 отличается от ИМ3 только повышенным быстродействием и номерами используемых выводов микросхемы, функция же выполняется та же самая.
Рис. 6.1. Примеры микросхем сумматоров
Помимо выходных разрядов суммы и выхода переноса, сумматоры имеют вход расширения (другое название - вход переноса) С для объединения нескольких сумматоров с целью увеличения разрядности. Если на этот вход приходит единица, то выходная сумма увеличивается на единицу, если же приходит нуль, то выходная сумма не увеличивается. Если используется одна микросхема сумматора, то на ее вход расширения С необходимо подать нуль.
Для примера в табл. 6.1 приведена полная таблица истинности 2-разрядного сумматора ИМ2. Как видно из таблицы, выходной 3-разрядный код (Р, S1, S0) равен сумме входных 2-разрядных кодов (А1, А0) и (В1, В0), а также сигнала С. Нулевые разряды - младшие, первые разряды - старшие. Полная таблица истинности 4-разрядного сумматора будет чрезмерно большой, поэтому она не приводится.
Но суть работы остается точно такой же, как и в случае 2-разрядного сумматора.
Сумматоры могут использоваться также для суммирования чисел в отрицательной логике (когда логической единице соответствует электрический нуль, и наоборот, логическому нулю соответствует электрическая единица). Но в этом случае входной сигнал переноса С также становится инверсным, поэтому при использовании одной микросхемы сумматора на вход С надо подать электрическую единицу (высокий уровень напряжения). Инверсным становится и выходной сигнал переноса Р, низкий уровень напряжения на нем (электрический нуль) соответствует наличию переноса. То есть получается, что сумматор абсолютно одинаково работает как с положительной, так и с отрицательной логикой.
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
Сумматор может вычислять не только сумму, но и разность входных кодов, то есть работать вычитателем. Для этого вычитаемое число надо просто поразрядно проинвертировать, а на вход переноса С подать единичный сигнал (рис. 6.2).
Рис. 6.2. 4-х разрядный вычитатель на сумматоре ИМ6 и инверторах ЛН1
Например, пусть нам надо вычислить разность между числом 11 (1011) и числом 5 (0101). Инвертируем поразрядно число 5 и получаем 1010, то есть десятичное 10. Сумматор при суммировании 11 и 10 даст 21, то есть двоичное число 10101. Если сигнал С равен 1, то результат будет 10110. Отбрасываем старший разряд (выходной сигнал Р) и получаем разность 0110, то есть 6.
Еще пример. Пусть надо вычислить разность между числом 12 (1100) и числом 9 (1001). Инвертируем поразрядно 9, получаем 0110, то есть десятичное 6. Находим сумму 12 и 6, получаем 18, а с учетом С = 1 получаем 19, то есть двоичное 10011. В четырех младших разрядах имеем 0011, то есть десятичное 3.
Каскадировать сумматоры для увеличения разрядности очень просто. Надо сигнал с выхода переноса сумматора, обрабатывающего младшие разряды, подать на вход переноса сумматора, обрабатывающего старшие разряды (рис. 6.3). При объединении трех 4-разрядных сумматоров получается 12-разрядный сумматор, имеющий дополнительный 13-й разряд (выход переноса Р).
Рис. 6.3. Каскадирование сумматоров ИМ6 для увеличения разрядности
Неопределенные состояния на выходах сумматора могут возникать при любом изменении любого из входных кодов (рис. 6.4). Выходной код суммы может принимать в течение короткого времени значения, никак не связанные с входными кодами, а на выходе переноса могут появляться короткие паразитные импульсы. Это связано прежде всего с неодновременным изменением разрядов входных кодов. Чтобы избежать влияния этих неопределенных состояний на дальнейшую схему, необходимо предусматривать синхронизацию или стробирование выходных сигналов. Но для этого надо располагать информацией о моментах изменения входных кодов, которая имеется далеко не всегда.
Рис. 6.4. Неопределенные состояния на выходах сумматора при изменении входных кодов
Задержки сумматора ИМ6 от входов до выходов суммы примерно вдвое превышает задержку логического элемента, а от входов до выхода переноса - примерно в полтора раза. Задержки сумматора ИМ3 больше задержек ИМ6 почти вдвое. Поэтому в схемах, где важно быстродействие, лучше использовать ИМ6. Особенно это существенно при каскадировании для увеличения разрядности, так как там задержки отдельных микросхем суммируются. Точные величины задержек надо смотреть в справочниках.
Основные схемы включения триггеров
Говоря об областях применения триггеров, мы будем рассматривать исключительно D-триггеры, так как в большинстве случаев RS- и JK-триггеры могут быть заменены D-триггерами без ухудшения каких бы то ни было параметров схемы. Примеры такой замены показаны на рис. 7.5.
RS-триггер получается из D-триггера, если в D-триггере не использовать входы C и D, например, соединить их с общим проводом (а).
Рис. 7.5. Включение D-триггера для замены RS-триггера (а) и JK-триггера в счетном режиме (б)
Сложнее обстоит дело с заменой JK-триггера, в котором предусмотрено больше возможностей, чем в D-триггере. Однако обычно два информационных входа JK-триггера не так уж и нужны. А что касается счетного режима, в котором, пожалуй, наиболее часто работают JK-триггеры, то он легко реализуется на D-триггере в результате объединения информационного входа D с инверсным выходом (б). При этом по каждому положительному фронту сигнала С триггер будет менять свое состояние на противоположное: нуль на прямом выходе будет сменяться единицей и наоборот. То есть частота входного сигнала триггера будет меньше частоты входного тактового сигнала С в два раза.
Отметим также, что для реализации счетного режима чаще всего используются не триггеры, а счетчики, которые будут рассмотрены в следующей лекции.
Особенности триггеров обусловливают наиболее широкий диапазон схем их включения для решения самых разных задач.
Например, с помощью триггера (любого типа) очень просто и эффективно решается задача устранения влияния дребезга контактов механических переключателей (рис. 7.6). Правда в данном случае необходим тумблер (или кнопка) с тремя выводами, один из которых попеременно подключается к двум другим. При этом первый отрицательный импульс на входе –R перебрасывает триггер в состояние нуля, а первый отрицательный импульс на входе –S — в состояние единицы. Последующие же импульсы на обоих этих входах, вызванные дребезгом контактов, уже никак не влияют на триггер. Нижнее (по рисунку) положение выключателя соответствует нулю на выходе триггера, а верхнее — единице.
Рис. 7.6. Подавление дребезга контактов выключателя с помощью триггера
Основное применение триггеры находят в тех случаях, когда надо сформировать сигнал, длительность которого соответствует длительности какой-то выполняемой операции, какого-то продолжительного процесса в схеме. Выходной сигнал триггера при этом может разрешать этот самый процесс, а может информировать остальные узлы устройства о том, что процесс идет (или, как говорят, служить флагом процесса). Например, в схеме на рис. 7.7 в начале процесса (операции) по сигналу "Старт" триггер перебрасывается в единицу, а в конце процесса (операции) по сигналу "Стоп" — обратно в нуль.
Рис. 7.7. Использование триггера в качестве флага процесса
Для сигналов "Старт" и "Стоп" можно, конечно, использовать входы триггера -R и -S. Однако более правильным и универсальным решением будет выбор пары входов С и -R или С и -S, что предотвратит неоднозначность поведения триггера при одновременном приходе сигналов "Старт" и "Стоп". Если используются входы С и -R, то на вход D надо подать единицу, а если применяются входы С и -S, то на вход D надо подать нуль. Такое решение удобно еще и тем, что в качестве одного из сигналов "Старт" и "Стоп" может выступать не уровень, а фронт. Именно этот фронт (в нужной полярности) и надо подать в этом случае на тактовый вход триггера С.
Вторая важнейшая область применения триггеров — синхронизация сигналов.
Например, триггер позволяет наиболее просто избавиться от паразитных коротких импульсов на выходах комбинационных схем, возникающих при почти одновременном изменении нескольких входных сигналов (рис. 7.8). Для синхронизации в данном случае необходимо иметь синхросигнал (синхропереход), сопровождающий входные информационные сигналы (входной код) и задержанный относительно момента изменения этих сигналов на время tз, большее задержки комбинационной схемы. При подаче этого синхроимпульса на вход С триггера, а выходного сигнала комбинационной микросхемы (Вых. 1) на вход D триггера на выходе триггера получаем сигнал (Вых. 2), полностью свободный от паразитных импульсов.
Рис. 7.8. Синхронизация с помощью триггера
Более того, в случае, когда входной код комбинационной схемы изменяется регулярно, периодически, фронт синхросигнала может даже совпадать с моментом изменения входного кода (рис. 7.9).
Рис. 7.9. Синхронизация с помощью триггера при периодическом изменении входного кода
Принцип работы и разновидности триггеров
В основе любого триггера (англ. — "тrigger" или "flip-flop") лежит схема из двух логических элементов, которые охвачены положительными обратными связями (то есть сигналы с выходов подаются на входы). В результате подобного включения схема может находиться в одном из двух устойчивых состояний, причем находиться сколь угодно долго, пока на нее подано напряжение питания.
Рис. 7.1. Схема триггерной ячейки
Пример такой схемы (так называемой триггерной ячейки) на двух двухвходовых элементах И-НЕ представлен на рис. 7.1. У схемы есть два инверсных входа: –R — сброс (от английского Reset), и –S — установка (от английского Set), а также два выхода: прямой выход Q и инверсный выход –Q.
Для правильной работы схемы отрицательные импульсы должны поступать на ее входы не одновременно. Приход импульса на вход -R переводит выход -Q в состояние единицы, а так как сигнал -S при этом единичный, выход Q становится нулевым. Этот же сигнал Q поступает по цепи обратной связи на вход нижнего элемента. Поэтому даже после окончания импульса на входе -R состояние схемы не изменяется (на Q остается нуль, на -Q остается единица). Точно так же при приходе импульса на вход -S выход Q в единицу, а выход -Q — в нуль. Оба эти устойчивых состояния триггерной ячейки могут сохраняться сколь угодно долго, пока не придет очередной входной импульс, — иными словами, схема обладает памятью.
Если оба входных импульса придут строго одновременно, то в момент действия этих импульсов на обоих выходах будут единичные сигналы, а после окончания входных импульсов выходы случайным образом попадут в одно из двух устойчивых состояний. Точно так же случайным образом будет выбрано одно из двух устойчивых состояний триггерной ячейки при включении питания. Временная диаграмма работы триггерной ячейки показана на рисунке.
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | Без изменения | |
0 | 0 | Не определено |
В стандартные серии цифровых микросхем входит несколько типов микросхем триггеров, различающихся методами управления, а также входными и выходными сигналами.
На схемах триггеры обозначаются буквой Т. В отечественных сериях микросхем триггеры имеют наименование ТВ, ТМ и ТР в зависимости от типа триггера. Наиболее распространены три типа (
рис. 7.2):
RS-триггер (обозначается ТР) — самый простой триггер, но редко используемый (а).JK-триггер (обозначается ТВ) имеет самое сложное управление, также используется довольно редко (б).D-триггер (обозначается ТМ) — наиболее распространенный тип триггера (в).Примером RS-триггера является микросхема ТР2, в одном корпусе которой находятся четыре RS-триггера. Два триггера имеют по одному входу –R и –S, а два других триггера — по одному входу –R и по два входа –S1 и –S2, объединенных по функции И. Все триггеры имеют только по одному прямому выходу. RS-триггер практически ничем не отличается по своим функциям от триггерной ячейки, рассмотренной ранее (см. рис. 7.1). Отрицательный импульс на входе –R перебрасывает выход в нуль, а отрицательный импульс на входе –S (или на любом из входов –S1 и –S2) перебрасывает выход в единицу. Одновременные сигналы на входах –R и –S переводят выход в единицу, а после окончания импульсов триггер попадает случайным образом в одно из своих устойчивых состояний. Таблица истинности триггера ТР2 с двумя входами установки –S1 и –S2 представлена в табл. 7.2.
Рис. 7.2. Триггеры трех основных типов
1 | 1 | 1 | Без изменения |
X | 0 | 1 | 1 |
0 | X | 1 | 1 |
1 | 1 | 0 | 0 |
X | 0 | 0 | Не определен |
0 | X | 0 | Не определен |
Однако состояние триггера может быть изменено не только этими сигналами, но и сигналами на двух информационных входах J и K и синхросигналом С. Переключение триггера в этом случае происходит по отрицательному фронту сигнала С (по переходу из единицы в нуль) в зависимости от состояний сигналов J и K. При единице на входе J и нуле на входе К по фронту сигнала С прямой выход устанавливается в единицу (обратный — в нуль). При нуле на входе J и единице на входе К по фронту сигнала С прямой выход устанавливается в нуль (обратный — в единицу). При единичных уровнях на обоих входах J и K по фронту сигнала С триггер меняет состояние своих выходов на противоположные (это называется счетным режимом).
0 | 1 | Х | Х | Х | 1 | 0 |
1 | 0 | Х | Х | Х | 0 | 1 |
0 | 0 | Х | Х | Х | Не определено | |
1 | 1 | 10 | 1 | 0 | 1 | 0 |
1 | 1 | 10 | 0 | 1 | 0 | 1 |
1 | 1 | 10 | 0 | 0 | Не изменяется | |
1 | 1 | 10 | 1 | 1 | Меняется на проти-воположное | |
1 | 1 | 1 | Х | Х | Не изменяется | |
1 | 1 | 0 | Х | Х | Не изменяется | |
1 | 1 | 01 | Х | Х | Не изменяется |
Рис. 7.3. Временная диаграмма работы JK-триггера ТВ9
Таблица истинности триггера ТВ9 представлена в табл. 7.3, а временная диаграмма работы — на рис. 7.3.
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |
Если на входе D единичный сигнал, то по фронту сигнала С прямой выход триггера устанавливается в единицу (инверсный — в нуль). Если же на входе D — нулевой сигнал, то по фронту сигнала С прямой выход триггера устанавливается в нуль (инверсный — в единицу).
Таблица истинности триггера ТМ2 представлена в табл. 7.4, а временная диаграмма работы — на рис. 7.7.
Остановимся на работе D-триггера чуть подробнее, так как он наиболее часто используется. При этом многие замечания, высказанные здесь относительно D-триггера, будут верны и для других типов триггеров.
Прежде всего отметим, что все приведенные временные диаграммы относятся к первому уровню представления, к уровню логической модели. Конечно же, в реальности все триггеры имеют временные задержки установки выходных сигналов, а также предъявляют определенные временные требования к входным сигналам, при нарушении которых любой триггер будет работать неустойчиво или же не будет работать вообще. Это учитывается на втором уровне представления (в модели с временными задержками).
Например, как уже отмечалось, входные сигналы -R и -S не должны приходить одновременно, иначе состояние триггера будет неопределенным. Длительность сигналов -R и -S также не должна быть слишком малой, иначе триггер может на них не среагировать. Сигнал –R должен начинаться с определенной задержкой после окончания сигнала –S, и наоборот. В первом приближении можно считать, что минимально допустимые временные интервалы между входными сигналами должны равняться 1–2 задержкам логического элемента соответствующей серии.
Точно так же не должна быть слишком малой длительность тактового сигнала C (как положительного, так и отрицательного импульса), иначе триггер может переключаться неустойчиво. Это требование универсально для всех микросхем, срабатывающих по фронту входного сигнала. Принципиально важна и величина временного сдвига (задержки) между установлением сигнала D и рабочим (положительным) фронтом сигнала C. Этот сдвиг тоже не должен быть слишком малым.
Не должен быть чрезмерно малым и сдвиг между окончанием сигналов –R и –S и рабочим фронтом сигнала С. Повышенные требования предъявляются также к длительности фронта тактового сигнала С, которая не должна быть слишком большой. Это требование также универсально для всех микросхем, срабатывающих по фронту входного сигнала.
Одним словом, чем сложнее микросхема, тем важнее для нее становятся ограничения второго уровня представления, тем выше требования к разработчику по учету временных задержек и длительностей сигналов. Правда, требования эти не слишком разнообразны и не слишком жестки, поэтому, раз и навсегда усвоив их, можно проектировать любые схемы без грубых ошибок. Самое главное, что надо запомнить, состоит в следующем: цифровые схемы не любят слишком коротких входных сигналов и слишком малых задержек между входными сигналами, функционально связанными между собой. Ориентир здесь очень простой — величина задержки логического элемента данной серии. Поэтому для более быстрых серий ограничения будут менее жесткими, а для более медленных серий — более жесткими.
Несколько слов о величинах задержек микросхем триггеров.
Несмотря на свою достаточно сложную внутреннюю структуру, микросхемы триггеров являются одними из самых быстрых. Задержка срабатывания триггера обычно не превышает 1,5–2 задержки логического элемента. (причем задержки по входам –R и –S чуть меньше, чем по тактовому входу С.) В некоторых сериях JK-триггеры несколько быстрее, чем D-триггеры, в других — наоборот. Важный параметр триггера — максимальная частота тактового сигнала С. Для ее приблизительной оценки можно придерживаться следующего простого правила: период тактового сигнала С не должен быть меньше величины задержки переключения триггера по входу С.
Регистры, срабатывающие по фронту
Принцип действия регистров, срабатывающих по фронту тактового сигнала, ничем не отличается от принципа действия D-триггера. По положительному фронту тактового сигнала С каждый из выходов регистра устанавливается в тот уровень, который был в этот момент на соответствующем данному выходу входе D, и сохраняется таковым до прихода следующего положительного фронта сигнала С. То есть если триггер запоминает один сигнал (один двоичный разряд, один бит), то регистр запоминает сразу несколько (4, 6, 8, 16) сигналов (несколько разрядов, битов). Память регистра сохраняется до момента выключения питания схемы.
Рис. 8.2. Параллельные регистры стандартных серий, срабатывающие по фронту
В стандартные серии входит несколько типов параллельных регистров, срабатывающих по фронту (рис. 8.2). Различаются они количеством разрядов, наличием или отсутствием инверсных выходов, наличием или отсутствием входа сброса (–R) или разрешения записи (–WE), а также типом выходных каскадов (2С или 3С) и, соответственно, наличием или отсутствием входа разрешения –EZ. Иногда на схемах тактовый вход С обозначается WR - сигнал записи в регистр.
Большинство регистров имеют восемь разрядов, то есть запоминают один байт информации. Регистр ТМ8 в справочниках обычно называется счетверенным D-триггером (он и в наименовании несет буквы ТМ), хотя он вполне может рассматриваться и как регистр, так как тактовый вход С и вход сброса –R у всех четырех триггеров объединены между собой.
Таблицы истинности регистров очень просты и не отличаются принципиально от таблицы истинности D-триггеров. Отличие от триггеров появляется только в случае наличия у регистра дополнительных управляющих входов разрешения записи –WE и разрешения выхода –EZ. В качестве примеров в табл. 8.1 приведена таблица истинности регистра ИР27, а в табл. 8.2 - регистра ИР37. По переходу тактового сигнала С из 0 в 1 (положительный фронт) оба регистра записывают в себя входную информацию.
0 | 01 | 0 | 0 | |
0 | 01 | 1 | 1 | |
0 | 0 | X | Не меняется | |
0 | 1 | Х | Не меняется | |
1 | Х | Х | Не меняется |
0 | 01 | 0 | 0 | |
0 | 01 | 1 | 1 | |
0 | 0 | X | Не меняется | |
0 | 1 | Х | Не меняется | |
1 | Х | Х | Z |
p>Все регистры, имеющие выход с тремя состояниями, обеспечивают повышенную нагрузочную способность. Задержка переключения регистров примерно соответствует задержке переключения триггеров. Все временные ограничения, накладываемые на входные сигналы в случае триггеров, справедливы и для входных сигналов регистров. Например, не должна быть слишком малой длительность сигнала С, а также не должна быть слишком малой задержка между установлением сигнала D и приходом положительного фронта сигнала С. Иначе работа регистра может быть нестабильной или даже неправильной.
Одно из основных применений регистров состоит в хранении требуемого кода в течение нужного времени. Если для работы остальной части схемы необходимо иметь входной код, который можно легко изменять, то для этого как раз подходит регистр.
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет- Университет Информационных Технологий - дистанционное образование |
Рис. 8.5. Работа последовательной цепочки двух узлов
Иначе код на выходе цепочки может никогда не принять устойчивого значения, так как переходный процесс предыдущего такта будет сменяться переходным процессом следующего такта. То есть быстродействие узлов накладывает жесткое ограничение на тактовую частоту.
Однако можно обойти это ограничение, если воспользоваться принципом конвейера, заставить узлы работать не последовательно, а параллельно. Это достигается включением между узлами регистра, тактируемого входным тактовым сигналом. Еще один регистр целесообразно включить на входе второго узла, что обеспечит длительность устойчивого кода на выходе всего устройства, равную длительности периода тактового сигнала Т (рис. 8.6). В результате ограничение на период тактового сигнала становится более мягким: Т не должно быть меньше максимальной из двух величин t1 и t2 с добавлением времени задержки регистра:
T>max{t1,t2}+tRG
Рис. 8.6. Конвейерная обработка с помощью регистров
То есть к следующему фронту тактового сигнала должен закончить свою работу самый медленный из узлов, и тогда его выходной код будет записан в регистр правильно.
Точно так же можно построить конвейер на любое количество последовательно включенных узлов. Конечно, в результате введения конвейера происходит задержка выполнения полной функции устройства на число тактов, равное числу введенных регистров. Однако в том случае, когда необходимо обрабатывать большие последовательности входных кодов, эта задержка наблюдается только один раз - в самом начале последовательности, а затем уже она не имеет значения.
Регистры могут также применяться в составе вычислителей, выполняя функцию накопителя результата вычисления. В данном случае мы уже имеем дело с более сложной обработкой информации, чем при чисто комбинационных схемах. С каждым тактом в регистре обновляется содержимое, являющееся результатом математической обработки входного кода и результата предыдущего вычисления.
Рассмотрим два примера схем таких вычислителей.
Первая схема известна как накапливающий сумматор, применяющийся, например, в цифровых генераторах аналоговых сигналов.
В самом названии схемы отражена ее функция: она суммирует и накапливает результат. Накапливающий сумматор (рис. 8.7) состоит из сумматора и выходного регистра, охваченных обратной связью.
Рис. 8.7. Структура накапливающего сумматора
То есть на один вход сумматора подается код с выходов регистра, а на другой вход - входной код. В результате с каждым следующим фронтом тактового сигнала в регистр записывается код суммы входного кода с предыдущим содержимым регистра, с предыдущей суммой. Например, если входной код равен 3, а в регистре записан код 6, то в следующем такте в регистр будет записан код 9 (то есть 6 + 3), в следующем такте - код 12 (то есть 9 + 3) и т.д. Получается, что на выходе накапливающего сумматора формируется равномерно увеличивающийся двоичный код, и шаг этого увеличения можно менять. В данном случае удобно применять регистр со сбросом, например, ИР35.
Отметим три особенности накапливающего сумматора.
Во-первых, когда выходной код достигает максимальной величины (становится больше 2n, где n - количество разрядов регистра), происходит переполнение схемы и возобновление ее работы с минимальных значений кода. Однако совсем не обязательно в следующем цикле работы будут повторены те же значения кода, что и в предыдущем. Например, пусть n равняется 4, то есть максимальное число на выходе регистра равно 1111 в двоичном коде или 15 в десятичном коде. Пусть входной код равен 3. Тогда после начального сброса регистра выходной код будет нарастать так: 0, 3, 6, 9, 12, 15, 2, 5, 8, 11, 14, 1, 4, .… Это происходит потому, что суммирование чисел 15 и 3 даст 18 или, в двоичном коде, 10010, а так как мы работаем только с младшими четырьмя разрядами, у нас получится 0010 или 2.
Во-вторых, особенность накапливающего сумматора состоит в том, что при больших значениях входного кода (больших половины максимально возможной величины) он может рассматриваться как накапливающий вычитатель. Пусть, например, входной код 4-разрядного сумматора равен 15 (1111 в двоичном коде), а в регистре записано число 13 (1011 в двоичном коде).
В следующем такте в регистр запишется сумма 1101 + 1111 = 11100, а без старшего разряда - 1100, то есть 12. То есть выходной код уменьшился на единицу.
Наконец, в-третьих, совсем не обязательно шаг нарастания выходного кода накапливающего сумматора должен быть целым числом (то есть 0, 1, 2, 3, ...). Если в качестве выходного кода берутся не все, а только старшие разряды регистра, то шаг нарастания вполне может быть дробным, например, 0,5, 1,25 или 3,75. Не вошедшие в выходной код разряды будут иметь вес 2-1 (то есть 0,5), 2-2 (то есть 0,25) и т.д. Правда результат суммирования в выходном коде будет представлен с точностью до целых чисел. При этом возможна ситуация, когда в течение нескольких тактов код на выходе не меняется, например, при входном коде 0,5 выходной код будет меняться один раз на два такта, а при входном коде 0,25 - один раз на четыре такта.
Рис. 8.8. Накапливающий сумматор
На рис. 8.8 показана схема 8-разрядного накапливающего сумматора на двух микросхемах сумматоров ИМ6 и одном регистре ИР35. В качестве выходного кода используется только 6 старших разрядов с выхода регистра, поэтому задание шага приращения возможно с точностью до 0,25. Максимально возможная частота тактового сигнала может быть определена по формуле T > tSM + tRG, где Т - период тактового сигнала, tSM - задержка 8-разрядного сумматора, а tRG - задержка регистра.
Последний пример применения регистров, который мы рассмотрим, - это вычислитель максимального значения входного кода. Такой вычислитель, например, может применяться в схемах цифровых осциллографов для измерения амплитуды входного аналогового сигнала.
Пусть мы имеем последовательность входных кодов, и нам необходимо выявить экстремальный (то есть максимальный или минимальный) код из всей этой последовательности. Эта задача решается довольно просто путем применения компаратора кодов и регистра, охваченных обратной связью (рис. 8.9).
Рис. 8.9. Вычислитель экстремального значения входного кода
В данном случае удобно использовать регистр со входом разрешения записи (ИР27). В регистре сохраняется код экстремума (максимума или минимума), а 8-разрядный компаратор, составленный из двух микросхем СП1, сравнивает содержимое регистра и текущее значение входного кода. Элемент Исключающее ИЛИ выполняет функцию управляемого инвертора, выбирая режим вычисления максимума (единица на управляющем входе) или минимума (нуль на управляющем входе).
Допустим, мы вычисляем максимум. При этом запись в регистр текущего значения входного кода будет производиться только в том случае, когда это текущее значение больше числа, содержащегося в регистре. На выходе ">" компаратора кодов будет тогда сигнал логической единицы, а на входе разрешения записи регистра –WE - сигнал логического нуля. Если же текущее значение входного кода меньше кода, содержащегося в регистре, запись не производится. После окончания входной последовательности кодов (или после окончания одного ее периода при периодической последовательности) в регистре останется максимальное значение входного кода.
Аналогично вычисляется и минимум, только в данном случае в регистр будет записываться не только код, меньший числа в регистре, но и код, равный этому числу. Понятно, что на конечный результат вычисления это никак не повлияет.
Регистры, срабатывающие по уровню
Параллельные регистры, срабатывающие по уровню стробирующего сигнала (или, как их еще называют, регистры-защелки, английское "Latch"), можно рассматривать как некий гибрид между буфером и регистром. Когда сигнал на стробирующем входе - единичный, такой регистр пропускает через себя входные информационные сигналы, а когда стробирующий сигнал становится равен нулю, регистр переходит в режим хранения последнего из пропущенных значений входных сигналов.
Применение таких регистров сильно ограничено, хотя иногда они довольно удобны. В некоторых схемах они могут успешно заменять регистры, срабатывающие по фронту, а в других схемах их применение вместо регистров, срабатывающих по фронту, недопустимо.
В стандартных сериях регистры, срабатывающие по уровню, представлены гораздо меньше, чем регистры, срабатывающие по фронту. На рис. 8.10 показаны в качестве примеров две микросхемы 4-разрядного регистра ТМ7 и 8-разрядного регистра ИР22. Стробирующие входы С нередко на схемах обозначают E (от английского "Enable" - "разрешение"), для того чтобы не путать их с тактовыми входами D-триггеров.
Рис. 8.10. Регистры, срабатывающие по уровню
Микросхему ТМ7 (и близкую к ней ТМ5) часто называют набором триггеров, но ее можно рассматривать и как регистр. Микросхема состоит из четырех триггеров, стробирующие входы которых С соединены попарно, то есть можно говорить о двух двухразрядных регистрах-защелках. Входы С1 и С2 микросхемы управляют каждый двумя разрядами данных. Все триггеры имеют как прямые, так и инверсные выходы, что иногда очень удобно. Таблица истинности микросхемы ТМ7 приведена в табл. 8.3.
При единице на входе С выходные сигналы повторяют входные, то есть регистр работает как обычный буфер с прямыми и инверсными выходами. При нуле на входе С на выходе регистра постоянно хранится та входная информация, которая была в момент прихода отрицательного фронта сигнала С. Однако говорить, что регистр ТМ7 срабатывает по отрицательному фронту сигнала С, неверно, так как информация на выходе меняется не только по этому фронту, но и в момент изменения входных сигналов при С = 1.
0 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
0 | 0 | Не меняется | |
1 | 0 | Не меняется |
p> Регистр ИР22 отличается от ТМ7 тем, что имеет выходы с тремя состояниями (и соответственно, вход разрешения всех выходов –EZ) и тем, что всеми восемью разрядами управляет один стробирующий сигнал С. Суть работы от этого не изменяется. При единице на входе С регистр работает как буфер-повторитель, а при нуле на входе С - хранит ту информацию, которая была на входе в момент отрицательного фронта сигнала С. Выходы у регистра ИР22 - только прямые. Как и все регистры с тремя состояниями выхода, ИР22 имеет повышенную нагрузочную способность. В табл. 8.4 приведена таблица истинности регистра ИР22.
0 | 1 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | X | Не меняется |
1 | X | X | Z |
Основное применение регистра, срабатывающего по уровню стробирующего сигнала, состоит в запоминании на какое-то заданное время входного кода, причем в остальное время выходной код регистра должен повторять входной ( рис. 8.11). Стробирующий сигнал С в этом случае должен быть отрицательным на все время запоминания, и запоминаться будет входной код регистра в момент отрицательного (переднего) фронта сигнала С. Подобная функция бывает, например, необходима при построении устройств сопряжения для компьютеров. Регистр, по сути, продлевает во времени необходимое значение входного кода, в остальное время работая как повторитель.
Рис. 8.11. Продление длительности входного кода с помощью регистра-защелки
В ряде случаев регистры данного типа могут успешно заменять регистры, срабатывающие по фронту. Например, такая замена возможна в случае необходимости запоминания входного кода по сигналу С до момента прихода следующего сигнала С (рис. 8.12).
Сигнал С в данном случае должен быть коротким положительным импульсом, причем он обязательно должен быть "вложен" в запоминаемый входной код, то есть начинаться после начала (момента установления) кода, а заканчиваться до конца (момента снятия) кода (это так называемый вложенный цикл). По переднему фронту сигнала С регистр перейдет в режим пропускания входного кода, а по заднему - в режим его хранения. Поэтому записываемый код на выходе регистра появится по положительному фронту сигнала С, то есть точно так же, как и в случае регистра, срабатывающего по фронту.
Рис. 8.12. Использование регистра-защелки для замены регистра, срабатывающего по фронту
Однако подобная замена регистра, срабатывающего по фронту, на регистр, срабатывающий по уровню, возможна далеко не всегда. Некоторые схемы в принципе не могут работать с регистром-защелкой даже при очень коротком сигнале на входе С. Примером может служить уже упоминавшаяся схема накапливающего сумматора, которая работает исключительно с регистром, срабатывающим по фронту. Ведь при единичном сигнале на входе С регистр-защелка тут же перейдет в состояние пропускания входного кода, и в результате замкнется лавинообразная обратная связь: код с выхода регистра будет складываться со входным кодом бесконечное число раз (рис. 8.13). Конечно, при коротком импульсе на входе С этот неуправляемый процесс быстро прекратится, но что за информация в результате останется в регистре после окончания сигнала С, предсказать невозможно.
Рис. 8.13. Лавинообразная обратная связь в накапливающем сумматоре с регистром-защелкой
И таких схем, принципиально не допускающих применения регистра-защелки, довольно много. Именно поэтому использование их сильно ограничено, а выбор микросхем в стандартных сериях невелик.
Сдвиговые регистры
Регистры сдвига или сдвиговые регистры (англ. shift register) представляют собой, как уже отмечалось, последовательно соединенную цепочку триггеров. Основной режим их работы - это сдвиг разрядов кода, записанного в эти триггеры, То есть по тактовому сигналу содержимое каждого предыдущего триггера переписывается в следующий по порядку в цепочке триггер. Код, хранящийся в регистре, с каждым тактом сдвигается на один разряд в сторону старших разрядов или в сторону младших разрядов, что и дало название регистрам данного типа.
В связи с названием направления сдвига в сдвиговых регистрах часто возникает путаница. Сдвиг бывает двух видов: вправо (основной режим, который есть у всех сдвиговых регистров) и влево (этот режим есть только у некоторых, реверсивных сдвиговых регистров). Названия эти отражают внутреннюю структуру регистров сдвига (рис. 8.14) и перезапись сигналов последовательно по цепочке триггеров. При этом триггеры, вполне естественно, нумеруются слева направо, например, от 0 до 7 (или от 1 до 8) для 8-разрядных регистров. В результате сдвиг информации регистром вправо представляет собой сдвиг в сторону разрядов, имеющих большие номера, а сдвиг информации регистром влево - это сдвиг в сторону разрядов, имеющих меньшие номера.
Однако, как известно, в любом двоичном числе слева расположены старшие разряды, а справа - младшие разряды. Поэтому сдвиг двоичного числа вправо будет сдвигом в сторону младших разрядов, а сдвиг влево - сдвигом в сторону старших разрядов. Это противоречие, не чей-то злой умысел, просто так исторически сложилось, и об этом надо помнить разработчику цифровой аппаратуры.
Рис. 8.14. Направление сдвига в сдвиговых регистрах
В стандартные серии цифровых микросхем входит несколько типов сдвиговых регистров, отличающихся возможными режимами работы, режимами записи, чтения и сдвига, а также типом выходных каскадов (2С или 3С). Большинство регистров сдвига имеет восемь разрядов. На рис. 8.15 представлены для примера четыре типа микросхем регистров сдвига.
Регистр ИР8 - наиболее простой из регистров сдвига. Он представляет собой 8-разрядную линию задержки, то есть имеет только один информационный вход, на который подается последовательная сдвигаемая информация (точнее, два входа, объединенных по функции 2И), и восемь параллельных выходов. Сдвиг в сторону выходов со старшими номерами осуществляется по переднему фронту тактового сигнала С. Имеется также вход сброса –R, по нулевому сигналу на котором все выходы регистра сбрасываются в нуль. Таблица истинности регистра ИР8 приведена в табл. 8.5.
Рис. 8.15. Сдвиговые регистры
0 | X | X | X | 0 | 0 | … | 0 |
1 | 0 | X | X | Не меняются | |||
1 | 1 | Х | Х | Не меняются | |||
1 | 01 | 1 | 1 | 1 | Q0 | … | Q6 |
1 | 01 | 0 | Х | 0 | Q0 | … | Q6 |
1 | 01 | Х | 0 | 0 | Q0 | … | Q6 |
0 | X | X | Параллельная запись |
1 | 1 | Х | Хранение |
1 | Х | 1 | Хранение |
1 | 0 | 01 | Сдвиг |
1 | 01 | 0 | Сдвиг |
Рис. 8.16. Соединение регистров ИР8 для увеличения разрядности
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |
В обоих случаях в результате объединения получается 24- разрядный сдвиговый регистр. При этом увеличение разрядности не приводит к увеличению задержки сдвига, так как тактовые входы всех используемых регистров объединяются параллельно. В случае регистров ИР8 входной последовательный код преобразуется в 24-разрядный выходной параллельный код. В случае регистров ИР9 входной 24-разрядный параллельный код преобразуется в выходной последовательный код.
Рис. 8.17. Соединение регистров ИР9 для увеличения разрядности
Регистр ИР13 соединяет в себе возможности регистров ИР8 и ИР9. Он имеет как восемь входов для параллельной записи, так и соответствующие им восемь выходов параллельной информации. Сдвиг осуществляется по положительному фронту тактового сигнала С, причем сдвиг возможен как в сторону старших разрядов (вправо), так и в сторону младших разрядов (влево). Для наращивания разрядности у регистра ИР13 имеются последовательные информационные входы DR и DL, сигналы с которых вдвигаются, соответственно, в младший и в старший разряды. Предусмотрен сброс всех выходов регистра в нуль по нулевому сигналу на входе –R.
X | 0 | X | X | Сброс |
01 | 1 | 1 | 0 | Сдвиг вправо |
01 | 1 | 0 | 1 | Сдвиг влево |
01 | 1 | 0 | 0 | Хранение |
01 | 1 | 1 | 1 | Параллельная запись |
Отметим, что регистр ИР13 применяется заметно реже, чем более простые регистры ИР8 и ИР9, так как задач, в которых были бы нужны все возможности ИР13, не так уж много, а управление работой ИР13 - довольно сложное.
Наконец, последний сдвиговый регистр, который мы рассмотрим подробнее, это регистр ИР24. По своим возможностям он близок к ИР13, однако его главной особенностью является двунаправленная параллельная шина данных. То есть одни и те же выводы микросхемы используются как для параллельной записи информации в регистр, так и для параллельного чтения информации из регистра. При этом двунаправленные выводы данных имеют повышенную нагрузочную способность. Это позволяет легко сопрягать ИР24 с многоразрядными микросхемами памяти и с двунаправленными буферами. Поэтому применяется данный регистр чаще, чем ИР13.
Регистр ИР24 обеспечивает сдвиг информации в обоих направлениях. Имеются входы расширения DR и DL, а также выходы расширения Q0 и Q7, что позволяет легко наращивать разрядность. Отличие выходов Q0 и Q7 от нулевого и седьмого разрядов данных состоит в том, что Q0 и Q7 - однонаправленные, то есть в любом режиме работы выдают информацию с выходов внутренних триггеров младшего и старшего разрядов. Тактируется регистр положительным фронтом сигнала С. Предусмотрен сброс регистра нулевым сигналом на входе –R.
Режим работы микросхемы определяется сигналами на управляющих входах SR и SL.
При единичном сигнале на SR и нулевом сигнале на SL по положительному фронту сигнала С происходит сдвиг информации вправо (в сторону разрядов с большими номерами). Запись в разряд 0 производится при этом со входа расширения DR.
При единичном сигнале на SL и нулевом сигнале на SR по положительному фронту сигнала С происходит сдвиг информации влево (в сторону разрядов с меньшими номерами). Запись в разряд 7 производится при этом со входа расширения DL.
При обоих нулях на входах SR и SL регистр переходит в режим хранения. Во всех этих случаях разряды данных работают как вход или как выход в зависимости от сигналов –EZ.
0 | Х | Х | Х | Сброс |
1 | 01 | 1 | 0 | Сдвиг вправо |
1 | 01 | 0 | 1 | Сдвиг влево |
1 | 01 | 1 | 1 | Параллельная запись |
1 | Х | 0 | 0 | Хранение |
Таблица истинности регистра ИР24 приведена в табл. 8.8.
Рис. 8.18. Объединение регистров ИР24 для увеличения разрядности
Объединяя два регистра ИР24, легко получить 16-разрядный сдвиговый регистр с сохранением всех возможностей одной микросхемы (рис. 8.18). Точно так же можно объединять и большее количество микросхем.
Главное применение всех регистров сдвига состоит в преобразовании параллельного кода в последовательный, и наоборот. Такое преобразование используется, например, при передаче информации на большие расстояния (в информационных сетях), при записи информации на магнитные носители, при работе с телевизионными мониторами и с видеокамерами, а также во многих других случаях.
Для примера на рис. 8.19 показана простейшая схема передачи цифровой информации в последовательном коде по двум линиям: информационной и синхронизующей. Такая передача позволяет сократить количество соединительных проводов, а также упростить защиту передаваемых данных от действия внешних электромагнитных помех, правда, ценой снижения скорости передачи.
Рис. 8.19. Последовательная передача информации с помощью регистров сдвига
На передающем конце (слева на рисунке) с помощью сдвигового регистра ИР9 входной параллельный 8-разрядный код преобразуется в последовательность разрядов данных, следующих с частотой тактового сигнала. На приемном конце (справа на рисунке) с помощью сдвигового регистра ИР8 эта последовательность разрядов данных снова преобразуется в параллельный код. Оба регистра тактируются одним и тем же тактовым сигналом, который передается по линии связи параллельно с последовательностью данных. Для увеличения надежности передачи информационный сигнал дополнительно задерживается относительно фронта тактового сигнала с помощью цепочки из двух инверторов.
Первый бит последовательного входа (со входа 7 регистра ИР9) начинает передаваться с началом сигнала записи -Зап. Следующие разряды передаются с каждым следующим положительным фронтом тактового сигнала С.
Последним передается сигнал со входа 0. В регистр ИР8 разряды последовательного кода записываются в том же самом порядке, в каком они были в регистре ИР9. По окончании передачи первый переданный сигнал данных окажется в разряде 7 шины данных регистра ИР8, а последний переданный сигнал данных - в разряде 0.
Следующее применение сдвиговых регистров состоит в организации всевозможных линий задержек, особенно имеющих значительное количество каскадов. С помощью сдвиговых регистров можно обеспечить задержку любого входного сигнала на целое число тактов. Правда, надо учитывать, что длительность входного сигнала (и любого его элемента) будет также передаваться по линии задержки с точностью до одного такта. Такие линии задержки могут применяться для сравнения нескольких последующих тактов входного сигнала, для выполнения арифметических операций с несколькими тактами входного сигнала и для других подобных целей. Работа линии задержки на регистре сдвига иллюстрируется рис. 8.20.
Рис. 8.20. Линия задержки входного сигнала на регистре сдвига
Сдвиговые регистры могут также использоваться для формирования импульсов заданной длительности, причем длительность импульса может задаваться управляющим кодом, то есть быть программно управляемой. На рис. 8.21 приведена возможная схема такого формирователя.
Рис. 8.21. Формирователь импульсов с длительностью, задаваемой управляющим кодом
В исходном состоянии (до прихода положительного фронта входного сигнала) триггер сброшен в нуль, на всех выходах регистра сдвига - нули, на инверсном выходе мультиплексора - единица. На мультиплексор подан управляющий код, определяющий длительность выходного сигнала. При поступлении положительного фронта входного сигнала триггер перебрасывается в единицу (начинается выходной сигнал), и этот единичный сигнал начинает последовательно сдвигаться регистром сдвига по каждому фронту тактового сигнала.
Пусть управляющий код равен 5. Тогда в тот момент, когда на выходе 5 сдвигового регистра появится единица, она будет передана на выход мультиплексора КП7 с инверсией.
При этом нулевой сигнал на входе –R триггера сбросит триггер в нуль, то есть выходной сигнал закончится.
Таким образом, длительность выходного сигнала будет определяться управляющим кодом. Погрешность установки этой длительности равна одному периоду тактового сигнала и зависит от временного сдвига между фронтом входного сигнала и фронтом ближайшего к нему тактового импульса. Чем больше длительность выходного сигнала, тем меньше относительная погрешность установки его точности. Например, при управляющем коде 0 длительность выходного сигнала может быть от 0 до Т, где Т - период тактового сигнала. А при управляющем коде 7 длительность выходного сигнала будет от 7Т до 8Т. При этом мы не учитываем задержек триггера, сдвигового регистра и мультиплексора.
Сдвиговые регистры могут также использоваться для умножения и деления двоичных чисел на 2n, где n - целое число, большее нуля. Сдвиг двоичного числа вправо (в сторону младших разрядов) на один разряд равносилен делению на 2. Сдвиг двоичного числа влево (в сторону старших разрядов) на один разряд равносилен умножению на 2. Для того чтобы сдвиговый регистр умножал и делил двоичный код, надо всего лишь записать этот код в регистр и сдвинуть его нужное количество раз вправо или влево. Наиболее удобен для этого регистр ИР13. При этом необходимо, чтобы в освободившиеся разряды вдвигались нули, то есть на входы расширения DR и DL регистра надо подать нулевые сигналы.
Наконец, последнее применение сдвигового регистра, которое мы рассмотрим, - это генератор случайной последовательности сигналов или случайной последовательности кодов. Строго говоря, последовательности будут не полностью случайные, а квазислучайные, то есть будут периодически повторяться, но период этот довольно большой. Случайные последовательности сигналов и кодов широко применяются в тестирующей аппаратуре, в генераторах шума, в логических игровых устройствах.
Задача состоит в том, чтобы выходной сигнал или код менял свое состояние случайно (или почти случайно).
Сигнал должен случайно переключаться из 0 в 1 и из 1 в 0, а код должен случайно принимать значения из диапазона от 0 до (2N–1), где N - число разрядов кода (например, от 0 до 255 при 8-разрядном коде). Псевдослучайные последовательности имеют то преимущество перед истинно случайными, что они - предсказуемые и периодические, но в этом же и их недостаток.
Структура генератора квазислучайной последовательности на сдвиговом регистре очень проста (рис. 8.22). Она представляет собой регистр сдвига с параллельными выходами (например, ИР8), несколько (минимум два) выходных сигналов которого объединены с помощью элемента Исключающее ИЛИ, с выхода которого сигнал подается на вход регистра, замыкая схему в кольцо. Схема тактируется сигналом с частотой fT.
Рис. 8.22. Структура генератора псевдослучайной последовательности
6,5 | 7,6,4,2 | 14,13 | 15,13,12,10 | 23,22,21,16 | 30,17 |
Из таблицы видно, что выгоднее брать число разрядов не кратное 8, например, 7, 15 или 31. В этом случае для обратной связи используются всего лишь два выхода, то есть достаточно одного двухвходового элемента Исключающее ИЛИ.
Период выходной последовательности генератора составляет (2N-1) тактов, где N - количество разрядов регистра сдвига. За это время каждое из возможных значений выходного кода (кроме одного) встречается один раз. Количество единиц в выходном сигнале больше количества нулей на единицу.
Выходной код 000…0 представляет собой запрещенное состояние, так как он блокирует работу генератора, воспроизводя сам себя снова и снова. Но в то же время получиться такой нулевой код может только сам из себя, поэтому достаточно обеспечить, чтобы его не было при включении питания схемы.
Частоты в спектре выходного сигнала будут следовать с интервалом (fT/2N–1), а огибающая спектра будет практически постоянной до частоты 0,25fT, то есть шум до этой частоты можно считать белым (спад в 3 дБ происходит на частоте 0,45 fT).
Рис. 8.23. 31-разрядный генератор псевдослучайной последовательности на регистрах сдвига
На рис. 8.23 показана практическая схема генератора псевдослучайной последовательности на 31-разрядном сдвиговом регистре. Обратная связь осуществляется с выходов 30 и 17 регистра через двухвходовой элемент Исключающее ИЛИ с инвертором. Из-за применения инвертора запрещенным состоянием генератора является код 1111...1 (а не код 000...0), который в данном случае исключается очень просто - начальным сбросом регистров в нуль при включении питания по сигналу -Сброс. Генератор выдает квазислучайную последовательность 31-разрядных кодов со всех выходов регистра, а также квазислучайную последовательность нулей и единиц на любом из выходов регистра. Такой генератор использовала известная фирма Hewlett–Packard в своем генераторе шума.
Асинхронные счетчики
Асинхронные счетчики строятся из простой цепочки JK-триггеров, каждый из которых работает в счетном режиме. Выходной сигнал каждого триггера служит входным сигналом для следующего триггера. Поэтому все разряды (выходы) асинхронного счетчика переключаются последовательно (отсюда название - последовательные счетчики), один за другим, начиная с младшего и кончая старшим. Каждый следующий разряд переключается с задержкой относительно предыдущего (рис. 9.2), то есть, вообще говоря, асинхронно, не одновременно с входным сигналом и с другими разрядами.
Чем больше разрядов имеет счетчик, тем большее время ему требуется на полное переключение всех разрядов. Задержка переключения каждого разряда примерно равна задержке триггера, а полная задержка установления кода на выходе счетчика равна задержке одного разряда, умноженной на число разрядов счетчика. Легко заметить, что при периоде входного сигнала, меньшем полной задержки установления кода счетчика, правильный код на выходе счетчика просто не успеет установиться, поэтому такая ситуация не имеет смысла. Это накладывает жесткие ограничения на период (частоту) входного сигнала, причем увеличение, к примеру, вдвое количества разрядов счетчика автоматически уменьшает вдвое предельно допустимую частоту входного сигнала.
Рис. 9.2. Временная диаграмма работы 4-разрядного асинхронного счетчика
Таким образом, если нам нужен выходной код асинхронного счетчика, то есть все его выходные сигналы (разряды) одновременно, то должно выполняться следующее неравенство: T> Ntз, где T - период входного сигнала, N - число разрядов счетчика, tз - время задержки одного разряда.
Надо еще учесть, что за период входного сигнала должно успеть сработать устройство (узел), на которое поступает выходной код счетчика, иначе счетчик просто не нужен; поэтому ограничение на частоту входного сигнала обычно бывает еще жестче.
В составе стандартных серий цифровых микросхем асинхронных счетчиков немного. Для примера на рис. 9.3 приведены три из них: 4-х разрядный двоично-десятичный счетчик ИЕ2, 4-х разрядный двоичный счетчик ИЕ5 и 8-и разрядный двоичный счетчик ИЕ19 (он же сдвоенный четырехразрядный счетчик).
Рис. 9.3. Асинхронные счетчики стандартных серий
У всех этих счетчиков управление работой очень простое, есть всего лишь входы сброса в нуль или входы установки в 9 (только у ИЕ2). Все асинхронные счетчики работают по отрицательному фронту входного сигнала С (или, что то же самое, по заднему фронту положительного входного сигнала). У всех трех счетчиков выделены две независимые части, что увеличивает возможности их применения. При объединении этих двух частей получается счетчик максимальной разрядности. Выходы счетчиков обозначают на схемах 0, 1, 2, 3, ... (как номера разрядов выходного двоичного кода) или 1, 2, 4, 8, ... (как веса каждого разряда двоичного кода).
Счетчик ИЕ2 имеет две части: один триггер (вход С1, выход 1) и три триггера (вход С2 и выходы 2, 4, 8). Таким образом, он состоит из одноразрядного счетчика и трехразрядного счетчика. Одиночный триггер работает в обычном счетном режиме, изменяя свое состояние по каждому отрицательному фронту сигнала С1, то есть делит частоту входного сигнала на 2. Три оставшихся триггера включены таким образом, чтобы считать до 5, то есть делить входную частоту сигнала С2 на 9. После достижения кода 4 (то есть 100) на выходах 2, 4 и 8 этот трехразрядный счетчик по следующему отрицательному фронту сигнала С2 сбрасывается в нуль. В результате при объединении выхода 1 микросхемы со входом С2 мы получаем 4-разрядный двоично-десятичный счетчик, делящий частоту входного сигнала С1 на 10 и сбрасывающийся в нуль после достижения на выходах 1, 2, 4, 8 кода 9 (то есть 1001) по отрицательному фронту сигнала С1.
Х | 1 | 1 | 0 | X | 0 | 0 | 0 | 0 |
Х | 1 | 1 | Х | 0 | 0 | 0 | 0 | 0 |
Х | Х | Х | 1 | 1 | 1 | 0 | 0 | 1 |
10 | Х | 0 | X | 0 | Счет | |||
10 | 0 | Х | 0 | Х | Счет | |||
10 | 0 | Х | Х | 0 | Счет | |||
10 | Х | 0 | 0 | Х | Счет |
Наличие этих входов сброса и установки позволяет строить на базе счетчика ИЕ2 делители частоты с разными коэффициентами деления. Правда, этот счетчик используется довольно редко, значительно реже, чем другие асинхронные счетчики ИЕ5 и ИЕ19.
Таблица истинности асинхронного счетчика ИЕ2 при соединенном выходе 1 и входе С2 (при 4-разрядном выходном коде) приведена в табл. 9.1, а состояния выходов при счете входных импульсов по тактам представлены в табл. 9.2.
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 0 | 0 | 0 | 0 |
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |
Счетчик ИЕ19 можно считать сдвоенным вариантом счетчика ИЕ9. Он включает в себя два идентичных независимых друг от друга 4-разрядных асинхронных счетчика, каждый из которых имеет свой счетный вход С и свой вход сброса R. Считают оба счетчика, входящие в микросхему, по отрицательному фронту на своих входах С1 и С2. Сбрасываются они единичными сигналами на своих входах сброса R1 и R2.
Счетчики, входящие в ИЕ19, можно использовать самостоятельно, но можно и объединить их для получения 8-разрядного асинхронного счетчика с выходами 1, 2, 4, 8, 16, 32, 64, 128. Для такого объединения достаточно соединить выход 8 первого счетчика со счетным входом С2 второго счетчика. Если соединить два ИЕ19 (рис. 9.5), то получится уже 16-разрядный асинхронный двоичный счетчик. При этом выход 8 второго счетчика соединяется со счетным входом С1 первого счетчика. Однако и в данном случае каждый следующий разряд переключается с задержкой после переключения предыдущего.
Рис. 9.5. Объединение двух счетчиков ИЕ19 для увеличения разрядности
Основное применение асинхронных счетчиков состоит в построении всевозможных делителей частоты, то есть устройств, выдающих выходной сигнал с частотой, в несколько раз меньшей, чем частота входного сигнала. В данном случае нас интересует не выходной код счетчика, то есть не все его разряды одновременно, а только один разряд, поэтому взаимные задержки отдельных разрядов не играют роли, полная задержка переключения счетчика не имеет значения. Простейший пример делителя частоты на два - это триггер в счетном режиме или счетчик, выходным сигналом которого является выход первого, младшего разряда 1.
При построении делителей частоты иногда важна не только частота выходного сигнала, но и его форма, его скважность, то есть отношение периода следования импульсов к длительности этих импульсов. В таких случаях чаще всего требуется меандр - цифровой сигнал со скважностью, равной двум (длительность импульсов равна длительности паузы между ними). Получить меандр из любого сигнала довольно просто: надо использовать дополнительный делитель частоты на 2, правда, при этом частота выходного сигнала уменьшится еще вдвое.
Простейший пример такого делителя частоты на десять приведен на рис. 9.6. В делителе использован счетчик ИЕ2, у которого одноразрядный внутренний счетчик включен после трехразрядного внутреннего счетчика. Трехразрядный счетчик делит частоту входного сигнала на 5, но выходные импульсы имеют скважность, не равную двум (она равна 5). Одноразрядный счетчик делит частоту еще вдвое и одновременно формирует меандр. Задержки переключения разрядов счетчика относительно друг друга на рисунке не показаны (применяем первый уровень представления, логическую модель).
Рис. 9.6. Делитель частоты на 10, выдающий меандр
Иногда возникает задача деления частоты входного сигнала в произвольное число раз (не в 10 и не в 2n, что легко обеспечивается самой структурой стандартных счетчиков). В этом случае можно организовать сброс счетчика при достижении им требуемого кода путем введения обратных связей.
Рис. 9.7. Делитель частоты на 9 с обратными связями
Например, на рис. 9.7 показан простейший делитель частоты на 9 на основе счетчика ИЕ9. При достижении его выходным кодом значения 9 (то есть 1001) счетчик автоматически сбрасывается в нуль по входам R1 и R2, и счет начинается снова. В результате частота выходного сигнала в 9 раз меньше частоты входного сигнала. При этом скважность выходного сигнала не равна двум. Временная диаграмма показана на рисунке для первого уровня представления (без учета временных задержек).
Если в числе, на которое надо делить частоту, больше двух единиц (например, 15, то есть 1111, или 13, то есть 1101), то для формирования сигнала сброса надо использовать элементы 2И, 3И или 4И, чтобы объединить все выходы, равные единице. В результате можно построить делитель входной частоты в любое число раз от 2 до 2N, где N - число разрядов используемого счетчика. Правда, при организации обратных связей надо учитывать ограничение на быстродействие счетчика. Все разряды, используемые для обратной связи, должны успеть переключиться за один период входного сигнала.
Скважность выходного сигнала может принимать в данном случае самые разные значения, например, выходной сигнал может представлять собой очень короткие импульсы.
На асинхронных счетчиках можно строить также управляемые делители частоты, то есть такие делители, выходная частота которых определяется управляющим кодом. На рис. 9.8 показан делитель на 2n, где n - целое. Восьмиразрядный счетчик ИЕ19 работает по входному сигналу с тактовой частотой fT, а выходной 8-входовый мультиплексор КП7 передает на выход схемы один из 7 разрядов счетчика или же входной сигнал. Выбор номера канала производится входным управляющим 3-разрядным кодом. Например, при тактовой частоте fT = 10 МГц, то есть при периоде входного сигнала 100 нс период выходного сигнала может составлять 100 нс, 200 нс, 400 нс, 800 нс, 1,6 мкс, 3,2 мкс, 6,4 мкс, 12,8 мкс.
Рис. 9.8. Управляемый делитель частоты на асинхронном счетчике
В момент переключения управляющего кода на выходе схемы могут появиться нежелательные короткие импульсы, так как никакой синхронизации управляющего кода не предусмотрено. Поэтому схема должна работать так: сначала задается входной управляющий код, а уже потом разрешается работа той схемы, на которую поступает выходной сигнал, сформированный нашей схемой. В этом случае никаких проблем не будет. Не играют роли в данном случае и задержки переключения разрядов счетчика, так как всегда используется только один его разряд. Главное, чтобы с частотой fT переключался первый разряд счетчика.
Конечно, применение асинхронных счетчиков не ограничивается только делителями частоты. В случаях, когда высокого быстродействия не требуется, когда переходные процессы на выходах счетчика не имеют значения (при правильной синхронизации), асинхронные счетчики вполне могут заменить более быстрые синхронные счетчики. Доля таких задач составляет около 20% от общего числа.
Если же включить на выходе асинхронного счетчика выходной параллельный регистр (рис. 9.9), то можно обеспечить одновременное переключение всех выходных разрядов счетчика.
Рис. 9.9. Включение выходного регистра для одновременного переключения разрядов выходного кода
Данная схема будет работать правильно, если период следования входных тактовых импульсов будет больше, чем время установления всех разрядов счетчика (в нашем случае - 8-разрядного счетчика ИЕ19). Инвертор необходим, так как счетчик срабатывает по отрицательному фронту входного сигнала, а регистр - по положительному фронту. Данное решение устраняет главный недостаток асинхронного счетчика - неодновременность установления его выходных разрядов. Однако второй недостаток - большая задержка установления выходного кода - сохраняется. Его устранить невозможно, можно только перейти на другие, более быстрые счетчики.
В заключение данного раздела надо отметить, что асинхронные счетчики, как и другие цифровые схемы, предъявляют требования к длительности входных сигналов. Например, не должны быть слишком короткими сигналы на тактовых входах и на входах сброса и установки. Не должны быть слишком затянутыми фронты входных сигналов. Тактовые сигналы и сигналы сброса не должны приходить со слишком малыми задержками друг относительно друга.
Синхронные счетчики с асинхронным переносом
Синхронные (или параллельные) счетчики характеризуются тем, что все их разряды в пределах одной микросхемы переключаются одновременно, параллельно. Это достигается существенным усложнением внутренней структуры микросхемы по сравнению с простыми асинхронными счетчиками. В результате полная задержка переключения синхронного счетчика примерно равна задержке одного триггера, то есть синхронные счетчики гораздо быстрее асинхронных, причем их быстродействие не падает с ростом количества разрядов выходного кода (конечно, до определенных пределов).
Управление работой синхронного счетчика гораздо сложнее, чем в случае асинхронного счетчика, а количество разрядов синхронных счетчиков обычно не превышает четырех. Поэтому синхронные счетчики не всегда могут успешно конкурировать с асинхронными, особенно при невысоких требованиях к быстродействию. Зато и возможностей у синхронных счетчиков, как правило, гораздо больше, чем у асинхронных, например, они обеспечивают параллельную запись информации в счетчик и инверсный режим счета.
Для объединения нескольких синхронных счетчиков с целью увеличения числа их разрядов (для каскадирования) используется специальный выходной сигнал переноса. В зависимости от принципов формирования этого сигнала и от принципов его использования синхронные (параллельные) счетчики делятся на счетчики с асинхронным (последовательным) переноом и счетчики с синхронным (параллельным) переносом (или полностью синхронные счетчики).
Синхронные счетчики с асинхронным переносом занимают промежуточное положение по быстродействию между асинхронными счетчиками и полностью синхронными счетчиками. Управление их работой проще, чем у синхронных счетчиков, но сложнее, чем у асинхронных. Работают данные счетчики по положительному фронту входного сигнала (или, что то же самое, по заднему фронту отрицательного сигнала). Основная суть их работы сводится к следующему: все разряды одного счетчика переключаются одновременно, но при каскадировании каждый следующий счетчик (дающий более старшие разряды) переключается с задержкой относительно предыдущего счетчика (дающего более младшие разряды).
Синхронные (или параллельные) счетчики характеризуются тем, что все их разряды в пределах одной микросхемы переключаются одновременно, параллельно. Это достигается существенным усложнением внутренней структуры микросхемы по сравнению с простыми асинхронными счетчиками. В результате полная задержка переключения синхронного счетчика примерно равна задержке одного триггера, то есть синхронные счетчики гораздо быстрее асинхронных, причем их быстродействие не падает с ростом количества разрядов выходного кода (конечно, до определенных пределов).
Управление работой синхронного счетчика гораздо сложнее, чем в случае асинхронного счетчика, а количество разрядов синхронных счетчиков обычно не превышает четырех. Поэтому синхронные счетчики не всегда могут успешно конкурировать с асинхронными, особенно при невысоких требованиях к быстродействию. Зато и возможностей у синхронных счетчиков, как правило, гораздо больше, чем у асинхронных, например, они обеспечивают параллельную запись информации в счетчик и инверсный режим счета.
Для объединения нескольких синхронных счетчиков с целью увеличения числа их разрядов (для каскадирования) используется специальный выходной сигнал переноса. В зависимости от принципов формирования этого сигнала и от принципов его использования синхронные (параллельные) счетчики делятся на счетчики с асинхронным (последовательным) переноом и счетчики с синхронным (параллельным) переносом (или полностью синхронные счетчики).
Синхронные счетчики с асинхронным переносом занимают промежуточное положение по быстродействию между асинхронными счетчиками и полностью синхронными счетчиками. Управление их работой проще, чем у синхронных счетчиков, но сложнее, чем у асинхронных. Работают данные счетчики по положительному фронту входного сигнала (или, что то же самое, по заднему фронту отрицательного сигнала). Основная суть их работы сводится к следующему: все разряды одного счетчика переключаются одновременно, но при каскадировании каждый следующий счетчик (дающий более старшие разряды) переключается с задержкой относительно предыдущего счетчика (дающего более младшие разряды).
То есть задержка переключения многоразрядного счетчика увеличивается в данном случае не с каждым новым разрядом (как у асинхронных счетчиков), а с каждой новой микросхемой (например, 4-разрядной).
Сигнал переноса у этих счетчиков при прямом счете вырабатывается тогда, когда все разряды равны единице (достигнут максимальный код) и когда приходит входной сигнал. Поэтому сигнал переноса, повторяющий входной сигнал, будет задержан относительно входного сигнала. И именно этот сигнал переноса используется в качестве входного для следующего счетчика при каскадировании. То есть входной сигнал второго счетчика задержан относительно входного сигнала первого счетчика, входной сигнал третьего счетчика задержан относительно входного сигнала второго счетчика и т.д.
Временная диаграмма 4-разрядного синхронного счетчика с асинхронным переносом показана на рис. 9.10. Из рисунка видно, что разряды переключаются одновременно по положительному фронту входного сигнала (с некоторой задержкой), а отрицательный сигнал переноса также задержан относительно входного отрицательного импульса. Понятно, что переключение разрядов счетчика, работающего с этим сигналом переноса в качестве входного, будет происходить с дополнительной задержкой относительно переключения разрядов данного счетчика.
Рис. 9.10. Временная диаграмма работы синхронного счетчика с асинхронным переносом
Примерами синхронных счетчиков с асинхронным переносом могут служить двоично-десятичный счетчик ИЕ6 и двоичный счетчик ИЕ7 (рис. 9.11). Они полностью идентичны по своим возможностям и назначениям входов и выходов, но только ИЕ6 считает от 0 до 9, а ИЕ7 - от 0 до 15. Оба счетчика реверсивные, обеспечивают как прямой счет (по положительному фронту на входе +1), так и обратный счет (по положительному фронту на входе –1). При прямом счете отрицательный сигнал переноса вырабатывается на выходе >15 (у ИЕ7) или >9 (у ИЕ6). При обратном (инверсном) счете отрицательный сигнал переноса вырабатывается на выходе < 0 после достижения выходным кодом значения 0000.
Имеется возможность сброса счетчика в нуль положительным сигналом на входе R, а также возможность параллельной записи в счетчик кода со входов D1, D2, D4, D8 по отрицательному сигналу на входе –WR. При параллельной записи информации счетчики ведут себя как регистры-защелки, то есть выходной код счетчика повторяет входной код, пока на входе –WR присутствует сигнал нулевого уровня.
Рис. 9.11. Синхронные счетчики с асинхронным переносом
1 | Х | Х | Х | Сброс в нуль |
0 | 0 | Х | Х | Параллельная запись |
0 | 1 | 1 | 1 | Хранение |
0 | 1 | 0 | 0 | Хранение |
0 | 1 | 01 | 1 | Прямой счет |
0 | 1 | 1 | 01 | Обратный счет |
Таблица режимов работы счетчиков ИЕ6 и ИЕ7 приведена в табл. 9.4.
on_load_lecture()
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |
То есть задержка переключения многоразрядного счетчика увеличивается в данном случае не с каждым новым разрядом (как у асинхронных счетчиков), а с каждой новой микросхемой (например, 4-разрядной).
Сигнал переноса у этих счетчиков при прямом счете вырабатывается тогда, когда все разряды равны единице (достигнут максимальный код) и когда приходит входной сигнал. Поэтому сигнал переноса, повторяющий входной сигнал, будет задержан относительно входного сигнала. И именно этот сигнал переноса используется в качестве входного для следующего счетчика при каскадировании. То есть входной сигнал второго счетчика задержан относительно входного сигнала первого счетчика, входной сигнал третьего счетчика задержан относительно входного сигнала второго счетчика и т.д.
Временная диаграмма 4-разрядного синхронного счетчика с асинхронным переносом показана на рис. 9.10. Из рисунка видно, что разряды переключаются одновременно по положительному фронту входного сигнала (с некоторой задержкой), а отрицательный сигнал переноса также задержан относительно входного отрицательного импульса. Понятно, что переключение разрядов счетчика, работающего с этим сигналом переноса в качестве входного, будет происходить с дополнительной задержкой относительно переключения разрядов данного счетчика.
Рис. 9.10. Временная диаграмма работы синхронного счетчика с асинхронным переносом
Примерами синхронных счетчиков с асинхронным переносом могут служить двоично-десятичный счетчик ИЕ6 и двоичный счетчик ИЕ7 (рис. 9.11). Они полностью идентичны по своим возможностям и назначениям входов и выходов, но только ИЕ6 считает от 0 до 9, а ИЕ7 - от 0 до 15. Оба счетчика реверсивные, обеспечивают как прямой счет (по положительному фронту на входе +1), так и обратный счет (по положительному фронту на входе –1). При прямом счете отрицательный сигнал переноса вырабатывается на выходе >15 (у ИЕ7) или >9 (у ИЕ6). При обратном (инверсном) счете отрицательный сигнал переноса вырабатывается на выходе < 0 после достижения выходным кодом значения 0000.
Имеется возможность сброса счетчика в нуль положительным сигналом на входе R, а также возможность параллельной записи в счетчик кода со входов D1, D2, D4, D8 по отрицательному сигналу на входе –WR. При параллельной записи информации счетчики ведут себя как регистры-защелки, то есть выходной код счетчика повторяет входной код, пока на входе –WR присутствует сигнал нулевого уровня.
Рис. 9.11. Синхронные счетчики с асинхронным переносом
1 | Х | Х | Х | Сброс в нуль |
0 | 0 | Х | Х | Параллельная запись |
0 | 1 | 1 | 1 | Хранение |
0 | 1 | 0 | 0 | Хранение |
0 | 1 | 01 | 1 | Прямой счет |
0 | 1 | 1 | 01 | Обратный счет |
Таблица режимов работы счетчиков ИЕ6 и ИЕ7 приведена в табл. 9.4.
После сброса счетчик начинает счет по положительным фронтам на счетных входах от нулевого кода. После параллельной записи счет начинается от числа, записанного в счетчик. После переполнения счетчика ИЕ7 (достижения кода 1111) при прямом счете вырабатывается отрицательный сигнал переноса > 15, повторяющий входной отрицательный импульс на входе +1 с задержкой. После достижения кода 0000 при обратном счете вырабатывается отрицательный сигнал переноса < 0, повторяющий входной отрицательный импульс на входе –1 с задержкой. Точно так же работает и счетчик ИЕ6, но у него переполнение будет возникать в режиме прямого счета при достижении кода 1001.
Входные сигналы счета, записи и сброса не должны быть слишком короткими. Не должен быть слишком малым временной сдвиг между сигналами на входах D1–D8 и сигналом записи как в начале импульса записи, так и в его конце (сигнал записи -WR должен начинаться после установления входного кода, а заканчиваться - до снятия входного кода).
Рис. 9.12. Объединение счетчиков ИЕ7 для увеличения разрядности
Объединение счетчиков ИЕ7 и ИЕ6 для увеличения разрядности (каскадирование) очень просто: нужно выходы переноса младших счетчиков (дающих младшие разряды выходного кода) соединить со счетными входами старших счетчиков (дающих старшие разряды выходного кода). На рис. 9.12 показана организация 12-разрядного счетчика на трех микросхемах ИЕ7. Этот счетчик может считать как на увеличение (прямой счет), так и на уменьшение (обратный счет). Возможны также сброс и параллельная запись в счетчики входного кода. Разряды каждого следующего счетчика будут переключаться одновременно, но с задержкой относительно переключения разрядов предыдущего счетчика. Точно так же объединяются и счетчики ИЕ6.
Если нужно использовать все выходные разряды многоразрядного счетчика одновременно (как единый код), то необходимо выполнение следующего условия: T>(N – 1)*tзп+tзс, где T - период входного сигнала, N - число объединенных микросхем счетчиков, tзп - время задержки переноса одного счетчика, tзс - время задержки счета (переключения выходного кода) одного счетчика.
Применение синхронных счетчиков с асинхронным переносом очень многообразно, например, они могут делить частоту входного сигнала, считать входные импульсы, формировать пачки импульсов, измерять длительность временного интервала, формировать сигналы заданной длительности, измерять частоту входных импульсов, последовательно переключать входные и выходные каналы, формировать сложные последовательности сигналов, перебирать адреса памяти и многое другое. Мы рассмотрим лишь несколько наиболее типичных примеров.
В качестве делителя частоты входного сигнала синхронные счетчики с асинхронным переносом очень удобны, так как в них сочетается сравнительно высокая скорость работы с довольно простым управлением. Удобно также и то, что у них имеется режим обратного счета. На этих счетчиках можно строить делители частоты с произвольно изменяемым с помощью входного кода коэффициентом деления. Такие делители находят, например, широкое применение в аналого-цифровых системах, работающих с аналоговыми сигналами разной частоты.
Простейший пример 12-разрядного делителя частоты на счетчиках ИЕ7 показан на рис. 9.13.
Рис. 9.13. Делитель частоты с коэффициентом деления, задаваемым входным кодом
На вход счетчиков подается 12-разрядный управляющий код, определяющий коэффициент деления входной частоты. Этот код записывается в счетчики по сигналу переноса < 0 старшего счетчика. С этого кода начинается затем счет на уменьшение. Когда счетчики отсчитают количество входных импульсов, равное входному коду, снова выработается сигнал переноса старшего счетчика и снова запишет входной код в счетчики. Коэффициент деления будет равен (N+1) при входном коде N. Отрицательный выходной сигнал будет по форме повторять входной, но с полной задержкой переноса, а его частота будет меньше частоты входного сигнала в (N+1) раз. При 12-разрядном входном коде максимальный коэффициент деления составит 4096, а минимальный - 1.
Чтобы сформулировать условия правильной работы данного делителя частоты, надо прежде всего отметить, что запись входного кода в счетчики производится отрицательным уровнем сигнала –WR, то есть передним фронтом входного отрицательного импульса, а счет производится положительным фронтом сигнала -1, то есть задним фронтом входного отрицательного импульса. Отсюда следует, что входной импульс должен быть достаточно коротким. Если он записывает код в счетчики своим передним фронтом, он уже не должен своим задним фронтом переключать счетчики по входу –1. Поэтому длительность входного отрицательного импульса не должна превышать полного времени переключения счетчиков и записи в них входного кода. В нашем случае это три задержки переноса и задержка записи в счетчик.
Если частота входного сигнала - большая (к примеру, больше 10 МГц), то нормальная длительность входного сигнала получается сама собой. Но частота входного сигнала не должна быть и слишком большой, иначе в процессе записи счетчик пропустит один из входных импульсов или даже несколько. То есть от переднего фронта входного отрицательного сигнала до заднего фронта следующего входного отрицательного сигнала должны успеть сработать все счетчики и должна произойти запись в счетчики (суммарное время задержки опять же включит в себя сумму задержек переноса всех счетчиков и задержку записи). Ограничения на входную частоту будет тем жестче, чем больше счетчиков мы объединяем для увеличения количества разрядов. В данном случае важно именно количество примененных микросхем, а не количество используемых разрядов, как у асинхронных счетчиков.
Для решения часто встречающейся на практике задачи подсчета количества пришедших входных импульсов необходимо всего лишь объединить несколько микросхем счетчиков с целью получения требуемого числа разрядов. Например, если количество входных импульсов не превышает 255, то достаточно двух 4-разрядных счетчиков, если оно не больше 65535, то надо объединить уже четыре 4-разрядных счетчика. Так как в этом случае нас интересуют все выходные разряды одновременно, необходимо обеспечить, чтобы за период входных импульсов переключались все микросхемы счетчиков.
Обеспечить одновременность переключения всех выходных разрядов счетчика при счете входных импульсов можно, как и в случае асинхронных счетчиков, за счет включения выходного параллельного регистра, срабатывающего по фронту (рис. 9.14). Данное решение довольно универсально, оно может использоваться в самых разных ситуациях, когда необходим весь выходной код счетчика целиком. Код на выходе регистра будет удерживаться в течение всего периода входных импульсов. Правда, быстродействие счетчика от этого не повышается.
Рис. 9.14. Включение выходного регистра для одновременного пе- реключения разрядов выходного кода
Формирование пачки (группы) входных импульсов с заданным количеством импульсов - довольно распространенная задача. Например, такое формирование необходимо при организации обмена информацией в последовательном коде. Если в качестве преобразователя параллельного кода в последовательный используется 8-разрядный регистр сдвига, то ему в качестве синхросигнала необходима пачка из восьми импульсов. Схема формирователя такой пачки импульсов показана на рис. 9.15, а временная диаграмма ее работы - на рис. 9.16.
Рис. 9.15. Формирователь пачки из восьми импульсов
По сигналу "Старт" (положительный фронт) перебрасывается первый триггер, использующийся для синхронизации. По первому положительному фронту тактового сигнала с генератора перебрасывается второй триггер, разрешающий прохождение импульсов с генератора на выход через элемент 2И-НЕ, а также разрешающий работу счетчика ИЕ7.
Рис. 9.16. Временная диаграмма работы формирователя пачки им- пульсов
После того как на Выход 1 схемы пройдут восемь отрицательных импульсов, на выходе 8 счетчика выработается единица, что приведет к сбросу в исходное нулевое состояние обоих триггеров (коротким отрицательным импульсом на выходе нижнего по рисунку элемента 2И-НЕ) и к запрету прохождения импульсов на выход. Работа формирователя возобновится после следующего сигнала "Старт".
На основе счетчиков довольно просто строить формирователи временных интервалов с длительностью, задаваемой внешним кодом. Такие формирователи находят широкое применение, например, в различных измерительных устройствах. Так как формирователь временных интервалов обычно работает с кварцевым тактовым генератором, возможны два подхода к его построению.
При первом подходе входной стартовый импульс синхронизируется с тактовым сигналом, в результате чего выходной импульс заданной длительности может начаться не сразу после стартового импульса, а через какое-то время, меньшее периода тактового сигнала. Длительность формируемого временного интервала в этом случае абсолютно точно известна и будет равна целому числу периодов тактового генератора. Именно так было сделано в предыдущей рассмотренной нами схеме (сигнал "Выход 2" на рис. 9.15 как раз и будет формируемым сигналом с заданной длительностью).
При втором подходе выходной импульс заданной длительности начинается сразу после входного сигнала, но длительность его может отличаться от заданной на какое-то время, меньшее периода тактового сигнала. Иногда это более приемлемое решение, особенно при больших длительностях выходного сигнала, значительно больших, чем период тактового сигнала. Схема формирователя временного интервала, построенного в соответствии с этим вторым подходом, показана на рис. 9.17.
Работа схемы начинается с подачи короткого отрицательного импульса –Старт. Он перебрасывает триггер, который разрешает работу счетчиков снятием сигнала параллельной записи –WR. По отрицательному фронту входного сигнала начинается положительный выходной сигнал заданной длительности. Счетчики начинают считать на уменьшение кода по положительным фронтам тактового сигнала с генератора. Когда они досчитают до нуля, вырабатывается сигнал переноса, перебрасывающий триггер в исходное состояние. Работа схемы возобновится после следующего сигнала –Старт.
Рис. 9.17. Формирователь временного интервала
Если входной код равен 1, то длительность выходного сигнала составит от Т до 2Т, где Т - период тактового сигнала. Если входной код равен N (до 255), то длительность выходного сигнала составит от NT до (N+1)T в зависимости от момента прихода входного сигнала по отношению к тактовому сигналу. Абсолютная погрешность выдержки длительности выходного сигнала в любом случае не превышает периода тактового сигнала Т.
Эту же самую схему вполне можно использовать в тех случаях, когда необходимо получить убывающий код от заданного числа до нуля. При этом сигнал с выхода триггера будет только внутренним сигналом схемы, а выходными сигналами схемы будут выходные разряды счетчиков.
Иногда бывает необходимо сформировать импульс требуемой длительности, но одновременно иметь не убывающий, а возрастающий код (от нуля до заданного значения). В таком случае схема получится несколько сложнее. Пример возможного решения формирователя импульса заданной длительности показан на рис. 9.18.
Рис. 9.18. Формирователь импульса заданной длительности (вариант с нарастающим кодом)
По сигналу "Старт" (положительный фронт) перебрасывается левый по рисунку триггер, который начинает формировать выходной сигнал и разрешает работу счетчика (снимая сигнал сброса R). Счетчик считает на увеличение по положительным фронтам тактового сигнала от нуля. Когда выходной код счетчика достигает величины входного кода, перебрасывается правый по рисунку триггер, завершающий процесс формирования выходного сигнала. Счетчик сбрасывается в нуль, правый триггер по следующему фронту попадает в исходное состояние. Новый цикл начнется с приходом следующего сигнала "Старт".
Если входной код равен 1, то длительность выходного сигнала составит от Т до 2Т, где Т - период тактового сигнала генератора. Если входной код равен N, то длительность выходного сигнала будет равна от NT до (N + 1)T в зависимости от временного сдвига между сигналом "Старт" и тактовым сигналом. В любом случае абсолютная погрешность времени выдержки выходного сигнала не превысит периода тактового сигнала Т.
Счетчики также широко применяются в различных измерителях длительности входных сигналов. Для этого они отсчитывают импульсы тактового кварцевого генератора в течение длительности входного сигнала. После окончания входного сигнала в счетчике остается код, пропорциональный длительности этого сигнала. Пример практической схемы такого измерителя показан на рис. 9.19.
Рис. 9.19. Измеритель длительности входного сигнала
Рис. 9.20. Временная диаграмма работы измерителя длительности входного сигнала
Работа схемы начинается по короткому управляющему импульсу "Старт", который сбрасывает счетчик в нуль и переводит всю схему в режим счета, разрешая прохождение сигнала с тактового генератора на вход +1 счетчика при положительном входном сигнале. С началом входного сигнала импульсы с генератора поступают на вход счетчика, и счетчик их считает. После окончания входного сигнала поступление импульсов на вход счетчика прекращается, триггер перебрасывается в исходное состояние и сообщает отрицательным фронтом на своем инверсном выходе о готовности выходного кода (сигнал "Готовность"). Работа схемы возобновится по следующему импульсу "Старт". Временная диаграмма работы измерителя длительности входного сигнала приведена на рис. 9.20.
Выходной код N измерителя связан с длительностью входного сигнала t простым соотношением t = NT, где T - период тактового сигнала. Абсолютная погрешность измерения не превышает величины ±Т. Поэтому для уменьшения относительной погрешности измерения необходимо увеличивать частоту тактового генератора и увеличивать разрядность счетчика.
Счетчики также применяются и для измерения частоты входного цифрового сигнала.
Частоту входного сигнала можно измерить двумя путями: косвенным, то есть измерением периода входного сигнала (по принципу, рассмотренному только что) и вычислением затем частоты (по формуле fвх = 1/Tвх), или же прямым измерением частоты. Первый метод требует вычислений с помощью компьютера или микроконтроллера, второй не требует никаких дополнительных вычислений. Поэтому мы рассмотрим здесь реализацию метода прямого измерения частоты.
В соответствии с этим методом необходимо сформировать временное окно с заданной длительностью tо, в течение которого надо сосчитать количество N периодов входного сигнала Т (рис. 9.21). В этом случае будет выполняться соотношение tо = NT или f = N/tо, где f - это частота входного сигнала, равная 1/T. То есть частота входного сигнала пропорциональна коду N, а коэффициент пропорциональности равен 1/tо. Если, например, выбрать tо = 1 c, то код N будет равен частоте входного сигнала в герцах, а при tо = 1 мc код N будет равен частоте входного сигнала в килогерцах.
Рис. 9.21. Измерение частоты входного сигнала прямым методом
Если длительность временного окна - строго постоянная величина, то погрешность измерения частоты будет определяться только погрешностью подсчета кода N. Абсолютная погрешность подсчета кода N не превысит единицы, а относительная погрешность не будет более 1/N. Понятно, что для увеличения точности измерения частоты нужно увеличивать N, то есть необходимо увеличивать длительность временного окна tо. Однако при этом автоматически увеличивается время измерения.
Рис. 9.22. Измеритель частоты входного сигнала прямым методом
Схема измерителя частоты (рис. 9.22) практически не отличается от схемы измерителя длительности входного сигнала (рис. 9.19). Только в данном случае в качестве измеряемого сигнала будет использоваться сигнал временного окна, а в качестве тактового сигнала - входной сигнал. Для формирования сигнала временного окна можно применить схему рис. 9.15 (сигнал "Выход 2"), которая обеспечивает постоянную длительность выходного сигнала.
Еще одно широко распространенное применение счетчиков - последовательное переключение (сканирование) нескольких устройств, узлов, индикаторов, каналов передачи и т.д. То есть имеется, например, группа устройств, которые должны по тем или иным причинам работать не одновременно, а по очереди, так, что в каждый момент активным является только одно устройство, причем очередь эта замкнута в кольцо и после последнего устройства начинает работать первое. Или же имеется несколько каналов связи (входных или выходных линий), которые надо также по очереди подключать к одному выходу (при выходных каналах) или к одному входу (при входных каналах).
Во всех подобных случаях опрос, переключение, сканирование может производить счетчик с нужным числом разрядов. Счетчик с числом разрядов n может обслуживать 2n устройств (или каналов).
В качестве первого примера рассмотрим схему переключения выходных каналов (рис. 9.23). Она последовательно, по очереди, циклически коммутирует один входной сигнал на восемь выходов, для чего используется счетчик, тактируемый сигналом задающего генератора, и дешифратор, работающий в качестве демультиплексора. Каждый из выходных каналов активен (то есть подключен) в течение одного периода тактового сигнала, а затем пассивен (то есть отключен) в течение семи периодов тактового сигнала. Предусмотрена возможность начального сброса схемы с помощью сигнала "Сброс".
Рис. 9.23. Схема последовательного переключения выходных каналов
Используя данную схему, надо учитывать, что в момент переключения каналов может искажаться (обрезаться) выходной сигнал. Поэтому лучше всего обеспечить, чтобы входной сигнал приходил только тогда, когда переключение каналов не производится. Или на время передачи вообще останавливать процесс перебора каналов путем запрета прохождения импульсов с генератора на вход счетчика, а после окончания передачи снова разрешать последовательный перебор каналов.
Рис. 9.24. Схема последовательного переключения входных каналов
Второй пример, который мы рассмотрим, это схема, решающая обратную задачу - переключение входных каналов (рис. 9.24). Данная схема последовательно, циклически передает один из восьми входных сигналов на выход. Как и в предыдущем случае, перебор каналов осуществляется счетчиком, тактируемым сигналом с генератора. Непосредственно коммутация сигналов производится мультиплексором, на адресные входы которого подаются три разряда счетчика. Предусмотрена возможность начального сброса схемы с помощью сигнала "Сброс".
В момент переключения каналов здесь также возможно искажение (обрезание) коммутируемых сигналов. Поэтому желательно обеспечить передачу сигналов в момент, когда переключения каналов нет. Или же надо останавливать процесс перебора каналов на время приема сигнала из выбранного канала путем запрета прохождения тактовых импульсов на вход счетчика, а затем снова запускать перебор каналов.
Еще одно применение счетчиков из этой же области состоит в организации так называемой динамической индикации.
Суть динамической индикации состоит в следующем. Если используется табло из нескольких индикаторов (одиночных светодиодов, светодиодных семисегментных индикаторов, светодиодных матричных индикаторов и т.д.), то совсем не обязательно все эти индикаторы должны гореть постоянно, одновременно. Можно зажигать их по очереди, что существенно сократит потребляемый всей схемой ток питания. Например, если в каждый момент времени горит только один индикатор из имеющихся восьми, то ток потребления индикаторов сократится в восемь раз. Учитывая, что каждый светящийся светодиод требует тока порядка 1–5 мА, такой подход может дать большой выигрыш, особенно при матричных индикаторах, содержащих несколько десятков светодиодов. А инерционность человеческого глаза приводит к тому, что вспышки света с частотой больше 20 Гц воспринимаются как непрерывное свечение. Так что при достаточной частоте перебора индикаторов глазу не будет заметно последовательное их включение.
Рис. 9.25. Схема динамической индикации на восьми индикаторах
На рис. 9.25 приведен пример схемы динамической индикации на восьми индикаторах. Для последовательного перебора индикаторов применяется счетчик, соединенный с дешифратором. Выходные сигналы дешифратора используются в качестве сигналов разрешения свечения для индикаторов. Частота сигнала тактового генератора, с которым работает счетчик, должна составлять не менее 160 Гц, чтобы каждый индикатор загорался не реже, чем с частотой 20 Гц. При этом нельзя также выбирать слишком большую частоту тактового генератора, так как в моменты переключения ток потребления микросхем сильно возрастает из-за паразитных емкостей, и при большой частоте весь эффект снижения потребления может сойти на нет.
Счетчики часто используют также для организации всевозможных таймеров, часов, то есть схем счета времени, выходной код которых необходимо время от времени читать. Для этого на вход счетчика подается сигнал образцовой частоты с кварцевого генератора. Здесь возникает следующая проблема. Если чтение происходит в тот момент, когда счетчики переключаются, то с выходов счетчиков может быть считан случайный код, который не соответствует ни предыдущему установившемуся значению, ни последующему установившемуся значению. Можно, конечно, на время чтения кода остановить счет, но тогда ход часов собьется.
Рис. 9.26. Схема таймера с чтением выходного кода
Пример решения данной проблемы приведен на рис. 9.26. Здесь выходной код счетчика на каждом такте записывается в выходной регистр с разрешением записи ИР27. А в момент чтения кода (при положительном сигнале "Чтение") запись в регистр запрещается. В результате в течение всей длительности сигнала "Чтение" выходной код схемы будет неизменным, хотя счетчик будет продолжать считать без всяких помех, и ход часов не собьется.
Интересная особенность счетчиков ИЕ6 и ИЕ7 состоит в том, что они могут работать не только в режиме счета, но и в режиме повторителя входных сигналов данных. В режиме параллельной записи в счетчик при нулевом сигнале на входе –WR выходные сигналы счетчика будут повторять любые изменения входных сигналов данных, то есть счетчик работает по сути как регистр, срабатывающий по уровню стробирующего сигнала. В ряде случаев такая особенность очень удобна, так как она позволяет существенно упростить аппаратуру.
Пусть, например, необходимо выдавать на вход схемы один из двух входных кодов: код со счетчика или код с регистра (то есть требуется мультиплексирование двух кодов). Эту задачу можно решить, применяя двухканальный мультиплексор (рис. 9.27а), а можно сделать проще - подавать код с регистра на входы данных счетчика и переводить в нужный момент счетчик в режим параллельной записи (рис. 9.27б). В обоих случаях переключение кодов, подаваемых на выход схемы, производится сигналом Упр. Правда, во втором случае счетчик возобновляет свой счет (после снятия сигнала записи –WR) с кода, записанного в регистр. Если это неприемлемо, то можно воспользоваться входом сброса счетчика в нуль R.
Рис. 9.27. Варианты мультиплексирования выходного кода счетчика с применением мультиплексора (а) и без него (б)
И в заключение данного раздела мы рассмотрим две более сложные схемы, строящиеся на основе счетчиков. Это генератор прямоугольных импульсов с изменяемой частотой и длительностью импульса и быстродействующий высокоточный измеритель частоты входного сигнала с большим диапазоном измеряемых частот.
Генерация прямоугольных импульсов - довольно часто встречающаяся задача, в частности при разработке, отладке, тестировании электронной аппаратуры. От генератора прямоугольных импульсов требуется выдача импульсов заданной длительности при заданной паузе между импульсами (или, что то же самое, формирование импульсов заданной длительности и частоты следования). Желательно, чтобы диапазон изменения длительности импульсов и пауз между ними был как можно шире. Желательно также, чтобы был предусмотрен режим разового запуска (то есть остановка генерации после окончания одного выходного импульса) и автоматического запуска (то есть генерация периодической последовательности импульсов до прихода внешней команды остановки).
Предлагаемая здесь схема генератора не претендует, конечно, на рекордные характеристики, но она вполне может стать реальным удобным инструментом для разработчика цифровой аппаратуры, особенно если управление генератором поручить компьютеру с установленной на нем развитой сервисной управляющей программой. Благодаря своей простоте и наглядности, схема эта может служить образцом для разработки более сложных генераторов импульсов, например, имеющих более высокое быстродействие, больший диапазон изменения длительности импульсов и их частоты, обеспечивающих генерацию импульсов с разной амплитудой и полярностью.
Рис. 9.28. Счетчики длительности импульса и паузы для генератора прямоугольных импульсов
В основе генератора (рис. 9.28) - два 16-разрядных счетчика, выполненных на основе микросхем ИЕ7. Один из этих счетчиков (на рисунке внизу) отсчитывает длительность выходного импульса, другой (на рисунке вверху) - длительность паузы. Коды длительности импульса и паузы подаются, соответственно, на входы данных верхнего и нижнего счетчиков (эти коды могут храниться, например, в регистрах, не показанных на схеме). Счетчики импульса и паузы работают по очереди, что определяется управляющими сигналами на их входах параллельной записи –WR, которые также запрещают прохождение на входы -1 тактовых импульсов с помощью элементов 2И-НЕ. Эти управляющие сигналы поступают с прямого и инверсного выходов триггера ТМ2, на входы –R и –S которого подаются сигналы переноса с выходов < 0 обоих счетчиков.
В результате, когда один счетчик считает, другой находится в режиме параллельной записи и не считает. После того как считающий счетчик досчитает до нуля, он перебросит выходной триггер, который переведет этот счетчик в состояние параллельной записи, запретит поступление на его вход тактовых импульсов и разрешит считать другому счетчику. Описанная последовательность действий повторится уже для другого счетчика. И этот процесс будет повторяться до тех пор, пока разрешена генерация.
В данном случае смело можно одновременно использовать как вход –R, так и вход –S триггера, поскольку сигналы, приходящие на них, гарантированно разнесены во времени. Сигнал с прямого выхода триггера служит выходным сигналом всего генератора в целом. Разрешается генерация положительным сигналом "Разр". Когда генерация запрещена (нулевой сигнал "Разр."), триггер сброшен в нуль по входу –R и оба счетчика находятся в состоянии параллельной записи. Поэтому генератор всегда начинает работу с отработки паузы заданной длительности, а потом отрабатывает выходной импульс заданной длительности.
Сформулируем условия правильной работы данной схемы.
Во-первых, как и в случае управляемого делителя частоты (см. рис. 9.13), перевод счетчиков из режима счета в режим параллельной записи осуществляется передним (отрицательным) фронтом тактового отрицательного импульса, а счет производится задним (положительным) фронтом отрицательного тактового импульса. Поэтому отрицательный тактовый импульс должен быть достаточно коротким. Один и тот же тактовый импульс не должен своим передним фронтом менять режим счетчиков, а задним фронтом переключать счетчики по входу –1. Длительность тактового отрицательного импульса не должна превышать полного времени переключения режимов счетчиков, включающего в себя четыре задержки переноса счетчиков, задержку переключения выходного триггера и задержку элементов 2И и 2И-НЕ.
Во-вторых, частота тактового сигнала не должна быть слишком большой, чтобы за время переключения режимов на вход -1 не пришел еще один положительный фронт тактового сигнала. Иначе этот фронт будет потерян. То есть от момента отрицательного фронта тактового импульса до момента положительного фронта следующего тактового импульса схема должна успеть полностью закончить переключение режимов счетчиков.
Пусть, например, мы хотим выбрать максимальную тактовую частоту 10 МГц (период ТТ = 100 нс). Посмотрим, можно ли использовать микросхемы счетчиков серии КР1533. Для счетчиков КР1533ИЕ7 задержка сигнала переноса составляет не более 18 нс. Для четырех микросхем задержка переноса составит 72 нс. Тогда на сумму задержек триггера, элемента 2И и элемента 2И-НЕ остается не более 28 нс. Следовательно, если мы возьмем эти элементы из более быстрых серий (например, КР531 или КР1531), мы легко удовлетворим этому требованию.
При величине кода импульса N длительность импульса ТИ составит (N+1) • ТТ. При величине кода паузы М длительность паузы ТП составит (М+1) • ТТ. Период выходных импульсов ТВЫХ будет равен (M+N+2) • ТТ. Коды M и N могут принимать значения от 0 до 65535. То есть минимальная длительность импульса и паузы равна ТТ, максимальная длительность импульса и паузы равна 65536 ТТ, минимальная длительность периода выходного сигнала равна 2ТТ, а максимальная - 131072 ТТ. Например, при тактовой частоте 10 МГц максимальный период выходного сигнала будет равен 13,1072 мс, а минимальный - 200 нс.
Для расширения диапазона изменения периода выходного сигнала можно применить управляемый делитель тактовой частоты. Другой возможный путь - наращивание разрядности счетчиков - приводит к снижению максимально допустимой тактовой частоты, так как обязательно вызывает увеличение задержек переключения счетчиков. К тому же, как правило, нет необходимости задавать длительность периода выходного сигнала, скажем, в 1 секунду с абсолютной погрешностью 100 нс (относительная погрешность - 10–7). Гораздо важнее обеспечить стабильность частоты и периода выходного сигнала. Поэтому применение управляемого делителя частоты тактового сигнала не ухудшает характеристик генератора. Схема управления генератором прямоугольным импульсом с делителем частоты показана на рис. 9.29.
Делитель частоты работает с кварцевым генератором с частотой 10 МГц и включает в себя три делителя на 16 на счетчиках ИЕ7. На выход мультиплексора (сигнал "Такт") проходит один из сигналов с периодом 100 нс, 1,6 мкс, 25,6 мкс, 409,6 мкс. Длительность сигнала "Такт" не превышает половины периода сигнала с частотой 10 МГц, то есть 50 нс, что обеспечивает правильную работу счетчиков импульса и паузы (см. рис. 9.28). Выбор тактовой частоты осуществляется 2-разрядным кодом частоты. При запрете генерации все счетчики сбрасываются в нуль, это увеличивает точность привязки момента начала генерации к моменту подачи команды на начало генерации.
Рис. 9.29. Схема управления и делитель частоты для генератора прямоугольных импульсов
Схема управления генератором прямоугольных импульсов, также показанная на рис. 9.29, включает в себя два триггера ТМ2 и логический элемент 2И (ЛИ1).
Левый по рисунку триггер вырабатывает сигнал разрешения генерации "Разр". В этот триггер необходимо записать единицу для разрешения генерации или нуль для остановки генерации. Запись в триггер входного сигнала Ген./Стоп производится передним фронтом сигнала "Строб".
Правый по рисунку триггер служит для организации разового запуска генератора. Переключение режима разового или автоматического запуска производится управляющим сигналом "Раз./-Авт". При автоматическом запуске (нуль на входе Раз./-Авт.) данный триггер не работает, он всегда находится в нулевом состоянии и дает уровень логической единицы на своем инверсном выходе. При разовом запуске (единица на входе Раз./-Авт.) правый триггер переходит в рабочий режим сразу после начала генерации (положительный сигнал "Разр."). После окончания генерации первого выходного импульса на инверсном выходе генератора (инверсный выход триггера на рис. 9.28) появляется положительный перепад, который перебрасывает правый триггер на рис. 9.29. В результате он своим выходным сигналом сбрасывает левый триггер, что приводит к остановке генерации (так как сигнал "Разр." становится нулевым). После этого схема снова готова к разовому запуску генерации. Временные диаграммы работы схемы в режимах автоматического и разового запуска показаны на рис. 9.30.
Рис. 9.30. Режимы работы генератора импульсов: автоматический (а) и разовый (б)
Асинхронность (независимость) момента прихода команды на начало передачи и сигнала задающего кварцевого генератора приводит к тому, что длительность первой паузы может оказаться на 100 нс меньше, чем она задана кодом паузы. Но это не слишком существенно, так как гораздо важнее длительность выходного импульса. Все последующие импульсы и паузы выдерживаются точно.
Абсолютная погрешность установки длительностей импульса и паузы ТИ и ТП составляет половину периода тактового сигнала ТТ. Относительная погрешность установки этих величин составляет, соответственно, 0,5/N и 0,5/M. Понятно, что при малых величинах N и M погрешность будет большой (в пределе - даже 50%). Но при больших величинах длительностей импульса и паузы относительная погрешность не превышает 0,5/4096, то есть 0,012%.
Таким образом, рассмотренный генератор может формировать импульсы длительностью от 100 нс с паузой между импульсами от 100 нс. Максимально возможная длительность импульса составляет 216 • 212 • 100 нс = 26,84 с. Такой же может быть и пауза. Правда, отношение длительности импульса к длительности паузы (или длительности паузы к длительности импульса) не может превышать 65536. Величина периода выходного сигнала генератора может достигать 53,69 с.
Теперь рассмотрим вторую схему.
Задача измерения частоты следования входных прямоугольных импульсов также часто встречается как в чисто цифровых, так и в аналого-цифровых системах. Как уже упоминалось, существует два традиционных метода измерения частоты (рис. 9.31): один предполагает измерение периода TВХ путем подсчета тактовых импульсов с периодом TT в течение TВХ и дальнейшее вычисление частоты по формуле fВХ = 1/TВХ (а), а другой прямо измеряет частоту fВХ путем подсчета входных импульсов в течение временного окна tO (б).
Относительная погрешность и того, и другого метода не превышает величины 1/N, где N - полученный в результате подсчета код. Понятно, что первый метод дает хорошую точность только для низких частот fВХ (то есть для больших TВХ и соответственно больших N). Второй метод дает хорошую точность только для больших частот fВХ или в случае большого временного окна tO (то есть для больших N). В первом случае для увеличения точности необходимо увеличивать тактовую частоту, во втором - увеличивать длительность временного окна.
Рис. 9.31. Методы измерения частоты: через период (а), прямой (б) и комбинированный (в)
Время измерения частоты по первому методу составляет TВХ. Для второго метода оно постоянно и равно длительности временного окна tO.
Поэтому желательно было бы соединить достоинства обоих методов, чтобы частота fВХ измерялась бы достаточно быстро и с заданной точностью (с погрешностью, не меньшей заданной). Это возможно при использовании комбинированного метода (рис. 9.31в). При данном методе импульсы тактовой частоты с периодом TT подсчитываются в течение М полных периодов входного сигнала. При этом количество сосчитанных импульсов N определяет точность измерения (относительная погрешность не превышает 1/N). Значит, необходимо обеспечить, чтобы N было достаточно большим, например, при N>100 относительная погрешность не превысит 1%, а при N > 1000 она будет меньше 0,1%. Обеспечить достаточную величину N можно простым выбором числа М.
Недостаток данного комбинированного метода состоит в том, что измеренное значение частоты необходимо вычислять. Так как при этом методе выполняется равенство МTВХ = NTT , следовательно, fВХ = M/(NTT). Однако при использовании компьютера или микроконтроллера такое вычисление не представляет особого труда. Зато данный комбинированный метод позволяет измерять частоту входного сигнала в широком диапазоне быстро и с заданной точностью. Поэтому мы подробно рассмотрим практическую реализацию именно этого метода.
Рис. 9.32. Счетчики измерителя частоты входного сигнала
В основе схемы измерителя частоты по комбинированному методу (рис. 9.32) - два 16-разрядных счетчика на основе микросхем ИЕ7, одновременно работающих в режиме прямого счета. На тактовый вход одного счетчика (верхнего по рисунку) подается измеряемый сигнал "Изм.", на тактовый вход второго (нижнего по рисунку) счетчика - тактовый сигнал образцовой частоты "Такт". Выходные коды обоих счетчиков (соответственно, М и N) используются после окончания измерения для вычисления значения частоты входного сигнала.
Работа счетчиков разрешается отрицательным сигналом "–Разр." по фронту (например, положительному) входного сигнала. После окончания измерения по такому же фронту входного сигнала поступление сигналов "Изм." и "Такт" запрещается. То есть счет производится в течение целого числа периодов входного сигнала.
Выход "Стоп" (положительный фронт) говорит о том, что код N достиг достаточной величины (в нашем случае -8192), и, следовательно, можно останавливать измерение (но только по ближайшему фронту входного сигнала). Иначе говоря, код N в конце измерения будет не менее 8192, и поэтому погрешность измерения частоты входного сигнала не превысит 1/8192 или 0,012%.
Для правильной работы схемы частота входного сигнала должна быть не более тактовой частоты fT = 1/ ТТ и не менее fT /65536. Если она будет слишком малой, то наступит переполнение нижнего счетчика (выработается сигнал переноса "–Пер. 2"). Если же она будет слишком большой, то наступит переполнение верхнего счетчика (выработается сигнал переноса "–Пер. 1"). Например, при тактовой частоте 10 МГц измеряемая частота входного сигнала может находиться в пределах от 152,6 Гц до 10 МГц.
Полное время измерения будет изменяться в пределах от 8192ТТ до (8192ТТ + 2ТВХ). Один период ТВХ может прибавляться к времени измерения из-за того, что после разрешения измерения счет начинается не сразу, а только с приходом фронта входного сигнала. Второй период ТВХ может прибавляться за счет того, что счет заканчивается не сразу после достижения кодом N величины 8192, а только с приходом нужного (положительного) фронта входного сигнала. Максимальное время измерения в любом случае не превышает 65536ТТ для всех измеряемых частот.
Для увеличения диапазона измеряемых частот можно применить предварительный управляемый делитель частоты (рис. 9.33). Он обеспечивает выбор период тактового сигнала из ряда 100 нс, 400 нс, 1,6 мкс, 6,4 мкс и 25,6 мкс с помощью кода такта. В результате применения этого делителя при минимальной тактовой частоте возможно измерение частоты входного сигнала до 0,6 Гц. Естественно, переход на каждый следующий диапазон измеряемых частот может увеличить время измерения в 4 раза, но точность измерения в любом случае останется прежней.
Рис. 9.33. Делитель частоты и схема управления для измерителя частоты входного сигнала
Схема управления измерителем частоты, также показанная на рис. 9.33, включает в себя цепочку из четырех последовательно срабатывающих триггеров (ТМ2). Перед началом измерения все эти триггеры сбрасываются в нуль сигналом "–Сброс".
Первый триггер перебрасывается в единицу по сигналу начала измерения "Старт" (положительный фронт). При этом разрешается прохождение подсчитываемых импульсов "Изм." и "Такт" на вход счетчиков (рис. 9.32). Одновременно разрешается работа второго триггера.
Второй триггер перебрасывается в единицу по положительному фронту входного сигнала. Тем самым он с помощью сигнала со своего инверсного выхода разрешает работу счетчиков (сигнал "–Разр."). Одновременно разрешается работа третьего триггера.
Третий триггер перебрасывается в единицу по сигналу "Стоп" (то есть при достижении кодом N числа 8192). Он разрешает работу четвертого триггера.
Наконец, четвертый триггер перебрасывается по положительному фронту входного сигнала и сигналом со своего инверсного выхода сбрасывает первый триггер. Поступление сигналов "Изм." и "Такт" прекращается. Выходной сигнал четвертого триггера служит флагом готовности выходных кодов N и M, которые необходимо прочитать для дальнейшего вычисления частоты. Перед новым измерением надо подать сигнал "Сброс".
Кроме четырех управляющих триггеров, в схему управления введены еще два триггера (справа на рисунке), выходные сигналы которых служат флагами переполнения и показывают после окончания измерения, правильно ли сработал измеритель частоты. Перед началом измерения оба эти триггера сбрасываются по сигналу "Сброс". Если частота входного сигнала в нужных пределах, то оба триггера останутся в нуле. Если частота входного сигнала очень большая, то сработает верхний по рисунку триггер по входному сигналу переноса "Пер. 1" (см. рис. 9.32) и выдаст сигнал "Увел.", говорящий о том, что надо поднять частоту тактового сигнала (если это возможно). Если же частота входного сигнала слишком мала, то сработает нижний по рисунку триггер по входному сигналу переноса "Пер. 2" (см. рис. 9.32) и выдаст сигнал "Умен.", говорящий о том, что надо уменьшить частоту тактового сигнала (если возможно).