Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000544.doc
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
14.75 Mб
Скачать

12.2. Avr микроконтроллеры

Однокристальные микроконтроллеры фирмы “ATMEL” широко используются для построения систем управления, поскольку они имеют все необходимые аппаратные средства для этих целей. Контроллеры этого семейства являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Микроконтроллеры, выполненные по КМОП технологии, имеют малое энергопотребление и достаточно высокое быстродействие. Микроконтроллер может управлять различными устройствами и принимать данные при минимуме дополнительных узлов, поскольку большое число периферийных устройств имеется непосредственно на кристалле. Это позволяет уменьшить размеры устройств управления и снизить потребление энергии от источника.

Микроконтроллеры AVR также построены по Гарвардской архитектуре, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных (Рис.12.8).

Контроллеры имеют встроенную FLASH-память программ объемом от 1 до 8 Кбайт, память данных на основе ЭСППЗУ (EEPROM) объемом от 64 до 512 байт, статическое ОЗУ (SRAM) объемом до 512байт.

Процессор (центральное процессорное устройство) имеет RISC-архитектуру, позволяющую выполнять несколько сокращенный и упрощенный набор команд за один такт. Он принимает из памяти программ коды команд, декодирует и выполняет их. Он состоит из регистров общего назначения, АЛУ и блока управления. Процессор имеет 32 РОН, размещенных в области ОЗУ и подключенных непосредственно к АЛУ. Это позволяет избежать дополнительных пересылок. Большинство команд выполняется за один машинный цикл. Процессор поддерживает многоуровневую систему прерываний.

В памяти программ хранятся коды команд, последовательность которых формирует программу для микроконтроллера. EEPROM память данных предназначена для постоянного хранения неизменяемых при работе данных (констант программы). В оперативной памяти данных хранятся переменные программ, здесь расположен и стек.

Команды микроконтроллера занимают одно или два 16-разрядного слова. Процессор при обращении к памяти использует пять методов адресации: прямой регистровый, прямой адресации, косвенный, косвенный со смещением, косвенный с предварительным декрементом, косвенный с постинкрементом. Адресация констант в памяти программ осуществляется через специальный регистр Z.

Регистры ввода-вывода располагаются в пространстве ввода-вывода размером 64 байта и разделяются на служебные регистры микроконтроллера и регистры периферийных устройств. Регистры имеют 8 разрядов. Распределение адресов пространства ввода-вывода зависит от конкретной модели.

Контроллер имеет несколько портов ввода-вывода. Каждый вывод порта цифрового ввода-вывода может быть запрограммирован как входной или выходной независимо от других. Нагрузочная способность всех выводов равна 20ма.

Тактовый генератор определяет скорость работы микроконтроллера. В качестве ГТИ используется или встроенный RC-генератор, или генератор на внешнем резонаторе.

Для отсчета временных интервалов и счета входных импульсов в состав контроллера входят один или несколько 8/16-разрядных таймера/счетчика.

Сторожевой таймер предназначен для предотвращения сбоев программы. Таймер работает следующим образом: после запуска программы он начинает отсчет заданного временного интервала. Если программа не перезапустит его до истечения этого интервала, то сторожевой таймер перезапустит микроконтроллер.

В состав контроллера, в зависимости от типа, может входить последовательный порт - полнодуплексный универсальный асинхронный приемопередатчик(UART). В него также могут входить один или несколько генераторов сигнала с широтно-импульсной модуляцией (ШИМ), аналоговый компаратор, 10-разрядный АЦП (6 или 8 каналов).

Последовательный синхронный интерфейс SPI используется для программирования контроллера. Вторым назначением интерфейса является организация высокоскоростного обмена данными между микроконтроллером и различными периферийными устройствами, в том числе и между несколькими микроконтроллерами AVR.

Заметим, что выводы микросхем контроллеров могут быть многофункциональными и используются по-разному, в зависимости от режима работы.

При программировании микроконтроллера полученный в результате компиляции программы машинный код загружается в память программ, а требуемые данные заносятся в EEPROM.

Программирование контроллера (с использованием программатора) выполняется по параллельному либо по последовательному (непосредственно в системе через последовательный SPI-интерфейс) каналам.

Программирование по последовательному каналу памяти программ и данных осуществляется через последовательный интерфейс SPI путем посылки 4-байтовых команд в последовательном формате на вывод контроллера. В посылках содержатся команды программирования, адреса и данные в заданном формате. При этом каждый бит посылки стробируется сигналами тактового генератора. Данный режим используется, как правило, для программирования или перепрограммирования микроконтроллера непосредственно в системе. Наличие этого режима является большим достоинством контроллеров AVR., т.к. он позволяет значительно упростить модернизацию программного обеспечения.

Для написания программ и отладки используются такие программные средства как Ассемблер Wavrasm или отладчик AVR Studio.