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

Микроконтроллера 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.