Schetchiksg.ru

Счетчик СГ
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Таймер счетчик atmega 128

Встроенные таймеры и счётчики AVR микроконтроллеров

Регистры таймеров-счётчиков, функции, режимы, управление прерываниями
на примере МК Atmega8 (Atmega16)

Таймер микроконтроллера – это цифровой счётчик, осуществляющий подсчёт количества подаваемых на него импульсов.
Источником импульсов для таймера-счётчика могут служить: как тактовые импульсы от внутреннего генератора МК, так и импульсы, подаваемые непосредственно на вход таймера с внешнего источника.

В МК ATmega8 (Atmega16) есть три таймера: два 8-битных – Т0 и Т2, и один 16-битный – Т1. Счёт ведётся до 255 тактовых импульсов для 8-битных счётчиков и до 65535 импульсов – для 16-битного.
Далее, если не выполняется никаких программных действий, то происходит переполнение счётчика, он сбрасывается в 0 и всё повторяется бесконечное количество раз.

Для каждого таймера можно настроить делитель частоты тактовых импульсов, и, таким образом, заставить его тактироваться не только на основной частоте МК, но и на частотах, находящихся в пропорциях от 1:8 до 1:1024 по отношению к основной. Пропорция эта называется «prescaler» и прописывается в регистре TCCRx (Timer/Counter Control Register) посредством установки значений соответствующих битов.

На примере таймера-счётчика Т2, давайте посмотрим, как выглядит этот регистр TCCR2 и каково предназначение его битов. Итак:

1. Конфигурационный регистр TCCR2

Биты CS22, CS21, CS20 (Clock Select) – задают для таймера Т2 коэффициент предделителя.
Все возможные комбинации состояний этих битов описаны в таблице ниже:

CS22CS21CS20Описание
0 0 0 Источника тактирования нет, таймер остановлен
0 0 1 Тактовая частота МК
0 1 0 Тактовая частота МК/8
0 1 1 Тактовая частота МК/32
1 0 0 Тактовая частота МК/64
1 0 1 Тактовая частота МК/128
1 1 0 Тактовая частота МК/256
1 1 1 Тактовая частота МК/1024

Биты WGM21, WGM20 (Wave Generator Mode) – определяют режим работы таймера-счетчика Т2.
Всего их может быть четыре: нормальный режим (normal), сброс таймера при совпадении значения счётного регистра с содержимым регистра сравнения (CTC), два режима широтно-импульсной модуляции (FastPWM и Phase Correct PWM). Все возможные значения описаны в таблице ниже:

WGM21WGM20Режим работы таймера/счётчика
0 0 Нормальный режим счётчика (normal)
1 0 Сброс таймера при совпадении регистров OCR2 и TCNT2 (CTC)
0 1 ШИМ с коррекцией фазы (Phase Correct PWM)
1 1 Быстрая ШИМ (Fast PWM)

Биты COM21, COM20 (Compare Match Output Mode) – определяют поведение вывода OC2.
Если хоть один из этих битов установлен в 1, то вывод OC2 перестаёт функционировать как обычный вывод общего назначения и подключается к схеме сравнения таймера счётчика Т2. При этом его необходимо настроить как выход. Рассмотрим различные комбинации этих битов:

COM21COM20Режим работы вывода OC2
0 0 Вывод ОС2 отключён от таймера/счётчика
0 1 Состояние вывода меняется на противоположное при совпадении
TCNT2 и OCR2 (только в режимах Normal и CTC)
1 0 На OC2 устанавливается «0» при совпадении TCNT2 и OCR2,
и устанавливается «1» при сбросе счётчика
1 1 На OC2 устанавливается «1» при совпадении TCNT2 и OCR2,
и устанавливается «0» при сбросе счётчика

Бит регистра TCCR2 – FOC2 (Force Output Compare) предназначен для принудительной установки логического уровня на выходе OC2. Он работает только для режимов Normal и CTC. При установке бита FOC2 в единицу состояние выхода меняется в соответствии со значениями битов COM21 и COM20.

Конфигурацию регистра TCCR удобно производить в двоичном коде, т. к. каждый разряд этого кода равен соответствующему разряду регистра. Например, запись:

означает, что у счётчика выбран режим СТС со сбросом таймера при совпадении регистров OCR2 и TCNT2. Тактовая частота Т2 – это рабочая частота МК, делённая на 1024. Состояние вывода ОС2 при совпадении меняется на противоположное.
А запись:

означает, что счётчик установлен в режим Fast PWM (быстрая ШИМ). Делитель частоты отключён – таймер тикает с тактовой частотой МК. Выход ОС2 установлен в состояние логического 0.

Далее опишем по порядку остальные регистры, относящиеся ко всем трём таймерам ATmega8, 16.

2. Счётный регистр TCNT2

TCNT2 – это такой же 8-битный регистр, как и TCCR2, только все разряды в нём отведены для числа, соответствующего количеству импульсов, посчитанному счётчиком. Когда таймер-счётчик работает, то по каждому импульсу тактового сигнала значение TCNT2 изменяется на единицу. В зависимости от режима работы таймера, счётный регистр может или увеличиваться, или уменьшаться.
Содержимое регистра TCNT2 можно как читать, так изменять посредством записи в него. Запись в регистр используется при необходимости задать его начальное значение.
Когда таймер работает, изменять его содержимое TCNT2 не рекомендуется, так как это блокирует схему сравнения на один такт.

3. Регистр сравнения OCR2

OCR2 – это также 8-ми разрядный регистр. Его значение в каждом цикле сравнивается со значением счётного регистра TCNT2, и в случае совпадения, заставляет таймер выполнять какие-либо действия, как то: вызывать прерывание, менять состояние вывода OC2 и т. д. в полном соответствии с командами программного кода прошивки.
Значение OCR2 можно как читать, так и записывать.

Далее поговорим о прерываниях, источником которых являются счётчики-таймеры.
Напомню, что прерывание представляет собой определённое событие, при наступлении которого приостанавливается выполнение основной программы и вызывается функция, обрабатывающая данное прерывание.

4. Регистр флагов разрешения прерываний TIMSK

TIMSK – это общий регистр для всех трёх таймеров Atmega8, 16.

Таймер-счётчик Т2 может вызывать прерывания при следующих условиях:
1. при переполнении счётного регистра TCNT2,
2. при совпадении значения счётного регистра со значением регистра сравнения OCR2.
При этом в регистре TIMSK для таймера Т2 зарезервированы два бита: TOIE2 и OCIE2. Все остальные биты относятся к другим таймерам.

TOIE2OCIE2Разрешение прерываний
0 0 Все прерывания запрещены
0 1 Разрешает прерывание по событию совпадение
1 0 Разрешает прерывание по событию переполнение
1 1 Разрешает прерывания по обоим событиям

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

sei(); //разрешение глобальных прерываний

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

Ещё один регистр, отвечающий за управление прерываниями – регистр TIFR.

5. Регистр флагов прерывания таймеров/счётчиков TIFR

TIFR также является общим регистром для всех трех таймеров-счётчиков Atmega8, 16.

TIFR – это регистр флагов. Когда срабатывает какое-то прерывание, то выскакивает статусный флаг, сигнализирующий о том, что произошло то или иное событие. Для таймера Т2 – этими событиями являются: переполнение счётного регистра TCNT2 или совпадение счётного регистра с регистром сравнения OCR2.
В эти моменты в регистре устанавливаются следующие флаги:
TOV2 – записывается 1 при переполнении счётного регистра,
OCF2 – записывается 1 при совпадении счётного регистра с регистром сравнения.
Если в эти моменты в регистре TIMSK разрешены прерывания, то микроконтроллер вызовет соответствующий обработчик.
Если прерывания запрещены, то флаг так и будет стоять до тех пор, пока программа не разрешит данный тип прерываний.
При входе в подпрограмму обработки прерывания, соответствующий прерыванию флаг регистра TIFR автоматически сбрасывается в состояние лог. 0.

Пример инициализации таймера-счётчика Т2, прописанный внутри функции main, может выглядеть следующим образом:

sei(); // Разрешение глобальных прерываний

TCCR2 = 0b00011101; /* 1. Режим СТС со сбросом таймера при совпадении регистров
OCR2 и TCNT2. 2. Тактовая частота Т2 – это рабочая частота МК, делённая на 1024.
3. Состояние вывода ОС2 при совпадении меняется на противоположное */

OCR2 = 112; // Сброс таймера произойдёт после того, как счётчик досчитает до 112

TIMSK |= (1 // В этот же момент произойдёт прерывание (по совпадению)

Следующая функция – это обработчик прерывания от таймера Т2, т. е. перечень действий, которые надо совершить в момент его возникновения. Описывается эта функция при помощи команд:

ISR (TIMER2_COMP_vect) // Если произошло прерывание по совпадению таймера Т2
<
// Действия, которые надо совершить
>

На следующих страницах рассмотрим примеры того, как можно реализовать генератор импульсов и ШИМ модулятор с использованием микроконтроллера Atmega8 (Atmega16).

Установить период входных импульсов таймера счетчика, равным 8 мс при ча-стоте резонатора в 2 МГц

Подсчет одиночных импульсов на внешнем входе таймера-счетчика Т0
Задание такое ! Подсчет одиночных импульсов на внешнем входе таймерасчетчика Т0:если сумма меньше.

Atmega328 подключение внешнего кварцевого резонатора на 16 МГц- нет отображения
Вынужден обратиться с вопросом! Несколько дней пытаюсь сцепить вместе Atmega328, n5110, 16MHz.

При помощи таймера каждую секунду число a увеличивать, пока оно не станет равным числу b
Здравствуйте, помогите реализовать метод для таймера. С формы считываются 2 целочисленных числа.

Нужна помощь с преобразованием входных импульсов
Доброго времени суток. Очень нужна помощь с тем, как преобразовать входные сигналы. Дины входные.

Честно, сам не очень понимаю. Но перепроверил задание, и, в нем сформулировано именно так. У прошлого курса была иная формулировка, но мне кажется, что это одно и тоже задание («Изменить такт таймера на 8 мс при частоте резонатора в 2 МГц.») Возможно у них сформулировано более корректно

Добавлено через 40 секунд

Ethereal, вполне возможно, что автор задания пропустил букву ‘ы’ и вместо «вЫходного» получилось «входного».

zdravya, в таймере/счётчике1 есть режим CTC (Clear Timer on Compare Match), в котором можно настроить переключение трёх выводов таймера-счётчика1 при совпадении счётного регистра TCNT1 с регистром сравнения OCR1 (A, B, С) (в регистровых парах OCR1AH:OCR1AL, OCR1BH:OCR1BL, OCR1CH:OCR1CL соответственно).
Значение в OCR1 рассчитаем по формуле из даташита (стр. 152): OCR1=(F_CPU/(2*N*F_OC1))-1, где N — это значение предделителя таймера-счётчика1 (1, 8, 32, 64, 128, 256, 1024).
При заданной частоте 2000000 Гц и значении предделителя, равному единице, OCR1=(2000000/(2*1*8000)-1=124.
Для определённости допустим, что вывод будет осуществляться на 15-й вывод (OC1A) PB5.
В порту DDRB установить 5-й бит (на выход).
Обнуляем TCNT1.
Заносим 12410=0x7A=0175=0b1111100 в регистр OCR1A.
В TIMSK установить 4-й бит OCIE1A, разрешающий прерывание при совпадении счётного регистра TCNT1 c OCR1A. В TCCR1A выбрать toggle-режим работы вывода OC1А установкой 6-го бита COM1A0, остальные сбросить (тогда OCnB/OCnC будут отключены); биты WGM11 и WGM10 обнулены (см. табл. 20-5 Waveform Generation Mode Bit Description на стр. 163).
В TCCR1B установить WGM12 и бит CS10 (предделитель равен 1, см. стр. 165).
Разрешаем прерывания sei и получаем сигнал с требуемой частотой.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Модель реверсивного счетчика числа импульсов
Старший разряд входного порта- вход инкремента, младший -декремента, 2-й разряд входного порта-.

Определить число разрядов счетчика импульсов
Здравствуйте! Помогите пожалуйста с решением задачи Применен время-импульсный метод.

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

Работа памяти с частотой 1600 мгц, при поддержки 1333 мгц
Вопрос такой: В ноутбуке hp 15-p250ur стоит процессор intel pentium n3540 который поддерживает.

Низкий множитель процессора AMD Athlon II P340 2200 МГц при шине 200 МГц
Приветствую. Ноут Dell Inspiron m5010 Проц AMD Athlon II P340 2200 МГц при шине 200 МГц.

Таймер счетчик atmega 128

Мероприятия:

16-разрядные таймеры-счетчики 1 и 3

16-разрядные таймеры-счетчики предназначены для точного задания временных интервалов, генерации прямоугольных импульсов и измерения временных характеристик импульсных сигналов.

Основные отличительные особенности:

  • 16-разрядные счетчики (в т.ч. возможность организации 16-разр. ШИМ)
  • Три раздельных блока сравнения
  • Двойная буферизация регистров порога сравнения (OCR)
  • Один блок захвата
  • Подавитель шума на входе блока захвата
  • Режим сброса таймера при совпадении с порогом сравнения (автоматическая перезагрузка)
  • Широтно-импульсная модуляция без генерации ложных импульсов при записи нового порога сравнения в OCR (двойная буферизация) и фазовая коррекция
  • Переменный период ШИМ
  • Частотный генератор
  • Счетчик внешних событий
  • 10 самостоятельных источников прерываний (TOV1, OCF1A, OCF1B, OCF1C, ICF1, TOV3, OCF3A, OCF3B, OCF3C и ICF3)

Ограничения на режим совместимости с ATmega103

Обратите внимание, что в режиме совместимости с ATmega103 доступен только один 16-разр. таймер-счетчик (таймер-счетчик 1). Кроме того, в режиме совместимости с ATmega103 таймер-счетчик 1 имеет только два регистра порогов сравнения (OCR1A и OCR1B).

Введение

В виду идентичности таймеров 1 и 3 в данном разделе используется общая форма записи. Так индекс “n” заменяет номер таймера-счетчика (1 или 3), а “x” заменяет наименование канала сравнения (A,B или C). Однако при программировании необходимо использовать фактические номера и наименования. Например, для записи нового состояния таймера-счетчика 1 в программе необходимо указывать TCNT1.

Укрупненная функциональная схема 16-разр. таймера-счетчика показана на рисунке 46. Если требуется конкретизировать расположение того или иного вывода см. “Расположение выводов”. Регистры ввода-вывода, а также биты или линии ввода-вывода, к которым организован доступ от ЦПУ, выделены жирной линией. Описание регистров, расположение и назначение бит данных таймеров представлены в параграфе “Описание регистров 16-разр. таймеров-счетчиков”.


Рисунок 46- Функциональная схема 16-разр. таймера-счетчика

Прим.: Расположение и назначение выводов таймеров-счетчиков 1 и 3 см. на рисунке 1, таблице 30 и таблице 39.

Регистр таймера-счетчика (TCNTn), регистры порогов сравнения (OCRnA/B/C), a также регистр захвата (ICRn) являются 16-разрядными регистрами. В связи с этим, во время доступа к этим регистрам должна быть соблюдена специальная процедура (см. Доступ к 16-разр. регистрам). Регистры управления таймером (TCCRnA/B/C) являются 8-разр. регистрами, поэтому, доступ к ним со стороны ЦПУ не связан с какими-либо ограничениями. Все сигналы запросов на прерывание представлены в регистре флагов прерываний таймеров (TIFR) и регистре флагов расширенных прерываний (ETIFR). Все прерывания индивидуально маскируются регистром макси прерываний таймеров (TIMSK) и регистром маски расширенных прерываний (ETIMSK). Регистры (E)TIFR и (E)TIMSK не представлены на функциональной схеме, т.к. они совместно используются другими таймерами микроконтроллера.

Таймер-счетчик может тактироваться внутренне через предделитель или внешне тактовым источником, подключенным к выводу Tn. Блок выбора тактового источника позволяет выбрать тактовый источник и фронт, по которому будет изменяться состояние таймера-счетчика. Если тактовый источник не задан, то таймер-счетчик находится в неактивном состоянии. Сигнал на выходе блока выбора тактового источника является тактовым сигналом таймера (clkTn).

Значение регистров порогов сравнения (OCRnA/B/C) непрерывно сравнивается со значением счетчика. Результат сравнения может использоваться для генерации прямоугольных импульсов с ШИМ или с переменной частотой на выходах OCnA/B/C. См. также “Блоки сравнения”. В случае определения совпадения значений сравниваемых регистров устанавливается соответствующий флаг прерываний (OCFnA/B/C), который в свою очередь может служить источником прерывания.

Регистр захвата позволяет запомнить состояние таймера-счетчика при возникновении заданного внешнего события (фронт внешнего сигнала) на входе захвата фронта ICPn или на выводах аналогового компаратора (см. “Аналоговый компаратор”). На входе захвата фронта предусмотрена схема цифровой фильтрации (подавитель шума) для снижения риска срабатывания схемы захвата от помехи. Верхний предел или максимальное значение таймера-счетчика в зависимости от режима работы таймера могут определяться значением в OCRnA, ICRn или иметь фиксированные значения. Если OCRnA задает верхний предел счета в режиме ШИМ, то он не может использоваться для генерации ШИМ-сигналов. Однако верхний предел в этом случае имеет двойную буферизацию, тем самым допуская изменение его значения в произвольный момент времени. Если верхний предел счета является постоянным значением, то альтернативно можно использовать регистр ICRn, освобождая регистр OCRnA для функции широтно-импульсной модуляции.

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

Таблица 57 – Определения

НП (нижний предел)Счетчик достигает нулевого значения (0х0000)
МАКС (максимальное значение)Счетчик достигает максимального значения 0xFFFF (десятич. 65535)
ВП (верхний предел)Счетчик достигает верхнего предела счета (вершина счета). В качестве вершины счета могут выступать фиксированные значения 0x00FF, 0x01FF, 0x03FF или содержимое регистров OCRnA или ICRn.

По сравнению с предыдущими версиями 16-разр. таймеров-счетчиков данные таймеры доработаны и улучшены. Совместимость этих таймеров соблюдается по следующим позициям:

  • Адреса всех регистров, связанных с 16-разр. таймером-счетчиком, в т.ч. регистры прерываний таймеров.
  • Расположение бит внутри всех регистров 16-разр. таймеров, в т.ч. регистры прерываний таймеров
  • Векторы прерываний

У следующих управляющих бит изменены наименования, но сохранено назначение и расположение в регистре:

  • PWMn0 заменен на WGMn0.
  • PWMn1 заменен на WGMn1.
  • CTCn заменен на WGMn2.

Ниже приведены регистры, которые были добавлены к 16-разр. таймеру-счетчику:

  • Регистр управления таймером-счетчиком С (TCCRnC).
  • Регистр С порога сравнения, OCRnCH и OCRnCL (или OCRnC).

Следующие биты добавлены в регистры управления 16-разр. таймером-счетчиком:

  • COM1C1, COM1C0 добавлены в TCCR1A.
  • FOCnA, FOCnB и FOCnC добавлены в новый регистр TCCRnC.
  • WGMn3 добавлен в TCCRnB.
  • Добавлены флаг прерываний и биты маски прерываний для канала сравнения С. Некоторые усовершенствования в ряде случаев затрагивают вопрос совместимости.

Подсистема таймера/счетчика

Микроконтроллера ATmega128

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

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

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

Модуль таймера 8-разрядного МК представляет собой 8-ми или 16-разрядный счетчик со схемой управления. Схемотехникой МК обычно предусматривается возможность использования таймера в режиме счетчика внешних событий, поэтому его часто называют таймером/счетчиком.

Таймер-счетчик общего назначения (General Purpose Timer/Counter) предназначен для формирования запроса прерывания при истечении заданного интервала времени (режим таймера) или свершении заданного числа событий (режим счетчика). Микроконтроллеры семейства AVR могут иметь от одного до четырех таймеров-счетчиков общего назначения Т/Сx (x-номер таймера-счетчика, x=0, 1, 2, 3).

Основным элементом таймера-счетчика является базовый счетчик, который ведет счет на сложение. При его переполнении формируется запрос прерывания Т/Сx OVF.

Таймер-счетчик общего назначения может выполнять дополнитель­ные функции:

— функцию широтно-импульсного модулятора;

— функцию счета реального времени.

Функция захвата (capture) заключается в запоминании кода, сфор­мированного в базовом счетчике, в специальном регистре захвата при изменении значения определенного внешнего или внутреннего сигнала. При этом формируется запрос прерывания Т/СХ САРТ,

Функция сравнения (compare) заключается в изменении значения сигнала на определенном выходе микроконтроллера при совпадении кода, формируемого в базовом счетчике, с кодом в специальном регистре сравнения. Приэтом формируется запрос прерывания Т/СХ СОМР.

Функция широтно-импульсного модулятора (PWM) заключается в формировании на определенном выходе микроконтроллера импульсной последовательности с заданными периодом повторения и длительностью импульсов.

Широтно-импульсная модуляция (ШИМ, англ. Pulse-width modulation (PWM)) — приближение желаемого сигнала (многоуровневого или непрерывного) к действительным бинарным сигналам (с двумя уровнями — вкл/выкл), так, что, в среднем, за некоторый отрезок времени, их значения равны. Формально, это можно записать так [18]:

,

где x(t) — желаемый входной сигнал в пределе от t1 до t2, а ∆Ti — продолжительность i -го ШИМ импульса, с амплитудой A. ∆Ti подбирается таким образом, что суммарные площади (энергии) обеих величин приблизительно равны за достаточно продолжительный промежуток времени, равны так же и средние значения величин за период:

.

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

При широтно-импульсной модуляции в качестве несущего колебания используется периодическая последовательность прямоугольных импульсов, а информационным параметром, связанным с дискретным модулирующим сигналом, является длительность этих импульсов (рис. 2.21). Периодическая последовательность прямоугольных импульсов одинаковой длительности имеет постоянную составляющую, обратно пропорциональную скважности импульсов, то есть прямо пропорциональную их длительности. Пропустив импульсы через ФНЧ с частотой среза, значительно меньшей, чем частота следования импульсов, эту постоянную составляющую можно легко выделить, получив постоянное напряжение. Если длительность импульсов будет различной, ФНЧ выделит медленно меняющееся напряжение, отслеживающее закон изменения длительности импульсов. Таким образом, с помощью ШИМ можно создать несложный ЦАП: значения отсчётов сигнала кодируются длительностью импульсов, а ФНЧ преобразует импульсную последовательность в плавно меняющийся сигнал.

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

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

Меняя скважность (отношение длительности периода к длительности импульса) можно плавно менять эту площадь, а значит и напряжение на выходе.

Таким образом, если на выходе генератора сплошные 1, то на выходе ШИМ будет напряжение высокого уровня, а если нули, то ноль. А если 50% времени будет высокий уровень, а 50% низкий, то на выходе будет среднее напряжение (рис. 2.21).

Восстанавливается непрерывный аналоговый сигнал арифметическим усреднением импульсов за много периодов при помощи простейшего фильтра низких частот (рис. 2.22). Хотя обычно даже этого не требуется, так как электромеханические составляющие привода обладают индуктивностью, а объект управления (ОУ) — инерцией, импульсы с выхода ШИМ сглаживаются и ОУ, при достаточной частоте ШИМ-сигнала, ведёт себя как при управлении обычным аналоговым сигналом.

Функции сравнения и PWM реализуются с использованием одного и того же оборудования. Выбор нужной функции выполняется про­граммными средствами.

Функция счета реального времени (Real Time Clock) реализуется в таймере-счетчике при использовании дополнительного внутреннего гене­ратора с внешним кварцевым резонатором с частотой 32768 Гц («часовой» кварц). При этом параметры процессов в таймере-счетчике с высокой точностью привязаны к единице измерения реального времени — секунде. В зависимости от разрядности счетчика и выполняемых дополни­тельных функций могут быть выделены пять типов таймеров-счетчиков общего назначения, входящих в группу периферийных устройств мик­роконтроллеров семейства AVR.

голоса
Рейтинг статьи
Читайте так же:
Подключение нескольких счетчиков по rs 485
Ссылка на основную публикацию