Микроконтроллеры семейства avr
Улучшенная RISC (enhanced RISC) архитектура AVR-микроконтроллеров (Рис. 4 .8) объединяет в себе комплекс решений, направленных на повышение быстродействия микропроцессорного ядра AVR.
Арифметико-логическое устройство (ALU), в котором выполняются все вычислительные операции, имеет доступ к 32-м оперативным регистрам, объединенным в регистровый файл. Выборка содержимого регистров, выполнение операции и запись результата обратно в регистровый файл выполняются за один машинный цикл. Для сравнения полезно вспомнить, что большинство встраиваемых микроконтроллеров имеют только один такой регистр, непосредственно доступный ALU, - аккумулятор, что требует включения в программу дополнительных команд его загрузки и считывания.
Рис. 4.8 Архитектура AVR-микроконтроллеров.
Основной идеей всех RISC (Reduced Instruction Set Computer), как известно, является увеличение быстродействия за счет сокращения количества операций обмена с памятью программ. Для этого каждую команду стремятся уместить в одну ячейку памяти программ. При ограниченной разрядности ячейки памяти это неизбежно приводит к сокращению набора команд микропроцессора.
У AVR-микроконтроллеров в соответствии с этим принципом практически все команды (исключая те, у которых одним из операндов является 16-разрядный адрес) также упакованы в одну ячейку памяти программ. Но сделать это удалось не за счет сокращения количества команд процессора, а путем расширения ячейки памяти программ до 16 разрядов. Такое решение является причиной богатства системы команд AVR по сравнению с другими RISC-микроконтроллерами.
Организация памяти AVR выполнена по схеме Гарвардского типа, в которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним.
Вся программная память AVR-микроконтроллеров выполнена по технологии FLASH и размещена на кристалле. Она представляет собой последовательность 16-разрядных ячеек и имеет емкость от 512 слов до 64K слов в зависимости от типа кристалла.
Во FLASH-память, кроме программы, могут быть записаны постоянные данные, которые не изменяются во время функционирования микропроцессорной системы. Это различные константы, таблицы знакогенераторов, таблицы линеаризации датчиков и т. п.
Достоинством технологии FLASH является высокая степень упаковки, а недостатком то, что она не позволяет стирать отдельные ячейки. Поэтому всегда выполняется полная очистка всей памяти программ. При этом для AVR гарантируется, как минимум, 1000 циклов перезаписи FLASH-памяти.
Кроме того, для хранения данных AVR-микроконтроллеры могут иметь, в зависимости от типа кристалла, внутреннюю (от 0 до 4K байт) и внешнюю (от 0 до 64 Кбайт) оперативную SRAM память и энергонезависимую внутреннюю EEPROM память (от 0 до 4K байт).
Разделение шин доступа (рис. 1) к FLASH памяти и SRAM памяти дает возможность иметь шины данных для памяти данных и памяти программ различной разрядности а также использовать технологию конвейеризации. Конвейеризация заключается в том, что во время исполнения текущей команды программный код следующей уже выбирается из памяти и дешифрируется.
Для сравнения вспомним, что у микроконтроллеров семейства MCS-51 выборка кода команды и ее исполнение осуществляются последовательно, что занимает один машинный цикл, который длится 12 периодов кварцевого резонатора.
В случае использования конвейера приведенную длительность машинного цикла можно сократить. Например, у PIC-микроконтроллеров фирмы Microchip за счет использования конвейера удалось уменьшить длительность машинного цикла до 4 периодов кварцевого резонатора. Длительность же машинного цикла AVR составляет один период кварцевого резонатора. Таким образом, AVR способны обеспечивать заданную производительность при более низкой тактовой частоте. Именно эта особенность архитектуры и позволяет AVR-микроконтроллерам иметь наилучшее соотношение энергопотребление/производительность, так как потребление КМОП микросхем, как известно, определяется их рабочей частотой.
EEPROM блок электрически стираемой памяти AVR предназначен для хранения энергонезависимых данных, которые могут изменяться непосредственно на объекте. Это калибровочные коэффициенты, различные уставки, конфигурационные параметры системы. EEPROM-память имеет меньшую, по сравнению с FLASH, емкость (до 4К байт), но при этом допускает возможность побайтной перезаписи ячеек, которая может происходить как под управлением внешнего процессора, так и под управлением собственно AVR-микроконтроллера во время его работы по программе.
Программирование энергонезависимых блоков памяти AVR может осуществляться как параллельно, так и последовательно через SPI (Serial Peripheral Interface) интерфейс.
Управление и обмен данными с EEPROM-памятью и со всеми периферийными узлами осуществляется при помощи регистров ввода/вывода, которые имеются в каждом периферийном узле.
Во FLASH-память, кроме программы, могут быть записаны постоянные данные, которые не изменяются во время функционирования микропроцессорной системы. Это различные константы, таблицы знакогенераторов, таблицы линеаризации датчиков и т. п.
Достоинством технологии FLASH является высокая степень упаковки, а недостатком то, что она не позволяет стирать отдельные ячейки. Поэтому всегда выполняется полная очистка всей памяти программ. При этом для AVR гарантируется, как минимум, 1000 циклов перезаписи FLASH-памяти.
Кроме того, для хранения данных AVR-микроконтроллеры могут иметь, в зависимости от типа кристалла, внутреннюю (от 0 до 4K байт) и внешнюю (от 0 до 64 Кбайт) оперативную SRAM память и энергонезависимую внутреннюю EEPROM память (от 0 до 4K байт).
Разделение шин доступа (рис. 1) к FLASH памяти и SRAM памяти дает возможность иметь шины данных для памяти данных и памяти программ различной разрядности а также использовать технологию конвейеризации. Конвейеризация заключается в том, что во время исполнения текущей команды программный код следующей уже выбирается из памяти и дешифрируется.
Для сравнения вспомним, что у микроконтроллеров семейства MCS-51 выборка кода команды и ее исполнение осуществляются последовательно, что занимает один машинный цикл, который длится 12 периодов кварцевого резонатора.
В случае использования конвейера приведенную длительность машинного цикла можно сократить. Например, у PIC-микроконтроллеров фирмы Microchip за счет использования конвейера удалось уменьшить длительность машинного цикла до 4 периодов кварцевого резонатора. Длительность же машинного цикла AVR составляет один период кварцевого резонатора. Таким образом, AVR способны обеспечивать заданную производительность при более низкой тактовой частоте. Именно эта особенность архитектуры и позволяет AVR-микроконтроллерам иметь наилучшее соотношение энергопотребление/производительность, так как потребление КМОП микросхем, как известно, определяется их рабочей частотой.
EEPROM блок электрически стираемой памяти AVR предназначен для хранения энергонезависимых данных, которые могут изменяться непосредственно на объекте. Это калибровочные коэффициенты, различные уставки, конфигурационные параметры системы. EEPROM-память имеет меньшую, по сравнению с FLASH, емкость (до 4К байт), но при этом допускает возможность побайтной перезаписи ячеек, которая может происходить как под управлением внешнего процессора, так и под управлением собственно AVR-микроконтроллера во время его работы по программе.
Программирование энергонезависимых блоков памяти AVR может осуществляться как параллельно, так и последовательно через SPI (Serial Peripheral Interface) интерфейс.
Управление и обмен данными с EEPROM-памятью и со всеми периферийными узлами осуществляется при помощи регистров ввода/вывода, которые имеются в каждом периферийном узле.
- Содержание
- Описание токарного станка
- Техническая характеристика
- Функциональная схема электропривода
- Принципиальная схема электропривода
- Описание микроконтроллера
- Микроконтроллеры семейства avr
- Микроконтроллер aTmega64
- Синтез структуры регулятора
- Программное обеспечение
- Подпрограмма прерывания от таймера/счетчика 3
- Подпрограмма расчета угла очередной фазы
- Подпрограмма выбора скважности для заданного угла
- Литература