Микроконтроллеры AVR семейства Classic фирмы ATMEL
Покупка
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
ДМК Пресс
Автор:
Евстифеев Андрей Викторович
Год издания: 2023
Кол-во страниц: 287
Дополнительно
Вид издания:
Справочная литература
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-588-6
Артикул: 817031.01.99
Доступ онлайн
В корзину
Книга представляет собой справочное издание по применению микроконтроллеров AVR семейства Classic фирмы ATMEL. Рассмотрены особенности архитектуры, приведены основные электрические параметры. Подробно описаны система команд, периферия, а также способы программирования.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
- 11.03.01: Радиотехника
- 11.03.04: Электроника и наноэлектроника
- 28.03.01: Нанотехнологии и микросистемная техника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
А. В. Евстифеев Микроконтроллеры AVR семейства Classic фирмы ATMEL 7е издание, электронное Москва ДМК Пресс, Додэка, 2023 МИРОВАЯ ЭЛЕКТРОНИКА С Е Р И Я
УДК 004.312 (035.5) ББК 32.844.1я2 Е26 Е26 Евстифеев, А. В. Микроконтроллеры AVR семейства Classic фирмы ATMEL / А. В. Евстифеев. — 7-е изд., эл. — 1 файл pdf : 287 с. — Москва : ДМК Пресс, Додэка- XXI, 2023. — (Мировая электроника). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-588-6 Книга представляет собой справочное издание по применению микроконтроллеров AVR семейства Classic фирмы ATMEL. Рассмотрены особенности архитектуры, приведены основные электрические параметры. Подробно описаны система команд, периферия, а также способы программирования. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов. УДК 004.312 (035.5) ББК 32.844.1я2 Электронное издание на основе печатного издания: Микроконтроллеры AVR семейства Classic фирмы ATMEL / А. В. Евстифеев. — 6-е изд. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 286 с. — (Мировая электроника). — ISBN 978-5-97060-260-7. — Текст : непосредственный. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-588-6 © Издательский дом «ДодэкаXXI» © Издание, ДМК Пресс, 2015 ® Серия «Мировая электроника»
— 3 — ПРЕДИСЛОВИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 ГЛАВА 1. ЗНАКОМСТВО С СЕМЕЙСТВОМ CLASSIC . . . . . . . . . . . . . . . . . . . . .9 1.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.2. ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.3. ХАРАКТЕРИСТИКИ ЯДРА МИКРОКОНТРОЛЛЕРА . . . . . . . . . . . . . .10 1.4. ХАРАКТЕРИСТИКИ ПОДСИСТЕМЫ ВВОДА/ВЫВОДА . . . . . . . . . . .10 1.5. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 1.6. АРХИТЕКТУРА ЯДРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 1.7. ЦОКОЛЕВКА И ОПИСАНИЕ ВЫВОДОВ . . . . . . . . . . . . . . . . . . . . . . . . .13 ГЛАВА 2. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА CLASSIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.2. ОРГАНИЗАЦИЯ ПАМЯТИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 2.2.1. Память программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 2.2.2. Память данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 2.2.2.1. Статическое ОЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 2.2.2.2. Регистры общего назначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 2.2.2.3. Регистры ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 2.2.2.4. Способы адресации памяти данных . . . . . . . . . . . . . . . . . . . . . . . .57 2.2.3. Энергонезависимая память данных . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 2.2.3.1. Организация доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 2.2.3.2. Меры предосторожности при работе . . . . . . . . . . . . . . . . . . . . . . .67 2.3. СЧЕТЧИК КОМАНД И ВЫПОЛНЕНИЕ ПРОГРАММЫ . . . . . . . . . . . .67 2.3.1. Функционирование конвейера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 ОГЛАВЛЕНИЕ
— 4 — 2.3.2. Задержки в конвейере . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 2.3.3. Счетчик команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 2.3.4. Kоманды типа «проверка/пропуск» . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 2.3.5. Kоманды условного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 2.3.6. Kоманды безусловного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 2.3.7. Kоманды вызова подпрограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 2.3.8. Kоманды возврата из подпрограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 2.4. СТЕК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 2.4.1. Стек в микроконтроллере AT90S1200 . . . . . . . . . . . . . . . . . . . . . . . . . . .74 2.4.2. Стек в старших моделях микроконтроллеров . . . . . . . . . . . . . . . . . . . .76 ГЛАВА 3. СИСТЕМА КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 3.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 3.2. ОПЕРАНДЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 3.3. ТИПЫ КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 3.3.1. Kоманды логических операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 3.3.2. Kоманды арифметических операций и команды сдвига . . . . . . . . . . .80 3.3.3. Kоманды операций с битами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 3.3.4. Kоманды пересылки данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 3.3.5. Kоманды передачи управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 3.3.6. Kоманды управления системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 3.4. СВОДНЫЕ ТАБЛИЦЫ КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 3.5. ОПИСАНИЕ КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 ГЛАВА 4. УСТРОЙСТВО УПРАВЛЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 4.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 4.2. ТАКТОВЫЙ ГЕНЕРАТОР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 4.3. РЕЖИМЫ ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ . . . . . . . . . . .150 4.3.1. Режим Idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 4.3.2 Режим Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 4.3.3 Режим Power Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 4.4. СБРОС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 4.4.1. Сброс по включении питания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 4.4.2. Аппаратный сброс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 4.4.3. Сброс от сторожевого таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 4.4.4. Сброс при снижении напряжения питания (BrownOut) . . . . . . . . .158 4.4.5. Управление схемой сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 4.5. ПРЕРЫВАНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 4.5.1. Таблица векторов прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 4.5.2. Обработка прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 4.5.3. Внешние прерывания; регистры GIMSK и GIFR . . . . . . . . . . . . . . .170 4.5.4. Прерывания от таймеров; регистры TIMSK и TIFR . . . . . . . . . . . . .172 СОДЕРЖАНИЕ
— 5 — ГЛАВА 5. ПОРТЫ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 5.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 5.2. ОБРАЩЕНИЕ К ПОРТАМ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . .178 5.3. KОНФИГУРИРОВАНИЕ ПОРТОВ ВВОДА/ВЫВОДА . . . . . . . . . . . . .182 ГЛАВА 6. ТАЙМЕРЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 6.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 6.2. НАЗНАЧЕНИЕ ВЫВОДОВ ТАЙМЕРОВ/СЧЕТЧИКОВ . . . . . . . . . . . .184 6.3. ТАЙМЕР/СЧЕТЧИК T0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 6.4. ТАЙМЕР/СЧЕТЧИК T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 6.4.1. Выбор источника тактового сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . .192 6.4.2. Режим таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 6.4.2.1. Функция захвата (Capture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 6.4.2.2. Функция сравнения (Compare) . . . . . . . . . . . . . . . . . . . . . . . . . . .195 6.4.3. Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 6.5. ТАЙМЕР/СЧЕТЧИК T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 6.5.1. Управление тактовым сигналом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 6.5.2. Режим таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 6.5.3. Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 6.5.4. Асинхронный режим работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205 6.6. СТОРОЖЕВОЙ ТАЙМЕР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 ГЛАВА 7. АНАЛОГОВЫЙ КОМПАРАТОР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 7.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 7.2. ФУНКЦИОНИРОВАНИЕ КОМПАРАТОРА . . . . . . . . . . . . . . . . . . . . . .212 ГЛАВА 8. АНАЛОГОЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ . . . . . . . . . . . . . . . .215 8.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 8.2. ФУНКЦИОНИРОВАНИЕ МОДУЛЯ АЦП . . . . . . . . . . . . . . . . . . . . . . . .216 8.3. ПОВЫШЕНИЕ ТОЧНОСТИ ПРЕОБРАЗОВАНИЯ . . . . . . . . . . . . . . . .221 8.4. ПАРАМЕТРЫ АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223 ГЛАВА 9. УНИВЕРСАЛЬНЫЙ АСИНХРОННЫЙ ПРИЕМОПЕРЕДАТЧИК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 9.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 9.2. УПРАВЛЕНИЕ РАБОТОЙ UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 9.3. ПЕРЕДАЧА ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 9.4. ПРИЕМ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230 9.5. МУЛЬТИПРОЦЕССОРНЫЙ РЕЖИМ РАБОТЫ UART . . . . . . . . . . . .233 9.6. СКОРОСТЬ ПРИЕМА/ПЕРЕДАЧИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 СОДЕРЖАНИЕ
— 6 — ГЛАВА 10. ПОСЛЕДОВАТЕЛЬНЫЙ ПЕРИФЕРИЙНЫЙ ИНТЕРФЕЙС SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237 10.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237 10.2. ФУНКЦИОНИРОВАНИЕ МОДУЛЯ SPI . . . . . . . . . . . . . . . . . . . . . . . .238 10.3. РЕЖИМЫ ПЕРЕДАЧИ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242 10.4. ИСПОЛЬЗОВАНИЕ ВЫВОДА F65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 ГЛАВА 11. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ . . . . . . . . . .245 11.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245 11.2. ЗАЩИТА КОДА И ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246 11.3. KОНФИГУРАЦИОННЫЕ ЯЧЕЙКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . .246 11.4. ИДЕНТИФИКАТОР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 11.5. РЕЖИМ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ . . . . . . . . . . .248 11.5.1. Переключение в режим параллельного программирования . . . . . .252 11.5.2. Стирание кристалла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253 11.5.3. Программирование FLASHпамяти . . . . . . . . . . . . . . . . . . . . . . . . . .254 11.5.4. Программирование EEPROMпамяти . . . . . . . . . . . . . . . . . . . . . . . .256 11.5.5. Kонфигурирование микроконтроллера . . . . . . . . . . . . . . . . . . . . . . .256 11.6. РЕЖИМЫ ПОСЛЕДОВАТЕЛЬНОГО ПРОГРАММИРОВАНИЯ . . .258 11.6.1. Режим последовательного программирования при высоком напряжении (модели AT90S/LS2323 и AT90S/LS2343) . . . . . . . . . . . . . . . .258 11.6.2. Программирование по последовательному каналу . . . . . . . . . . . . .264 ПРИЛОЖЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 Приложение I. Сводная таблица микроконтроллеров AVR семейства Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272 Приложение II. Чертежи корпусов микроконтроллеров AVR семейства Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276 Приложение III. Электрические параметры микроконтроллеров AVR семейства Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 СОДЕРЖАНИЕ
— 7 — ПРЕДИСЛОВИЕ Российские специалисты, занимающиеся разработкой электронной аппаратуры, несомненно, знакомы с продукцией фирмы «Atmel». Основанная в 1984 г., фирма «Atmel Corp.» (США) на данный момент является одним из признанных лидеров в области производства широкого спектра микроэлектронных компонентов: микросхем энергонезависимой памяти, микроконтроллеров общего назначения и микросхем программируемой логики. Начиная с середины 90х годов, фирма «Atmel» начала активно развивать новое направление в своей деятельности — производство высокопроизводительных 8разрядных RISCмикроконтроллеров для встраиваемых приложений, объединенных общим названием AVR. Kнига, которую вы держите сейчас в руках, является первой из серии, посвященной этим микроконтроллерам. За последние годы микроконтроллеры AVR приобрели большую популярность, привлекая разработчиков достаточно выгодным соотношением показателей «цена/быстродействие/энергопотребление», удобными режимами программирования, доступностью программноаппаратных средств поддержки и широкой номенклатурой выпускаемых кристаллов. Микроконтроллеры этой серии представляют собой удобный инструмент для создания современных высокопроизводительных и экономичных встраиваемых контроллеров многоцелевого назначения. В частности, они используются в автомобильной электронике, бытовой технике, сетевых картах и материнских платах компьютеров, в мобильных телефонах нового поколения и т.д. В рамках единой базовой архитектуры AVRмикроконтроллеры подразделяются на три семейства:
• Classic AVR — базовая линия микроконтроллеров; • Mega AVR — микроконтроллеры для сложных приложений, требующих большого объема памяти программ и данных; • Tiny AVR — низкостоимостные микроконтроллеры в 8выводном исполнении. Данная книга посвящена первому из них — семейству Classic. В составе этого семейства имеются микроконтроллеры с различным сочетанием периферийных узлов, различными объемами встроенной памяти и различным количеством выводов. Это дает разработчику возможность выбрать именно то, что ему нужно, и не переплачивать за неиспользуемые узлы. При этом все микроконтроллеры семейства поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний, сторожевой таймер и допускают программирование непосредственно в готовом устройстве через последовательный интерфейс SPI (к модели AT90C8534 последнее не относится). В предлагаемой вашему вниманию книге представлена вся информация, необходимая для изучения микроконтроллеров AVR семейства Classic. Однако следует заметить, что справочником данная книга не является, хотя и написана на основе документации, предоставленной фирмой «Atmel». Поэтому, прежде чем приступить к практическому использованию рассматриваемых микроконтроллеров, настоятельно рекомендуется обратиться к официальной информации, расположенной на Webсайтах фирмы (www.atmel.com, www.atmel.ru). — 8 — ПРЕДИСЛОВИЕ
— 9 — 1.1. Общие сведения Микроконтроллеры этого семейства (впрочем, как и все микроконтроллеры AVR фирмы «Atmel») являются 8разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Микроконтроллеры изготавливаются по малопотребляющей KМОПтехнологии, которая в сочетании с усовершенствованной RISCархитектурой позволяет достичь наилучшего соотношения показателей быстродействие/энергопотребление. Благодаря тому, что подавляющее большинство команд выполняется за один такт, быстродействие этих микроконтроллеров может достигать значения 1 MIPS (миллионов операций в секунду) на 1 МГц тактовой частоты. В семейство Classic входят микроконтроллеры с различным сочетанием периферийных устройств, различными объемами встроенной памяти и различным количеством выводов. Такое разнообразие дает разработчику возможность сделать оптимальный выбор и использовать именно тот микроконтроллер, который наилучшим образом подходит для его нужд. 1.2. Отличительные особенности Основные особенности микроконтроллеров данного семейства: • возможность вычислений со скоростью до 1 MIPS/МГц; • FLASHпамять программ объемом от 1 до 8 Kбайт (число циклов стирания/записи не менее 1000); • память данных на основе статического ОЗУ (SRAM) объемом до 512 байт; • память данных на основе ЭСППЗУ (EEPROM) объемом от 64 до 512 байт (число циклов стирания/записи не менее 100000); Глава 1. Знакомство с семейством CLASSIC
— 10 — • возможность защиты от чтения и модификации памяти программ и данных (в EEPROM); • программирование в параллельном (с использованием программатора) либо в последовательном (непосредственно в системе через последовательный SPIинтерфейс) режимах1; • различные способы синхронизации: встроенный RCгенератор, внешний сигнал синхронизации или внешний резонатор (пьезокерамический или кварцевый)2; • наличие нескольких режимов пониженного энергопотребления. 1.3. Характеристики ядра контроллера Основными характеристиками центрального процессора микроконтроллеров рассматриваемого семейства являются: • полностью статическая архитектура; минимальная тактовая частота равна нулю; • АЛУ подключено непосредственно к регистрам общего назначения; • большинство команд выполняется за один машинный цикл; • многоуровневая система прерываний; поддержка очереди прерываний; • от 3 до 16 источников прерываний3 (из них до 2 внешних); • наличие программного стека4. 1.4. Характеристики подсистемы ввода/вывода Основными характеристиками подсистемы ввода/вывода являются: • программное конфигурирование и выбор портов ввода/вывода; • каждый вывод может быть запрограммирован как входной или как выходной независимо от других; • входные буферы с триггером Шмитта на всех выводах; • возможность подключения ко всем входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35…120 кОм); • нагрузочная способность всех выходов составляет до 20 мА, что позволяет непосредственно управлять светодиодными индикаторами. 1. Знакомство с семейством Classic 1 Kроме AT90C8534; эта модель допускает программирование только в параллельном режиме. 2 Зависит от конкретной модели микроконтроллера. 3 Зависит от конкретной модели микроконтроллера. 4 Kроме AT90S1200, в этой модели имеется 3уровневый аппаратный стек.
— 11 — 1.5. Периферийные устройства Микроконтроллеры семейства Classic обладают достаточно развитой периферией. Набор периферийных устройств, имеющихся в составе того или иного микроконтроллера, зависит от конкретной модели и может быть определен по сводной таблице Приложения 1. Перечислим все периферийные устройства, так или иначе встречающиеся в микроконтроллерах семейства: • 8разрядный таймер/счетчик с предделителем (таймер T0)1; • 16разрядный таймер/счетчик с предделителем (таймер T1); • 8разрядный таймер/счетчик с возможностью работы в асинхронном режиме (таймер T2); • сторожевой таймер (WDT)1; • одноили двухканальный 8…10разрядный генератор сигнала с широтноимпульсной модуляцией (ШИМ)2; • одноканальный 8разрядный генератор сигнала с ШИМ3; • аналоговый компаратор; • 10разрядный АЦП (6 или 8 каналов); • полнодуплексный универсальный асинхронный приемопередатчик (UART); • последовательный синхронный интерфейс SPI. 1.6. Архитектура ядра Ядро микроконтроллеров AVR выполнено по усовершенствованной RISC (enhanced RISC) архитектуре (Рис. 1.1), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров. Арифметикологическое устройство (АЛУ), выполняющее все вычисления, непосредственно подключено к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. В микроконтроллерах AVR практически все команды (за исключением команд, у которых одним из операндов является 16разрядный адрес) занимают одну ячейку памяти программ. 1. Знакомство с семейством Classic 1 Присутствует во всех моделях. 2 Один из режимов работы таймера T1. 3 Один из режимов работы таймера T2.
— 12 — Микроконтроллеры AVR построены по Гарвардской архитектуре, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа (см. Рис. 1.1) позволяет использовать для каждого типа памяти шины данных различной разрядности, а также реализовать конвейеризацию. Kонвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. В отличие от RISCмикроконтроллеров других фирм, в микроконтроллерах AVR используется 2уровневый конвейер, а длительность машинного цикла составляет всего один период колебаний кварцевого резонатора. В результате они могут обеспечивать ту же производительность, что и RISCмикроконтроллеры других фирм, при более низкой тактовой частоте. 1. Знакомство с семейством Classic Рис. 1.1. Архитектура ядра микроконтроллеров AVR ПЗУ (EEPROM) Последовательный синхронный интерфейс SPI 32 регистра общего назначения ПЗУ (FLASH) ОЗУ Регистр команд Регистры управления Таймеры АЦП Аналоговый компаратор Сторожевой таймер (WDT) Порты ввода/вывода Модуль прерываний UART Счетчик команд Дешифратор команд АЛУ
— 13 — 1.7. Цоколевка и описание выводов В семейство Classic входит в общей сложности 17 моделей микроконтроллеров. Все они выпускаются в корпусах различных типов, что позволяет выбрать модель, наилучшим образом отвечающую требованиям по компоновке. Все модели микроконтроллеров можно условно разделить на 7 групп (модели, входящие в одну группу, имеют одинаковый набор периферийных устройств, но разные объемы памяти программ и данных): • AT90S1200 (Рис. 1.2) имеет FLASHпамять программ объемом 1 Kбайт и EEPROMпамять данных объемом 64 байта. Kоличество контактов ввода/вывода равно 15; • AT90S2313 (Рис. 1.3) имеет FLASHпамять программ объемом 2 Kбайт, EEPROMпамять данных объемом 128 байт и ОЗУ объемом 128 байт. Kоличество контактов ввода/вывода равно 15; • AT90S2323/AT90LS2323, AT90S2343/AT90LS2343 (Рис. 1.4) имеют FLASHпамять программ объемом 2 Kбайт, EEPROMпамять данных объемом 128 байт и ОЗУ объемом 128 байт. Kоличество контактов ввода/вывода равно 3 (AT90xx2323) или 5 (AT90xx2343); • AT90S2333/AT90LS2333, AT90S4433/AT90LS4433 (Рис. 1.5) имеют FLASHпамять программ объемом 2 или 4 Kбайт, EEPROMпамять данных объемом 128 или 256 байт и ОЗУ объемом 128 байт. Kоличество контактов ввода/вывода равно 20; • AT90S4434/AT90LS4434, AT90S8535/AT90LS8535 (Рис. 1.6) имеют FLASHпамять программ объемом 4 или 8 Kбайт, EEPROMпамять данных объемом 256 или 512 байт и ОЗУ объемом 256 или 512 байт. Kоличество контактов ввода/вывода равно 32; • AT90S4414, AT90S8515 (Рис. 1.7) имеют FLASHпамять программ объемом 4 или 8 Kбайт, EEPROMпамять данных объемом 256 или 512 байт и ОЗУ объемом 256 или 512 байт. Kоличество контактов ввода/вывода равно 32; • AT90C8534 (Рис. 1.8) имеют FLASHпамять программ объемом 8 Kбайт, EEPROMпамять данных объемом 512 байт и ОЗУ объемом 256 байт. Kоличество контактов ввода/вывода равно 15. Для сравнения различных моделей вашему вниманию предлагается Табл. 1.1, в которой приводятся такие основные параметры микроконтроллеров, как объем памяти (программ и данных), количество контактов ввода/вывода, тип корпуса, диапазон рабочих частот и напряжение питания. 1. Знакомство с семейством Classic
Полная информация по каждой модели приведена в Приложении I. Дополнительно следует отметить, что все микроконтроллеры семейства Classic выпускаются как в коммерческом (диапазон рабочих температур 0...+70°C), так и в промышленном (диапазон рабочих температур –40...+85°C) исполнениях. В Табл. 1.2…1.8 для каждой группы микроконтроллеров приведены названия выводов и указаны их функции (как основные, так и дополнительные). Kроме того, для каждого вывода в таблицах указан его тип (вход, выход, вход/выход, вывод питания). В таблицах использованы следующие обозначения: I — вход; O — выход; I/O — вход/выход; P — выводы питания. — 14 — 1. Знакомство с семейством Classic Таблица 1.1. Основные параметры микроконтроллеров AVR семейства Classic VQFP48 DIP40, PLCC44, TQFP44 DIP40, PLCC44, TQFP44 DIP40, PLCC44, TQFP44 0…1.5 0…8 0…8 0…4 3.3…6.0 2.7…6.0 2.7…6.0 2.7…6.0 15 32 32 32 256 512 256 512 512 512 256 512 8 8 4 8 AT90C8534 AT90S8515 AT90S4414 AT90LS8535 DIP40, PLCC44, TQFP44 0…8 4.0…6.0 32 512 512 8 AT90S8535 DIP40, PLCC44, TQFP44 0…4 2.7…6.0 32 256 256 4 AT90LS4434 DIP40, PLCC44, TQFP44 0…8 4.0…6.0 32 256 256 4 AT90S4434 DIP28, TQFP32 0…4 2.7…6.0 20 128 256 4 AT90LS4433 DIP28, TQFP32 0…8 4.0…6.0 20 128 256 AT90S4433 DIP28, TQFP32 0…4 2.7…6.0 20 128 128 2 4 AT90LS2333 DIP28, TQFP32 0…8 4.0…6.0 20 128 128 2 AT90S2333 DIP8, SOIC8 0…4 2.7…6.0 5 128 128 2 AT90LS2343 DIP8, SOIC8 0…10 4.0…6.0 5 128 128 2 AT90S2343 DIP8, SOIC8 0…4 2.7…6.0 3 128 128 2 AT90LS2323 DIP8, SOIC8 0…10 4.0…6.0 3 128 128 2 AT90S2323 DIP20, SOIC20 0…10 2.7… 6.0 15 128 2 AT90S2313 DIP20, SOIC20, SSOP20 0…12 2.7…6.0 15 — 128 64 1 AT90S1200 Тип корпуса [МГц] Тактовая частота [В] Напряжение питания Kоличество контактов ввода/ вывода [байт] Объем ОЗУ [байт] Память данных (EEPROM) [Kбайт] Память программ (FLASH) Обозначение
Доступ онлайн
В корзину