Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОМТ Рекомендуется к прочтению К 5 задаче.docx
Скачиваний:
3
Добавлен:
06.03.2016
Размер:
54.21 Кб
Скачать

Initial value 0 0 0 0 0 0 0 0

7 6 5 4 3 2 1 0

F0C2

WGM20

COM21

COM20

WGM21

CS22

CS21

CS20

Read/Write W R/W R/W R/W R/W R/W R/W R/W

Initial value 0 0 0 0 0 0 0 0

Рисунок 1.2 – Формат регистров TCCR0 и TCCR2

Управление тактовым сигналом. Формирование тактового сигнала таймера/счетчика clkТ0 (clkТ2) осуществляется блоком предделителя.

В качестве тактового сигнала clkТ0 (clkТ2) таймера/счетчика ТО исполнений 1, 2 и таймера/счетчика Т2 исполнения 2 может использоваться:

системный тактовый сигнал clkТ0(Т2) = clkI/O; масштабированный системный тактовый сигнал clkТ0(Т2) = clkI/O / n; внешний сигнал, поступающий на вход Т0 (Т2) микроконтроллера clkТ0(Т2) = clkFXT .

Тактовый сигнал таймеров/счетчиков Т0 и Т2 исполнения 3 может формироваться либо из системного тактового сигнала clkI/O (clkТ0(Т2) = clkI/O / n), либо в асинхронном режиме из сигнала от дополнительного кварцевого резонатора (clkТ0(Т2) = clkTOSK1 / n). Переключение между синхронным и асин­хронным режимами работы осуществляется с помощью разряда AS0 (AS2) регистра ASSR.

Выбор источника тактового сигнала, а также запуск и остановка таймеров/счетчиков осуществляются с помощью разрядов CS02...CS00 (CS22...CS20) регистра управления таймером TCCR0 (TCCR2).

Таблица 3. Выбор источника тактового сигнала таймеров/счетчиков T0 и T2

CSn2

CSn1

CSn0

Источник тактового сигнала

Исполнения 1,2

Исполнение 3

ASn = «0»

ASn = «1»

0

0

0

Таймер/счетчик остановлен

Таймер/счетчик остановлен

0

0

1

clkI/O

clkI/O

clkTOSC1

0

1

0

clkI/O/8

clkI/O/8

clkTOSC1/8

0

1

1

clkI/O/64

clkI/O/32

clkTOSC1/32

1

0

0

clkI/O/256

clkI/O/64

clkTOSC1/64

1

0

1

clkI/O/1024

clkI/O/128

clkTOSC1/128

1

1

0

Вывод Tn, счет осуществляется по спадающему фронту импульсов

clkI/O/256

clkTOSC1/256

1

1

1

Вывод Tn, счет осуществляется по нарастающему фронту импульсов

clkI/O/1024

clkTOSC1/1024

Примечание: n = 0 или 2.

Режимы работы. Режимы работы таймеров/счетчиков Т0 (Т2) определяются состоянием раз­рядов WGMn1:WGMn0 регистра TCCR0 (TCCR2). Зависимость режима работы таймеров/счетчиков от состояния этих разрядов показана в таблице ниже:

Таблица 4. Режимы работы таймера/счетчика Т0 (Т2)

Номер режима

WGMn1 (CTCn)

WGMn0 (PWMn)

Описание

0

0

0

Normal

1

0

1

Phase correct PWM

2

1

0

CTC (сброс при совпадении)

3

1

1

Fast PWM

Примечание: n = 0 или 2.

Режим Normal. Это наиболее простой режим работы таймеров/счетчиков, а в таймере/счетчике Т0 моделей ATmega8x и ATmega163x это вообще единственный режим. В этом режиме счетный регистр функционирует как обычный суммирующий счетчик. По каждому импульсу тактового сигнала clkT0 (clkT2) осуществляется инкремент счетного регистра. При переходе через значение $FF возникает переполнение, и счет продолжается со значения $00. В том же такте сигнала clkT0 (clkT2), в котором обнуляется регистр TCNT0 (TCNT2), устанавливается в «1» флаг переполнения TOV0 (TOV2).

В таймерах/счетчиках исполнений 2 и 3 при равенстве счетного регистра и регистра сравнения устанавливается флаг прерывания OCF0 (OCF2) и, если разряд ОС1Е0(ОС1Е2) регистра TIMSK установлен в «1», генерируется прерывание. Наряду с установкой флага при равенстве счетного регистра и регистра сравнения может изменяться состояние выход ОС0 (ОС2) микроконтроллера. Каким образом оно будет изменяться, определяется разрядами СОМ01:СОМ00 (СОМ21:СОМ20) регистра TCCR0 (TCCR2) в соответствии с таблицей 5.

Таблица 5. Управление выводом ОС0 (ОС2) в режиме Normal

СОМn1

СОМn0

Описание

0

0

Таймер/счетчик отключен от вывода ОСn

0

1

Состояние вывода меняется на противоположное

1

0

Вывод сбрасывается в «0»

1

1

Вывод устанавливается в «1»

Примечание: n = 0 или 2.

При необходимости состояние вывода ОС0 (ОС2) может быть изменено принудительно, записью лог. 1 в разряд FOC0 (FOC2) регистра TCCR0 (TCCR2). Прерывание при этом не генерируется.

Режим СТС (сброс при совпадении). В этом режиме счетный регистр тоже функционирует как обычный суммирующий счетчик, инкремент которого осуществляется по каждому импульсу тактового сигнала clkT0 (clkT2). Однако максимально возможное значение счетного регистра и, следовательно, разрешающая способность счетчика определяется регистром сравнения OCR0 (OCR2). После достижения значения, записанного в регистре сравнения, счет продолжается со значения «$00». В том же такте сигнала clkT0 (clkT2), в котором обнуляется счетный регистр, устанавливается флаг прерывания TOV0 (TOV2) регистра ТIFR.

При достижении счетчиком максимального значения устанавливается флаг OCF0 (OCF2) регистра TIFR. Одновременно с установкой флага мо­жет изменяться состояние вывода ОС0 (ОС2) микроконтроллера. Поведе­ние вывода определяется разрядами СОМ01:СОМ00 (COM21:COM20 регистрa TCCR0 (TCCR2), как указано в таблице 6.

Таблица 6. Управление выводом ОС0 (ОС2) в режиме СТС

СОМn1

СОМn0

Описание

0

0

Таймер/счетчик отключен от вывода ОСn

0

1

Состояние вывода меняется на противоположное

1

0

Вывод сбрасывается в «0»

1

1

Вывод устанавливается в «1»

Примечание: n = 0 или 2.

Для генерации сигнала заданной частоты необходимо записать в разряды СОМ01:СОМ00 (СОМ21:СОМ20) значение «01» (переключение состояния вывода). Частота генерируемого сигнала будет определиться выражением fOCn = fclk I/O/2N/(1+OCRn), где N — коэффициент деления предделителя.

При необходимости состояние вывода ОС0 (0С2) может быть изменено принудительно, записью лог. 1 в разряд FOC0 (F0C2) регистра TCCR0 (TCCR2). Прерывание при этом не генерируется и сброса счетного регистра не производится.

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

Счетный регистр в этом режиме функционирует как суммирующий счетчик, инкремент которого осуществляется по каждому импульсу тактового сигнала clkT0 (clk T2). Состояние счетчика изменяется от $00 до $FF, после чего счетный регистр сбрасывается и цикл повторяется. При достижении счетчиком максимального значения устанавливается флаг прерывания TOV0 (TOV2) регистра TIFR. При равенстве содержимого счетного регистра и регистра сравнения OCR0 (OCR2) устанавливается флаг OCF0 (OCF2) регистра TIFR.

Особенностью работы схемы сравнения в этом режиме является двойная буферизация записи в регистр OCR0 (OCR2), заключающаяся в том, что за­даваемое число на самом деле сохраняется в специальном буферном регистре. А изменение содержимого регистра сравнения происходит только в момент достижения счетчиком максимального значения $FF. Благодаря такому решению исключается появление несимметричных импульсов сигнала на выходе модулятора (помех), которые были бы неизбежны при непосредственной записи в регистр сравнения.

Поведение вывода ОС0 (ОС2) микроконтроллера в этом режиме также определяется содержимым разрядов СОМ01:СОМ00 (СОМ21:СОМ20) регистра TCCR0 (TCCR1).

Таблица 7. Поведение вывода ОС0 (ОС2) в режиме Fast PWM

СОМn1

СОМn0

Описание

0

0

Таймер/счетчик отключен от вывода ОСn

0

1

Зарезервировано

1

0

Сбрасывается в «0» при равенстве регистров TCNTn и OCRn. Устанавливается в «1» при TCNTn = $00 (неинвертированный ШИМ-сигнал)

1

1

Устанавливается в «1» при равенстве регистров TCNTn и OCRn. Сбрасывается в «0» при TCNTn = $00 (инвертированный ШИМ-сигнал)

Примечание: n = 0 или 2.

Частота генерируемого сигнала fOCn = fclk I/O/256N, где N — коэффици­ент деления предделителя.

Отдельно следует рассмотреть случаи, когда в регистре сравнения нахо­дятся предельно возможные значения ($00 и $FF). В первом случае, сети со­держимое регистра сравнения OCR0 (OCR2) равно $00, на выходе ОС0 (ОС2) при каждом 256-м такте сигнала clkT0 (clkT2) будут наблюдаться корот­кое выбросы.

Режим Phase Correct PWM. Режим Phase Correct PWM (ШИМ с точной фазой), как и режим Fast PWM, предназначен для генерации сигналов с широтно-импульсной моду­ляцией. Однако в этом режиме счетный регистр функционирует как ревер­сивный счетчик, изменение состояния которого осуществляется по каждому импульсу тактового сигнала clkT0 (clkT2). Состояние счетчика сначала изме­нялся от $00 до $FF, а затем обратно до $00. Соответственно максимальная частота сигнала в этом режиме в два раза меньше максимальной частоты сигнала в режиме Fast PWM. Тем не менее, благодаря «симметричности» изменения состояния счетчика, режим Phase Correct PWM предпочтительнее использовать для решения задач управления двигателями.

При достижении счетчиком максимального ($FF) значения происходи смена направления счета, но счетчик остается в этом состоянии в течение одного периода сигнала clkT0 (clkT2). При достижении счетчиком минимального значения ($00) также происходит смена направления счета и одновременно устанавливается флаг прерывания TOV0 (TOV2) регистра TIFR. При равенстве содержимого счетного регистра и регистра сравнения OCR0 (ОСR2) устанавливается флаг OCF0 (OCF2) регистра TIFR и изменяется состояние вывода ОС0 (ОС2). Каким образом изменяется состояние вывода ОС0 (ОС2) определяется, как обычно, содержимым разрядов СОМ01:СОМ00 (СОМ21:СОМ20) регистра TCCR0 (TCCR2).

Таблица 8. Поведение вывода ОС0 (ОС2) в режиме Phase Correct PWM

СОМn1

СОМn0

Описание

0

0

Таймер/счетчик отключен от вывода ОСn

0

1

Зарезервировано

1

0

Сбрасывается в «0» при прямом счете и устанавливается в «1» при обратном счете (неинвертированный ШИМ-сигнал)

1

1

Устанавливается в «1» при прямом счете и сбрасывается в «0» при обратном счете (инвертированный ШИМ-сигнал)

Примечание: n = 0 или 2.

Для избегания несимметричных выбросов в этом режиме тоже реализована двойная буферизация записи в регистр OCR0 (OCR2). Благодаря этому действительное изменение содержимого регистра сравнения происходит только в момент достижения счетчиком максимального значения $FF.

Если в регистр сравнения записать значение $00 или $FF, то при следующем совпадении состояния счетчика и содержимого регистра сравнения вы­ход схемы сравнения переключится в устойчивое состояние согласно таблице ниже.

Частота генерируемого в рассматриваемом режиме сигнала определяется выражением fOCn = fclk I/O/512N, где N— коэффициент деления предделителя.

АЦП

Аналого-цифровое преобразование.

В МК имеется встроенный 6-канальный 10-битный АЦП. Для управления АЦП используются 2 регистра: регистр мультиплексирования ADMUX и регистр управления ADCSRA.

ADC Multiplexer Selection Register – ADMUX

Bit 7 6 5 4 3 2 1 0

REFS1

REFS0

ADLAR

-

MUX3

MUX2

MUX1

MUX0

ADMUX

Read/Write R/W R/W R/W R R/W R/W R/W R/W

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]