5. буфер приемника,
6. приемопередатчик последовательного порта,
7. регистр приоритетов прерываний,
8. регистр разрешения прерываний,
9. логика обработки флагов прерываний и схема выработки вектора.
Счетчик команд (Program Counter) предназначен для формирования текущего 16-разрядного адреса внутренней памяти программ и 8/16-разрядного адреса внешней памяти программ. В состав счетчика команд входят 16-разрядные буфер РС, регистр РС и схема инкремента (увеличения содержимого на 1).
Память данных (RAM) предназначена для временного хранения информации, используемой в процессе выполнения программы.
Порты P0, P1, P2, P3 являются квазидвунаправленными портами ввода - вывода и предназначены для обеспечения обмена информацией ОЭВМ с внешними устройствами, образуя 32 линии ввода-вывода.
Регистр состояния программы (PSW) предназначен для хранения информации о состоянии АЛУ при выполнении программы.
Память программ (EPROM) предназначена для хранения программ и представляет собой постоянное запоминающее устройство (ПЗУ). В разных микросхемах применяются масочные, стираемые ультрафиолетовым излучением или FLASH ПЗУ.
Регистр указателя данных (DPTR) предназначен для хранения 16 - разрядного адреса внешней памяти данных или памяти программ.
Указатель стека (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 МГц.
Страницы: 1, 2, 3