Разработка устройства управления на базе микроконтроллера AVR семейства Classic фирмы Atmel
Предделитель таймера Т0 позволяет формировать продолжительные временные интервалы (задержки). Для его программирования необходимо загрузить код начальной установки в счетный регистр таймера TCNT0 (адрес $ 32) и определить коэффициент деления предделителя в регистре управления TCCR0 (адрес $ 33). Для расчета величины временной задержки используется формула: Модуль содержит 8-разрядный таймер… Читать ещё >
Разработка устройства управления на базе микроконтроллера AVR семейства Classic фирмы Atmel (реферат, курсовая, диплом, контрольная)
Введение
Микропроцессором (МП) называют построенное на одной или нескольких БИС/СБИС программно-управляемое устройство, осуществляющее процесс обработки информации и управление им.
МП — центральный процессорный элемент микропроцессорной системы, в которую также входят память и устройства ввода/вывода.
Решаемая задача определяется реализуемой программой, структура МП системы остается неизменной, что и определяет ее универсальность.
Совокупность больших/сверхбольших интегральных схем (БИС/СБИС), пригодных для совместного применения в составе микро-ЭВМ, называют микропроцессорным комплектом БИС/СБИС (МПК).
Понятие МПК задает номенклатуру микросхем с точки зрения возможностей их совместного применения. В состав МПК могут входить микросхемы различных серий и схемотехнологических типов при условии их совместимости.
Основной особенностью современного этапа развития микропроцессорных систем является завершение перехода от систем, выполненных на основе нескольких БИС, к однокристальным микроконтроллерам (МК). Микроконтроллеры — разновидность МПС, ориентированная на реализацию алгоритмов управления техническими устройствами и технологическими процессами. Первые МК выпущены фирмой Intel в 1976 г.
МК объединяют в одном кристалле все основные элементы МПС: центральный процессор (ЦП), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), последовательные и параллельные порты ввода/вывода, таймеры, аналого-цифровые и цифроаналоговые преобразователи и другие узлы вычислительной системы. Поэтому вторым названием МК стало название «однокристальная микро-ЭВМ».
В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса:
— 8-разрядные МК для встраиваемых приложений;
— 16- и 32-разрядные МК;
— цифровые сигнальные процессоры (DSP).
Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко использованные в промышленности, бытовой и компьютерной технике.
Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многие другие.
В данном курсовом проекте рассматривается микроконтроллер AVR семейства Classic фирмы Atmel. Микроконтроллеры этого семейства (впрочем, как и все микроконтроллеры AVR фирмы «Atmel») являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений.
В семейство Classic входят микроконтроллеры с различным сочетанием периферийных устройств, различными объемами встроенной памяти и различным количеством выводов. Такое разнообразие дает разработчику возможность сделать оптимальный выбор и использовать именно тот микроконтроллер, который наилучшим образом подходит для его нужд.
1. Структурная схема устройства управления микроконтроллер управление схема Для выполнения функций, перечисленных в техническом задании, схема устройства управления чтения/записи должна содержать следующие блоки:
— микроконтроллер (AVR);
— блок схемы питания;
— генератор тактовых импульсов, обеспечивающий работу центрального процессорного элемента;
— блок объект управления;
Все перечисленные устройства и связи между ними показаны на схеме электрической структурной устройства управления на базе микроконтроллера.
Алгоритм работы устройства поясняется в главе 2.
2. Алгоритм функционирования системы Алгоритм работы микроконтроллера в составе устройства управления обычно имеет цикличную структуру и состоит из следующих блоков:
1. блок подпрограммы начального пуска;
2. блок настройки таймера Т0;
3. блок пуска АЦП;
4. блок проверки входного сигнала;
5. переход в спящий режим и ожидание сигнала таймера;
6. переход к возобновлению цикла работы.
Блок-схема алгоритма работы устройства управления представлена на рисунках 1 и 2. Также на рисунках 3 и 4 представлены диаграммы циклов чтения и записи.
Рисунок 1. Блок-схема алгоритма работы устройства управления команда чтение Рисунок 2. Блок-схема алгоритма работы устройства управления команда чтение Рисунок 3. Диаграмма цикла чтения Рисунок 4. Диаграмма цикла записи
3. Выбор элементной базы В качестве центрального процессорного элемента выбран микроконтроллер AT90S2313, структурная схема которого показана на рисунке 5. Он обладает следующими параметрами:
— 20 портов ввода/вывода
— Ресурс: 100 000 циклов запись/ стирание
— 2 Кбайт Flashпамяти с поддержкой внутрисистемного программирования
— Рабочие регистры общего назначения 32 х 8
— Один 8-ми разрядный таймер/ счетчик с отдельным предварительным делителем частоты
— Один 16-ти разрядный таймер/ счетчик с отдельным предварительным делителем частоты с режимами сравнения и захвата
— Программируемый следящий таймер с встроенным тактовым генератором
— Выбираемые 8, 9, или 10-ти разрядные режимы широтно — импульсной модуляции (ШИМ)
— 15 программируемых линий I/O
— Программируемый сторожевой таймер с отдельным независимым генератором
— Встроенный аналоговый компаратор
— Сброс при включении питания, программируемая защита от провалов питания
— Программируемая блокировка для безопасности программного обеспечения
— Внешние и внутренние источники прерывания
— Экономичные режимы ожидания и пониженного энергопотребления
— Питание VCC: от 2.7 В до 6.0 В
Полностью статический режим работы:
От 0 до 10 МГц, при питании от 4.0 В до 6.0 В От 0 до 4 МГц, при питании от 2.7 В до 6.0 В
— Тактовая частота 0−16 МГц Расположение выводов модели показано на рисунке 5.
Микроконтроллер AT90S2313 выполнен по технологии CMOS, 8-разрядный, микропотребляющий, основан на AVR-архитектуре PISC. Выполняя одну полноценную инструкцию за один такт, AT90S2313 достигает производительности 1 MIPS на МГц, позволяя достигнуть оптимального соотношения производительности к потребляемой энергии.
Память данных предназначена для работы с данными (чтение и запись данных), которые используются в программе-прошивке микроконтроллера AT90S2313. Память данных является энергозависимой. Это значит, что при отключении питания микроконтроллера все данные в ней будут потеряны.
Встроенная Flash — память с поддержкой внутрисистемного программирования обеспечивает возможность перепрограммирования программного кода в составе системы, посредством SPI последовательного интерфейса, или с помощью стандартного программатора энергонезависимой памяти. Благодаря совмещению усовершенствованного 8-ми разрядного RISC CPU с Flashпамятью с поддержкой внутрисистемного программирования на одном кристалле получился высокопроизводительный микроконтроллер AT90S2313, обеспечивающий гибкое и экономическивысокоэффективное решение для многих приложений встраиваемых систем управления.
Область регистров общего назначения (рабочих регистров) используется для хранения переменных и указателей. В микроконтроллере AT90S2313 область рабочих регистров состоит из 32-х восьмиразрядных регистров (диапазон адресов 0×000−0×01F). Если прошивка микроконтроллера пишется на языке С, то обращаться к этим регистрам обычно не требуется (хотя к ним можно обратиться при помощи ассемблерных вставок в С-программу).
Регистры ввода/вывода микроконтроллера AT90S2313 включают в себя 64 регистра, которые используются для управления периферийными устройствами, а также для хранения данных периферийных устройств.
В режиме Idle происходит приостановка центрального процессора, остальные системы продолжают работать. Выход из этого режима возможен как по внешнему прерыванию, так и по внутреннему. Например, при переполнении таймера.
В режиме Power Down сохраняется содержимое регистров, но приостанавливается работа внутреннего генератора и отключаются все остальные функции микросхемы. Выход из режима возможен по внешнему прерыванию или после системного сброса. Такое решение позволяет совмещать быстрый старт с низким энергопотреблением.
Рисунок 5. Расположение выводов микроконтроллера AT90S2313
Состав устройств микроконтроллера AVR меняется от модели к модели, более того, одно и то же устройство в разных моделях использует различные ресурсы микроконтроллера (в частности, различные выводы). Разумеется, существует ряд периферийных устройств, присутствующих во всех микроконтроллерах семейства: сторожевой таймер, 8-разрядный таймер/счетчик реального времени (таймер T0) и, естественно, порты ввода/вывода. Структурная схема микроконтроллера AT90S2313 представлена на рисунке 6. Внутренний тактовый генератор AVR может запускаться от нескольких источников опорной частоты. Поскольку AVR-микроконтроллеры полностью статические, минимальная допустимая частота ничем не ограничена. Максимальная рабочая частота определяется конкретным типом микроконтроллера и составляет 4,8,14,16 МГц.
Рисунок 6. Структурная схема микроконтроллера AT90S2313
Микроконтроллеры AVR имеют в своем составе от 1 до 4 таймеров/ счетчиков общего назначения с разрядностью 8 или 16 бит, которые могут работать и как таймеры от внутреннего источника опорной частоты, и как счетчики внешних событий с внешним тактированием.
Также имеется сторожевой (WDT) таймер, который предназначен для защиты микроконтроллера от сбоев в процессе работы. Он имеет собственный RC-генератор, работающий на частоте 1МГц. WDT-таймер снабжен собственным предделителем входной частоты, что позволяет программно регулировать временной интервал переполнения таймера (т.н. тайм-аут), по истечении которого происходит сброс микроконтроллера.
AVR — микроконтроллеры могут быть переведены программным путем в один из режимов пониженного энергопотребления. Для разных семейств AVR и разных микроконтроллеров в пределах каждого семейства изменяются количество и сочетание доступных режимов пониженного энергопотребления
AVR функционируют в широком диапазоне питающих напряжений от 1,8 до 6,0 В. Температурные диапазоны работы микроконтроллеров AVR — коммерческий (0С…70С), индустриальный (-40С…+85С), автомобильный (-40С…+125С) и военный (-55С…+125С).
4. Принципиальная схема устройства управления
Принципиальная схема устройства управления на базе микроконтроллера AT90S2313 показана на схеме СЕРБ.6 100 101.Э3. Основной микросхемой в ней является сам микроконтроллер; остальные элементы либо обеспечивают его рабочий режим, либо используются для ввода/вывода информации.
Кварцевый резонатор ZQ с номиналом 4МГц задает тактовую частоту работы микроконтроллера. В результате время выполнения одной команды составит 1мс. Конденсаторы С1=С2=C3=30 пФ образуют цепь запуска генератора.
Питание контроллера осуществляется от сети переменного тока с напряжением 220 В и частотой 50 Гц. Поскольку напряжение питание контроллера осуществляется постоянным током с напряжением +5 В, то ставится схема питания, которая состоит из понижающего трансформатора, выпрямителя, выполненного по схеме диодного моста и стабилизатора напряжения.
5. Расчет временных параметров работы схемы
Для отсчета временных интервалов, равных периоду чтения/записи, удобно использовать модуль таймера Т0, входящий в состав микроконтроллера AT90S2313.
Модуль содержит 8-разрядный таймер — счетчик, содержимое которого инкрементируется от 00H до FFH и при переполнении снова переходит в состояние 00H. Прерывание от таймера Т0 генерируется при переполнении, при этом устанавливается флажок TOV0 (разряд 0 регистра TIFR). Это прерывание можно использовать для пробуждения МК и начала нового цикла чтения/записи.
Структурная схема таймера/счетчика Т0 показана на рисунке 6.
Рисунок 6. Структурная схема таймера/счетчика Т0
Таймер/счетчика Т0 может работать в двух режимах:
— Режим таймера. В этом режиме на вход таймера/счетчика поступают импульсы тактового сигнала микроконтроллера (непосредственно или через предделитель);
— Режим счетчика событий. В этом режиме инкремент содержимого счетного регистра производится по активному фронту сигнала на входе T0 микроконтроллера.
Выбор режима работы (источника тактового сигнала), а также запуск и остановка таймера/счетчика осуществляются с помощью разрядов CS02… CS00 регистра управления таймером TCCR0.
Предделитель таймера Т0 позволяет формировать продолжительные временные интервалы (задержки). Для его программирования необходимо загрузить код начальной установки в счетный регистр таймера TCNT0 (адрес $ 32)и определить коэффициент деления предделителя в регистре управления TCCR0 (адрес $ 33). Для расчета величины временной задержки используется формула:
Фзад = (2k -Ainu)? kдел / fCLK: (1)
где
— Ainu — код инициализации;
— k — разрядность счетчика таймера;
— kдел — коэффициент деления частоты;
— fCLK — тактовая частота микроконтроллера;
Выразим код инициализации Ainu:
Ainu = 2k — (Фзад? fCLK / kдел), (2)
Т.к. разрядность счетчика таймера Т0 8-разрядная, то 28= 256. Согласно заданию, длительность сигнала равно 1 мс, следовательно, величина временной задержки таймера
Фзад = 0.001 © Полагая что, kдел= 1024, а тактовая частота микроконтроллера fCLK= 4МГц, то по формуле (2) определяем значение кода инициализации
Ainu= 256 — (0,001*4*106 / 1024)= 256 — 4 = 252
Полученное значение переводим в шестнадцатеричный код:
252D=FC
Это означает, что в процессе программирования в счетный регистр TCNT0 таймера Т0 должно быть записано значение FC.
В регистр управления таймера Т0 TCCR0 должно быть записано слово, определяющее режим работы таймера и коэффициент предделителя его входной частоты k дел.=1024. Код слова:
Разряды TCCR0 | ||||||||
TCCR0: = 1 111 1100D
Заключение
В ходе курсовой работы мы рассмотрели особенности и возможности микроконтроллеров AVR. Также было разработано устройство на основе микроконтроллера AVR, а именно матрицу кнопочных переключателей. Особенностью разработанного устройства является минимальное использование различных составляющих компонентов, а следовательно и низкая стоимость при значительных функциональных возможностях.
1 Баранов В. Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. — М.: Издательский дом «Додэка — XXI», 2004. — 288 с.: ил. (Серия «Мировая электроника»).
2 Евстифеев А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. — M.: Издательский дом «Додэка — XXI», 2005. — 560 с.: ил. (Серия «Мировая электроника»);
3 Трофименко В. Н., Трофименко Е. Н. Цифровые устройства и микропроцессоры: микроконтроллеры. Учебное пособие для выполнения лабораторных работ. Часть 2. Ростовна-Дону: РИСЮРГУЭС, 2006 -104 с.