Курсовая работа: Микроконтроллерный регулятор оптимальной системы управления
АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ.
АЦП, имеющий разрядность n=10, встроенный в МК AVRработает по алгоритму последовательных приближений, погрешность преобразования - не более 2 единиц младшего значащего разряда, время преобразования 65 - 260 мкс. АЦП совместно со встроенным аналоговым мультиплексором обеспечивает преобразование в 10-ти разрядный двоичный код сигналов по 8 аналоговым входам (альтернативная функция линий ввода-вывода порта А) в диапазоне напряжений от О (AGND) до опорного (AREF).
Для снижения уровня помех цепи питания (AGND, AVCC) схем преобразования аналоговых сигналов подключаются отдельно (рис. 1), напряжение питания AVCC не должно отличаться от напряжения питания VCC более чем на ±0,3 В. Опорное напряжение должно лежать в диапазоне от 2 В до напряжения питания AVCC. Код АЦП $000 соответствует нулевому входному сигналу, максимальный код $3FF соответствует сигналу, равному опорному, минус вес единицы младшего значащего разряда.
Номер входа мультиплексора, с которого поступает сигнал для преобразования в АЦП, определяется тремя младшими битами MUX2, MUX1, MUXO управляющего регистра ADMUX. Любой из восьми входов может быть выбран через ADMUX записью в него соответствующего кода в любой момент времени, однако переключение входов фактически производится только после завершения очередного цикла преобразования АЦП.
АЦП может работать в режиме однократного преобразования или циклически с автоматическим повторным запуском после каждого преобразования. По окончании преобразования формируется флаг прерывания ADIF со стандартной процедурой вызова вектора прерывания ADC с адресом $00е и записью 10-разрядного кода в двухбайтовый регистр ADCL (младшие 8 бит результата), ADCH (старшие 2 бита результата). Чтение данных из регистра результата ADC должно начинаться обязательно с младшего байта (см. примечание на с. 20). Точность АЦП зависит от тактовой частоты преобразования, рекомендуется диапазон тактовых частот 50 - 200 кГц, при более высоких частотах точность преобразования снижается. Стандартный цикл преобразования требует 13 тактов работы и при рекомендуемом значении тактовой частоты 100 кГц определяет время преобразования 130 мкс.
Кроме регистров ADMUX, ADCH, ADCL, работа АЦП определяется регистром ADCSR, который также содержится в файле регистров ввода-вывода.
Символические имена битов управления в регистре ADCSR
ADEN - бит разрешения: 0 - АЦП выключен, 1 - АЦП включен.
ADSC - бит запуска преобразования, в режиме однократного преобразования. Единица должна записываться при каждом запуске, в циклическом режиме - один раз для запуска первого преобразования.
ADFR - бит режима преобразования: 1 - циклический режим, 0 - однократный.
ADIF - флаг прерывания, устанавливается после завершения преобразования и записи кода в выходной регистр АЦП. Очищается автоматически при вызове вектора прерывания либо записью 1 в этот бит.
ADIE - бит разрешения прерывания АЦП, 1 разрешает прерывание.
ADPS 2, ADPS 1, ADPS 20 - биты управления тактовой частотой АЦП, определяют коэффициент деления тактовой частоты микроконтроллера следующимобразом:
0 - коэффициент деления 2,
1 - коэффициент деления 2,
10 - коэффициент деления 4,
11 - коэффициент деления 8,
100- коэффициент деления 16,
101- коэффициент деления 32,
110- коэффициент деления 64,
111- коэффициент деления 128.
Дополнительное снижение уровня помех для повышения точности преобразования можно получить, если на время преобразования АЦП приостановить работу процессора в микроконтроллере переходом в режим "idle". Возврат в рабочее состояние должна обеспечивать подпрограмма обработки прерывания АЦП.
Рис.15. Структурная схема модуля АЦП.
4. МИКРОКОНТРОЛЛЕР.
Микроконтроллеры фирмы ATMEL с усовершенствованной RISC архитектурой обладают эффективными программно-аппаратными ресурсами для решения различных задач. Семейство микроконтроллеров AVR содержит и простые модели (AT90S1200, AT90S2313) с минимумом необходимых ресурсов, и весьма сложные модели megaAVR с существенно увеличенным объемом памяти, количеством портов ввода-вывода и других средств. Высокая эффективность микроконтроллеров AVR обеспечивается развитой системой команд, выполняющихся, как правило, за один рабочий такт, аппаратной реализацией многих стандартных функций (таймеры, модуляторы ШИМ, параллельные и последовательные порты ввода-вывода, компаратор, АЦП и др.) и возможностью внутрисистемного программирования, т.е. записи программ и данных в ПЗУ микроконтроллера непосредственно в схеме работающего устройства.
Общие архитектурные особенности и программная совместимость микроконтроллеров AVR позволяют использовать одни и те же алгоритмы и рабочие программы на разных моделях. Единственным ограничением применимости может служить только отсутствие необходимых для исполнения программ аппаратных средств в более простых моделях микроконтроллеров.
Существенной общей особенностью всего семейства AVR является использование 32 регистров общего назначения и гарвардской архитектуры с тремя раздельными адресными пространствами: памяти программ (флэш-памяти), оперативной памяти данных (ОЗУ), программируемой постоянной памяти данных (ППЗУ). Флэш-память и ППЗУ являются энергонезависимыми и, как обычно, сохраняют данные при отсутствии питающих напряжений. ОЗУ - это стандартная энергозависимая оперативная память. Система команд поддерживает стандартные операции с однобайтовыми данными, возможны определенные операции с двухбайтовыми словами и отдельными битами. Каждый из 32 восьмиразрядных регистров общего назначения может служить регистром-аккумулятором. Основной формат кодов команд - 2 байта, формат данных - 1 байт.