Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Предварительные делители таймеров/счётчиков. Блоки предвари­тельных делителей предназначены для формирования тактовых сигна­лов таймеров/счётчиков clk
, clkT1, clkT2, clkT3. На рис. 1.4 изображена
T0
схема блока, работающая в синхронном режиме, а на рис. 1.5 – схема с возможностью работы в асинхронном режиме.
Рис. 1.4. Схема блока тактирования, работающая в синхронном режиме:
n = 0,1,3 для ATmega162x (PSRx-PSR310); 1,2,3 для ATmega 64 и ATmega 128x
(PSRx-PSR321); 0,1 для остальных моделей
Как показано на рис. 1.4 и 1.5, в состав каждого блока входят соб­ственно 10-разрядный предварительный делитель и выходной мульти­плексор (селектор тактового сигнала), а для таймеров, имеющих воз­можность работы в асинхронном режиме, еще и входной мультиплек­сор исходного тактового сигнала.
Некоторые таймеры/счётчики могут использовать в качестве такто­вого сигнала внешний
сигнал. Такими таймерами обладают модели микроконтроллеров, отмеченные в табл. 1.5. при этом нужно учиты­вать, что частота внешнего сигнала должна быть в 2,5 раза меньше тактовой частоты микроконтроллера.
11
Рис. 1.5. Схема блока тактирования, работающая в асинхронном режиме:
n = 1 для ATmega64 и ATmega128, n = 2 для остальных моделей (кроме ATmega8515х)
Таблица 1.5
Модели микроконтроллеров, таймеры которых могут управляться
внешними сигналами
Тай­мер/
счет-
чик
Atmega8x
Atmega8515x
T0 Δ Δ Δ Δ Δ Δ Δ Δ – –
T1 Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ
T2 – – – – – – – – Δ Δ
T3 – – – – – – – – Δ Δ
Atmega16x
Atmega161x
Atmega162x
Atmega163x
Atmega32x
Atmega323x
Atmega64x
Atmega128x
12
Режимы работы таймеров/ счётчиков. Всего определено четыре
режима работы таймеров счётчиков:
1) нормальный режим;
2) режим ШИМ с фазовой коррекцией;
3) режим – сброс при совпадении;
4) режим – быстрое ШИМ.
В табл. 1.6 отмечены данные режимы, а также указаны биты для
выбора соответствующего режима работы.
Таблица 1.6
Выбор режима работы таймера/счетчика
Номер
режима
0 0 0 Normal
1 0 1 Phase Correct PWM
2 1 0 CTCn (Сброс при совпадении)
3 1 1 FAST PWM
WGMn1
(CTCn)
WGMn0 (PWMn)
Режимы работы
Первый режим (Normal) является наиболее простым, счетный ре­гистр представляет собой суммирующий счётчик. По каждому им­пульсу тактового сигнала происходит увеличение счётчика на едини­цу. При переходе через значение $FF происходит переполнение и счёт продолжается со значения $00. В том же такте сигнала, в котором про­исходит переполнение, выставляется в лог. 1 флаг TOV0
(TOV2). При равенстве счётного регистра и регистра сравнения устанавливается флаг прерывания OFC0 (OFC2). И если разряд OCIE0 (OCIE2) реги­стра TIMASK установлен – генерируется прерывание. Вместе с уста­новкой флага прерывания при равенстве счётного регистра и регистра сравнения может изменяться состояние вывода ОС0 (ОС2) микро­контроллера.
13
Таблица 1.7
Управление выводом ОС0 (ОС2) в режиме Normal
СОМn1 СОМn2 Описание
0 0 Таймер/счетчик Тn отключен от вывода ОСn
0 1 Состояние вывода меняется на противоположное
1 0 Вывод сбрасывается в 0
1 1 Вывод устанавливается в 1
n = 0 либо n = 2.
Режим СТС (сброс при совпадении). В этом режиме счётный ре­гистр тоже функционирует как суммирующий счётчик, у которого прибавление единицы осуществляется по каждому импульсу тактового сигнала clk
(clkT2). Однако максимально возможное значение счётно-
T0
го регистра и, следовательно, разрешающая способность счётчика определяются регистром сравнения OCR0 (OCR2). После достижения значения, записанного в регистре сравнения, счёт продолжается со значения «$00». В том же такте сигнала clk
(clkT2), в котором обнуля-
T0
ется счётный регистр, устанавливается флаг прерывания TOV0 (TOV2) регистра TIFR. Временные диаграммы для этого режима работы тай­мера/счётчика изображены на рис. 1.6.
Устанавливается
флаг прерывания
n
ОС
Ocn
TCNT0
Ocn
Ocn
перекл
Период
0TCNT
COM
COM
10n
n10
1234
Рис. 1.6. Временные диаграммы для режима СТС
14
По достижении максимального значения устанавливается флаг
f
OCF0 (OCF2) регистра TIFR. Одновременно с установкой флага может изменяться состояние вывода ОС0 (ОС2) микроконтроллера. Поведе­ние вывода определяется разрядами СОМ01:СОМ00 (СОМ21:СОМ20) регистра TCCR0 (TCCR2) (табл. 1.8).
Таблица 1.8
Управление выводом ОС0 (ОС2) в режиме СТС
СОМn1 СОМn2 Описание
0 0 Таймер/счетчик Тn отключен от вывода ОСn
0 1 Состояние вывода меняется на противоположное
1 0 Вывод сбрасывается в 0
1 1 Вывод устанавливается в 1
n = 0 либо n = 2.
Для генерации сигнала заданной частоты необходимо записать в разряды СОМ01:СОМ00 (СОМ21:СОМ20) значение 01. Частота сфор­мированного сигнала будет определяться выражением
fNOSRn
OCn clk I O
2(1 )
_/
,
где N – коэффициент деления.
При необходимости состояние вывода ОС0 (ОС2) может быть из­менено принудительно установкой в лог. 1 разряда FOC0 (FOC2) реги­стра TCCR0 (TCCR2). При этом не будет формироваться прерывание и не будет произведено сброса счётного регистра.
Режим FAST PWM означает быстродействующее широтно­импульсное моделирование и позволяет формировать высокочастот-
сигнал с широтно-импульсной модуляцией. В связи с высокой ча-
ный стотой генерируемого сигнала данный режим с успехом может исполь­зоваться в таких работах, как регулирование мощности, выпрямление, цифроаналоговое преобразование и др.
15
Счётный регистр в этом режиме функционирует как суммирующий счётчик, у которого увеличение значения осуществляется по каждому импульсу тактового сигнала clk
(clkT2). Состояние счётчика изменяет-
T0
ся от $00 до $FF, после этого счётный регистр сбрасывается и цикл повторяется. При достижении счётчиком максимального значения устанавливается флаг прерывания TOV0 (TOV2) регистра TIFR. При равенстве содержимого счётного регистра и регистра сравнения OCR0 (OCR2) устанавливается флаг OCF0 (OCF2) регистра TIFR.
Особенностью работы схемы сравнения в этом режиме является двойная буферизация записи регистра OCR0 (OCR2), заключающаяся в том, что записываемое число на самом деле сохраняется в специ­альном буферном регистре. Изменение содержимого регистра срав­нения происходит только в момент достижения счётчиком макси­мального значения $FF. Благодаря этому исключается появление несимметричных импульсов сигнала на выходе модулятора (помех), которые были бы
неизбежны при непосредственной записи в регистр
сравнения.
Поведение вывода ОС0 (ОС2) микроконтроллера в этом режиме также определяется содержимым разрядов СОМ01: СОМ02 (СОМ21:СОМ20) регистра TCCR0 (TCCR2) (табл. 1.9 и рис. 1.7).
Таблица 1.9
Поведение вывода ОСn в режиме FAST PWM
СОМn1 COMn0 Поведение вывода ОСn
0 0 Таймер/счётчик Tn отключен
0 1 Не используется
1 0 Сбрасывается в 0 при равенстве регистров TCNTn
и OCRn. Устанавливается в лог. 1 при TCNTn = $00 (неинвертированный ШИМ-сигнал)
1 1 Устанавливается в лог. 1 при равенстве регистров
TCNTn и OCRn. Сбрасывается в 0 при TCNTn = $00 (инвертированный ШИМ-сигнал)
n = 0 либо n = 2.
16
OCRn
f
OCRn
TCNTn
TCNTn
OCRn
OCRn
OCRn
OCRn
Период
12 3456 7
Рис. 1.7. Формирование ШИМ-сигнала в режиме Fast – PWM
Частота формируемого сигнала
Устанавливается флаг
прерывания ОСn
Обновляется регистр
OCRn и устанавливается
флаг прерывания TONn
COM
COM
COM
COM
n1:0
n1:0
Ocn
TONn
2
=2
1:0n
3
=3
1:0n
_/
256
,
fN
OCn clk I O
где N – коэффициент деления.
Отдельно следует рассмотреть случаи, когда в регистре сравнения находятся предельно возможные значения ($00 и $FF). В первом слу­чае, если содержимое регистра сравнения OCR0 (OCR2) равно $00, на выходе ОС0 (ОС2) при каждом 256-м такте сигнала clk
(clkT2) бу-
T0
дут наблюдаться короткие выбросы. Если же содержимое регистра сравнения OCR0 (OCR2) равно $FF, то вывод ОС0 (ОС2) переклю­чается в устойчивое состояние, определяемое установками разрядов
СОМ01:СОМ00 (СОМ21:СОМ20).
Режим Phase Correct PWM. Режим Phase Correct PWM – широтно­импульсное моделирование с точной фазировкой. В отличие от режима FAST PWM здесь счётный регистр функционирует как
реверсивный счётчик, изменение состояния которого осуществляется по каждому импульсу тактового сигнала clk
(clkT2). Состояние счётчика сначала
T0
изменяется от $00 до $FF, а затем обратно до $00. Соответственно мак-
17
симальная частота сигнала при этом в два раза ниже максимальной частоты сигнала в режиме FAST PWM. Тем не менее благодаря «сим­метричности» изменения состояния счётчика, данный режим предпо­чтительнее использовать в электрических приводах. При достижении счётчиком максимального значения ($FF) происходит смена направле­ния счёта, но счётчик остаётся в этом состоянии в течение каждого риода сигнала clk
(clkT2). При достижении счётчиком минимального
T0
пе-
значения ($00) также происходит смена направления счёта и одновре­менно устанавливается флаг прерывания TOV0 (TOV2) регистра TIFR. При равенстве содержимого счётного регистра и регистра сравнения OCR0 (OCR2) устанавливается флаг регистра TIFR и изменяется состо­яние вывода ОС0 (ОС2). Каким образом изменяется состояние вывода
ОС0 (ОС2), определяется, как обычно, содержимым разрядов СОМ01:СОМ00 (СОМ21:СОМ20) регистра TCCR0 (TCCR2) (табл. 1.10,
рис. 1.8).
Таблица 1.10
Поведение вывода ОС0 (ОС2) в режиме Phase Correct PWM
СОМn1 COMn0 Поведение вывода ОСn
0 0 Таймер/счётчик Tn отключен
0 1 Не используется
1 0 Сбрасывается в 0 при прямом счёте и устанавлива-
ется в лог. 1 при обратном счёте (неинвертирован­ный ШИМ-сигнал)
1 1 Устанавливается в лог. 1 при прямом счёте и сбра-
сывается в 0 при обратном счёте (инвертированный ШИМ-сигнал)
n = 0.
Для недопущения несимметричных выбросов в этом режиме также реализована двойная буферизация записи в регистр OCR0 (OCR2). Бла­годаря этому действительное изменение содержимого регистра срав­нения происходит только в момент достижения счётчиком максималь­ного значения $FF.
18
Рис. 1.8. Формирование ШИМ-сигнала в режиме Phase Correct PWM
Если в регистр сравнения записать значение $00 или $FF, то при следующем совпадении состояния счётчика и содержимого регистра сравнения выход схемы переключается в устойчивое состояние со­гласно табл. 1.11.
Таблица 1.11
Переключение выхода схемы сравнения
СОМn1 СОМn2 Регистр OCRn Состояние вывода ОСn
1 0 $00 0
1 0 $FF 1
1 1 $00 1
1 1 $FF 0
n = 0 или n = 2.
19
Частота формируемого сигнала в рассматриваемом режиме сигнала
f
определяется выражением
_/
512
,
fN
OCn clk I O
где n – коэффициент деления предварительного делителя.
Тактирование
С микроконтроллерами семейства Mega могут использоваться са­мые различные источники тактового сигнала [2]. Прежде всего это встроенный кварцевый генератор с подключаемым внешним резонато­ром. Рассматриваемые микроконтроллеры для формирования тактово­го сигнала могут использовать простейший RC-генератор. Необходи­мая RC-цепочка уже присутствует в микроконтроллере. Тем не менее можно использовать внешнюю RC-цепь. Кроме ния тактового сигнала имеется специальный вывод для подключения внешнего источника тактовых импульсов.
Микроконтроллеры семейства Mega имеют до шести режимов по­ниженного энергопотребления, что важно для устройств с автоном­ным питанием. Для ввода микроконтроллера в режим малого энерго­потребления, т. е. в спящий режим, имеется ассемблерная команда
SLEEP.
Для выхода из этого режима выполняется сброс микро-
контроллера.
Сброс микроконтроллера может быть осуществлен также по дру­гим различным событиям, а именно: сброс микроконтроллера внеш­ним устройством, подача сигнала низкого уровня на вход RESET, сни­жение напряжения питания ниже минимального допустимого уровня, срабатывание сторожевого таймера и др.
Упрощенное устройство синхронизации микроконтроллеров мейства Mega показано на рис. 1.9, из которого видно, что на основе основного тактового сигнала формируются дополнительные сигналы, используемые для тактирования различных блоков и модулей.
Это такие сигналы:
clk
– тактовый сигнал центрального процессора, используется
cpu
для тактирования блоков микроконтроллера, отвечающих за работу с ядром микроконтроллера (регистровый файл, память данных и т.п.). При выключении этого сигнала центральный процессор останавлива­ется и все вычисления прекращаются;
того, для формирова-
се-
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]