Что такое счетчики в РА

June 27, 2010 by admin Комментировать »

Самый простой счетчик можно получить, если соединить последовательно ряд счетных триггеров, как показано на рис. 16.12, а. В этой схеме есть две особенности. В первой из них легко разобраться, если построить диаграмму работы этого счетчика, начиная с состояния, в котором все триггеры нахо­дятся в состоянии низкого уровня на выходе («0000»). В самом деле, при по­даче первого же импульса триггеры перейдут в состояние со всеми единица­ми («1111»)! Если строить диаграмму дальше, то мы увидим, что последовательные состояния будут такими: «1110», «1101» и т. д. В этом лег­ко узнать последовательный ряд чисел 15, 14, 13 — то есть счетчик получил­ся вычитающим, а не суммирующим.

А как можно получить суммирующий счетчик? Очень просто — надо ко вхо­ду каждого следующего триггера подсоединить не прямой выход предыду­щего, а инверсный. Порядка ради можно тактовые импульсы подавать также через инвертор (рис. 16.12,6), тогда все разряды счетчика, включая самый младший, будут срабатывать по заднему (отрицательному) фронту входного импульса, а не по переднему (у «настоящих» счетчиков тактовый вход и де­лается инверсным). В этом случае будет все в порядке — входные импульсы будут суммироваться (см. диаграмму) и мы получим ряд последовательных состояний: «0000», «0001», «00010», «0011» и т. д.

Заметки на полях

Удивительная все же штука — электроника! Сначала мы получили полную аналогию ме>кду абстрактной математической теорией и состояниями пере­ключателей на реле, теперь вот — ме>кду не менее абстрактным арифметиче­ским счетом и последовательными состояниями счетчика на триггерах. Чем этот счетчик отличается от дикаря, раскладывающего на земле палочки? Ни­чем, кроме того, что он раскладывает не палочки, а уровни напряжений, при­чем выгодно отличается от первобытного сознания тем, что еще и «владеет» позиционной системой счисления. Начинаешь понимать, почему ученые сере­дины прошлого века были так обольщены возможностями электронных схем, что даже заговорили о «машинном разуме». Но это уже другая тема…

Однако у счетчиков, построенных по такой простейшей схеме, есть один крупный недостаток, которого мы отчасти касались в этой главе. А имен­но — переключение тригге|зов происходит асинхронно, сигнал от входа должен пройти всю цепочку, пока на выходе также изменится уровень. Эти, казалось бы, незначительные задержки, могут, однако привести к значи­тельным неприятностям вроде возникновения лишних «иголок» при де­шифрировании состояний выхода. А при больших частотах входных им­пульсов, на пределе возможностей логических элементов, фронты сигналов на выходах могут приобрести совершенно хаотическое расположение отно­сительно входного сигнала, так, что дешифрировать состояние счетчика будет невозможно. Поэтому большинство счетчиков в интегральном ис­полнении делают по иным, синхронным, схемам, когда входной тактовый сигнал подается одновременно на все разряды, и фронты выстраиваются строго «по линеечке», независимо от задержек в том или ином триггере. Подробно изучать синхронные схемы мы не будем, так как самим их стро­ить не придется, а здесь разберем пару конкретных типов серийно выпус­каемых счетчиков.

Первый из счетчиков, который мы рассмотрим подробно— 561 НЕЮ. Мик­росхема включает два одинаковых четырехразрядных синхронных счетчика в одном корпусе. Разводка выводов ее показана на рис. 16.13, а, где вроде бы все понятно, кроме назначения вывода Е. Каждый четырехразрядный счет­чик, входящий в состав этой микросхемы, работает так: если на выводе Е присутствует напряжение высокого уровня, то счетчик будет переключаться по положительному фронту на входе С. Однако это касается только первого триггера, все остальные будут работать в соответствии с диаграммой по рис. 16.12, б, то есть счетчик будет суммировать импульсы. Вывод Е тут яв­ляется разрешающим («епаЫе») для тактового входа С.

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

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

clip_image002

Рис. 16.12. Схемы асинхронных счетчиков на D-триггерах: а — вычитающего; б — суммирующего

Вывод обнуления R обозначен без инверсии, что означает установку всех разрядов в состояние О при подаче высокого уровня на этот вход. Пока этот уровень присутствует, счетчик будет игнорировать любые изменения на так­товых входах. Максимальная рабочая частота микросхемы ИЕ10 при напря­жении питания 5 В — 1,5 МГц, минимальная длительность импульса сброса — 250 НС. Кстати, при составлении таблицы в приложении 5 я с некоторым тру­дом разыскал для нее быстродействующий аналог, и соответствие счетчика 74хх393 (ИЕ19) микросхеме 56ШЕЮ неполное: хотя у них даже совпадают основные выводы корпуса, но ИЕЮ выпускается в корпусе с 16 выводами, а 74хх393 — с 14-ю. Отсутствующие в аналоге два вывода у ИЕЮ выполняют как раз функцию разрешения счета Е для двух половинок микросхемы, то есть в аналоге он отсутствует, а входы тактовых импульсов С — инверсные.

clip_image004

clip_image006

Рис. 16.13. Разводка выводов счетчиков 561 ИЕЮ (а) и 561ИЕ11 (б); орг1анизация автоматической предустановки счетчиков типа ИЕ11 (в)

Счетчик 561ИЕ11 более универсален, и управляющих выводов у него значи­тельно больше, поэтому в 16-выводном корпусе умещается только один че­тырехразрядный счетчик. Разводка и обозначение выводов для него показаны на рис. 16.13, б. Не правда ли, можно запутаться? Однако на самом деле все гораздо проще, чем выглядит.

Если на выводах R, SE, Р^х присутствуют низкие уровни напряжения, а на входе U/D — высокий, то счетчик считает по положительному фронту на входе С, в точности так же, как это делает половинка ИЕ10 при высоком уровне на входе Е. Разберем действие остальных входов. Со входом обнуле­ния R все понятно — при подаче на него высокого уровня все обнуляется. Вход U/D служит для реверсии (потому такой счетчик еще называется ре­версивным): если на него подать напряжение логического нуля, то счетчик будет не суммировать, а вычитать, подобно тому, как это делает счетчик, по­казанный на рис. 16.12, а.

Самый интересный — вход SE («set епаЫе» — разрешение установки). Если на него подать напряжение логической единицы, то в триггеры счетчика за­пишутся значения, установленные на входах SO—S3. Возможность такой па­раллельной предустановки значительно расширяет возможности счетчика. А вход и выход переноса Р^^ и ?^^^ предназначены для каскадирования счет­чиков — для получения синхронного (в отличие от ИЕ10) счетчика большей разрядности, надо входы С у всех микросхем объединить, а выход Р^^х пре­дыдущего счетчика соединить со входом Р^^ следующего. У самого первого счетчика, естественно, Р^^ присоединяется к «земле».

Сколько удовольствия можно получить от этой схемы! Я покажу только один из вариантов того, как ее использовать. Наличие возможности предустановки произвольного значения позволяет соорудить из этой микросхемы счетчик с любым коэффициентом деления входной частоты (в пределах емкости ис­ходного счетчика, если используется один корпус НЕ 11, то это значения от 1 до 16). В самом деле, если счетчик считает в стандартном режиме, то частота на выходах Qx будет равна входной, поделенной на 2, 4, 8 и 16. Принцип ус­тановки другого коэффициента проще всего показать на примере обратного (вычитающего) режима счета. Арифметика тут простая: предположим, мы установили на входах предустановки число 3 (ООП) и организовали схему так, чтобы в состоянии, когда все выходы Qi равны нуЛю, это число каждый раз записывалось бы в счетчик. Так как режим вычитающий, то при подаче тактовых импульсов на вход счетчик будет последовательно проходить со­стояния: предустановка (0011) — фронт тактового импульса (0010) — фронт тактового импульса (0001)— фронт тактового импульса (0000)— предуста­новка (0011) и т. д. То есть после каждых трех тактовых импульсов счетчик будет возвращаться в исходное состояние (если предустановки нет, то он это делает после каждых 16 импульсов).

Таким образом мы получили коэффициент деления, равный 3. Можно резю­мировать: в вычитающем режиме коэффициент деления будет такой, каково число на входах предустановки. А что будет, если запустить счетчик в обыч­ном режиме, суммирующем? Нетрудно подсчитать, что коэффициент деле­ния при этом будет равен разности между максимально возможным коэффи­циентом (16) и установленным числом (3) — в данном случае 13.

Я так подробно на этом останавливаюсь, кроме всего прочего еще и потому, что счетчики-таймеры в микропроцессорных системах (и в составе микро­контроллеров типа AVR, и в других микроконтроллерах, и системный счет­чик в IBM PC, который без изменений воспроизводится во всех системах от Intel) работают совершенно аналогично ИЕ11. И для того чтобы успешно программировать микроконтроллерные системы, необходимо очень хорошо понимать принцип их работы— без таймеров микроконтроллеры, можно сказать, вообще не нужны. Но в микроконтроллерах все остальное за нас уже сделали, а если вернуться к обычной интегральной логике, то сразу встает два вопроса. Первый их них звучит так: а откуда, собственно, считывать эту поделенную частоту?

При использовании вычитающего режима считывать частоту придется с того выхода счетчика, который соответствует реальной разрядности делителя — по расписанной «диаграмме» видно, что в случае коэффициента, равного 3, старшие разряды вообще не используются. Это приемлемо, если мы хотим иметь раз и навсегда установленный коэффициент, но в общем случае не­удобно — если коэффициент по ходу дела меняется. Поэтому нужно либо использовать суммирующий режим, при котором старший разряд всегда за­действован, и результирующая частота снимается именно с него (например, при приведенных значениях счетчик будет все время считать от 3 до 15), ли­бо… либо есть еще одна возможность, для знакомства с которой придется ответить сначала на второй вопрос: как организовать предустановку значения счетчика каждый раз при достижении им состояния «0000»?

На схеме рис. 16.13, в показано, как можно это сделать (это не единственный вариант, но нам подойдет). Диаграмма работы схемы (справа) показана, на­чиная с момента, когда вот-вот должен прийти такт, при котором счетчик установится в состояние «0000». В любом другом состоянии на входе четырехвходового элемента «ИЛИ-НЕ» присутствует хотя бы одна единица, и на выходе его, соответственно, логический ноль. Выход же элемента «И-НЁ» пребывает по этой причине в состоянии логической единицы, а на входе SE — логический ноль, как и положено при счете.

Как только с очередным положительным тактовым перепадом счетчик уста­новится в состояние «0000», то на выходе элемента «ИЛИ-НЕ» появится ло­гическая единица. Так как тактовый импульс пропускается через инвертор, то на нижнем по схеме входе «И-НЕ» в этот момент логический ноль, и на выходе его по-прежнему единица. И только после отрицательного перепада на тактовом входе С (который для остальной схемы является нерабочим) на обоих входах «И-НЕ» установится логическая единица, на выходе — логиче­ский ноль, и на SE появится, наконец, долгожданный высокий уровень, раз­решающий запись значений, установленных по входам SO—S3. Как только запись произойдет, все немедленно отработает назад, так как на выходе «ИЛИ-НЕ» высокого уровня уже не будет. Импульс на входе SE окажется очень кратковременным, но нам длиннее и не надо.

Легко сообразить, что частота положительных импульсов на выходе «ИЛИ-НЕ» (либо коротких импульсов перезаписи на входе SE) как раз в точности равна частному от деления входной частоты на установленный коэффициент. И ее в этом качестве использовать удобнее, чем выходы разрядов, потому что не нужно гадать, с какого разряда снимать частоту при вычитающем режиме. Если поставить многопозиционный переключатель, меняющий код на входах предустановки SO—S3, то можно получить счетчик с изменяемым коэффици­ентом деления от 1 до 16.

Микросхема 561ИЕ14 полностью аналогична ИЕ11, за исключением того, что у нее есть еще вход переключения двоичного/десятичного счета B/D. Так как все выводы 16-выводного корпуса у ИЕ11 заняты, для этого пришлось пожертвовать входом R, вместо которого имеется вывод B/D. Если на этом входе напряжение низкого уровня, счетчик ИЕ14 считает в двоично-десятичном коде, если высокого— становится полностью аналогичным йен. Постойте, а как же его обнулять, если вход R отсутствует? Очень про­сто — надо подать на все входы предустановки SO—S3 потенциал «земли», а импульс обнуления подавать на вход SE вместо R.

Оставить комментарий

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