- •Содержание
- •1 Микроконтроллер at90s8535 фирмы Atmel
- •2 Описание выводов
- •3 Кварцевый генератор
- •4 Обзор архитектуры at90s8535
- •4.1 Файл регистров общего назначения
- •4.2 Арифметико-логическое устройство - алу
- •4.3 Загружаемая память программ.
- •4.4 Eeprom память данных
- •4.5 Статическое озу данных
- •4.6 Время выполнения команд.
- •4.7 Пространство ввода/вывода
- •4.10 Сброс и обработка прерываний.
- •4.10.1 Источники сброса
- •4.10.1.1 Сброс по выключению питания
- •4.10.1.2 Внешний сброс
- •4.10.1.3 Сброс от сторожевого таймера
- •4.10.2 Обработка прерываний
- •4.10.3 Внешние прерывания
- •4.10.4 Время реакции на прерывание
- •4.11 Режимы пониженного энергопотребления.
- •5 Таймеры/счетчики
- •5.2.7 Таймер/счетчик 1 в режимеШим
- •5.3.2 Управление тактовым сигналом
- •5.3.3 Режим таймера
- •5.3.4 Режим шим
- •5.3.5 Асинхронный режим работы
- •6 Сторожевой таймер
- •6.1 Назначение cторожевого таймера
- •7 Чтение и запись в энергонезависимую память
- •7.4. Меры предосторожности при работе с eeprom
- •8 Последовательный периферийный интерфейс spi
- •8.1. Общие сведения
- •8.2. Функционирование модуля spi
- •Tаблица 8.1
- •Tаблица 8.2
- •8.3. Режимы передачи данных
- •8.4. Использование вывода ss
- •9 Универсальный асинхронный приемопередатчик uart
- •9.1 Передача данных
- •9.2 Прием данных.
- •9.3 Управление uart
- •10 Аналоговый компаратор
- •10.1. Функционирование компаратора
- •11 Аналого-цифровой преобразователь
- •11.1. Общие сведения
- •11.2 Функционирование модуля ацп
- •11.6 Повышение точности преобразования
- •11.7 Параметры ацп
- •12 Порты ввода/вывода
- •12.1 Общие сведения
- •12.2 Обращение к портам ввода/вывода
- •12.3. Конфигурирование портов ввода/вывода
- •13 Программирование памяти
- •13.1 Биты блокировки памяти (Lock Bits)
- •13.2 Биты конфигурации (Fuse bits)
- •13.3 Код устройства
- •14 Электрические характеристики
- •14.1 Максимально допустимые параметры
- •14.2 Характеристики по постоянному току
- •14.3 Параметры внешнего тактового сигнала
- •15 Информация для заказа
- •16 Список регистров at90s8535
4 Обзор архитектуры at90s8535
Укрупненная структурная схема микроконтроллера AT90S8535 приведена на рис.4.1 Микроконтроллер имеет 32 8-разрядных регистра общего назначения, называемых также регистровым файлом. Доступ к этим регистрам осуществляется за один машинный цикл. Поэтому за один машинный цикл исполняется одна операция АЛУ. Два операнда выбираются из регистрового файла, выполняется операция, результат ее записывается в регистровый файл - все за один машинный цикл.
Шесть из 32 регистров (R26-R31) можно использовать как три 16-разрядных указателя в адресном пространстве данных, что дает возможность использовать высокоэффективную адресную арифметику. С этими регистровыми парами можно работать как с 16-разрядными регистрами, которые будут называться X (R26, R27), Y (R28, R29) и Z (R30, R31). Регистр Z можно также использовать для адресации таблиц в памяти программ.
Рис.4.1 – Архитектура AT90S8535
АЛУ поддерживает арифметические и логические операции с регистрами, с константами и регистрами. Операции над отдельными регистрами также выполняются в АЛУ.
Кроме регистровых операций, для работы с регистровым файлом могут использоваться доступные режимы адресации, поскольку регистровый файл занимает адреса $00-$1F в области данных (SRAM), обращаться к ним можно как к ячейкам памяти.
В пространстве ввода-вывода 64 адреса отведено для периферийных устройств, таких как управляющие регистры, таймеры/счетчики и другие. Доступ к пространству ввода/вывода может осуществляться непосредственно, как к ячейкам памяти (SRAM), расположенным после регистрового файла ($20-$5F).
Процессоры AVR построены по гарвардской архитектуре с раздельными областями памяти программ и данных. Доступ к памяти программ осуществляется п ри помощи одноуровневого буфера. Во время выполнения команды, следующая выбирается из памяти программ. Подобная концепция дает возможность выполнять по одной команде за каждый машинный цикл. Память программ - это внутрисистемная загружаемая флэш-память.
При помощи команд относительных переходов и вызова подпрограмм осуществляется доступ ко всему адресному пространству. Большая часть команд AVR имеет размер 16-разрядов, одно слово. Каждый адрес в памяти программ содержит одну 16- или 32-разрядную команду.
При обработке прерываний и вызове подпрограмм адрес возврата запоминается в стеке. Стек размещается в памяти данных общего назначения, соответственно размер стека ограничен только размером доступной памяти данных и ее использованием в программе. Все программы пользователя должны инициализировать указатель стека (SP) в программе, выполняемой после сброса (до того как вызываются подпрограммы и разрешаются прерывания). 8-разрядный указатель стека доступен для чтения/записи в области ввода/вывода.
Доступ к 128 байтам статического ОЗУ, регистровому файлу и регистрам ввода/вывода осуществляется при помощи пяти доступных режимов адресации поддерживаемых архитектурой AVR.
Все пространство памяти AVR является линейным и непрерывным.
Гибкий модуль прерываний имеет собственный управляющий регистр в пространстве ввода/вывода, и флаг глобального разрешения прерываний в регистре состояния. Каждому прерыванию назначен свой вектор в начальной области памяти программ. Различные прерывания имеют приоритет в соответствии с расположением их векторов. По младшим адресам расположены векторы с большим приоритетом.
