Счётчик (электроника)
Счётчик (электроника)
Счётчик числа импульсов — устройство, на выходах которого получается двоичный или двоично-десятичный код, определяемый числом поступивших импульсов. Счётчики могут строиться на двухступенчатых D-триггерах, T-триггерах и JK-триггерах.
Основной параметр счётчика — модуль счёта — максимальное число единичных сигналов, которое может быть сосчитано счётчиком. Счётчики обозначают через СТ (от англ. counter).
Семисегментный индикатор | Программирование микроконтроллеров
Семисегментный индикатор ввиду своей красочности часто применяется для отображения информации, например значения температуры, величины напряжения либо тока. В этой статье мы продолжаем изучать программирование микроконтроллеров и уже научимся подключать к микроконтроллеру ATmega8 простейший одноразрядный семисегментный индикатор, и будем отображать на нем цифры.
Давайте начнем все по порядку. Для начала рассмотрим, что собою представляет семисегментный индикатор. Внешне он имеет различные размеры. Главным идентификатором служит высота цифры, которая в справочниках приводится в дюймах. Высота цифры имеет стандартный ряд значений, который приводится в дюймах.
По количеству разрядов различают одно-, двух-, трех-, и четырехразрядные индикаторы. Бывает и более разрядов, но они встречаются довольно редко.
Семисегментный индикатор. Принцип работы семисегментного индикатора
Любой семисегментный индикатор обязательно состоит из семи сегментов. Отсюда и происходит его название. Каждый сегмент – это обычный отдельный светодиод. Мощные семисегментники могут содержать в одном сегменте несколько, как правило, последовательно соединенных светодиодов.
Кроме того в корпусе помимо сегментов находится еще и точка или запятая или другой символ.
С помощью семи сегментов можно изобразить десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и некоторые буквы, как латиницы, так и кириллицы.
Светодиоды всех элементов соединяются одноименными выводпми между собой или анодами, или катодами. Поэтому разделяют семисегментные индикаторы с общим анодом и общим катодом.
Вне зависимости от количества разрядов и размеров цифр каждый сегмент имеет название в виде одной из первых букв английского алфавита: a, b, c, d, e, f, g. Точка обозначается dp.
Для того чтобы засветить один из светодиодов семисегментного индикатора с общим анодом следует на общий вывод (анод) подать «+», а на соответствующий отдельный вывод – «-» источника питания.
Если применяется общий катод, – то наоборот – минус подается на общий, а плюс на отдельный вывод.
Чтобы отобразить на индикаторе цифру или букву следует засветить несколько сегментов. Например, для отображения единицы 1 задействуются сегменты b и c. При отображении восьмерки 8 задействуются все символы от a до g. Пятерка получается из таких символов: a, c, d, f, g.
Как подключить семисегментный индикатор к микроконтроллеру
Теперь рассмотрим, как подключить семисегментный индикатор к микроконтроллеру ATmega8. Подключим его к порту D. Данные порт имеет все восемь бит, что очень удобно сочетается с количеством выводов одноразрядного семисегментного индикатора, у которого их также восемь с учетом вывода для точки.
Схемы подключения с общим анодом ОА и общим катодом ОК аналогичны, только общий вывод подключается соответственно к плюсу или минусу источника питания.
Все светодиоды подключаются к выводам микроконтроллера через отдельные резисторы сопротивлением 220…330 Ом.
Не стоит экономить на резисторах и подключать все элементы через один общий резистор. Поскольку в таком случае с изменением числа задействованных сегментов будет изменяться величина тока, протекающего через них. Поэтому цифра 1 будет светиться ярче, чем 8.
Чтобы знать какой из выводов отвечает тому или иному сегменту нам понадобится распиновка семисегментного индикатора. Отсчет выводов, как и у микросхем, начинается с левого нижнего и продолжается против часовой стрелки. При этом лицевая сторона индикатора должна быть направлена вверх, а выводы вниз.
Типы триггеров и принцип их работы
Существует несколько основных типов триггеров. Перед тем, как разобраться в различиях, следует отметить общее свойство: при подаче питания выход любого устройства устанавливается в произвольное состояние. Если это критично для общей работы схемы, надо предусматривать цепи предустановки. В простейшем случае это RC-цепочка, которая формирует сигнал установки начального состояния.
RS-триггеры
Самый распространенный тип асинхронного бистабильного устройства – RS-триггер. Он относится к триггерам с раздельной установкой состояния 0 и 1. Для этого имеется два входа:
- S — set (установка);
- R — reset (сброс).
Имеется прямой выход Q, также может быть инверсный выход Q1. Логический уровень на нём всегда противоположен уровню на Q – это бывает удобно при разработке схем.
При подаче положительного уровня на вход S на выходе Q установится логическая единица (если есть инверсный выход, он перейдет на уровень 0). После этого на входе установки сигнал может меняться как угодно – на выходной уровень это не повлияет. До тех пор, пока единица не появится на входе R. Это установит триггер в состояние 0 (1 на инверсном выводе). Теперь изменение сигнала на входе сброса никак не повлияет на дальнейшее состояние элемента.
Важно! Вариант, когда на обоих входах присутствует логическая единица, является запретным. Триггер установится в произвольное состояние. При разработке схем такой ситуации надо избегать.
RS-триггер можно построить на основе широко распространенных двухвходовых элементов И-НЕ. Такой способ реализуем как на обычных микросхемах, так и внутри программируемых матриц.
Один или оба входа могут быть инверсными. Это означает, что по этим выводам триггер управляется появлением не высокого, а низкого уровня.
Если построить RS-триггер на двухвходовых элементах И-НЕ, то оба входа будут инверсными – управляться подачей логического нуля.
Существует стробируемый вариант RS-триггера. У него имеется дополнительный вход С. Переключение происходит при выполнении двух условий:
- присутствие высокого уровня на входе Set или Reset;
- наличие тактового сигнала.
Такой элемент применяют в случаях, когда переключение надо задержать, например, на время окончания переходных процессов.
D-триггеры
D-триггер («прозрачный триггер», «защелка», latch) относится к категории синхронных устройств, тактируемых по входу С. Также имеется вход для данных D (Data). По функциональным возможностям устройство относится к триггерам с приёмом информации по одному входу.
Пока на входе для синхронизации присутствует логическая единица, сигнал на выходе Q повторяет сигнал на входе данных (режим прозрачности). Как только уровень строба перейдет в состояние 0, на выходе Q уровень останется тем же, что был в момент перепада (защелкнется). Так можно зафиксировать входной уровень на входе в любой момент времени. Также существуют D-триггеры с тактированием по фронту. Они защёлкивают сигнал по положительному перепаду строба.
На практике в одной микросхеме могут объединять два типа бистабильных устройств. Например, D и RS-триггер. В этом случае входы Set/Reset являются приоритетными. Если на них присутствует логический ноль, то элемент ведёт себя как обычный D-триггер. При появлении хотя бы на одном входе высокого уровня, выход устанавливается в 0 или 1 независимо от сигналов на входах С и D.
Прозрачность D-триггера не всегда является полезным свойством. Чтобы её избежать, применяются двойные элементы (flip-flop, «хлопающий» триггер), они обозначаются литерами TT. Первым триггером служит обычная защёлка, пропускающая входной сигнал на выход. Второй триггер служит элементом памяти. Тактируются оба устройства одним стробом.
T-триггеры
T-триггер относится к классу счётных бистабильных элементов. Логика его работы проста – он изменяет своё состояние каждый раз, когда на его вход приходит очередная логическая единица. Если на вход подать импульсный сигнал, выходная частота будет в два раза выше входной. На инверсном выходе сигнал будет противофазен прямому.
Так работает асинхронный Т-триггер. Также существует синхронный вариант. При подаче импульсного сигнала на тактирующий вход и при наличии логической единицы на выводе T, элемент ведёт себя так же, как и асинхронный – делит входную частоту пополам. Если на выводе Т логический ноль, то выход Q устанавливается в низкий уровень независимо от наличия стробов.
JK-триггеры
Этот бистабильный элемент относится к категории универсальных. Он может управляться раздельно по входам. Логика работы JK-триггера похожа на работу RS-элемента. Для установки выхода в единицу используется вход J (Job). Появление высокого уровня на выводе K (Keep) сбрасывает выход в ноль. Принципиальным отличием от RS-триггера является то, что одновременное появление единиц на двух управляющих входах не является запретным. В этом случае выход элемента меняет свое состояние на противоположное.
Если выходы Job и Keep соединить, то JK-триггер превращается в асинхронный счётный Т-триггер. Когда на объединённый вход подаётся меандр, на выходе будет в два раза меньшая частота. Как и у RS-элемента, существует тактируемый вариант JK-триггера. На практике применяются, в основном, именно стробируемые элементы такого типа.
Счетчики. Последовательный двоичный счетчик. Асинхронные и синхронные счетчики
Двоичные счетчики и делители частоты используются в самых разных областях техники, в частности в управляющих системах ЭВМ, в цифровых электронных часах, частотомере и т.д. Наиболее часто на практике применяются двоичные и десятичные счетчики и делители.
Основной параметр счетчика – модуль счета Кс – максимальное число, импульсов, которое может быть сосчитано счетчиком. Если счетчик состоит из m триггеров, то число состояний 2 m и Кс≤2 m . Число импульсов, сосчитанное счетчиком может быть представлено на его выходе в прямом коде, обратном, циклическом. Счетчики и делители по модулю Кс делятся на асинхронные, и синхронные. У асинхронных делителей каждый разряд синхронизует следующий разряд деления. Синхронные делители синхронизируются поступающими извне импульсами. Входы синхронизации обычно у них включены параллельно.
По направлению счета счетчики делятся на суммирующие, вычитающие и реверсивные.
У суммирующего счетчики число, которое в него записано, увеличивается на единицу после того каждого импульса до заполнения, а у вычитающего счетчики уменьшается. Реверсивные счетчики могут считать по соответствующей команде в обеих направлениях. В большинстве счетчиков используются синхронные триггеры, синхронизируемые фронтом тактовых импульсов : D, J-K триггеры.
Асинхронные счетчики.
Переход любого состояния выхода триггера по таблице происходит при условии, если соседний младший разряд переходит из состояния лог.1 в состояние лог.0, т.е. по спаду уровня логического сигнала. Таким образом, для построения суммирующего счетчика выход каждого триггера соединяется с входом синхронизации, причем триггеры должны синхронизироваться спадом логического уровня.
Возможно также использовать триггеры, синхронизируемые фронтом логического сигнала, но в таком случае выходами счетчика являются инверсные выходы триггеров .
Вычитающий счетчик на D – триггерах.
Аналогично при движении по таблице в сторону уменьшения, можно увидеть, что изменение состояния разряда происходит при переходе в младшем разряде уровня из лог.0 в лог.1, т.е. для построения счетчики нужно использовать триггеры с синхронизацией по фронту на входе синхронизации. Можно также увидеть, что у суммирующего счетчика на выходах
коды уменьшаются, поэтому если снимать сигналы с инверсных выходов, то получим вычитающий счетчик.
Асинхронные счетчики просты по устройству, но быстродействие их низкое, так как задержка установления старшего разряда равна n ∙ t, где n – число триггеров, если все триггеры переходят из состояния лог.1 в лог.0. Если к выходам такого счетчики подключена схема совпадений, то возможны ложные ее срабатывания. Это происходит потому, что при переключении триггеров по цепочке число, записанное в счетчике перед установившемся состоянием, проходит ряд значений и поэтому возможны возвращение (на время задержки переключения триггеров) состояния счетчика к предыдущим значениям.
Однако во многих случаях это не имеет значения. Например, для суммирующего счетчика, если схема совпадений настроена на состояние «все единицы», ложных срабатываний нет.
Синхронные счетчики.
Задержки срабатывания уменьшаются у синхронных счетчиков. Из таблицы можно также увидеть, что изменение в любом из разрядов происходит в случае, если в предыдущем такте во всех младших разрядах установлены лог.1. Поэтому у суммирующего счетчика разрешение на переключение некоторого триггера дается в случае, если во всех младших триггерах по отношению к данному установлены лог.1, при этом входы синхронизации триггеров включены параллельно. Синхронные счетчики делятся на параллельные, последовательные и последовательно – параллельные.
Параллельный синхронный делитель на 16.
1. Состояние всех триггеров меняется одновременно, поэтому задержка счетчика равна задержке переключения одного триггера.
2. Переход любого из триггеров происходит, если все предыдущие триггеры находятся в состоянии лог.1.
Последовательный синхронный счетчик.
Здесь также триггеры переключаются одновременно, но максимальная частота счета определяется задержкой распространения переноса внутри схемы и между счетчиками, если два или несколько таких счетчиков включены последовательно.
Реверсивный двоичный счетчик с управлением направления счета.
Реверсивный счетчик служит ля сложения или вычитания поступающих импульсов. Как правило, реверсивные счетчики выполняются синхронными. В рассматриваемой схеме сигналы синхронизации со входа С поступают на все триггеры, но разрешение счета каждого из триггеров формируется в зависимости от направления счета и состояния предыдущих счетчиков. В суммирующем режиме (Режим = 0) переход каждого триггера разрешается, если во всех младших до него разрядах установлены лог.1. В вычитающем режиме триггер переключается, если во всех младших разрядах лог.0.
Обычно микросхемы счетчиков, выпускаемые промышленностью, имеют 4 разряда. Часто возникает необходимость иметь счетчики большей разрядности, поэтому все такие счетчики можно каскадировать, т.е., соединяя их последовательно, можно наращивать разрядность. Для этого у счетчиков предусмотрены дополнительные выходы и входы. Имеются выходы переноса (выход переполнения), которые подключаются к входам переноса счетчиков старших разрядов. При этом выполняется условие, при котором работа счетчика в суммирующем режиме разрешена, если у всех счетчиков в младших разрядах установлены лог.1, и наоборот для вычитающего режима. Пример такого счетчика показан ниже. В нем использована другая идея. Прохождение импульсов на вход синхронизации происходит для суммирующего режима в том случае, если во всех младших разрядах и на входе переноса счетчика.
Этот счетчик имеет 2 входа синхронизации. Если импульсы поступают на вход С + , то счетчик работает как суммирующий, если на вход С – , то как вычитающий. При каскадировании выходы переносов Р + и Р – подключается соответственно к счетным входам С + и С – . Подобная схемотехника используется в счетчике ИЕ7 ТТЛ различных серий (555 ИЕ7, 1533 ИЕ7).
Счетчики с произвольным коэффициентом деления
В различных электронных устройствах часто необходимо использовать счетчики с коэффициентом счета не равным 2 m , где m – целое число. В частотомерах используются счетчики на 10, в электронных часах имеются счетчики на 24, на 12, на 60. Часто требуются счетчики с другим модулем счета. Такие счетчики используют обычные счетные триггеры, которые могут находиться в 2-ух состояниях, поэтому для счетчика с модулем счета К число состояний триггерной схемы должно быть не меньше К. Таким образом можно записать: К ≤ 2 N . Или N ≥ log 2 K).
Для построения счетчика с произвольным модулем счета используются схемы на двоичных триггерах, в которых при помощи дополнительной логики исключаются лишние состояния с помощью обратных связей.
Перевод из одной системы в другую с помощью калькулятора
Давайте вернемся к нашей десятичной системе счисления. Если Вы помните, к десятичной системе мы относим циферки от 0 и до 9. А Вы знаете, что с помощью нехитрых вычислений, мы можем переводить информацию из одной системы счисления в другую? В вашей Винде есть одна нехитрая программка, на которую вы почти не обращаете внимание — это калькулятор ;-), с помощью которого можно легко переводить числа из десятичной в двоичную систему и наоборот.
Нажимаем в меню панели «Вид» —->»Программист» и у нас получается вот такой прикольный калькулятор.
Теперь самое простое, нажимаем маркер на «Dec» и для аккуратного вида на «1 байт». Пишем число в калькуляторе и смотрим на его двоичный код.
В данном примере я посмотрел, как запишется число «8» в двоичной системе счисления. Вуаля! А вот снизу под восьмеркой сразу и результат: 1000. Именно так запишется число «8» из десятичной системы счисления в двоичную.
Также калькулятор может переводить даже отрицательные числа из десятичной в двоичную систему. А вот число «-5» из десятичной системы в двоичной запишется, как 1111 1011 .
Кто-то из Вас может похвастаться: «Да я сам могу переводить числа из десятичной в двоичную на листочке бумаги». Но, Вам это надо, когда есть такой замечательный калькулятор? 😉
Задание 3. Логика работы мс К155ТМ2 и К155ИЕ5.
ZuykovAV MEPhI » 13 мар 2011, 21:31
1. Проверка логики работы D-триггера — микросхема К155ТМ2.
2. Делители на D-триггерах.
3. Проверка логики работы счётчика — микросхема К155ИЕ5.
4. Делители частоты на счётчике — микросхема К155ИЕ5.
Re: Задание 3
KovalchukDV 1523 » 14 мар 2011, 16:08
Re: Задание 3
ZuykovAV MEPhI » 15 мар 2011, 00:41
Стр. 75-76, "Популярные цифровые микросхемы", Валерий Леонидович Шило.
Re: Задание 3
ZuykovAV MEPhI » 15 мар 2011, 00:45
1. Проверка логики работы D-триггера -микросхема K155ТМ2 .
— описание схемы,
— сборка схемы,
— проверка логики.
На схеме показан один D-триггер — элемент микросхемы К155ТМ2 (D1 — всего в микросхеме два D-триггера). У элемента есть входы R и S, вход данных D, тактовый вход C и два выхода — прямой Q (5) и инверсный (6). Обратите внимание на кружок у вывода 6 и вспомните обозначение выхода элемента ЛА3 (в нём также обозначается инверсия).
К входам R, S, D, C триггера подключены кнопки. При нажатии любой из кнопок соответствующий вход будет соединён с землёй (GND), значит, на нём будет логический ноль. Если на кнопку не нажимать, то на входах будет присутствовать уровень логической 1, так как сопротивления R1-R4 (1 кОм) вторыми выводами подключены к линии VCC. На следующем изображении показаны уровни состояний на входах при работе с кнопками (при нажатии — стрелка вниз и отпускании кнопки — стрелка вверх) :
Для индикации состояний к выходам триггера (прямой — 5 и инверсный — 6) через сопротивления R5, R6 (1кОм) подключены светодиоды VD1, VD2. Светодиоды подключены катодами к линии GND и поэтому будут светиться при логической единице на выходе триггера.
1) Отключите питание от макетной платы.
2) Соберите схему. Светодиоды расположите на макетке так, чтобы было понятно, где расположен VD1 (прямой выход микросхемы), а где — VD2 (инверсный). Выводы (8,9,10,11,12,13) второго элемента микросхемы могут висеть в воздухе. На изображении не установлены сопротивления R1-R4.
3) Проверьте правильность сборки.
4) Подайте питание.
После подачи питания один из двух светодиодов должен светиться.
Логика работы RS входов такая же как и во 2-ом задании (схема RS-триггера на элементах 2И-НЕ мс К155ЛА3).
При нажатии на R (тут KN1) прямой выход сбрасывается в 0 (светодиод VD1 не светится).
При нажатии на S (тут KN4) прямой выход устанавливается в 1 (светодиод VD1 светится).
Проверка логики работы триггера.
— Установка ( S etting) и Сброс ( R eset). Активным уровнем для входов R и S является 0:
при S = 0 на выходе выполняется Установка; Q = 1
при R = 0 на выходе происходит Сброс; Q = 0
— Запись. Если S=1 и R=1, то в момент положительного перепада на С состояние с D переходит на Q.
— Проверка логики работы входов RS (строки 1, 2, 3 по таблице).
— Проверка записи сигнала с входа D (строки 4, 5).
— Уточнение момента записи на тактовом входе С (для строк 4,5).
Проверка логики работы входов R и S (асинхронный Сброс и Установка):
1. Нажмите только на кнопку KN4 (S=0) и на прямом выходе Q (5) установится уровень логической 1 и поэтому светодиод VD1 будет светиться. Светодиод VD2 не будет светиться, так как на инверсном выходе (6) будет низкий уровень.
2. Нажмите только на кнопку KN1 (R=0) и светодиод VD1 погаснет, значит, на прямом выходе Q (5) происходит сброс в 0. Светодиод VD2 светится, так как на инверсном выходе (6) будет 1.
Итак,
при S=0, прямой выход Q = 1, на инверсном — 0 (асинхронная установка в 1),
при R=0, прямой выход Q = 0, на инверсном — 1 (асинхронный сброс в 0).
Вход S (Setting-Установка) служит для установки прямого выхода в 1, а вход R (Reset — Сброс) служит для сброса прямого выхода в 0. Они являются асинхронными входами, так как изменяют состояние триггера в любой момент времени, независимо от состояния входов D и C (в таблице показан знак Х). Чтобы происходили Сброс или Установка, на вход R или S должен подаваться низкий уровень.
При одновременном удержании кнопок KN1 и KN4 оба светодиода засветятся, так как на обоих выходах (прямом и инверсном) устанавливается высокий уровень. Этот режим работы элемента очень редко используется в схемотехнике.
Проверяем логику работы входа D (загрузка 1 или 0, строка 4 и 5 таблицы):
Один раз нажмите на кнопку KN1, чтобы светодиод VD1 не светился. Далее кнопки KN1 и KN4 нажимать не надо, чтобы на входах R и S были логические 1.
4. Кратковременно нажмите на кнопку KN3 (на тактовый вход С поступит импульс, поз. 2-3) и тогда должен засветиться светодиод VD1, так как на прямом выходе Q (5) устанавливается высокий уровень (поз.3). Светодиод VD2 не будет светиться, так как на инверсном выходе (6) низкий уровень.
5. Нажмите на кнопку KN2 (вход D = 0, поз.4 по диаграмме ниже) и удерживая её, кратковременно нажмите на кнопку KN3 (на тактовый вход С поступил импульс, поз.5-6) и светодиод VD1 должен погаснуть, так как на прямом выходе Q (5) устанавливается низкий уровень (поз.6). Светодиод VD2 засветится, так как на инверсном выходе (6) будет высокий уровень.
Итак, что происходит при подаче импульса на вход C ?
при D=1, прямой выход Q = 1 (В), на инверсном — 0 (Н); говорят: загрузка 1, запись 1, перенос 1 с D на Q.
при D=0, прямой выход Q = 0 (Н), на инверсном — 1 (В); говорят: загрузка 0, запись 0, перенос 0 с D на Q.
В какой момент времени происходит запись ?
Сигнал с входа D переходит на выход Q при подаче импульса на вход C. А точнее, при переходе от 0 к 1 ( или говорят, при положительном фронте импульса , поз. 3 и 6). Обратите внимание по схеме на косую черту (снизу вверх) у входа C элемента ТМ2. Чтобы убедиться в этом, повторите действия 4-5, но кнопку KN3 нажимайте не кратковременно, а в начале нажмите и только через короткую задержку отпустите. Обратите внимание, что переключение состояния светодиодов почти всегда будет происходить в момент отпускания кнопки (поз. 3 и 6). Ведь когда кнопка нажата – это низкий уровень, а когда отпускаете – становится высокий уровень, то есть, при отпускании и происходит перепад от низкого уровня к высокому уровню (от 0 к 1).
Управление входами R и S имеет приоритет по отношению к входу D и С. То есть, сбрасывать выход Q в 0 (0 на R) или устанавливать на Q выходе 1 (0 на S) можно независимо от состояния на входах D и C и поэтому можно понажимать на кнопки KN1 и KN4 при выполнении 4 и 5 пунктов.
При таком простом (кнопочном) управлении тактовым входом С неизбежен дребезг контакта, поэтому в тексте чуть ранее написано " почти всегда ". Для уменьшения (!) влияния дребезга в схеме можно установить конденсатор C1 (100 пф).
Внедрение
Установка систем АСКУЭ производится по следующему алгоритму:
- Создание рабочего проекта, где разрабатывается структура системы и ее отдельные уровни, составляется чертеж и другая сопутствующая конструкторская документация.
- Выбирается система передачи данных, с учетом преимуществ, недостатков и возможностей технической реализации.
- На основе проектной сметы приобретается необходимое оборудование.
- Производится монтаж и настройка (наладка) АПК.
- Осуществляется подбор состава обслуживающего персонала и, при необходимости его обучение.
- Ввод системы в эксплуатацию.
Обратим внимание, что экономия на проекте, незамедлительно отразится на функциональности. Из-за недочетов могут расходиться данные с реальными показаниями счетчиков энергии, в результате использование такого комплекса будет не эффективным.