Чем отличаются асинхронные счетчики от синхронных
Перейти к содержимому

Чем отличаются асинхронные счетчики от синхронных

  • автор:

2.4 Синхронные и асинхронные двоичные счетчики.

Двоичные счетчики, состояние триггеров которых изменяется одновременно под воздействием сигнала синхронизации на выходах всех триггеров, получили название синхронных. Схема синхронного счетчика со сквозным переносом на Т-триггерах приведена (См. рис.10), а его условное обозначение (См. рис.11.)

Синхронные счетчики используются в синхронных цифровых системах. Последовательностные цифровые устройства в этих системах обычно зависят друг от друга и управляются от общего источника синхросигналов. В таких условиях нужно, чтобы все триггеры во всех ПЦУ изменяли свое состояние одновременно по сигналу синхронизации, чтобы текущее состояние триггеров использовалось для определения их следующего состояния. Применяемая здесь схема со сквозным переносом легко наращивается простым добавлением схемы И с двумя входами. Однако для определения значения самого правого входа Т n-разрядного счетчика необходимо время, равное времени распространения сигнала через одну схему И, умноженному на п–1.

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

В триггерах с прямым динамическим входом изменение состояния осуществляется при перепаде уровня от 0 к 1. В асинхронных счетчиках с последовательным переносом вход каждого последующего триггера соединяется с инверсным выходом предыдущего. Сигналы счета поступают на вход Со. С помощью сигнала, поступающего на вход «Уст. 0», счетчик может быть установлен в начальное состояние.

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

2.5 Десятичные счетчики.

На практике возникает потребность в построении счетчиков по произвольному модулю с числом двоичных разрядов, выбираемых исходя из условия

.

Это вызывает необходимость исключения лишних состояний в счетчике. Рассмотрим особенности построения таких счетчиков на примере десятичного счетчика.

Для построения счетчика с необходимо иметь 4-разрядный двоичный счетчик, число состояний которого следует уменьшить с 16 до 10. Счетная последовательность десятичного счетчика может быть представлена в двоично-кодированном десятичном коде ( – 8421), в котором каждая десятичная цифра кодируется 4-разрядным двоичным числом. Счетная последовательность суммирующего десятичного счетчика в этом случае совпадает с двоичной последовательностью от 0000 до 1001, после чего следует 0, и последовательность повторяется. Схема десятичного счетчика на JK-триггерах с входной логикой (См. рис.12.)

Десятичный счетчик представляет собой 4-разрядный двоичный суммирующий счетчик с параллельным переносом, схема которого дополнена обратной связью с выхода , на вход J-триггера 2. Кроме того, выход соединен со всеми выходами К триггера 4. После приема в счетчик восьми сигналов на его выходах установятся соответственно уровни 0001. При этом на вход J-триггера 2 будет подаваться нулевой уровень с выхода . С приходом девятого сигнала на выходе триггера 1 установится единичный уровень. С приходом десятого сигнала триггер 1и триггер 4 перейдут в нулевое состояние. Триггеры 2 и 3 сохранят нулевое состояние. Десятым сигналом счетчик установится в начальное состояние, и процесс счета будет повторяться. Закон функционирования десятичного счетчика приведен в (табл. 3).

Номер входного импульса

—>Willem ,Электроника,Схемы,микроконтроллеры (AVR),микросхемы логики,частотомеры,измерители емкости и температуры . —>

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

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

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

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

Асинхронные счетчики строятся из простой цепочки 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 8 4 . Читать дальше »

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

Рис. 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-разрядного счетчика). Двоично-десятичные счетчики удобны, например, при организации десятичной индикации их выходного кода. Применяются они гораздо реже обычных двоичных счетчиков.

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

Синхронные счетчики с асинхронным переносом (или параллельные счетчики с последовательным переносом, синхронно-асинхронные счетчики).

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

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

Разница между синхронным и асинхронным счетчиком

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

Что такое синхронный счетчик?

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

Что такое асинхронный счетчик?

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

Разница между синхронным и асинхронным счетчиком

Вход тактового генератора

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

Операция

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

Временная задержка

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

Резюме

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

Синхронные счетчики с асинхронным переносом

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

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

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

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

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

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

Временная диаграмма работы синхронного счетчика с асинхронным переносом

Рис. 10 Временная диаграмма работы синхронного счетчика с асинхронным переносом

Примерами синхронных счетчиков с асинхронным переносом могут служить двоично-десятичный счетчик ИЕ6 и двоичный счетчик ИЕ7 (рис. 11). Они полностью идентичны по своим возможностям и назначениям входов и выходов, но только ИЕ6 считает от 0 до 9, а ИЕ7 — от 0 до 15. Оба счетчика реверсивные, обеспечивают как прямой счет (по положительному фронту на входе +1), так и обратный счет (по положительному фронту на входе -1). При прямом счете отрицательный сигнал переноса вырабатывается на выходе >15 (у ИЕ7) или >9 (у ИЕ6). При обратном (инверсном) счете отрицательный сигнал переноса вырабатывается на выходе < 0 после достижения выходным кодом значения 0000. Имеется возможность сброса счетчика в нуль положительным сигналом на входе R, а также возможность параллельной записи в счетчик кода со входов D1, D2, D4, D8 по отрицательному сигналу на входе -WR. При параллельной записи информации счетчики ведут себя как регистры-защелки, то есть выходной код счетчика повторяет входной код, пока на входе -WR присутствует сигнал нулевого уровня.

Синхронные счетчики с асинхронным переносом

Рис. 11 Синхронные счетчики с асинхронным переносом

Таблица 4 Таблица режимов работы счетчиков ИЕ6 и ИЕ7

Вход параллельной записи обозначается иногда на схемах также L, С, а выходы переноса обозначаются также CR и BR.

Таблица режимов работы счетчиков ИЕ6 и ИЕ7 приведена в табл. 4.

После сброса счетчик начинает счет по положительным фронтам на счетных входах от нулевого кода. После параллельной записи счет начинается от числа, записанного в счетчик. После переполнения счетчика ИЕ7 (достижения кода 1111) при прямом счете вырабатывается отрицательный сигнал переноса > 15, повторяющий входной отрицательный импульс на входе +1 с задержкой. После достижения кода 0000 при обратном счете вырабатывается отрицательный сигнал переноса < 0, повторяющий входной отрицательный импульс на входе -1 с задержкой. Точно так же работает и счетчик ИЕ6, но у него переполнение будет возникать в режиме прямого счета при достижении кода 1001.

Входные сигналы счета, записи и сброса не должны быть слишком короткими. Не должен быть слишком малым временной сдвиг между сигналами на входах D1-D8 и сигналом записи как в начале импульса записи, так и в его конце (сигнал записи -WR должен начинаться после установления входного кода, а заканчиваться — до снятия входного кода).

Объединение счетчиков ИЕ7 для увеличения разрядности

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

Объединение счетчиков ИЕ7 и ИЕ6 для увеличения разрядности (каскадирование) очень просто: нужно выходы переноса младших счетчиков (дающих младшие разряды выходного кода) соединить со счетными входами старших счетчиков (дающих старшие разряды выходного кода). На рис. 12 показана организация 12-разрядного счетчика на трех микросхемах ИЕ7. Этот счетчик может считать как на увеличение (прямой счет), так и на уменьшение (обратный счет). Возможны также сброс и параллельная запись в счетчики входного кода. Разряды каждого следующего счетчика будут переключаться одновременно, но с задержкой относительно переключения разрядов предыдущего счетчика. Точно так же объединяются и счетчики ИЕ6.

Если нужно использовать все выходные разряды многоразрядного счетчика одновременно (как единый код), то необходимо выполнение следующего условия: T>(N — 1)*tзп+tзс, где T — период входного сигнала, N — число объединенных микросхем счетчиков, tзп — время задержки переноса одного счетчика, tзс — время задержки счета (переключения выходного кода) одного счетчика.

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

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

Делитель частоты с коэффициентом деления, задаваемым входным кодом

Рис. 13 Делитель частоты с коэффициентом деления, задаваемым входным кодом

Чтобы сформулировать условия правильной работы данного делителя частоты, надо прежде всего отметить, что запись входного кода в счетчики производится отрицательным уровнем сигнала -WR, то есть передним фронтом входного отрицательного импульса, а счет производится положительным фронтом сигнала -1, то есть задним фронтом входного отрицательного импульса. Отсюда следует, что входной импульс должен быть достаточно коротким. Если он записывает код в счетчики своим передним фронтом, он уже не должен своим задним фронтом переключать счетчики по входу -1. Поэтому длительность входного отрицательного импульса не должна превышать полного времени переключения счетчиков и записи в них входного кода. В нашем случае это три задержки переноса и задержка записи в счетчик.

Если частота входного сигнала — большая (к примеру, больше 10 МГц), то нормальная длительность входного сигнала получается сама собой. Но частота входного сигнала не должна быть и слишком большой, иначе в процессе записи счетчик пропустит один из входных импульсов или даже несколько. То есть от переднего фронта входного отрицательного сигнала до заднего фронта следующего входного отрицательного сигнала должны успеть сработать все счетчики и должна произойти запись в счетчики (суммарное время задержки опять же включит в себя сумму задержек переноса всех счетчиков и задержку записи). Ограничения на входную частоту будет тем жестче, чем больше счетчиков мы объединяем для увеличения количества разрядов. В данном случае важно именно количество примененных микросхем, а не количество используемых разрядов, как у асинхронных счетчиков.

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

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

Включение выходного регистра для одновременного переключения разрядов выходного кода

Рис. 14 Включение выходного регистра для одновременного переключения разрядов выходного кода

Формирование пачки (группы) входных импульсов с заданным количеством импульсов — довольно распространенная задача. Например, такое формирование необходимо при организации обмена информацией в последовательном коде. Если в качестве преобразователя параллельного кода в последовательный используется 8-разрядный регистр сдвига, то ему в качестве синхросигнала необходима пачка из восьми импульсов. Схема формирователя такой пачки импульсов показана на рис. 15, а временная диаграмма ее работы — на рис. 16.

Формирователь пачки из восьми импульсов

Рис. 15 Формирователь пачки из восьми импульсов

По сигналу «Старт» (положительный фронт) перебрасывается первый триггер, использующийся для синхронизации. По первому положительному фронту тактового сигнала с генератора перебрасывается второй триггер, разрешающий прохождение импульсов с генератора на выход через элемент 2И-НЕ, а также разрешающий работу счетчика ИЕ7.

Временная диаграмма работы формирователя пачки им- пульсов

Рис. 16 Временная диаграмма работы формирователя пачки им- пульсов

После того как на Выход 1 схемы пройдут восемь отрицательных импульсов, на выходе 8 счетчика выработается единица, что приведет к сбросу в исходное нулевое состояние обоих триггеров (коротким отрицательным импульсом на выходе нижнего по рисунку элемента 2И-НЕ) и к запрету прохождения импульсов на выход. Работа формирователя возобновится после следующего сигнала «Старт».

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

При первом подходе входной стартовый импульс синхронизируется с тактовым сигналом, в результате чего выходной импульс заданной длительности может начаться не сразу после стартового импульса, а через какое-то время, меньшее периода тактового сигнала. Длительность формируемого временного интервала в этом случае абсолютно точно известна и будет равна целому числу периодов тактового генератора. Именно так было сделано в предыдущей рассмотренной нами схеме (сигнал «Выход 2» на рис. 15 как раз и будет формируемым сигналом с заданной длительностью).

При втором подходе выходной импульс заданной длительности начинается сразу после входного сигнала, но длительность его может отличаться от заданной на какое-то время, меньшее периода тактового сигнала. Иногда это более приемлемое решение, особенно при больших длительностях выходного сигнала, значительно больших, чем период тактового сигнала. Схема формирователя временного интервала, построенного в соответствии с этим вторым подходом, показана на рис. 17.

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

Формирователь временного интервала

Рис. 17 Формирователь временного интервала

Если входной код равен 1, то длительность выходного сигнала составит от Т до 2Т, где Т — период тактового сигнала. Если входной код равен N (до 255), то длительность выходного сигнала составит от NT до (N+1)T в зависимости от момента прихода входного сигнала по отношению к тактовому сигналу. Абсолютная погрешность выдержки длительности выходного сигнала в любом случае не превышает периода тактового сигнала Т.

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

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

Формирователь импульса заданной длительности (вариант с нарастающим кодом)

Рис. 18 Формирователь импульса заданной длительности (вариант с нарастающим кодом)

По сигналу «Старт» (положительный фронт) перебрасывается левый по рисунку триггер, который начинает формировать выходной сигнал и разрешает работу счетчика (снимая сигнал сброса R). Счетчик считает на увеличение по положительным фронтам тактового сигнала от нуля. Когда выходной код счетчика достигает величины входного кода, перебрасывается правый по рисунку триггер, завершающий процесс формирования выходного сигнала. Счетчик сбрасывается в нуль, правый триггер по следующему фронту попадает в исходное состояние. Новый цикл начнется с приходом следующего сигнала «Старт».

Если входной код равен 1, то длительность выходного сигнала составит от Т до 2Т, где Т — период тактового сигнала генератора. Если входной код равен N, то длительность выходного сигнала будет равна от NT до (N + 1)T в зависимости от временного сдвига между сигналом «Старт» и тактовым сигналом. В любом случае абсолютная погрешность времени выдержки выходного сигнала не превысит периода тактового сигнала Т.

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

Рис. 19 Измеритель длительности входного сигнала

Временная диаграмма работы измерителя длительности входного сигнала

Рис. 20 Временная диаграмма работы измерителя длительности входного сигнала

Работа схемы начинается по короткому управляющему импульсу «Старт», который сбрасывает счетчик в нуль и переводит всю схему в режим счета, разрешая прохождение сигнала с тактового генератора на вход +1 счетчика при положительном входном сигнале. С началом входного сигнала импульсы с генератора поступают на вход счетчика, и счетчик их считает. После окончания входного сигнала поступление импульсов на вход счетчика прекращается, триггер перебрасывается в исходное состояние и сообщает отрицательным фронтом на своем инверсном выходе о готовности выходного кода (сигнал «Готовность»). Работа схемы возобновится по следующему импульсу «Старт». Временная диаграмма работы измерителя длительности входного сигнала приведена на рис. 20.

Выходной код N измерителя связан с длительностью входного сигнала t простым соотношением

где T — период тактового сигнала. Абсолютная погрешность измерения не превышает величины ±Т. Поэтому для уменьшения относительной погрешности измерения необходимо увеличивать частоту тактового генератора и увеличивать разрядность счетчика. Счетчики также применяются и для измерения частоты входного цифрового сигнала.

Частоту входного сигнала можно измерить двумя путями: косвенным, то есть измерением периода входного сигнала (по принципу, рассмотренному только что) и вычислением затем частоты (по формуле fвх = 1/Tвх), или же прямым измерением частоты. Первый метод требует вычислений с помощью компьютера или микроконтроллера, второй не требует никаких дополнительных вычислений. Поэтому мы рассмотрим здесь реализацию метода прямого измерения частоты.

В соответствии с этим методом необходимо сформировать временное окно с заданной длительностью tо, в течение которого надо сосчитать количество N периодов входного сигнала Т (рис. 21). В этом случае будет выполняться соотношение t

о = NT или f = N/tо,

где f — это частота входного сигнала, равная 1/T. То есть частота входного сигнала пропорциональна коду N, а коэффициент пропорциональности равен 1/tо. Если, например, выбрать tо = 1 c, то код N будет равен частоте входного сигнала в герцах, а при tо = 1 мc код N будет равен частоте входного сигнала в килогерцах.

Измерение частоты входного сигнала прямым методом

Рис. 21 Измерение частоты входного сигнала прямым методом

Если длительность временного окна — строго постоянная величина, то погрешность измерения частоты будет определяться только погрешностью подсчета кода N. Абсолютная погрешность подсчета кода N не превысит единицы, а относительная погрешность не будет более 1/N. Понятно, что для увеличения точности измерения частоты нужно увеличивать N, то есть необходимо увеличивать длительность временного окна tо. Однако при этом автоматически увеличивается время измерения.

Измеритель частоты входного сигнала прямым методом

Рис. 22 Измеритель частоты входного сигнала прямым методом

Схема измерителя частоты (рис. 22) практически не отличается от схемы измерителя длительности входного сигнала (рис. 19). Только в данном случае в качестве измеряемого сигнала будет использоваться сигнал временного окна, а в качестве тактового сигнала — входной сигнал. Для формирования сигнала временного окна можно применить схему рис. 15 (сигнал «Выход 2»), которая обеспечивает постоянную длительность выходного сигнала.

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

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

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

Схема последовательного переключения выходных каналов

Рис. 23 Схема последовательного переключения выходных каналов

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

Схема последовательного переключения входных каналов

Рис. 24 Схема последовательного переключения входных каналов

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

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

Еще одно применение счетчиков из этой же области состоит в организации так называемой динамической индикации.

Суть динамической индикации состоит в следующем. Если используется табло из нескольких индикаторов (одиночных светодиодов, светодиодных семисегментных индикаторов, светодиодных матричных индикаторов и т.д.), то совсем не обязательно все эти индикаторы должны гореть постоянно, одновременно. Можно зажигать их по очереди, что существенно сократит потребляемый всей схемой ток питания. Например, если в каждый момент времени горит только один индикатор из имеющихся восьми, то ток потребления индикаторов сократится в восемь раз. Учитывая, что каждый светящийся светодиод требует тока порядка 1-5 мА, такой подход может дать большой выигрыш, особенно при матричных индикаторах, содержащих несколько десятков светодиодов. А инерционность человеческого глаза приводит к тому, что вспышки света с частотой больше 20 Гц воспринимаются как непрерывное свечение. Так что при достаточной частоте перебора индикаторов глазу не будет заметно последовательное их включение.

Схема динамической индикации на восьми индикаторах

Рис. 25 Схема динамической индикации на восьми индикаторах

На рис. 25 приведен пример схемы динамической индикации на восьми индикаторах. Для последовательного перебора индикаторов применяется счетчик, соединенный с дешифратором. Выходные сигналы дешифратора используются в качестве сигналов разрешения свечения для индикаторов. Частота сигнала тактового генератора, с которым работает счетчик, должна составлять не менее 160 Гц, чтобы каждый индикатор загорался не реже, чем с частотой 20 Гц. При этом нельзя также выбирать слишком большую частоту тактового генератора, так как в моменты переключения ток потребления микросхем сильно возрастает из-за паразитных емкостей, и при большой частоте весь эффект снижения потребления может сойти на нет.

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

Схема таймера с чтением выходного кода

Рис. 26 Схема таймера с чтением выходного кода

Пример решения данной проблемы приведен на рис. 26. Здесь выходной код счетчика на каждом такте записывается в выходной регистр с разрешением записи ИР27. А в момент чтения кода (при положительном сигнале «Чтение») запись в регистр запрещается. В результате в течение всей длительности сигнала «Чтение» выходной код схемы будет неизменным, хотя счетчик будет продолжать считать без всяких помех, и ход часов не собьется.

Интересная особенность счетчиков ИЕ6 и ИЕ7 состоит в том, что они могут работать не только в режиме счета, но и в режиме повторителя входных сигналов данных. В режиме параллельной записи в счетчик при нулевом сигнале на входе -WR выходные сигналы счетчика будут повторять любые изменения входных сигналов данных, то есть счетчик работает по сути как регистр, срабатывающий по уровню стробирующего сигнала. В ряде случаев такая особенность очень удобна, так как она позволяет существенно упростить аппаратуру.

Пусть, например, необходимо выдавать на вход схемы один из двух входных кодов: код со счетчика или код с регистра (то есть требуется мультиплексирование двух кодов). Эту задачу можно решить, применяя двухканальный мультиплексор (рис. 27а), а можно сделать проще — подавать код с регистра на входы данных счетчика и переводить в нужный момент счетчик в режим параллельной записи (рис. 27б). В обоих случаях переключение кодов, подаваемых на выход схемы, производится сигналом Упр. Правда, во втором случае счетчик возобновляет свой счет (после снятия сигнала записи -WR) с кода, записанного в регистр. Если это неприемлемо, то можно воспользоваться входом сброса счетчика в нуль R.

Варианты мультиплексирования выходного кода счетчика с применением мультиплексора (а) и без него (б)

Рис. 27 Варианты мультиплексирования выходного кода счетчика с применением мультиплексора (а) и без него (б)

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

Генерация прямоугольных импульсов — довольно часто встречающаяся задача, в частности при разработке, отладке, тестировании электронной аппаратуры. От генератора прямоугольных импульсов требуется выдача импульсов заданной длительности при заданной паузе между импульсами (или, что то же самое, формирование импульсов заданной длительности и частоты следования). Желательно, чтобы диапазон изменения длительности импульсов и пауз между ними был как можно шире. Желательно также, чтобы был предусмотрен режим разового запуска (то есть остановка генерации после окончания одного выходного импульса) и автоматического запуска (то есть генерация периодической последовательности импульсов до прихода внешней команды остановки). Предлагаемая здесь схема генератора не претендует, конечно, на рекордные характеристики, но она вполне может стать реальным удобным инструментом для разработчика цифровой аппаратуры, особенно если управление генератором поручить компьютеру с установленной на нем развитой сервисной управляющей программой. Благодаря своей простоте и наглядности, схема эта может служить образцом для разработки более сложных генераторов импульсов, например, имеющих более высокое быстродействие, больший диапазон изменения длительности импульсов и их частоты, обеспечивающих генерацию импульсов с разной амплитудой и полярностью.

Счетчики длительности импульса и паузы для генератора прямоугольных импульсов

Рис. 28 Счетчики длительности импульса и паузы для генератора прямоугольных импульсов

В основе генератора (рис. 28) — два 16-разрядных счетчика, выполненных на основе микросхем ИЕ7. Один из этих счетчиков (на рисунке внизу) отсчитывает длительность выходного импульса, другой (на рисунке вверху) — длительность паузы. Коды длительности импульса и паузы подаются, соответственно, на входы данных верхнего и нижнего счетчиков (эти коды могут храниться, например, в регистрах, не показанных на схеме). Счетчики импульса и паузы работают по очереди, что определяется управляющими сигналами на их входах параллельной записи -WR, которые также запрещают прохождение на входы -1 тактовых импульсов с помощью элементов 2И-НЕ. Эти управляющие сигналы поступают с прямого и инверсного выходов триггера ТМ2, на входы -R и -S которого подаются сигналы переноса с выходов < 0 обоих счетчиков.

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

В данном случае смело можно одновременно использовать как вход -R, так и вход -S триггера, поскольку сигналы, приходящие на них, гарантированно разнесены во времени. Сигнал с прямого выхода триггера служит выходным сигналом всего генератора в целом. Разрешается генерация положительным сигналом «Разр». Когда генерация запрещена (нулевой сигнал «Разр.»), триггер сброшен в нуль по входу -R и оба счетчика находятся в состоянии параллельной записи. Поэтому генератор всегда начинает работу с отработки паузы заданной длительности, а потом отрабатывает выходной импульс заданной длительности.

Сформулируем условия правильной работы данной схемы.

Во-первых, как и в случае управляемого делителя частоты (см. рис. 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). Гораздо важнее обеспечить стабильность частоты и периода выходного сигнала. Поэтому применение управляемого делителя частоты тактового сигнала не ухудшает характеристик генератора. Схема управления генератором прямоугольным импульсом с делителем частоты показана на рис. 2

Делитель частоты работает с кварцевым генератором с частотой 10 МГц и включает в себя три делителя на 16 на счетчиках ИЕ7. На выход мультиплексора (сигнал «Такт») проходит один из сигналов с периодом 100 нс, 1,6 мкс, 25,6 мкс, 409,6 мкс. Длительность сигнала «Такт» не превышает половины периода сигнала с частотой 10 МГц, то есть 50 нс, что обеспечивает правильную работу счетчиков импульса и паузы (см. рис. 28). Выбор тактовой частоты осуществляется 2-разрядным кодом частоты. При запрете генерации все счетчики сбрасываются в нуль, это увеличивает точность привязки момента начала генерации к моменту подачи команды на начало генерации.

Схема управления и делитель частоты для генератора прямоугольных импульсов

Рис. 29 Схема управления и делитель частоты для генератора прямоугольных импульсов

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

Левый по рисунку триггер вырабатывает сигнал разрешения генерации «Разр». В этот триггер необходимо записать единицу для разрешения генерации или нуль для остановки генерации. Запись в триггер входного сигнала Ген./Стоп производится передним фронтом сигнала «Строб».

Правый по рисунку триггер служит для организации разового запуска генератора. Переключение режима разового или автоматического запуска производится управляющим сигналом «Раз./-Авт». При автоматическом запуске (нуль на входе Раз./-Авт.) данный триггер не работает, он всегда находится в нулевом состоянии и дает уровень логической единицы на своем инверсном выходе. При разовом запуске (единица на входе Раз./-Авт.) правый триггер переходит в рабочий режим сразу после начала генерации (положительный сигнал «Разр.»). После окончания генерации первого выходного импульса на инверсном выходе генератора (инверсный выход триггера на рис. 28) появляется положительный перепад, который перебрасывает правый триггер на рис. 2 В результате он своим выходным сигналом сбрасывает левый триггер, что приводит к остановке генерации (так как сигнал «Разр.» становится нулевым). После этого схема снова готова к разовому запуску генерации. Временные диаграммы работы схемы в режимах автоматического и разового запуска показаны на рис. 30.

Режимы работы генератора импульсов

Рис. 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 с.

Теперь рассмотрим вторую схему.

Задача измерения частоты следования входных прямоугольных импульсов также часто встречается как в чисто цифровых, так и в аналого-цифровых системах. Как уже упоминалось, существует два традиционных метода измерения частоты (рис. 31): один предполагает измерение периода TВХ путем подсчета тактовых импульсов с периодом TT в течение TВХ и дальнейшее вычисление частоты по формуле

а другой прямо измеряет частоту fВХ путем подсчета входных импульсов в течение временного окна tO (б).

Относительная погрешность и того, и другого метода не превышает величины 1/N, где N — полученный в результате подсчета код. Понятно, что первый метод дает хорошую точность только для низких частот fВХ (то есть для больших TВХ и соответственно больших N). Второй метод дает хорошую точность только для больших частот fВХ или в случае большого временного окна tO (то есть для больших N). В первом случае для увеличения точности необходимо увеличивать тактовую частоту, во втором — увеличивать длительность временного окна.

Методы измерения частоты

Рис. 31 Методы измерения частоты: через период (а), прямой (б) и комбинированный (в)

Время измерения частоты по первому методу составляет TВХ. Для второго метода оно постоянно и равно длительности временного окна tO.

Поэтому желательно было бы соединить достоинства обоих методов, чтобы частота fВХ измерялась бы достаточно быстро и с заданной точностью (с погрешностью, не меньшей заданной). Это возможно при использовании комбинированного метода (рис. 31в). При данном методе импульсы тактовой частоты с периодом TT подсчитываются в течение М полных периодов входного сигнала. При этом количество сосчитанных импульсов N определяет точность измерения (относительная погрешность не превышает 1/N). Значит, необходимо обеспечить, чтобы N было достаточно большим, например, при N>100 относительная погрешность не превысит 1%, а при N > 1000 она будет меньше 0,1%. Обеспечить достаточную величину N можно простым выбором числа М.

Недостаток данного комбинированного метода состоит в том, что измеренное значение частоты необходимо вычислять. Так как при этом методе выполняется равенство

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

Счетчики измерителя частоты входного сигнала

Рис. 32 Счетчики измерителя частоты входного сигнала

В основе схемы измерителя частоты по комбинированному методу (рис. 32) — два 16-разрядных счетчика на основе микросхем ИЕ7, одновременно работающих в режиме прямого счета. На тактовый вход одного счетчика (верхнего по рисунку) подается измеряемый сигнал «Изм.», на тактовый вход второго (нижнего по рисунку) счетчика — тактовый сигнал образцовой частоты «Такт». Выходные коды обоих счетчиков (соответственно, М и N) используются после окончания измерения для вычисления значения частоты входного сигнала.

Работа счетчиков разрешается отрицательным сигналом «-Разр.» по фронту (например, положительному) входного сигнала. После окончания измерения по такому же фронту входного сигнала поступление сигналов «Изм.» и «Такт» запрещается. То есть счет производится в течение целого числа периодов входного сигнала.

Выход «Стоп» (положительный фронт) говорит о том, что код N достиг достаточной величины (в нашем случае -8192), и, следовательно, можно останавливать измерение (но только по ближайшему фронту входного сигнала). Иначе говоря, код N в конце измерения будет не менее 8192, и поэтому погрешность измерения частоты входного сигнала не превысит 1/8192 или 0,012%.

Для правильной работы схемы частота входного сигнала должна быть не более тактовой частоты

и не менее fT /65536. Если она будет слишком малой, то наступит переполнение нижнего счетчика (выработается сигнал переноса «-Пер. 2»). Если же она будет слишком большой, то наступит переполнение верхнего счетчика (выработается сигнал переноса «-Пер. 1»). Например, при тактовой частоте 10 МГц измеряемая частота входного сигнала может находиться в пределах от 152,6 Гц до 10 МГц.

Полное время измерения будет изменяться в пределах от 8192ТТ до (8192ТТ + 2ТВХ). Один период ТВХ может прибавляться к времени измерения из-за того, что после разрешения измерения счет начинается не сразу, а только с приходом фронта входного сигнала. Второй период ТВХ может прибавляться за счет того, что счет заканчивается не сразу после достижения кодом N величины 8192, а только с приходом нужного (положительного) фронта входного сигнала. Максимальное время измерения в любом случае не превышает 65536ТТ для всех измеряемых частот.

Для увеличения диапазона измеряемых частот можно применить предварительный управляемый делитель частоты (рис. 33). Он обеспечивает выбор период тактового сигнала из ряда 100 нс, 400 нс, 1,6 мкс, 6,4 мкс и 25,6 мкс с помощью кода такта. В результате применения этого делителя при минимальной тактовой частоте возможно измерение частоты входного сигнала до 0,6 Гц. Естественно, переход на каждый следующий диапазон измеряемых частот может увеличить время измерения в 4 раза, но точность измерения в любом случае останется прежней.

Делитель частоты и схема управления для измерителя частоты входного сигнала

Рис. 33 Делитель частоты и схема управления для измерителя частоты входного сигнала

асинхронный счетчик сигнал измеритель

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

Первый триггер перебрасывается в единицу по сигналу начала измерения «Старт» (положительный фронт). При этом разрешается прохождение подсчитываемых импульсов «Изм.» и «Такт» на вход счетчиков (рис. 32). Одновременно разрешается работа второго триггера.

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

Третий триггер перебрасывается в единицу по сигналу «Стоп» (то есть при достижении кодом N числа 8192). Он разрешает работу четвертого триггера.

Наконец, четвертый триггер перебрасывается по положительному фронту входного сигнала и сигналом со своего инверсного выхода сбрасывает первый триггер. Поступление сигналов «Изм.» и «Такт» прекращается. Выходной сигнал четвертого триггера служит флагом готовности выходных кодов N и M, которые необходимо прочитать для дальнейшего вычисления частоты. Перед новым измерением надо подать сигнал «Сброс».

Кроме четырех управляющих триггеров, в схему управления введены еще два триггера (справа на рисунке), выходные сигналы которых служат флагами переполнения и показывают после окончания измерения, правильно ли сработал измеритель частоты. Перед началом измерения оба эти триггера сбрасываются по сигналу «Сброс». Если частота входного сигнала в нужных пределах, то оба триггера останутся в нуле. Если частота входного сигнала очень большая, то сработает верхний по рисунку триггер по входному сигналу переноса «Пер. 1» (см. рис. 32) и выдаст сигнал «Увел.», говорящий о том, что надо поднять частоту тактового сигнала (если это возможно). Если же частота входного сигнала слишком мала, то сработает нижний по рисунку триггер по входному сигналу переноса «Пер. 2» (см. рис. 32) и выдаст сигнал «Умен.», говорящий о том, что надо уменьшить частоту тактового сигнала (если возможно).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *