Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Микроконтроллеры AVR семейства Tinya : руководство пользователя

Покупка
Артикул: 816626.01.99
Доступ онлайн
439 ₽
В корзину
Книга посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Евстифеев, А. В. Микроконтроллеры AVR семейства Tinya : руководство пользователя : практическое руководство / А. В. Евстифеев. - 2-е изд. - Москва : ДМК Пресс, Додэка-XXI, 2023. - 427 с. - (Программируемые системы). - ISBN 978-5-89818-431-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/2104737 (дата обращения: 18.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
С Е Р И Я
ПРОГРАММИРУЕМЫЕ СИСТЕМЫ

А. В. Евстифеев

МИКРОКОНТРОЛЛЕРЫ AVR

СЕМЕЙСТВА Tiny

Руководство
пользователя

2е издание, электронное

Москва
ДМК Пресс, Додека-XIX, 2023
УДК 621.316.544.1 (035.5)
ББК 32.844.1-04я2
Е26

Е26
Евстифеев, А. В.
Микроконтроллеры AVR семейства Tinya : руководство пользователя / 
А. В. Евстифеев. — 2-е изд., эл. — 1 файл pdf : 427 с. — Москва : ДМК Пресс, 
Додэка-XXI, 2023. — (Программируемые системы). — Систем. требования: 
Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.

ISBN 978-5-89818-431-5

Книга посвящена однокристальным микроконтроллерам AVR семейства Tiny 
фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, 
приведены основные электрические параметры. Подробно описано внутреннее 
устройство микроконтроллеров, система команд, периферия, а также способы программирования. 
Основой данного издания послужила популярная книга «Микроконтроллеры 
AVR семейств Tiny и Mega», материал которой был существенно переработан 
и дополнен описаниями новых моделей.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, 
студентов технических вузов.

УДК 621.316.544.1 (035.5) 
ББК 32.844.1-04я2

Электронное издание на основе печатного издания: Микроконтроллеры AVR семейства Tinya : 
руководство пользователя / А. В. Евстифеев. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 
426 с. — (Программируемые системы). — ISBN 978-5-97060-262-1. — Текст : непосредственный.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.


ISBN 978-5-89818-431-5
© Издательский дом «Додэка XXI»
© Издание, ДМК Пресс, 2015
® Серия «Программируемые системы»
 Оглавление 3

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Глава 1. Знакомство с семейством Tiny  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

1.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
1.2. Отличительные особенности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
1.3. Характеристики процессора  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
1.4. Характеристики подсистемы ввода/вывода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
1.5. Периферийные устройства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
1.6. Архитектура ядра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
1.7. Цоколевка и описание выводов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12

Глава 2. Архитектура микроконтроллеров семейства Tiny . . . . . . . . . . . . . . . . . . .32

2.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  32
2.2. Организация памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  44
2.2.1. Память программ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  45
2.2.2. Память данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  46
2.2.3. Энергонезависимая память данных (EEPROM) . . . . . . . . . . . . . . . . . . . . . . . .  67
2.3. Счетчик команд и выполнение программы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
2.3.1. Счетчик команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72
2.3.2. Функционирование конвейера. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  73
2.3.3. Команды типа «проверка/пропуск» (Test & Skip) . . . . . . . . . . . . . . . . . . . . . . .  74
2.3.4. Команды условного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  75
2.3.5. Команды безусловного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  75
2.3.6. Команды вызова подпрограмм. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  76
2.3.7. Команды возврата из подпрограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  77
2.4. Стек  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  77

Глава 3. Система команд  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80

3.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  80
3.2. Операнды  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  80
3.3. Типы команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  82
3.3.1. Команды логических операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  82
3.3.2. Команды арифметических операций и команды сдвига . . . . . . . . . . . . . . . . .  83
3.3.3. Команды битовых операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  83

ОГЛАВЛЕНИЕ
Оглавление

3.3.4. Команды пересылки данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
3.3.5. Команды передачи управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84
3.3.6. Команды управления системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
3.4. Сводные таблицы команд  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
3.5. Описание команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92

Глава 4. Тактирование, режимы пониженного энергопотребления и сброс  . . . .156

4.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  156
4.2. Тактовый генератор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  157
4.2.1. Генератор с внешним резонатором . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  160
4.2.2. Низкочастотный кварцевый генератор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  161
4.2.3. Внешний сигнал синхронизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  162
4.2.4. Генератор с внешней RCцепочкой  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  162
4.2.5. Внутренний калиброванный RCгенератор . . . . . . . . . . . . . . . . . . . . . . . . . . .  163
4.2.6. Внутренний RCгенератор на 128 кГц. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165
4.2.7. Схема ФАПЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165
4.2.8. Управление тактовой частотой. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  166
4.3. Управление электропитанием. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  167
4.3.1. Режимы пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . .  167
4.3.2. Управление тактовыми сигналами модулей. . . . . . . . . . . . . . . . . . . . . . . . . . .  172
4.3.3. Общие рекомендации по уменьшению энергопотребления . . . . . . . . . . . . .  173
4.4. Сброс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  175
4.4.1. Сброс по включению питания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  178
4.4.2. Аппаратный сброс  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  179
.4.4.3. Сброс от сторожевого таймера  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  180
4.4.4. Сброс при снижении напряжения питания. . . . . . . . . . . . . . . . . . . . . . . . . . .  180
4.4.5. Управление схемой сброса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  183

Глава 5. Прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195

5.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  195
5.2. Таблица векторов прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  195
5.3. Обработка прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  199
5.4. Внешние прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  200

Глава 6. Порты ввода/вывода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207

6.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  207
6.2. Регистры портов ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  208
6.3. Конфигурирование портов ввода/вывода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  209
6.4. Аппаратный модулятор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  220

Глава 7. Таймеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225

7.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  225
7.2. Назначение выводов таймеров/счетчиков  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226
7.3. Прерывания от таймеров/счетчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  226
7.4. Предделители таймеров/счетчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  230
 Оглавление 5

7.4.1. Управление предделителями. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  232
7.4.2. Использование внешнего тактового сигнала. . . . . . . . . . . . . . . . . . . . . . . . . .  233
7.5. Таймер/счетчик T0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  234
7.5.1. Управление тактовым сигналом  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  240
7.5.2. Режимы работы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  240
7.6. Таймер/счетчик T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  247
7.6.1. Таймер/счетчик T1 в модели ATtiny15L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  247
7.6.2. Таймер/счетчик T1 в моделях ATtiny2313x и ATtiny24x/44x/84x  . . . . . . . . .  253
7.6.3. Таймер/счетчик T1 в моделях ATtiny25x/45x/85x и ATtiny26x . . . . . . . . . . .  271
7.7. Сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  285

Глава 8. Аналоговый компаратор  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291

8.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  291
8.2. Функционирование компаратора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  292

Глава 9. Аналогоцифровой преобразователь  . . . . . . . . . . . . . . . . . . . . . . . . . . . .297

9.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  297
9.2. Функционирование модуля АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  298
9.3. Результат преобразования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  313
9.4. Повышение точности преобразования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  314
9.5. Параметры АЦП  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  315

Глава 10.Универсальный синхронный/асинхронный приемопередатчик  . . . . .317

10.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  317
10.2. Использование модуля USART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  317
10.2.1. Скорость приема/передачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  322
10.2.2. Формат кадра. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  326
10.2.3. Передача данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  327
10.2.4. Прием данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  329
10.3. Мультипроцессорный режим работы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  333

Глава  11.Универсальный последовательный интерфейс USI . . . . . . . . . . . . . . .335

11.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  335
11.2. Основные сведения об интерфейсе SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  336
11.3. Основные сведения об интерфейсе TWI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  339
11.4. Использование модуля USI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  345
11.5. Режимы работы модуля USI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  349
11.5.1. Трехпроводный режим. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  349
11.5.2. Двухпроводный режим. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  352
11.5.3. Альтернативное использование модуля USI . . . . . . . . . . . . . . . . . . . . . . . . .  355

Глава 12.Программирование микроконтроллеров AVR семейства Tiny  . . . . . . .356

12.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  356
12.1.1. Защита кода и данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  357
12.1.2. Конфигурационные ячейки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  358
Оглавление

12.1.3. Идентификатор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  362
12.1.4. Калибровочные ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  362
12.1.5. Страничная организация памяти программ и данных . . . . . . . . . . . . . . . . .  363
12.2. Последовательное программирование при высоком напряжении . . . . . . . . . . . . .  364
12.2.1. Управление процессом программирования. . . . . . . . . . . . . . . . . . . . . . . . . .  366
12.3. Программирование по последовательному каналу . . . . . . . . . . . . . . . . . . . . . . . . . .  377
12.3.1. Переключение в режим программирования  . . . . . . . . . . . . . . . . . . . . . . . . .  384
12.3.2. Управление процессом программирования FLASHпамяти  . . . . . . . . . . .  384
12.3.3. Управлением процессом программирования EEPROMпамяти . . . . . . . .  385
12.4. Параллельное программирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  386
12.4.1. Переключение в режим параллельного программирования . . . . . . . . . . . .  392
12.4.2. Стирание кристалла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  392
12.4.3. Программирование FLASHпамяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  393
12.4.4. Программирование EEPROMпамяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  396
12.4.5. Программирование конфигурационных ячеек . . . . . . . . . . . . . . . . . . . . . . .  396
12.4.6. Программирование ячеек защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  398
12.4.7. Чтение конфигурационных ячеек и ячеек защиты. . . . . . . . . . . . . . . . . . . .  398
12.4.8. Чтение ячеек идентификатора и калибровочных ячеек. . . . . . . . . . . . . . . .  399
12.5. Самопрограммирование микроконтроллеров семейства Tiny  . . . . . . . . . . . . . . . .  400
12.5.1. Общие сведения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  400
12.5.2. Функционирование загрузчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  400

Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

Приложение 1. Сводная таблица микроконтроллеров AVR семейства Tiny  . . . . . . . . .  404
Приложение 2. Чертежи корпусов микроконтроллеров AVR
семейства Tiny. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  412
Приложение 3. Электрические параметры микроконтроллеров AVR семейства Tiny .  415
 Предисловие 7

Книга, которую вы держите в руках, посвящена одному из семейств
микроконтроллеров AVR фирмы Atmel. Эти 8битные RISCмикроконтроллеры для встраиваемых приложений являются, пожалуй, наиболее
интересным направлением, развиваемым фирмой. Они представляют
собой мощный инструмент, прекрасную основу для создания современных высокопроизводительных и экономичных встраиваемых контроллеров многоцелевого назначения.
Несмотря на то что микроконтроллеры AVR появились на рынке около
10 лет назад, их популярность до сих пор очень высока. С каждым годом
они захватывают все новые и новые ниши на рынке. Не последнюю роль в
этом играет соотношение показателей цена/быстродействие/энергопотребление, до сих пор являющееся едва ли не лучшим на рынке 8битных
микроконтроллеров. Кроме того, постоянно растет число выпускаемых
сторонними производителями разнообразных программных и аппаратных
средств поддержки разработок устройств на их основе. Все это позволяет
говорить о микроконтроллерах AVR как об индустриальном стандарте
среди 8битных микроконтроллеров.
В настоящее время в рамках единой базовой архитектуры микроконтроллеры AVR подразделяются на несколько семейств:
Tiny AVR;
Mega AVR;
Mega AVR для специальных применений;
ASIC/FPGA AVR.
Данная книга посвящена первому семейству — Tiny. Характерными
особенностями микроконтроллеров этого семейства являются:
небольшие корпуса с малым количеством выводов;
малые объемы FLASHпамяти программ (1…8 Кбайт) и ОЗУ;
довольно ограниченная периферия.
Таким образом эти микроконтроллеры предназначены для так называемых бюджетных решений, принимаемых в условиях жестких финансовых
ограничений. Область применения этих микроконтроллеров — интеллекПредисловие
Предисловие

туальные датчики различного назначения (контрольные, пожарные,
охранные), игрушки, различная бытовая техника и другие подобные устройства. 
В новых моделях семейства появились узлы, отсутствующие даже в
микроконтроллерах более развитого семейства Mega. Этими узлами являются:
температурный датчик, позволяющий измерять температуру кристалла с точностью ±10°С;
схема ФАПЧ, позволяющая повысить внутреннюю тактовую частоту
микроконтроллера до 64 MГц при использовании внешнего кварцевого резонатора на частоту 8 МГц;
генератор времени запаздывания, позволяющий осуществлять безопасное управление силовыми ключами в системах управления двигателями и предотвращать возникновение в них сквозных токов.
Микроконтроллеры семейства Tiny поддерживают несколько режимов
пониженного энергопотребления, имеют блок прерываний, сторожевой
таймер и допускают программирование непосредственно в готовом устройстве.
В предлагаемой вашему вниманию книге представлена вся информация, необходимая для изучения микроконтроллеров AVR семейства Tiny.
Однако следует заметить, что всеобъемлющим справочником данная
книга не является, хотя и написана на основе документации, предоставляемой фирмой Atmel. Поэтому, прежде чем приступить к практическому
использованию рассматриваемых микроконтроллеров, рекомендуется
обратиться к официальной информации, размещенной на Webсайтах
фирмы (www.atmel.com, www.atmel.ru).
1.1. Общие сведения 9

Как и все микроконтроллеры AVR фирмы Atmel, микроконтроллеры
семейства Tiny являются 8битными микроконтроллерами, предназначенными для использования во встраиваемых приложениях. Они изготавливаются по малопотребляющей КМОПтехнологии, которая в сочетании с
усовершенствованной RISCархитектурой позволяет достичь наилучшего
соотношения стоимость/быстродействие/энергопотребление. Удельное
быстродействие этих микроконтроллеров может достигать значения
1 MIPS/МГц (1 миллион операций в секунду на 1 МГц тактовой частоты).
Микроконтроллеры описываемого семейства предназначены, в первую
очередь, для низкостоимостных («бюджетных») приложений, не требующих большого объема аппаратных ресурсов, и соответственно являются
самыми дешевыми из всех микроконтроллеров AVR. Важной особенностью этих микроконтроллеров является эффективное использование
выводов кристалла. Например, в 8выводном корпусе все выводы (кроме,
разумеется, выводов питания) могут использоваться в качестве линий
ввода/вывода.

1.2. Отличительные особенности

Перечислю вкратце основные особенности микроконтроллеров AVR
семейства Tiny:
FLASHпамять программ объемом от 1 до 8 Кбайт (число циклов
стирания/записи не менее 10 000);
оперативная память (статическое ОЗУ) объемом до 512 байт;
память данных на основе ЭСППЗУ (EEPROM) объемом от 64 до
51 байт (число циклов стирания/записи не менее 100 000);
возможность защиты от внешнего чтения и модификации памяти
программ и EEPROM; 
возможность программирования большинства моделей непосредственно в системе через последовательный интерфейс;
возможность самопрограммирования;

ГЛАВА 1.
Знакомство с семейством 
Tiny

1.1. Общие сведения
Глава 1. Знакомство с семейством Tiny

различные способы синхронизации: встроенный RCгенератор (основной режим работы), встроенный генератор с внешним резонатором, внешний сигнал синхронизации;
наличие нескольких режимов пониженного энергопотребления;
наличие детектора пониженного напряжения питания (BrownOut
Detector — BOD).

1.3. Характеристики процессора

Основными характеристиками процессора микроконтроллеров AVR
семейства Tiny являются:
полностью статическая архитектура, минимальная тактовая частота
равна нулю;
арифметикологическое устройство (АЛУ) подключено непосредственно к регистрам общего назначения (32 регистра);
большинство команд выполняются за один период тактового сигнала;
векторная система прерываний, поддержка очереди прерываний;
до 16 источников прерываний (до 13 внешних).

1.4. Характеристики подсистемы ввода/вывода

Подсистема ввода/вывода микроконтроллеров AVR семейства Tiny
имеет следующие особенности:
программное конфигурирование и выбор портов ввода/вывода;
выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;
входные буферы с триггером Шмитта на всех выводах;
на всех входах имеются индивидуально отключаемые внутренние
подтягивающие резисторы сопротивлением 35…120 кОм (старые модели) и 20…50 кОм (новые модели).

1.5. Периферийные устройства

Набор периферийных устройств, имеющихся в составе того или иного
микроконтроллера, зависит от конкретной модели и может быть определен по сводной таблице, приведенной в Приложении I. Вообще же в
составе микроконтроллеров семейства встречаются следующие периферийные устройства:
один или два 8битных таймера/счетчика;
один 16битный таймер/счетчик;
1.6. Архитектура ядра 11

однои двухканальные генераторы 8битного ШИМсигнала (один
из режимов работы 8битных таймеров/счетчиков);
двухканальный генератор ШИМсигнала регулируемой разрядности
(один из режимов работы 16битного таймера/счетчика). Разрешение формируемого сигнала может составлять от 1 до 16 бит;
сторожевой таймер WDT;
аналоговый компаратор;
многоканальный (от 4 до 11 каналов) 10битный АЦП последовательного приближения, имеющий как несимметричные, так и дифференциальные входы;
аппаратный модулятор для управления матрицей светодиодов;
универсальный асинхронный приемопередатчик (UART);
универсальный последовательный интерфейс USI, который может
использоваться в качестве интерфейса SPI или I2C. Кроме того, USI
может использоваться в качестве полудуплексного UART или
4/12битного счетчика.

1.6. Архитектура ядра

Ядро микроконтроллеров AVR семейства Tiny выполнено по усовершенствованной RISCархитектуре (enhanced RISC) (Рис. 1.1), в которой
используется ряд решений, направленных на повышение быстродействия
микроконтроллеров. 

Рис. 1.1. Архитектура ядра микроконтроллеров AVR

ПЗУ
(EEPROM)

32 регистра
общего назначения

ПЗУ
(FLASH)

Дешифратор
команд

Регистр
команд

Регистры
управления

Таймеры

АЦП

Аналоговый
компаратор

Сторожевой
таймер (WDT)

Порты
ввода/вывода

Модуль
прерываний

Счетчик
команд

Последовательный
синхронный
интерфейс SPI

АЛУ
Глава 1. Знакомство с семейством Tiny

Арифметикологическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию
(чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один такт. Кроме того, практически
каждая из команд (за исключением команд, у которых одним из операндов
является 16битный адрес) занимает одну ячейку памяти программ.
В микроконтроллерах AVR реализована Гарвардская архитектура,
характеризующаяся раздельной памятью программ и данных, каждая из
которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью
данных. Разделение информационных шин позволяет использовать для
каждого типа памяти шины различной разрядности, причем способы
адресации и доступа к каждому типу памяти также различаются. В сочетании с двухуровневым конвейером команд такая архитектура позволяет
достичь производительности в 1 MIPS на каждый МГц тактовой частоты.

1.7. Цоколевка и описание выводов

В семейство Tiny на сегодняшний день входит в общей сложности 13
моделей микроконтроллеров, которые можно условно разделить на четыре
группы.

1.
Микроконтроллеры в 8выводных корпусах типа DIP и SOIC (некоторые модели также выпускаются в 20выводных корпусах типа MLF).
Максимальное количество контактов ввода/вывода этих микроконтроллеров равно 6:

ATtiny11, ATtiny11L (Рис. 1.2) — имеют FLASHпамять программ
объемом 1 Кбайт;
ATtiny12, ATtiny12L, ATtiny12V (Рис. 1.3) — имеют FLASHпамять
программ объемом 1 Кбайт и EEPROMпамять данных объемом
64 байт;
ATtiny13, ATtiny13V (Рис. 1.4) — имеют FLASHпамять программ
объемом 1 Кбайт, ОЗУ объемом 64 байт и EEPROMпамять данных
объемом 64 байт. Эти модели рекомендуется использовать вместо
ATtiny11x/12x в новых разработках;
ATtiny15L (Рис. 1.5) — имеет FLASHпамять программ объемом
1 Кбайт и EEPROMпамять данных объемом 64 байт;
ATtiny25, ATtiny25V (Рис. 1.8) — имеют FLASHпамять программ
объемом 2 Кбайт, ОЗУ объемом 128 байт и EEPROMпамять данных
объемом 128 байт;
1.7. Цоколевка и описание выводов 13

ATtiny45, ATtiny45V (Рис. 1.8) — имеют FLASHпамять программ
объемом 4 Кбайт, ОЗУ объемом 256 байт и EEPROMпамять данных
объемом 256 байт;
ATtiny85, ATtiny85V (Рис. 1.8) — имеют FLASHпамять программ
объемом 8 Кбайт, ОЗУ объемом 512 байт и EEPROMпамять данных
объемом 512 байт.

2. Микроконтроллеры в 14выводных корпусах типа DIP и SOIC (также
выпускаются в 20выводных корпусах типа MLF). Максимальное количество контактов ввода/вывода этих микроконтроллеров равно 12:

ATtiny24, ATtiny24V (Рис. 1.7) — имеют FLASHпамять программ
объемом 2 Кбайт, ОЗУ объемом 128 байт и EEPROMпамять данных
объемом 128 байт;
ATtiny44, ATtiny44V (Рис. 1.7) — имеют FLASHпамять программ
объемом 4 Кбайт, ОЗУ объемом 256 байт и EEPROMпамять данных
объемом 256 байт;
ATtiny84, ATtiny84V (Рис. 1.7) — имеют FLASHпамять программ
объемом 8 Кбайт, ОЗУ объемом 512 байт и EEPROMпамять данных
объемом 512 байт.

3. Микроконтроллеры в 20выводных корпусах типа DIP и SOIC (также
выпускаются в 32выводных корпусах типа MLF):

ATtiny2313, ATtiny2313V (Рис. 1.6) — имеют FLASHпамять программ объемом 2 Кбайт, ОЗУ объемом 128 байт и EEPROMпамять
данных объемом 128 байт. Максимальное количество контактов ввода/вывода равно 18. Эти модели по цоколевке и функционально обратно совместимы со снятыми с производства микроконтроллерами
семейства Classic AT90S2100 и AT90S2313 и могут использоваться
для их замены в новых разработках;
ATtiny26, ATtiny26L (Рис. 1.9) — имеют FLASHпамять программ
объемом 2 Кбайт, ОЗУ объемом 128 байт и EEPROMпамять данных
объемом 128 байт. Максимальное количество контактов ввода/вывода равно 161).

4. Микроконтроллеры в 28выводных корпусах типа DIP (также выпускаются в 32выводных корпусах типа TQFP и MLF):

ATtiny28L, ATtiny28V (Рис. 1.10) — имеют FLASHпамять программ
объемом 2 Кбайт. Количество контактов ввода/вывода равно 20 (из
них 11 – контакты ввода/вывода общего назначения, 1 — выход с
повышенной нагрузочной способностью и 8 — входные контакты).

1) Также планируются к выпуску модели ATtiny46x и ATtiny86x, имеющие память программ 
объемом соответственно 4 и 8 Кбайт.
Глава 1. Знакомство с семейством Tiny

Основные параметры всех микроконтроллеров семейства, такие  как
объем памяти (программ и данных), количество контактов ввода/вывода, тип
корпуса, диапазон рабочих частот и напряжение питания приведены в
Табл. 1.1. Полная информация по каждой модели приведена в Приложении 1.
Дополнительно следует отметить, что микроконтроллеры семейства выпускаются как в коммерческом (диапазон рабочих температур 0...+70°C), так и в
промышленном (диапазон рабочих температур –40...+85°C) исполнениях.

Таблица 1.1. Основные параметры микроконтроллеров AVR 
семейства Tiny

Обозначение

Память
программ
(FLASH)
[Кбайт]

Память
данных
(ОЗУ)
[байт]

Память
данных
(EEPROM)
[байт]

Количество 
контактов 
ввода/вывода

Напряжение 
питания
[В]

Тактовая
частота
[МГц]

Тип 
корпуса

ATtiny11
1
—
—
6
4.0…5.5
0…6
DIP8
SOIC8
ATtiny11L
2.7…5.5
0…2
ATtiny12
1
—
64
6
4.0…5.5
0…8
DIP8
SOIC8
ATtiny12L
2.7…5.5
0…4
ATtiny12V
1.8…5.5
0…1.2

ATtiny13
1
64
64
6

2.7…5.5
4.5…5.5
0…10
0…20
DIP8
SOIC8
MLF20
ATtiny13V
1.8…5.5
2.7…5.5
0…4
0…10

ATtiny15L
1
—
64
6
2.7…5.5
1.6
DIP8
SOIC8
MLF20

ATtiny2313
2
128
128
18

2.7…5.5
4.5…5.5
0…10
0…20
DIP20
SOIC20
MLF20
ATtiny2313V
1.8…5.5
2.7…5.5
0…4
0…10

ATtiny24
2
128
128
12

2.7…5.5
4.5…5.5
0…10
0…20
DIP14
SOIC14
MLF20
ATtiny24V
1.8…5.5
2.7…5.5
0…4
0…10

ATtiny25
2
128
128
6

2.7…5.5
4.5…5.5
0…10
0…20
DIP8
SOIC8
MLF20
ATtiny25V
1.8…5.5
2.7…5.5
0…4
0…10

ATtiny26
2
128
128
16
4.5…5.5
0…16
DIP20
SOIC20
MLF32
ATtiny26L
2.7…5.5
0…8

ATtiny28L
2
—
—
11
2.7…5.5
0…4
DIP28
TQFP32
MLF32
ATtiny28V
1.8…5.5
0…1.2
Доступ онлайн
439 ₽
В корзину