· встроенный аппаратный перемножитель;
· интерфейс внутрисхемной эмуляции;
· программируемый интерфейс внешней шины;
· контроллер данных периферии для быстрого обмена данными без участия центрального процессора;
· векторный контроллер прерывания с малым временем ожидания;
· широкий диапазон встроенной периферии;
· наличие различных режимов энергосбережения, в том числе усовершенствованный контроллер управления питанием;
· диапазон напряжений питания от 1,8 до 3,6 В;
· исполнения для коммерческого и индустриального диапазонов температур.
Полностью программируемый интерфейс внешней шины EBI обеспечивает прямое соединение с внешней памятью. Восьмиуровневый векторный контроллер прерываний совместно с контроллером данных периферии PDC существенно увеличивает производительность кристаллов при работе в реальном масштабе времени.
Atmel Corp. предлагает также недорогие средства поддержки разработок - стартовые наборы разработчика:
AT91EB40/A - для микроконтроллеров AT91x40xxx (для микроконтроллеров со встроенным Flash-ПЗУ предлагается дополнительная плата расширения памяти AT91MEC01).
AT91EB62 - для микроконтроллеров AT91M63200/AT91M43300
AT91EB42 - для микроконтроллеров AT91M42800A
AT91EB55 - для микроконтроллеров AT91M55800A
Процесс разработки приложений на основе микроконтроллеров семейства AT91 полностью поддерживается современными средствами проектирования (включая компиляторы языка Си, ассемблеры, отладчики, операционные системы реального времени) ведущих мировых производителей, таких как ARM, IAR Systems, GreenHills Software, Metaware, WindRiver и др. Кроме того, для этих микроконтроллеров доступны бесплатные средства разработки (GNU). Постоянно совершенствуются и аппаратные средства поддержки разработок для ARM, которые выпускаются сторонними фирмами - внутрисхемные эмуляторы и отладочные комплексы.
В качестве примера рассмотрим микроконтроллер AT91FR40162S. AT91FR40162 – представитель семейства 16/32-разрядных микроконтроллеров AT91, которые основаны на процессорном ядре ARM7TDMI. Процессор построен по высокопроизводительной 32-разрядной RISC-архитектуре с расширенным набором инструкций и очень низким потреблением тока.
ARM-микроконтроллер AT91FR40162 характеризуется наличием 2 Мбит встроенного статического ОЗУ и 2 Мбайт флэш-памяти в одном компактном 121-выв. корпусе BGA. Высокая степень интеграции и очень малые габариты делают данное устройство идеальным для применения в приложениях с ограниченными размерами.
Быстродействующее встроенное статическое ОЗУ позволяет достигнуть производительности до 74 млн. инстр. в сек. при типичных условиях применения и существенно уменьшить потребляемый ток и электромагнитные излучения по сравнению с внешней установкой статического ОЗУ. Флэш-память может программироваться через интерфейс JTAG/ICE или через запрограммированный в производственных условиях загрузчик, который использует питание микросхемы, что позволит использовать AT91FR40162 в приложениях с внутрисистемным программированием.
Основные параметры
Ядро: ARM7TDMI
MIPS: 74
F,МГц: от 0 до 75
Память: Flash,кБ 2048
Память: RAM,кБ 256
I/O (макс.),шт. 32
Таймеры: 16-бит,шт 3
Таймеры: RTC Нет
Интерфейсы: UART,шт 2
Интерфейсы: DMA,шт 4
VCC,В: от 1.65 до 3.6
ICC,мА: 16
TA,°C: от -40 до 85
Корпус: TFBGA-121
Ниже приведена блок-схема микроконтроллера:
Рис. 1. Блок-схема микроконтроллера AT91FR40162S
AVR-микроконтроллеры, пожалуй, одно из самых интересных направлений, развиваемых корпорацией Atmel. Объемы продаж AVR в мире удваиваются ежегодно, неуклонно растет число сторонних фирм, выпускающих программные и аппаратные средства поддержки разработок для этих микроконтроллеров. Можно считать, что AVR постепенно становится еще одним индустриальным стандартом среди 8-разрядных микроконтроллеров общего назначения. В настоящее время в производстве у Atmel Corp. находятся три семейства AVR - "tiny", "classic" и "mega", различающиеся объемами массивов Flash-, EEPROM и SRAM памяти, набором периферийных узлов и построением схемы тактирования.
AVR представляет собой 8-разрядный RISC микроконтроллер, имеющий быстрое процессорное ядро, Flash-память программ ROM, память данных SRAM, порты ввода/вывода и интерфейсные схемы. Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но и информационных шин для обращения к ROM и SRAM. Такое построение уже ближе к структуре цифровых сигнальных процессоров и обеспечивает существенное повышение производительности. Использование одноуровневого конвейера в AVR также заметно сократило цикл "выборка - исполнение" команды. Например, у стандартных микроконтроллеров семейства MCS-51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В микроконтроллерах AVR короткая команда в общем потоке тоже выполняется за один машинный цикл, но он составляет всего один период тактовой частоты. Отличительной чертой архитектуры AVR является регистровый файл быстрого доступа, содержащий 32 байтовых регистров общего назначения. Шесть регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных (X, Y и Z Pointers), что существенно повышает скорость пересылки данных при работе прикладной программы.
Flash-память программ AVR может быть загружена как с помощью обычного программатора, так и с помощью SPI-интерфейса, в том числе непосредственно на целевой плате - функция ISP. Последние версии кристаллов "mega" выпуска 2001-2002 года имеют возможность самопрограммирования (функция SPM). Все AVR имеют также блок энергонезависимой памяти данных EEPROM, доступный программе микроконтроллера непосредственно в ходе ее выполнения. EEPROM обычно используется для хранения промежуточных данных, констант, таблиц перекодировок, калибровочных коэффициентов и т.п. Эта память может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора. Два программируемых бита секретности позволяют защитить ROM и энергонезависимую память данных EEPROM от несанкционированного считывания. Внутренняя оперативная память SRAM имеется у AVR семейств "classic" и "mega", а также у одного представителя "tiny" - ATtiny26/L. Для некоторых микроконтроллеров возможна организация подключения внешней памяти данных объемом до 64К.
Внутренний тактовый генератор AVR может запускаться от внешнего генератора или кварцевого резонатора, а также от внутренней или внешней RC-цепочки. Все AVR полностью статические, их минимальная рабочая частота ничем не ограничена (вплоть до пошагового режима). Микроконтроллер ATtiny15L имеет дополнительный блок PLL для аппаратного умножения основной тактовой частоты в 16 раз. При ее номинальном значении 1,6 МГц получаемая вспомогательная периферийная частота равна 25,6 МГц. Эта частота может служить источником для одного из таймеров/счетчиков микроконтроллера, значительно повышая точность его работы. Микроконтроллеры ATmega64/103/128 также имеют интересную архитектурную особенность, позволяющую значительно снизить энергопотребление кристалла в целом, когда в процессе работы целесообразно понизить основную тактовую частоту микросхемы. Специальный предделитель на кристалле позволяет делить основную частоту на целое число в диапазоне от 2 до 129. Включение/выключение данной функции осуществляется программно.
Микроконтроллеры AVR имеют от 1 до 4 таймеров/счетчиков общего назначения с разрядностью 8 или 16 бит.
Общие черты всех таймеров/счетчиков следующие:
· наличие программируемого предделителя входной частоты с различными градациями деления. Отличительной чертой является возможность работы таймеров/счетчиков на основной тактовой частоте микроконтроллера без предварительного ее понижения, что заметно повышает точность генерации временных интервалов системы;
· независимое функционирование от режима работы процессорного ядра микроконтроллера (т.е. они могут быть как считаны, так и загружены новым значением в любое время);
· возможность работы или от внешнего источника опорной частоты, или в качестве счетчика внешних событий. Верхний частотный порог определен в этом случае как половина основной тактовой частоты микроконтроллера. Выбор перепада внешнего источника (фронт или срез) программируется пользователем;
· наличие различных векторов прерываний для событий "переполнение содержимого", "захват", "сравнение".
Сторожевой таймер у AVR имеет свой собственный RC-генератор с частотой 1 МГц, которая является приближенной и зависит от величины напряжения питания микроконтроллера и от температуры. Сторожевой таймер снабжен отдельным программируемым предделителем входной частоты, что позволяет подстраивать временной интервал переполнения таймера и сброса микроконтроллера. Данный таймер можно программно отключать во время работы микросхемы, как в активном режиме, так и в любом из режимов пониженного энергопотребления. В последнем случае это приводит к значительному снижению потребляемого тока.
Система реального времени (RTC) реализована во всех микроконтроллерах "mega" и в двух кристаллах "classic" - AT90(L)S8535. Таймер/счетчик RTC имеет отдельный предделитель, который может быть программным способом подключен или к источнику основной тактовой частоты, или к дополнительному асинхронному источнику опорной частоты (кварцевый резонатор или внешний синхросигнал). Для этой цели зарезервированы два вывода микросхемы. Внутренний осциллятор, нагруженный на счетный вход таймера/счетчика RTC, оптимизирован для работы с внешним "часовым" кварцевым резонатором 32,768 кГц.
Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 3 до 53. Выходные драйверы обеспечивают токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Архитектура построения портов ввода/вывода AVR с тремя битами контроля/управления (вместо двух, как это сделано у большинства 8-разрядных микроконтроллеров) позволяет разработчику полностью контролировать процесс ввода/вывода, устраняет необходимость иметь копию содержимого порта в памяти для безопасности и повышает скорость работы микроконтроллера при работе с внешними устройствами. Особую значимость приобретает данная возможность AVR при реализации систем, работающих в условиях внешних электрических помех.