Таблица 2.6 – Комбинации состояний разрядов PWM11 и PWM10 регистра управления TCCR1A
PWM11
PWM10
Nmax
0
1 1
1
255
511
1023
Сигнал PWM формируется путем изменения значения сигнала на выходе ОС1 при совпадении кодов в базовом счетчике и регистре OCR1 в процессе счета на сложение и на вычитание. Вид изменения сигнала зависит от состояния разряда СОМ1А0. На рисунке 2.8 изображены графики изменения числа в базовом счетчике (TCNT1) и временные диаграммы сигнала PWM при разных состояниях разряда СОМ1А0.
Рисунок 2.8 – Графики изменения числа в базовом счетчике (TCNT1) и временные диаграммы сигнала PWM
Период сигнала PWM (T) зависит от максимального числа, до которого выполняется счет на сложение. При Nmax = 255 период в 510 раз больше периода следования импульсов на счетном входе базового счетчика. При Nmax = 511 и 1023 это отношение равно 1022 и 2046 соответственно.
Разряд СТС1 регистра TCCR1B в режиме PWM не используется. Запрос прерывания T/C1 OVF формируется при переходе базового счетчика от числа 0 к числу 1. При записи кода в регистр OCR1 код запоминается в регистре временного хранения. Перепись кода в регистр OCR1 выполняется при появлении в базовом счетчике максимального числа, что предотвращает появление в сигнале PWM импульса со случайной длительностью.
В качестве выхода ОС1 у микроконтроллера типа 2313 используется вывод порта РВЗ, а у микроконтроллера типа 4433 – вывод порта PB1 [2].
2.7 Таймер/счетчик типа Е
Таймер/счетчик типа Е входит в состав периферийных устройств микроконтроллеров типа 8515, 8535, m163 и m10З и имеет имя Т/С1. Он содержит шестнадцатиразрядный базовый счетчик и выполняет функцию сравнения/PWM в двух каналах (А и В) и функцию захвата.
В структуру таймера/счетчика типа Е входят все элементы структуры таймера/счетчика типа D. Элементы на схеме рисунке 2.7, используемые при выполнении функции сравнения/PWM, образуют канал А. Дополнительные элементы, образующие канал В, изображены на схеме рисунке 2.9.
Рисунок 2.9 – Структурная схема таймера счетчика типа Е
Дополнительными элементами являются компаратор канала В (KB), регистр сравнения OCR1BH, L, два дополнительных разряда СОМ1В0 и СОМ1В1 в регистре TCCR1A, дополнительный разряд OCF1B в регистре TIFR и дополнительный разряд OCE1B в регистре TIMSK. В канале В формируется запрос прерывания Т/С1 СОМРВ.
Сигнал, изменяемый при выполнении функции сравнения, и сигнал PWM поступают на выход ОС1В.
Выводы микроконтроллера, используемые в качестве входов Т1 и CP и выходов ОС1А и ОС1В у микроконтроллеров разных типов, указаны в таблице 2.7.
Таблица 2.7 – Выводы микроконтроллера, используемые в качестве входов Т1 и CP и выходов ОС1А и ОС1В
Выводы Т/С1
Тип МК
8515
8535
m163
m103
Т1
РВ1
PD6
ICР
О.B.
PD4
ОС1А
PD5
РВ5
ОС1В
РВ6
О.В. – отдельный вывод корпуса.
В микроконтроллере типа m163 в регистре TCCR1A имеются два дополнительных разряда – FOC1А и FOC1В. При установке разряда в единичное состояние при выполнении функции сравнения сигнал на выходе ОС1А/В принимает требуемое значение немедленно, не дожидаясь совпадения сравниваемых кодов. Запрос прерывания при этом не формируется и базовый счетчик в нулевое состояние не сбрасывается. Разряд сбрасывается в нулевое состояние аппаратно. В режиме PWM эти разряды не используются.
В регистре SFIOR имеется дополнительный разряд PSR10. При установке этого разряда в единичное состояние пересчетная схема сбрасывается в исходное (нулевое) состояние. Разряд PSR10 сбрасывается в нулевое состояние аппаратно [2].
2.8 Сторожевой таймер
В состав сторожевого таймера входят автономный генератор, пересчетная схема, регистр управления WDTCR и схема управления. Структурная схема сторожевого таймера изображена на рисунке 2.10.
Рисунок 2.10 – Структурная схема сторожевого таймера
Генератор GWDT формирует импульсную последовательность. Частота следования импульсов зависит от напряжения питания микроконтроллера (1 МГц при Vcc = 5 В, 350 кГц при Vcc = 3 В). В пересчетной схеме ПС, содержащей многоразрядный счетчик, выполняется деление частоты сигнала генератора. На восьми выходах пересчетной схемы формируются сигналы, частота которых в N раз меньше частоты входного сигнала. Выбор выхода пересчетной схемы с требуемым коэффициентом деления N определяется комбинацией состояния разрядов WDP0, WDP1 и WDP2 регистра WDTCR в соответствии с таблицей 2.8.
Таблица 2.8 – Комбинации состояний разрядов WDP0, WDP1 и WDP2 регистра WDTCR
WDP2
WDP1
WDP0
N
TOUT, Vqc = 5 В
TOUT, Vqc = 3 В
16К
32 К
64 К
128 К
256 К
512 К
1024 К
2048 К
15 мс
30 мс
60 мс
120 мс
240 мс
490 мс
970 мс
1,9 с
47 мс
94 мс
190 мс
380 мс
750 мс
1,5 с
3,0 с
6,0 с
При единичном состоянии разряда WDE регистра WDTCR на выходе схемы управления СУ с частотой выбранного сигнала формируется запрос прерывания WDT Reset, при появлении которого происходит перезапуск микроконтроллера WDT Reset.
По команде с мнемокодом WDR выполняется сброс пересчетной схемы в исходное (нулевое) состояние.
Для запуска сторожевого таймера необходимо в ходе программы выполнить команду WDR и затем установить в единичное состояние разряд WDE регистра WDTCR.
Для остановки сторожевого таймера необходимо установить в единичное состояние разряд WDTOE регистра WDTCR и одновременно повторно установить в единичное состояние разряд WDE, затем не позднее, чем через четыре такта после этого сбросить в нулевое со стояние разряд WDE. Разряд WDTOE сбрасывает в нулевое состояние аппаратно через четыре такта после установки его в единичное состояние. У микроконтроллера типа 1200 разряд WDTOE отсутствует.
Перезапуск сторожевого таймера происходит при выполнении команды WDR в ходе программы при единичном состоянии разряда WDE.
Программа, в которой предусмотрено использование сторожевого таймера, должна периодически с интервалом меньшим, чем период формирования запроса прерывания WDT Reset, с использованием команды WDR перезапускать сторожевой таймер. Если при появлении сбоя команда WDR своевременно не выполняется, происходит перезапуск микроконтроллера. Интервал времени TOUT, через который следует выполнять команду WDR в ходе программы, при разных значениях коэффициента деления N и напряжения питания Vcc указан в таблице 2.8 [3].
3 Программная модель и принципы работы АЦП микроконтроллеров семейства AVR
3.1 Структура АЦП
Основные характеристики:
- разрешение 10 разрядов;
- точность ±1/2 LSB;
- время преобразования 70...280 мс;
- 8 мультиплексируемых каналов входа;
- режимы циклического и однократного преобразования;
- прерывание по завершению ADC преобразования;
- устройство подавления шумов Sleep режима [4].
Микроконтроллеры типа t15, 4433, 8535, m163 и m103 оснащены 10-разрядным ADC последовательного приближения. ADC подсоединен к 8-канальному аналоговому мультиплексору, позволяющему использовать любой вывод порта F в качестве входа ADC. ADC содержит усилитель выборки/хранения, удерживающий напряжение входа ADC во время преобразования на неизменном уровне. Блок-схема ADC представлена на рисунке 3.1. Для питания ADC используются два отдельных вывода: AVCC и AGND. Вывод AGND должен быть подсоединен к GND и напряжение AVCC не должно отличаться от напряжения VCC более чем на 0,4В.
Рисунок 3.1 – Блок-схема аналого-цифрового преобразователя
Внешнее напряжение сравнения подается на вывод AREF и должно быть в диапазоне от 2,7 В до AVCC.
3.2 Работа аналого-цифрового преобразователя
Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и режиме циклического преобразования. В режиме однократного преобразования каждое преобразование инициируется пользователем. В режиме циклического преобразования ADC осуществляет выборку и обновление содержимого регистра данных ADC непрерывно. Выбор режима производится битом ADFR регистра ADCSR.
Страницы: 1, 2, 3, 4, 5