Разобравшись с составом микроконтроллеров серии AVR, можно поговорить о её особенностях.
Начнём с того, что это 8-разрядные микроконтроллеры. Это значит, что подавляющее большинство операций выполняется с восьми-разрядными двоичными числами. Поэтому встроенная шина данных у этих микроконтроллеров тоже восьмиразрядная. Все ячейки памяти и большинство регистров микроконтроллера также восьмиразрядные.
Для обработки шестнадцатиразрядных чисел некоторые внутренние регистры могут объединяться в пары. Каждая такая пара может работать как один шестнадцатиразрядный регистр. Исключение составляет память программ. Она целиком состоит из шестнадцатиразрядных ячеек.
Микроконтроллеры AVR изготавливаются по КМОП-технологии. Поэтому их быстродействие достаточно высокое, а энергопотребление низкое. Большинство команд микроконтроллера выполняется за один такт. Поэтому быстродействие микроконтроллеров этой серии может достигать 1 миллиона операций в секунду при тактовой частоте 1 МГц.
Микроконтроллеры AVR имеют в своем составе три вида памяти:
- ОЗУ (оперативная память для данных). В документации фирмы Atmel эта память называется SRAM (хотя на сайте часто обозначается как RAM). Объем ОЗУ для разных устройств может отличаться. В некоторых моделях её нет вообще.
- Память программ. Она выполнена по FLASH-технологии и предназначена для хранения управляющей программы. В документации она так и называется - FLASH-память. Объем программной памяти в разных микросхемах этой серии составляет от 1 КБ и выше. Программная память допускает стирание записанной туда информации и повторную запись. Однако количество циклов записи/стирания ограничено.
- Энергонезависимая память для данных. Она также выполнена по FLASH-технологии, но в технической документации она называется EEPROM. Основное назначение этого вида памяти - долговременное хранение данных в том числе и при отключенном питании. Объем памяти EEPROM сравнительно небольшой - от 64 байт до 2 Кбайт (возможно, сейчас есть модели с большим объёмом, но на сайте я пока таких не нашёл). Записывать данные в EEPROM можно как при помощи программатора, так и непосредственно из управляющей программы.
Как и у всех микроконтроллеров, у серии AVR есть порты ввода-вывода. Их количество для каждой конкретной модели разное. Все порты у AVR восьмиразрядные, но в некоторых случаях отдельные разряды не используются. Это связано с ограниченным количеством выводов (ножек) у микросхемы.
Кроме этого могут быть и другие встроенные модули. Их состав зависит от конкретной модели, но в целом список примерно такой:
- Таймеры-счётчики. Их может быть несколько.
- Генератор ШИМ. По сути это один из режимов работы таймера-счётчика.
- Аналоговый компаратор.
- АЦП.
- Последовательный интерфейс.
Ну и, разумеется, у каждого микроконтроллера есть определённый набор регистров.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…