Файл: Микропроцессорные устройства систем управления (Ю.И. Иванов, 2005).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 1554

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2. МИКРОКОНТРОЛЛЕРЫ AVR

Микроконтроллеры являются весьма универсальным средством, могут применяться и применяются для решения самых разнородных задач. Их универсальность определяется особенностями микропроцессорной органи­ зации обработки данных, рассмотренными в первой главе. Функциональ­ ные возможности многих микроконтроллеров, в том числе и их аппаратных средств, ориентированы на реализацию алгоритмов управления. Весьма существенно то, что микроконтроллеры относятся к числу массовых, недо­ рогих и доступных интегральных схем> номенклатура,микроконтроллеров постоянно расширяется.

Среди выпускаемых в настоящее время микроконтроллеров выделяются микроконтроллеры семейства AVR фирмы ATMEL. Эти микроконтролле­ ры обладают низким уровнем потребления, невысокой стоимостью при весьма значительных функциональных возможностях, высоким быстродей­ ствием и возможностью многократной перезаписи программ. Хотя и анало­ гичные по характеристикам микроконтроллеры выпускаются многими фирмами, по общему комплексу свойств семейство AVR одно из наиболее эффективных в классе недорогих 8-разрядных микроконтроллеров. Основ­ ная область применения таких микроконтроллеров в системах автоматиза­ ции - реализация в реальном масштабе времени алгоритмов управления, не требующих сложных вычислительных процедур и временем реакции от единиц миллисекунд и более.

Естественно, что микроконтроллеры AVR не являются универсальным средством "на все случаи". При определенных требованиях может быть не­ обходимым применение значительно более дорогих 16или 32-разрядных микроконтроллеров, процессоров цифровой обработки сигналов, програм­ мируемых логических интегральных схем и т.п. Тем не менее, существует большое число разнообразных задач, при решении которых недорогие и простые в применении 8-разрядные микроконтроллеры вне конкуренции.

Очевидно, что для построения системы автоматического управления од­ ного микроконтроллера недостаточно. Допустимый диапазон изменения входных и выходных сигналов, особенности интерфейсов ввода-вывода микроконтроллера, как правило, требуют различных дополнительных средств управления, устройств сопряжения и индикации, с помощью кото­ рых можно обеспечить управление различными объектами (электроприво­ ды постоянного и переменного токов, системы стабилизации температуры, системы контроля параметров и т.п.). Состав и характеристики этих допол­ нительных средств определяются свойствами конкретных объектов управ­ ления и используемыми алгоритмами работы, вопросы проектирования этих дополнительных устройств выходят за рамки данного учебного посо­ бия и изучаются в соответствующих курсах.

37


Данный раздел подготовлен на основе информационных материалов по микроконтроллерам семейства AVR, распространяемых фирмой ATMEL, и является кратким справочным руководством по применению микрокон­ троллера AT90S8535. На примере этого микроконтроллера рассмотрены особенности организации и архитектуры семейства AVR, параметры и ре­ жимы работы аппаратных средств. В следующих главах будут показаны особенности системы команд семейства AVR, средства подготовки про­ грамм на ассемблере и примеры программ для реализации типовых проце­ дур. Знание особенностей применения микроконтроллера семейства AVR позволяет достаточно легко перейти к изучению вопросов применения лю­ бого другого микроконтроллера этого класса.

2.1. Общая характеристика микроконтроллеров семейства AVR

Микроконтроллеры фирмы ATMEL с усовершенствованной RISCархитектурой обладают эффективными программно-аппаратными ресурса­ ми для решения различных задач. Семейство микроконтроллеров AVR со­ держит и простые модели (AT90S1200, AT90S2313) с минимумом необхо­ димых ресурсов, и весьма сложные модели megaAVR с существенно уве­ личенным объемом памяти, количеством портов ввода-вывода и других средств. Высокая эффективность микроконтроллеров AVR обеспечивается развитой системой команд, выполняющихся, как правило, за один рабочий такт, аппаратной реализацией многих стандартных функций (таймеры, мо­ дуляторы ШИМ, параллельные и последовательные порты ввода-вывода, компаратор, АЦП и др.) и возможностью внутрисистемного программиро­ вания, т.е. записи программ и данных в память микроконтроллера непо­ средственно в схеме работающего устройства.

Общие архитектурные особенности и программная совместимость мик­ роконтроллеров AVR позволяют использовать одни и те же алгоритмы и рабочие программы на разных моделях. Единственным ограничением их применимости может служить только отсутствие необходимых для испол­ нения программ аппаратных средств в более простых моделях микрокон­ троллеров.

Архитектура и общая организация микроконтроллеров AVR достаточно типична для микропроцессорных средств, обладает необходимой универ­ сальностью для программной реализации различных алгоритмов и в общих чертах аналогична описанной в главе 1. Важным дополнением являются средства аппаратной реализации стандартных интерфейсных функций и соответствующие алгоритмы и процедуры обеспечения эффективного взаимодействия с ними. Определенные отличия в других деталях архитек­ туры и организации работы, связанные, как правило, с повышением эффек­ тивности используемых средств и спецификой реализуемых алгоритмов, будут описаны ниже.

38


Существенной общей особенностью всего семейства AVR является ис­ пользование 32 регистров общего назначения и гарвардской архитектуры с тремя раздельными адресными пространствами: памяти программ (FLASH), оперативной памяти данных (RAM), программируемой постоян­ ной памяти данных (EEPROM). FLASH и EEPROM являются энергонеза­ висимыми и, как обычно, сохраняют данные при отсутствии питающих на­ пряжений. RAM - это стандартная энергозависимая оперативная память. Система команд поддерживает стандартные операции с однобайтовыми данными, возможны определенные операции с двухбайтовыми словами и отдельными битами. Каждый из 32 восьмиразрядных регистров общего на­ значения может служить регистром-аккумулятором. Основной формат ко­ дов команд - 2 байта, формат данных - 1 байт.

Управление и доступ к дополнительным аппаратным средствам микро­ контроллеров производятся с помощью специальных управляющих регист­ ров - регистров ввода-вывода. Эти регистры определяют параметры и ре­ жимы работы устройств микроконтроллеров, обеспечивают необходимый обмен данными с ними. Каждое устройство аппаратной реализации содер­ жит индивидуальный набор регистров ввода-вывода, которые и являются основными средствами обеспечения взаимодействия. Взаимодействие ме­ жду функциями, реализуемыми программно и аппаратно, производится формированием запросов прерываний. Система прерываний позволяет об­ служивать программные прерывания, внутренние прерывания всех уст­ ройств микроконтроллеров через регистры ввода-вывода и внешние преры­ вания. Внутренние аппаратные и внешние прерывания фиксируются в таб­ лице векторов прерываний со строго закрепленными адресами.

Общие особенности микроконтроллеров всего семейства AVR позволя­ ют более детальное их изучение проводить для одной из моделей семейст­ ва. В дальнейшем работа микроконтроллеров AVR будет рассматриваться на примере классической модели AT90S8535 со средними программноаппаратными ресурсами.

2.2. Микроконтроллер AT90S8535

Микроконтроллер AT90S8535 (рис. 4) со 118 командами в системе ко­ манд содержит 8-разрядное арифметико-логическое устройство (АЛУ), па­ мять программ (FLASH) объемом 8 Кбайт, электрически программируемое ПЗУ (EEPROM) объемом 0,5 Кбайт (также с возможностью внутрисистем­ ного программирования), статическое ОЗУ (RAM) объемом 0,5 Кбайт, 32 регистра общего назначения, 4 двунаправленных параллельных восьмираз­ рядных порта ввода-вывода, последовательный синхронный интерфейс SPI, последовательный асинхронный интерфейс UART, два восьмиразрядных и один шестнадцатиразрядный таймеры с возможностью реализации модуля­ торов ШИМ, сторожевой таймер с автономным генератором, аналоговый компаратор, восьмиканальный АЦП.

39


РАО - РА7

РСО - РС7

t t f t t t t ?

РВ0-РВ7 PD0-PD7

Рис. 4. Структурная схема микроконтроллера AT90S8535

40

Структурная схема (рис. 4) отображает только логическую организацию микроконтроллера и его основные средства программной и аппаратной реализации требуемых функций. Средства программной реализации анало­ гичны рассмотренным в главе 1, хотя и имеют определенные особенности. Все остальные устройства, показанные на рис. 4, предназначены для аппа­ ратной реализации различных интерфейсных функций и будут рассмотре­ ны в следующей главе.

АЛУ микроконтроллера выполняет стандартный набор операций преоб­ разования данных однобайтового формата. Практически все эти операции выполняются за один такт микроконтроллера. В некоторых других моделях микроконтроллеров семейства AVR дополнительно содержится умножи­ тель, выполняющий умножение аппаратно с формированием двухбайтово­ го произведения за два такта. Регистр флагов, не показанный на рис. 4, также имеет однобайтовый формат, в микроконтроллере рассматривается, как один из регистров ввода-вывода, и в данной структуре называется ре­ гистр SREG.

Количество регистров общего назначения однобайтового формата уве­ личено до 32, регистры гО - гЗ 1. Существенные особенности этих регист­ ров: каждый регистр может выполнять функции аккумулятора, для регист­ ровой адресации шесть последних регистров общего назначения г26 - г 31 могут объединяться в регистровые пары X, Y и Z соответственно.

Так как память разделена на три независимых области - FLASH, RAM и EEPROM, каждая из этих областей имеет разное функциональное назначе­ ние, обладает самостоятельной системой и средствами адресации, требует применения разных команд доступа. Подробнее организация памяти рас­ смотрена в следующем разделе.

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

В контроллере предусмотрены программируемые режимы снижения по­ требляемой мощности (sleep mode) с отключением отдельных устройств. В режиме idle процессор микроконтроллера остановлен, все остальные уст­ ройства работают, и их внутренние аппаратные прерывания или внешние прерывания переводят микроконтроллер в активный режим немедленно. В режиме power-down процессор и тактовый генератор остановлены и, сле­ довательно, не работают все устройства микроконтроллера, тактируемые основным генератором, микроконтроллер переводится в активный режим сигналами внешних прерываний, сторожевым таймером или сигналом RE­ SET. Длительность внешних сигналов для надежного запуска тактового ге­ нератора должна превышать требуемую длительность сигнала RESET. В режиме power-save в отличие от power-down запуск микроконтроллера

41