Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Регистры, срабатывающие по уровню



Параллельные регистры, срабатывающие по уровню стробирующего сигнала (или, как их еще называют, регистры-защелки, английское "Latch"), можно рассматривать как некий гибрид между буфером и регистром. Когда сигнал на стробирующем входе - единичный, такой регистр пропускает через себя входные информационные сигналы, а когда стробирующий сигнал становится равен нулю, регистр переходит в режим хранения последнего из пропущенных значений входных сигналов.

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

В стандартных сериях регистры, срабатывающие по уровню, представлены гораздо меньше, чем регистры, срабатывающие по фронту. На рис. 8.10 показаны в качестве примеров две микросхемы 4-разрядного регистра ТМ7 и 8-разрядного регистра ИР22. Стробирующие входы С нередко на схемах обозначают E (от английского "Enable" - "разрешение"), для того чтобы не путать их с тактовыми входами D-триггеров.


Рис. 8.10. Регистры, срабатывающие по уровню

Микросхему ТМ7 (и близкую к ней ТМ5) часто называют набором триггеров, но ее можно рассматривать и как регистр. Микросхема состоит из четырех триггеров, стробирующие входы которых С соединены попарно, то есть можно говорить о двух двухразрядных регистрах-защелках. Входы С1 и С2 микросхемы управляют каждый двумя разрядами данных. Все триггеры имеют как прямые, так и инверсные выходы, что иногда очень удобно. Таблица истинности микросхемы ТМ7 приведена в табл. 8.3.

При единице на входе С выходные сигналы повторяют входные, то есть регистр работает как обычный буфер с прямыми и инверсными выходами. При нуле на входе С на выходе регистра постоянно хранится та входная информация, которая была в момент прихода отрицательного фронта сигнала С. Однако говорить, что регистр ТМ7 срабатывает по отрицательному фронту сигнала С, неверно, так как информация на выходе меняется не только по этому фронту, но и в момент изменения входных сигналов при С = 1.

Таблица 8.3. Таблица истинности регистра ТМ7
Входы Выходы
D C Q -Q
Не меняется
Не меняется

Регистр ИР22 отличается от ТМ7 тем, что имеет выходы с тремя состояниями (и соответственно, вход разрешения всех выходов –EZ) и тем, что всеми восемью разрядами управляет один стробирующий сигнал С. Суть работы от этого не изменяется. При единице на входе С регистр работает как буфер-повторитель, а при нуле на входе С - хранит ту информацию, которая была на входе в момент отрицательного фронта сигнала С. Выходы у регистра ИР22 - только прямые. Как и все регистры с тремя состояниями выхода, ИР22 имеет повышенную нагрузочную способность. В табл. 8.4 приведена таблица истинности регистра ИР22.

Таблица 8.4. Таблица истинности регистра ИР22
Входы Выход
-EZ C D Q
X Не меняется
X X Z

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

Основное применение регистра, срабатывающего по уровню стробирующего сигнала, состоит в запоминании на какое-то заданное время входного кода, причем в остальное время выходной код регистра должен повторять входной ( рис. 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. Сдвиговые регистры

Таблица 8.5. Таблица истинности регистра сдвига ИР8
Входы Выходы
-R C D1 D2 Q0 Q1 Q7
X X X
X X Не меняются
Х Х Не меняются
0 1 Q0 Q6
0 1 Х Q0 Q6
0 1 Х Q0 Q6

Регистр ИР9 выполняет функцию, обратную регистру ИР8. Если ИР8 преобразует входную последовательную информацию в выходную параллельную, то регистр ИР9 преобразует входную параллельную информацию в выходную последовательную. Однако суть сдвига не меняется, просто в ИР9 все внутренние триггеры имеют выведенные параллельные входы, и только один, последний триггер имеет выход (причем как прямой, так и инверсный). Запись входного кода в регистр производится по нулевому сигналу на входе -WR. Сдвиг осуществляется по положительному фронту на одном из двух тактовых входов С1 и С2, объединенных по функции 2ИЛИ. Имеется также вход расширения DR, сигнал с которого в режиме сдвига перезаписывается в младший разряд сдвигового регистра. Таблица истинности регистра ИР9 приведена в табл. 8.6.

Таблица 8.6. Таблица истинности регистра сдвига ИР9
Входы Функция
-WR C1 C2  
X X Параллельная запись
Х Хранение
Х Хранение
0 1 Сдвиг
0 1 Сдвиг


Рис. 8.16. Соединение регистров ИР8 для увеличения разрядности

Как и все остальные сдвиговые регистры, ИР8 и ИР9 допускают каскадирование, то есть совместное включение для увеличения разрядности. На рис. 8.16 показано объединение трех ИР8, а на рис 8.17 - совместное включение трех ИР9. В обоих случаях в результате объединения получается 24-разрядный сдвиговый регистр. При этом увеличение разрядности не приводит к увеличению задержки сдвига, так как тактовые входы всех используемых регистров объединяются параллельно. В случае регистров ИР8 входной последовательный код преобразуется в 24-разрядный выходной параллельный код. В случае регистров ИР9 входной 24-разрядный параллельный код преобразуется в выходной последовательный код.


Рис. 8.17. Соединение регистров ИР9 для увеличения разрядности

Регистр ИР13 соединяет в себе возможности регистров ИР8 и ИР9. Он имеет как восемь входов для параллельной записи, так и соответствующие им восемь выходов параллельной информации. Сдвиг осуществляется по положительному фронту тактового сигнала С, причем сдвиг возможен как в сторону старших разрядов (вправо), так и в сторону младших разрядов (влево). Для наращивания разрядности у регистра ИР13 имеются последовательные информационные входы DR и DL, сигналы с которых вдвигаются, соответственно, в младший и в старший разряды. Предусмотрен сброс всех выходов регистра в нуль по нулевому сигналу на входе –R.

Таблица 8.7. Таблица истинности регистра ИР13
Входы Функция
C -R SR SL  
X X X Сброс
0 1 Сдвиг вправо
0 1 Сдвиг влево
0 1 Хранение
0 1 Параллельная запись

Режим работы регистра ИР13 определяется двумя управляющими входами SR и SL. При единице на входе SR и нуле на входе SL по фронту сигнала С происходит сдвиг в сторону старших разрядов. При нуле на входе SR и единице на входе SL по фронту сигнала С происходит сдвиг в сторону младших разрядов. При обоих единичных сигналах на входах SR и SL по фронту сигнала С происходит параллельная загрузка информации в регистр. Таблица истинности регистра ИР13 приведена в табл. 8.7.

Отметим, что регистр ИР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.

Таблица 8.8. Таблица истинности регистра ИР24
Входы Функция
-R C SR SL  
Х Х Х Сброс
0 1 Сдвиг вправо
0 1 Сдвиг влево
0 1 Параллельная запись
Х Хранение

При обеих единицах на входах SR и SL по положительному фронту С в регистр записывается параллельный код, причем разряды данных переходят в состояние приема независимо от сигналов –EZ. Таблица истинности регистра ИР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. Структура генератора псевдослучайной последовательности

Таблица 8.9. Точки подключения обратной связи
¹
Выходы 6,5 7,6,4,2 14,13 15,13,12,10 23,22,21,16 30,17

Выбор номеров разрядов для подключения обратной связи представляет собой непростую задачу, но существуют справочные таблицы, в которых они приведены. В любом случае одна из точек подключения - выход старшего разряда. В табл. 8.9 приведены точки подключения обратной связи для регистров сдвига с разным количеством разрядов N (номера разрядов считаются от нуля).

Из таблицы видно, что выгоднее брать число разрядов не кратное 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 в своем генераторе шума.

 

 

9. Лекция: Асинхронные и синхронно-асинхронные счетчики: версия для печати и PDA В лекции рассматриваются асинхронные счетчики и синхронные счетчики с асинхронным переносом, их алгоритмы работы, параметры, типовые схемы включения, а также способы реализации на их основе некоторых часто встречающихся функций.
Счетчики представляют собой более высокий, чем регистры, уровень сложности цифровых микросхем, имеющих внутреннюю память. Хотя в основе любого счетчика лежат те же самые триггеры, которые образуют и регистры, но в счетчиках триггеры соединены более сложными связями, в результате чего их функции - сложнее, и на их основе можно строить более сложные устройства, чем на регистрах. Точно так же, как и в случае регистров, внутренняя память счетчиков - оперативная, то есть ее содержимое сохраняется только до тех пор, пока включено питание схемы. С выключением питания память стирается, а при новом включении питания схемы содержимое памяти будет произвольным, случайным, зависящим только от конкретной микросхемы, то есть выходные сигналы счетчиков будут произвольными. Рис. 9.1. Работа 4-разрядного двоичного счетчика Как следует из самого названия, счетчики предназначены для счета входных импульсов. То есть с приходом каждого нового входного импульса двоичный код на выходе счетчика увеличивается (или уменьшается) на единицу (рис. 9.1). Срабатывать счетчик может по отрицательному фронту входного (тактового) сигнала (как на рисунке) или по положительному фронту. Режим счета обеспечивается использованием внутренних триггеров, работающих в счетном режиме. Выходы счетчика представляют собой как раз выходы этих триггеров. Каждый выход счетчика представляет собой разряд двоичного кода, причем разряд, переключающийся чаще других (по каждому входному импульсу), будет младшим, а разряд, переключающийся реже других, - старшим. Счетчик может работать на увеличение выходного кода по каждому входному импульсу; это основной режим, имеющийся во всех счетчиках, он называется режимом прямого счета. Счетчик может также работать на уменьшение выходного кода по каждому входному импульсу; это режим обратного или инверсного счета, предусмотренный в счетчиках, называемых реверсивными. Инверсный счет бывает довольно удобен в схемах, где необходимо отсчитывать заданное количество входных импульсов. Большинство счетчиков работают в обычном двоичном коде, то есть считают от 0 до (2N–1), где N - число разрядов выходного кода счетчика. Например, 4-разрядный счетчик в режиме прямого счета будет считать от 0 (код 0000) до 15 (код 1111), а 8-разрядный - от 0 (код 0000 0000) до 255 (код 1111 1111). После максимального значения кода счетчик по следующему входному импульсу переключается опять в 0, то есть работает по кругу. Если же счет - инверсный, то счетчик считает до нуля, а дальше переходит к максимальному коду 111...1. Имеются также двоично-десятичные счетчики, предельный код на выходе которых не превышает максимального двоично-десятичного числа, возможного при данном количестве разрядов. Например, 4-разрядный двоично-десятичный счетчик в режиме прямого счета будет считать от 0 (код 0000) до 9 (код 1001), а затем снова от 0 до 9. А 8-разрядный двоично-десятичный счетчик будет считать от 0 (код 0000 0000) до 99 (код 1001 1001). При инверсном счете двоично-десятичные счетчики считают до нуля, а со следующим входным импульсом переходят к максимально возможному двоично-десятичному числу (то есть 9 - для 4-разрядного счетчика, 99 - для 8-разрядного счетчика). Двоично-десятичные счетчики удобны, например, при организации десятичной индикации их выходного кода. Применяются они гораздо реже обычных двоичных счетчиков. По быстродействию все счетчики делятся на три большие группы:
  • Асинхронные счетчики (или последовательные).
  • Синхронные счетчики с асинхронным переносом (или параллельные счетчики с последовательным переносом, синхронно-асинхронные счетчики).
  • Синхронные счетчики (или параллельные).
Принципиальные различия между этими группами проявляются только на втором уровне представления, на уровне модели с временными задержками. Причем больше всего различия эти проявляются при каскадировании счетчиков. Наибольшим быстродействием обладают синхронные счетчики, наименьшим - асинхронные счетчики, наиболее просто управляемые среди других. Каждая группа счетчиков имеет свои области применения, на которых мы и остановимся. Асинхронные счетчики Асинхронные счетчики строятся из простой цепочки 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.
Таблица 9.1. Таблица истинности счетчика ИЕ2
Входы Выходы
С1 R1 R2 S1 S2
Х X
Х Х
Х Х Х
1 0 Х X Счет
1 0 Х Х Счет
1 0 Х Х Счет
1 0 Х Х Счет

Счетчик ИЕ2 имеет два входа асинхронного сброса в нуль R1 и R2, объединенных по функции И, и два входа установки в 9 - S1 и S2, также объединенных по функции И, причем установка в 9 блокирует установку в нуль. Наличие этих входов сброса и установки позволяет строить на базе счетчика ИЕ2 делители частоты с разными коэффициентами деления. Правда, этот счетчик используется довольно редко, значительно реже, чем другие асинхронные счетчики ИЕ5 и ИЕ19.

Таблица истинности асинхронного счетчика ИЕ2 при соединенном выходе 1 и входе С2 (при 4-разрядном выходном коде) приведена в табл. 9.1, а состояния выходов при счете входных импульсов по тактам представлены в табл. 9.2.

Таблица 9.2. Состояния выходов счетчика ИЕ2 при счете входных импульсов
Такт Вых.8 Вых.4 Вых.2 Вых.1

Счетчик ИЕ5, точно так же как и ИЕ2, имеет две части: один триггер (одноразрядный счетчик) со входом С1 и выходом 1 и три триггера (трехразрядный счетчик) со входом С2 и выходами 2, 4, 8. Оба счетчика - двоичные, то есть первый считает до двух, а второй - до 8. При объединении входа С2 с выходом 1 получается 4-разрядный двоичный счетчик, считающий до 16. Счет производится по отрицательному фронту входных сигналов С1 и С2. Предусмотрена возможность сброса счетчика в нуль по сигналам R1 и R2, объединенным по функции И.

Таблица 9.3. Таблица истинности счетчика ИЕ5
Выходы Выходы
С1 R1 R2
Х
1 0 Х Счет
1 0 Х Счет

Таблица истинности счетчика ИЕ5 при соединении входа С2 и выхода 1 (при 4-разрядном выходном коде) приведена в табл. 9.3.


Рис. 9.4. Объединение трех счетчиков ИЕ5 для увеличения разрядности

Объединять счетчики ИЕ5 для увеличения разрядности (каскадировать) очень просто: нужно выход 8 предыдущего счетчика (выдающего более младшие разряды) соединить со входом С1 следующего счетчика (выдающего более старшие разряды). На рис. 9.4 показано соединение трех счетчиков ИЕ5 для получения 12-разрядного асинхронного счетчика со сбросом в нуль. Точно так же можно объединять и счетчики ИЕ2, добавляя при этом входы общей установки счетчика в код 99...9. Однако при объединении надо помнить, что добавление каждого нового разряда увеличивает общую задержку переключения полученного счетчика. Многоразрядный асинхронный счетчик может получиться неприемлемо медленным.

Счетчик ИЕ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). Инвертор необходим, так как счетчик срабатывает по отрицательному фронту входного сигнала, а регистр - по положительному фронту. Данное решение устраняет главный недостаток асинхронного счетчика - неодновременность установления его выходных разрядов. Однако второй недостаток - большая задержка установления выходного кода - сохраняется. Его устранить невозможно, можно только перейти на другие, более быстрые счетчики.

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.