Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Обзор микроконтроллеров Atmel AVR
Atmel AVR представляет собой семейство универсальных 8-разрядных микроконтроллеров на основе общего ядра с различными встроенными периферийными устройствами. Возможности MK'AVR позволяют решить множество типовых задач, возникающих перед разработчиками радиоэлектронной аппаратуры.
Особенности микроконтроллеров Atmel AVR.
□ Производительность порядка 1 MIPS/МГц. MIPS (Millions of Instructions Per Second, миллион команд в секунду) — одна из самых старых и во многом формальная характеристика производительности процессоров, т. к. наборы команд для различных процессоров различаются, и, соответственно, одно и то же число инструкций на различных системах даст разную полезную работу. Тем не менее для простых 8-разрядных вычислительных систем, не содержащих команд, оперирующих с большими числами, числами с плавающей точкой и массивами данных, это неплохой показатель для сравнения их производительности. Вычислительное ядро AVR на ряде задач по производительности превосходит 16-разрядный процессор 80286.
□ Усовершенствованная RISC-архитектура. Концепция RISC (Reduced Instruction Set Computing, вычисления с сокращенным набором команд) предполагает наличие набора команд, состоящего из минимума компактных и быстро выполняющихся инструкций; при этом такие более громоздкие операции, как вычисления с плавающей точкой или арифметические действия с многоразрядными числами предполагается реализовать на уровне подпрограмм. Концепция RISC упрощает устройство ядра (в типовом ядре AVR содержится лишь 32 тыс. транзисторов, в отличие от десятков миллионов в процессорах для ПК) и ускоряет его работу: типовая инструкция выполняется за один такт (кроме команд ветвления программы, обращения к памяти и некоторых других, оперирующих с данными большой длины). В AVR имеется простейший двухступенчатый конвейер, когда команда выполняется в одном такте с выборкой следующей. В отличие от Intel-архитектур, в "классическом" AVR нет аппаратного умножения/деления, однако в подсемействе Mega присутствуют операции умножения.
□ Раздельные шины памяти команд и данных. AVR (как и большинство других микроконтроллеров) имеет т. н. гарвардскую архитектуру, где области памяти программ и данных разделены (в отличие от классической архитектуры фон Неймана в обычных компьютерах, где память 'общая). Раздельные шины для этих областей памяти значительно ускоряют выполнение программы: данные и команды могут выбираться одновременно.
□ 32 регистра общего назначения (РОН). Atmel была первой компанией, далеко отошедшей от классической модели вычислительного ядра, в которой выполнение команд предусматривает обмен данными между АЛУ и запоминающими ячейками в общей памяти. Введение РОН в таком количестве (напомним, что в архитектуре #86 всего четыре таких регистра, а в \51 понятие РОН, как таковое, отсутствует) в ряде случаев позволяет вообще отказаться от расположения глобальных и локальных переменных в ОЗУ и от использования стека, операции с которым усложняют и загромождают программу. В результате структура ассемблерной программы приближается к программам на языках высокого уровня. Правда, это привело к некоторому усложнению системы команд, номенклатура которых для AVR больше, чем в других RISC-семействах (хотя значительная часть инструкций — псевдонимы).
□ Flash-память программ (10 ООО циклов стирание/запись) с возможностью внутрисистемного перепрограммирования и загрузки через последовательный канал прямо в готовой схеме. О преимуществах такого подхода, ныне ставшего общепринятым, подробно рассказано во введении.
□ Отдельная область энергонезависимой памяти (EEPROM, 100 ООО циклов стирание/запись) для хранения данных, с возможностью записи программным путем, или внешней загрузки через SPI-интерфейс.
□ Встроенные устройства для обработки аналоговых сигналов: аналоговый компаратор и многоканальный 10-разрядный АЦП.
□ Сторожевой таймер, позволяющий осуществлять автоматическую перезагрузку контроллера через определенные промежутки времени (например, для выхода из "спящего" режима).
□ Последовательные интерфейсы SPI, TWI (12С) и UART (USART), позволяющие осуществлять обмен данными с большинством стандартных датчиков и других внешних устройств (в том числе таких, как персональные компьютеры) аппаратными средствами.
□ Таймеры-счетчики с предустановкой и возможностью выбора источника счетных импульсов: как правило, один-два 8-разрядных и как минимум один 16-разрядный, в том числе могущие работать в режиме многоканальной 8-, 9-, 10-, 16-битовой широтно-импульсной модуляции (PWM).
□ Возможность работы при тактовой частоте от 0 Гц до 16-20 МГц.
□ Диапазон напряжений питания от 2,7 до 5,5 В (в некоторых случаях от 1,8 или до 6,0 В).
□ Многочисленные режимы энергосбережения, отличающиеся числом узлов, остающихся подключенными. Выход из "спящих" режимов по сторожевому таймеру или по внешним прерываниям.
□ Встроенный монитор питания — детектор падения напряжения (Brownout Detection).

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



     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru