Материал: Микропроцессорные устройства систем управления (2005)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

щего сигнала запроса INT и команды вызова индивидуальной для каждого запроса подпрограммы прерывания. Индивидуальные адреса подпрограмм прерываний могут указываться программно в процедурах инициализации [1], а при другой организации микропроцессорных систем могут задаваться фиксировано в виде специальных таблиц векторов прерываний. Контрол­ лер прерываний, не являясь самостоятельным устройством и выполняя ука­ занные выше вспомогательные функции, практически всегда необходим для эффективной организации процедур ввода-вывода.

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

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

В режиме DMA управление процедурой с формированием управляющих сигналов и адресов производится контроллером DMA [1], который реали­ зует необходимые функции не программно, как микропроцессор, а аппаратно. Контроллер DMA, следовательно, является специализированным устройством с ограниченным набором аппаратно реализуемых функций. Благодаря этой особенности передача данных в режиме DMA выполняется в несколько раз быстрее, чем микропроцессором.

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

35

рез контроллер DMA, обрабатываются микропроцессором по алгоритмам, аналогичным алгоритмам обработки запросов прерываний.

Передача данных в режиме DMA выполняется следующим образом:

•запрос от периферийных устройств поступает через контроллер DMA в микропроцессор;

•если прерывание разрешено, микропроцессор приостанавливает работу и подтверждает право на управление работой ШД, ША и ШУ контрол­ леру DMA передачей специальных сигналов разрешения;

•контроллер, принимая управление работой системы, производит уско­ ренный обмен данными между памятью и периферийным устройством по параметрам, которые были заданы микропроцессором программно перед запуском процедуры;

•после завершения обмена данными контроллер DMA возвращает управление микропроцессору, который продолжает выполнение приос­ тановленной программы.

Особенности режима DMA заключаются в том, что обмен данными вы­ полняется с большей скоростью, но требует предварительной программной настройки. Применение этого режима эффективно, если требуется передать подготовленный массив данных относительно большого объема с макси­ мальной скоростью, используя единые параметры настройки обмена дан­ ными.

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

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

36

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

Источник: https://studfile.net/preview/16521245/