Смекни!
smekni.com

Архитектура микроконтроллеров (стр. 2 из 4)

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


2. Архитектура микроконтроллеров ARM

Широкое портфолио микроконтроллеров ARM позволяет использовать эти устройства в большом числе приложений, но лучше всего их преимущества могут раскрыться в портативных приложениях, так как эти микроконтроллеры предлагают наиболее гибкое управление энергопотреблением за счет большого числа режимов работы, вариантов синхронизации и других особенностей. За счет этого, ARM-микроконтроллеры STM позволяют добиться лучших характеристик энергопотребления в этом классе устройств.[4]

Эти микросхемы имеют пять режимов пониженного энергопотребления[3]:

• Режим ожидания (WAIT), при котором приостанавливается работа ядра, но продолжается функционирование периферии с сохранением содержимого регистров;

• Замедленный режим (SLOW), при котором тактовая частота замедляется до CLK/16 или 32 кГц;

• Режим глубокого понижения с ожиданием (LPWAIT). В этом режиме вводятся ограничения режимов WAIT и SLOW;

• Режим останова (STOP). Вся синхронизация останавливается, но состояние микроконтроллера, RAM и регистров сохраняется (поддерживается питание, нет сброса);

• Дежурный режим (STANDBY). Выключаются стабилизатор напряжения, питание ядра. Работает только RTC.

Микроконтроллеры ARM имеют высокую производительность, гибкое управление энергопотреблением, качественную Flash-память и наиболее широкий набор периферии из всех производителей ARM-микроконтроллеров.

Ниже приведена структура микроконтроллера ARM компании STMicroelectronics [4] .

Рис. 2. Структура микроконтроллера STR710

2.1. Основные характеристики ядра ARM7

· 32-разрядный RISC процессор (32-разрядные шины данных и адреса) с производительностью 17 MIPS при тактовой частоте 25 МГц (пиковая производительность 25 MIPS)

· 32-разрядная адресация - линейное адресное пространство в 4 Гбайта - исключает потребность в сегментированной, разделенной на банки или оверлейной памяти

· Тридцать один 32-разрядный регистр общего назначения и шесть регистров состояния

· Регистры адресов, записи и конвейера

· Циклическое сдвиговое устройство и перемножитель

· Трехуровневый конвейер (выборка команды, ее декодирование и выполнение)

· Рабочиережимы Big Endian и Little Endian

· Напряжение питания 3,3 и 5 В

· Малое потребление 0,6 мА/МГц, при изготовлении по CMOS технологии с топологическими нормами 0,8 мкм.

· Полностью статическая работа, позволяющая дополнительно снижать потребление за счет уменьшения тактовой частоты, что идеально для критичных к потреблению применений

· Быстрый отклик на прерывания применений реального масштаба времени

· Поддержка систем виртуальной памяти

· Простая но мощная система команд

Необходимо отметить, что перевод ядра на технологию с уменьшенными топологическими нормами позволяет как повысить его производительность, так и еще больше снизить потребление.

Рис. 3.Блок-схема ядра ARM7

32-разрядная система команд ядра ARM7 содержит одиннадцать базовых типов команд[3]:

· Два типа используют встроенное арифметико-логическое устройство, циклическое сдвиговое устройство и умножитель при операциях над данными в банке из 31 регистра, форматом по 32 разряда каждый;

· Три класса команд управления перемещением данных между памятью и регистрами, один оптимизированный на обеспечение гибкости адресации, другой под быстрое контекстное переключение и третий под подкачку данных;

· Три команды управляют потоком и уровнем привилегии выполнения;

· Три типа предназначены для управления внешними сопроцессорами, что позволяет расширить функциональные возможности системы команд за пределами ядра.

Система команд ARM хорошо обрабатывается компиляторами языков высокого уровня. В отличие от некоторых RISC процессоров, процессор ARM7, при возникновении необходимости в некотором уменьшении объема кодов, допускает программирование и на ассемблере.

Предоставляя, на лицензионной основе, ядро ARM7 своим кремниевым партнерам фирма ARM на основе разработала микроконтроллеры ARM7100, ARM7500 и ARM7500FE и, пожалуй, небольшое описание этих микроконтроллеров позволит оценить возможности, предоставляемые ядром ARM7.

Микроконтроллер ARM7100 можно назвать микроконтроллером широкого применения, поскольку он ориентирован на использование в таких устройствах как: персональные информационные устройства (PDA) и органайзеры, интеллектуальные мобильные телефоны и многофункциональные пейджеры, карманные измерительные устройства и системы сбора данных - в двух словах - от карманных игр до офисного оборудования. Микроконтроллер организован по модульному принципу с использованием внутренней шины AMBA, организующей взаимодействие ядра со стандартными библиотечными ячейками периферии.

Два других микроконтроллера ARM7500 и ARM7500FE являются однокристальными микрокомпьютерами, ориентированными реализацию мультимедиа устройств, портативных и настольных компьютеров, карманных вычислительных и измерительных устройств, интерактивных приставок цифрового TV, игровых консолей. Эти два микроконтроллера отличаются друг от друга наличием в приборе ARM7500FE ускорителя операций с плавающей точкой (FPA) и, соответственно, его более высокой производительностью. Они также реализованы по модульному принципу и объединяют ядро ARM7 с самодостаточными макроячейками видео, звука, FPA (ARM7500FE) и стандартных библиотечных ячеек периферии.

Общим для всех трех микропроцессоров является использование ядра ARM7, встроенного единого кэш команд и данных емкостью 8 Кбайт (ARM7100) и 4 Кбайт (ARM7500 и ARM7500FE), MMU, буфера записи, наличие режимов энергосбережения.


3. Архитектура микроконтроллера AVR

Микроконтроллер AVR содержит: быстрый RISK-процессор, два типа энергонезависимой памяти (Flash-память программ и память данных EEPROM), оперативную память RAM, порты ввода/вывода и различные периферийные интерфейсные схемы.[2]

3.1. Микропроцессор

Сердцем микроконтроллеров AVR является 8-битное микропроцессорное ядро или центральное процессорное устройство (ЦПУ), построенное на принципах RISK-архитектуры. Основой этого блока служит арифметико-логическое устройство (АЛУ). По системному тактовому сигналу из памяти программ в соответствии с содержимым счетчика команд (Program Counter - PC) выбирается очередная команда и выполняется АЛУ. Во время выбора команды из памяти программ происходит выполнение предыдущей выбранной команды, что и позволяет достичь быстродействия 1 MIPS на 1 МГц.

АЛУ подключено к регистрам общего назначения РОН (General Purpose Registers - GPR). Регистров общего назначения всего 32, они имеют байтовый формат, то есть каждый из них состоит из восьми бит. РОН находятся в начале адресного пространства оперативной памяти, но физически не являются ее частью. Поэтому к ним можно обращаться двумя способами (как к регистрам и как к памяти). Такое решение является особенностью AVR и повышает эффективность работы и производительность микроконтроллера.

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

3.2. Память

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

3.2.1.Память программ (Flash ROM или Flash ПЗУ)

Память программ предназначена для хранения последовательности команд, управляющих функционированием микроконтроллера, и имеет 16-ти битную организацию. Все AVR имеют Flash-память программ, которая может быть различного размера - от 1 до 256 КБайт. Ее главное достоинство в том, что она построена на принципе электрической перепрограммируемости, т. е. допускает многократное стирание и запись информации. Программа заносится во Flash-память AVR как с помощью обычного программатора, так и с помощью SPI-интерфейса, в том числе непосредственно на собранной плате. Возможностью внутрисхемного программирования (функция ISP) через коммуникационный интерфейс SPI обладают все микроконтроллеры AVR, кроме Tiny11 и Tiny28.

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

Гарантированное число циклов перезаписи Flash-памяти у микроконтроллеров AVR второго поколения составляет не менее 10 тыс. циклов при типовом значении 100 тыс. циклов. (В официальной технической документации Atmel Corp. указывается значение 10 тыс. циклов.)

3.2.2.Память данных

Память данных разделена на три части: регистровая память, оперативная память (ОЗУ - оперативное запоминающее устройство или RAM) и энергонезависимая память (ЭСППЗУ или EEPROM).

3.2.3.Регистровая память (РОН и РВВ)

Регистровая память включает 32 регистра общего назначения (РОН или GPR), объединенных в файл, и служебные регистры ввода/вывода (РВВ). И те и другие расположены в адресном пространстве ОЗУ, но не являются его частью.

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