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 В |
0 0 0 0 1 1 1 1 | 0 0 1 1 0 0 1 1 | 0 1 0 1 0 1 0 1 | 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.
0 комментариев