Микроконтроллеры семейства AVR
Введение
В классической микропроцессорной системе используются отдельная микросхема процессора, отдельные микросхемы памяти и отдельные порты ввода вывода. Стремительное развитие микропроцессорной техники требует всё большей и большей степени интеграции микросхем.
Именно поэтому были разработаны микросхемы, которые объединяют в себе сразу все элементы микропроцессорной системы. Такие микропроцессоры называются микроконтроллерами. В советское время такие микросхемы называли «Однокристальные микро ЭВМ».
Для однокристальных микроконтроллеров понятие «центральный процессор» обычно не употребляется. Так как процессор – это все-таки отдельное устройство. Функции процессора в микроконтроллере заменяет арифметико-логическое устройство (АЛУ).
Кроме АЛУ, микроконтроллер содержит в своём составе:
♦ тактовый генератор;
♦ память данных;
♦ память программ;
♦ порты ввода-вывода.
Все эти элементы соединены между собой внутренними шинами данных и адреса. С внешним миром микроконтроллер общается при помощи портов ввода-вывода. Любой микроконтроллер всегда имеет один или несколько портов. Кроме того, современные микроконтроллеры всегда имеют встроенную систему прерываний, а также встроенные программируемые таймеры, компараторы, цифроаналоговые преобразователи и многое другое.
Если речь идёт не о большом компьютере, а о портативном устройстве управления, то в нём применяются именно микроконтроллеры. Конечно, любая реальная схема редко обходится без простых логических микросхем, триггеров, счётчиков и тому подобного. Но основой всегда является микроконтроллер. Чистые микропроцессоры в настоящее время применяются только в персональных компьютерах.
Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.
Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.
AVR-микроконтроллеры фирмы ATMEL - это 8-разрядные RISC микроконтроллеры (далее МК) для встраиваемых приложений. Они привлекают внимание разработчиков наилучшим соотношением показателей быстродействие/энергопотребление, удобными режимами программирования, доступностью программно-аппаратных средств поддержки и широкой номенклатурой выпускаемых кристаллов. Предлагается более 15 различных типов МК, которые разбиты на три группы:
- Classic AVR (префикс AT90SXXX) - высокое быстродействие, средние: уровень развития периферии, объемы памяти программ и данных, ценовая категория (количество наименований постепенно сокращается в связи с переходом большинства пользователей на кристаллы MegaAVR)
- Mega AVR (префикс ATmegaXXX) - наивысший уровень развития периферии, большие объемы памяти программ и данных высокое быстродействие и ценовая категория
- Tiny AVR (префикс ATtinyXXX) - малогабаритные корпуса, среднее быстродействие, низкий уровень развития периферии и низкие цены.
Использование архитектуры AVR - RISC
· Высокоскоростная КМОП технология с низким потреблением мощности: Рабочие напряжения: 2.7 - 6.0 В, 4.0 - 6.0В Потребление тока (4 МГц, 3В, 25 °С) в режимах: - Active (Активный): от 2,0 до 6,4 мА для Classic AVR; - Idle (холостой): от 0,4 до 1,9 мА для Classic AVR; - Power-down (спящий): <1 мкА для для всех МК; - Полностью статическое функционирование: тактовые частоты от 0 до 16 МГц.
· 89..133 мощных инструкций, большинство из которых исполняется за 1 период тактовой частоты, что позволяет достигнуть производительности, характеризующейся формулой: 1 миллион выполняемых инструкций на каждый мегагерц тактовой частоты
· 32 8-битных регистра общего назначения
· У моделей ATMEGA встроенный аппаратный перемножитель
· Память - программ: Flash с возможностью программирования в системе, минимальное число циклов перепрограммирования - 1000;
- данных: СППЗУ(EEPROM) с возможностью программирования в системе, минимальное число циклов перепрограммирования - 100 000. - Внутреннее ОЗУ (SRAM) (кроме AT90S1200 и МК серии Attiny (за исключением ATTINY12, 15,15L - у них в качестве ОЗУ используется блок РОН) - Защита программного кода и содержимого СППЗУ от несанкционированного считывания - Наличие у моделей ATMEGA 161, 163, 128 специализированного загрузочного сектора памяти, позволяющего программировать память программ и СППЗУ без внешнего программатора, с собственной защитой от несанкционированного считывания - В модель ATMEGA128 введен порт JTAG, позволяющий программировать все области памяти и специальные биты этого МК, а также осуществлять аппаратную отладку устройства в системе.
Classic AVR
- Периферия: - Один или два 8 битных таймера-счетчика - Один 16 битный таймер-счетчик с режимами сравнения, захвата, 8-,9- или 10-битного ШИМ - Полнодуплексный УАПП (UART) - Встроенный в кристалл аналоговый компаратор - Программируемый сторожевой (Watchdog) таймер с собственным тактовым генератором (встроен в кристалл) - Высокоскоростной последовательный интерфейс SPI - Шести- или восьмиканальный 10-битный АЦП
| Специальные функции микроконтроллера - Несколько режимов энергосбережения: Idle, и Power-down (Power Save у моделей AT90S4434, AT90S8535) - Встроенный тактовый генератор (AT90S1200) - Внешние и внутренние источники прерываний - Схема перезагрузки при включении питания (все модели) - Встроенный счетчик реального времени
Mega AVR
Периферия: - Два 8 битных таймера-счетчика с режимами: ШИМ, Сравнение - Один 16 битный таймер-счетчик с режимами: Сравнения, захвата, двойного 8-,9- или 10-битного ШИМ - Программируемый сторожевой (Watchdog) таймер с собственным тактовым генератором (встроен в кристалл) - Встроенный в кристалл аналоговый компаратор - Полнодуплексный УАПП (UART) - Последовательный интерфейс с режимами SPI Master/Slave - Встроенный счетчик реального времени - Шести- или восьмиканальный 10-битный АЦП (В ATMEGA 128 может быть организован как: 8 однополярных каналов, 7 двуполярных каналов, 2 двуполярных канала с программируемым усилением (1х, 10х, 200х))
- Байтно-ориентированный двухпроводный интерфейс у ATMEGA128
- Специальные функции микроконтроллера - Несколько режимов энергосбережения: Idle, и Power-down, Power Save и дополнительно к ним: ATMEGA128 - ADC Noise Reduction, Standby работает только тактовый генератор, Extended - Программно изменяемая тактовая частота у ATMEGA 128 - Внешние и внутренние источники прерываний - Схема перезагрузки при включении питания и при понижении рабочего напряжения ниже допустимого уровня (программируется)
Tiny AVR
- Периферия: - Функция генерации прерывания и выхода из режима энергосбережения при любом изменении состояния линий ввода/вывода - Один или два 8 битных таймера-счетчика - Встроенный аналоговый компаратор - Программируемый сторожевой (Watchdog) таймер с собственным тактовым генератором (встроен в кристалл) - Высокоскоростной (150 кГц), 8-ми битный ШИМ - 4-рех канальный 10-битный АЦП, может быть организован как 1 двуполярный канал с дополнительным усилением сигнала в 20 раз
- Встроенный сильноточный драйвер светодиодов с программируемым режимом работы (ATtiny28) - Программируемый сторожевой (Watchdog) таймер с собственным тактовым генератором (встроен в кристалл)
- Специальные функции микроконтроллера: - Несколько режимов энергосбережения: Idle, и Power-down - Внешние и внутренние источники прерываний - Улучшенная схема перезагрузки при включении питания и при понижении рабочего напряжения ниже допустимого уровня (программируется)
- Внутренний калиброванный RC генератор
1.Семейство Тiny AVR
Семейство Mega AVR
| | |