Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL
Покупка
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
ДМК Пресс
Автор:
Евстифеев Андрей Викторович
Год издания: 2023
Кол-во страниц: 560
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-89818-589-3
Артикул: 065919.05.99
Доступ онлайн
В корзину
Книга посвящена вопросам практического применения однокристальных микроконтроллеров AVR семейств Tiny и Mega фирмы ATMEL. Рассмотрена архитектура, ее особенности. Приведены основные электрические параметры и временные характеристики. Подробно описано внутреннее устройство микроконтроллеров, системы команд, периферия, а также способы программирования с примерами реализации некоторых алгоритмов для конкретных цифровых устройств. Книга предназначена для разработчиков радиоэлектронной аппаратуры, инженеров,студентов вузов и радиолюбителей.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 11.03.01: Радиотехника
- 11.03.04: Электроника и наноэлектроника
- 28.03.01: Нанотехнологии и микросистемная техника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
— 1 — А. В. Евстифеев Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL МИРОВАЯ ЭЛЕКТРОНИКА С Е Р И Я Москва ДМК Пресс, Додэка, 2023 6е издание, электронное
УДК 621.316.544.1 (035.5) ББК 32.844.1-04я2 E26 E26 Евстифеев, А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL / А. В. Евстифеев. — 6-е изд., эл. — 1 файл pdf : 560 с. — Москва : ДМК Пресс, Додэка- XXI, 2023. — (Мировая электроника). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-589-3 Книга посвящена вопросам практического применения однокристальных микроконтроллеров AVR семейств Tiny и Mega фирмы ATMEL. Рассмотрена архитектура, ее особенности. Приведены основные электрические параметры и временные характеристики. Подробно описано внутреннее устройство микроконтроллеров, системы команд, периферия, а также способы программирования с примерами реализации некоторых алгоритмов для конкретных цифровых устройств. Книга предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов вузов и радиолюбителей. УДК 621.316.544.1 (035.5) ББК 32.844.1-04я2 Электронное издание на основе печатного издания: Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL / А. В. Евстифеев. — 5-е изд. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 558 с. — (Мировая электроника). — ISBN 978-5-97060-261-4. — Текст : непосредственный. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-589-3 © Издательский дом «Додэка XXI» © Издание, ДМК Пресс, 2015 ® Серия «Мировая электроника»
Оглавление — 3 — Оглавление Предисловие...........................................................................................................9 Часть 1. Микроконтроллеры семейства Tiny Глава 1. Знакомство с семейством Tiny 1.1. Общие сведения .......................................................................................12 1.2. Отличительные особенности...................................................................12 1.3. Характеристики процессора....................................................................13 1.4. Характеристики подсистемы ввода/вывода............................................13 1.5. Периферийные устройства ......................................................................14 1.6. Архитектура ядра......................................................................................14 1.7. Цоколевка и описание выводов...............................................................15 Глава 2. Архитектура микроконтроллеров семейства Tiny 2.1. Общие сведения .......................................................................................21 2.2. Организация памяти ................................................................................26 2.2.1. Память программ..............................................................................26 2.2.2. Память данных..................................................................................28 2.2.3. Энергонезависимая память данных (EEPROM) .............................38 2.3. Счетчик команд и выполнение программы............................................42 2.3.1. Функционирование конвейера ........................................................42 2.3.2. Задержки в конвейере.......................................................................43 2.3.3. Счетчик команд ................................................................................44 2.3.4. Команды типа «проверка/пропуск» (Test & Skip)............................44 2.3.5. Команды условного перехода...........................................................44 2.3.6. Команда безусловного перехода ......................................................45 2.3.7. Команда вызова подпрограмм .........................................................45 2.3.8. Команды возврата из подпрограмм .................................................46 2.4. Стек...........................................................................................................46 Глава 3. Устройство управления микроконтроллеров семейства Tiny 3.1. Общие сведения .......................................................................................48 3.2. Тактовый генератор..................................................................................49 3.2.1. Кварцевый генератор .......................................................................49 3.2.2. Внешний сигнал синхронизации.....................................................50 3.2.3. Встроенный генератор с внешней или внутренней RCцепочкой .....................................................................................50 3.3. Режимы пониженного энергопотребления ............................................52 3.3.1. Режим Idle ........................................................................................53 3.3.2. Режим Power Down ...........................................................................53 3.3.3. Режим ADC Noise Reduction ...........................................................54 3.4. Сброс ........................................................................................................54
Оглавление — 4 — 3.4.1. Сброс по включению питания......................................................... 55 3.4.2. Аппаратный сброс............................................................................ 57 3.4.3. Сброс от сторожевого таймера ........................................................ 57 3.4.4. Сброс при снижении напряжения питания.................................... 58 3.4.5. Управление схемой сброса............................................................... 59 3.5. Прерывания ............................................................................................. 66 3.5.1. Таблица векторов прерываний ........................................................ 66 3.5.2. Обработка прерываний.................................................................... 67 3.5.3. Внешние прерывания. Регистры GIMSK и GIFR.......................... 69 3.5.4. Прерывания от таймеров. Регистры TIMSK и TIFR ...................... 71 3.5.5. Управление прерываниями в микроконтроллерах ATtiny28x. Регистры ICR и IFR.......................................................................... 73 Глава 4. Порты ввода/вывода 4.1. Общие сведения....................................................................................... 76 4.2. Обращение к портам ввода/вывода ........................................................ 77 4.3. Конфигурирование портов ввода/вывода .............................................. 78 4.4. Аппаратный модулятор ........................................................................... 81 Глава 5. Таймеры в микроконтроллерах семейства Tiny 5.1. Общие сведения....................................................................................... 86 5.2. Назначение выводов таймеров/счетчиков ............................................. 86 5.3. Таймер/счетчик T0................................................................................... 87 5.4. Таймер/счетчик T1................................................................................... 90 5.4.1. Выбор источника тактового сигнала............................................... 93 5.4.2. Режим таймера ................................................................................. 94 5.4.3. Режим ШИМ.................................................................................... 95 5.5. Сторожевой таймер ................................................................................. 97 Глава 6. Аналоговый компаратор 6.1. Общие сведения..................................................................................... 100 6.2. Функционирование компаратора ......................................................... 100 Глава 7. Аналогоцифровой преобразователь 7.1. Общие сведения..................................................................................... 104 7.2. Функционирование модуля АЦП ......................................................... 104 7.3. Повышение точности преобразования................................................. 111 7.4. Параметры АЦП .................................................................................... 112 Часть 2. Микроконтроллеры семейства Mega Глава 8. Знакомство с семейством Mega 8.1. Общие сведения..................................................................................... 114 8.2. Отличительные особенности ................................................................ 114 8.3. Характеристики процессора ................................................................. 115 8.4. Характеристики подсистемы ввода/вывода ......................................... 115 8.5. Периферийные устройства.................................................................... 116
Оглавление — 5 — 8.6. Архитектура ядра....................................................................................116 8.7. Цоколевка и описание выводов.............................................................117 Глава 9. Архитектура микроконтроллеров семейства Mega 9.1. Введение .................................................................................................148 9.2. Организация памяти ..............................................................................148 9.2.1. Память программ............................................................................150 9.2.2. Память данных................................................................................153 9.2.3. Энергонезависимая память данных (EEPROM) ...........................189 9.3. Счетчик команд и выполнение программы..........................................193 9.3.1. Счетчик команд ..............................................................................193 9.3.2. Функционирование конвейера ......................................................193 9.3.3. Команды типа «проверка/пропуск» (Test & Skip)..........................194 9.3.4. Команды условного перехода.........................................................195 9.3.5. Команды безусловного перехода ...................................................195 9.3.6. Команды вызова подпрограмм ......................................................197 9.3.7. Команды возврата из подпрограмм ...............................................198 9.4. Стек.........................................................................................................198 Глава 10. Тактирование, режимы пониженного энергопотребления и сброс 10.1. Общие сведения ...................................................................................200 10.2. Тактовый генератор..............................................................................200 10.2.1. Тактовый генератор с внешним резонатором..............................203 10.2.2. Низкочастотный кварцевый генератор........................................204 10.2.3. Внешний сигнал синхронизации.................................................205 10.2.4. Внешняя RCцепочка ...................................................................205 10.2.5. Встроенный генератор с внутренней RCцепочкой ....................206 10.2.6. Управление тактовой частотой.....................................................209 10.3. Режимы пониженного энергопотребления.........................................210 10.4. Сброс.....................................................................................................217 10.4.1. Сброс по включению питания .....................................................219 10.4.2. Аппаратный сброс.........................................................................221 10.4.3. Сброс от сторожевого таймера .....................................................221 10.4.4. Сброс при снижении напряжения питания ................................222 10.4.5. Управление схемой сброса............................................................223 Глава 11. Прерывания 11.1. Общие сведения ...................................................................................230 11.2. Таблица векторов прерываний ............................................................230 11.3. Обработка прерываний ........................................................................239 11.4. Внешние прерывания...........................................................................240 Глава 12. Порты ввода/вывода 12.1. Общие сведения ...................................................................................248 12.2. Регистры портов ввода/вывода............................................................249 12.3. Конфигурирование портов ввода/вывода...........................................250
Оглавление — 6 — Глава 13. Таймеры 13.1. Общие сведения................................................................................... 255 13.2. Назначение выводов таймеров/счетчиков ......................................... 256 13.3. Прерывания от таймеров/счетчиков................................................... 257 13.4. Предделители таймеров/счетчиков .................................................... 261 13.4.1. Управление предделителями........................................................ 262 13.4.2. Использование внешнего тактового сигнала.............................. 263 13.5. Таймеры/счетчики T0 и T2.................................................................. 264 13.5.1. Управление тактовым сигналом .................................................. 269 13.5.2. Режимы работы ............................................................................ 270 13.5.3. Асинхронный режим.................................................................... 276 13.6. Таймеры/счетчики T1и T3................................................................... 279 13.6.1. Обращение к 16разрядным регистрам ....................................... 287 13.6.2. Управление тактовым сигналом .................................................. 288 13.6.3. Режимы работы ............................................................................ 288 13.7. Сторожевой таймер.............................................................................. 300 Глава 14. Аналоговый компаратор 14.1. Введение............................................................................................... 305 14.2. Функционирование компаратора ....................................................... 306 Глава 15. Аналогоцифровой преобразователь 15.1. Общие сведения................................................................................... 310 15.2. Функционирование модуля АЦП ....................................................... 311 15.3. Результат преобразования ................................................................... 320 15.4. Повышение точности преобразования............................................... 321 15.5. Параметры АЦП .................................................................................. 323 Глава 16. Универсальный асинхронный (синхронный/асинхронный) приемопередатчик 16.1. Общие сведения................................................................................... 324 16.2. Использование модулей USART/UART............................................. 326 16.2.1. Скорость приема/передачи.......................................................... 333 16.2.2. Формат кадра................................................................................ 336 16.2.3. Передача данных .......................................................................... 338 16.2.4. Прием данных .............................................................................. 340 16.3. Мультипроцессорный режим работы ................................................. 345 Глава 17. Последовательный периферийный интерфейс SPI 17.1. Введение............................................................................................... 347 17.2. Функционирование модуля SPI.......................................................... 347 17.3. Режимы передачи данных ................................................................... 352 17.4. Использование вывода SS ................................................................... 353 Глава 18. Последовательный двухпроводный интерфейс 18.1. Общие сведения................................................................................... 355
Оглавление — 7 — 18.2. Принципы обмена данными по шине TWI.........................................356 18.3. Обзор модуля TWI ................................................................................361 18.4. Взаимодействие прикладной программы с модулем TWI ..................367 18.5. Режимы работы модуля TWI................................................................370 18.5.1. Режим «Ведущий передатчик» .....................................................370 18.5.2. Режим «Ведущий приемник» .......................................................374 18.5.3. Режим «Ведомый приемник» .......................................................378 18.5.4. Режим «Ведомый передатчик» .....................................................382 18.5.5. Комбинирование различных режимов ........................................385 18.5.6. Арбитраж.......................................................................................386 18.6. Параметры интерфейса TWI................................................................387 Часть 3. Команды микроконтроллеров семейств Tiny и Mega Глава 19. Общие сведения о системе команд 19.1. Введение в систему команд..................................................................390 19.2. Операнды..............................................................................................390 19.3. Типы команд.........................................................................................392 19.3.1. Команды логических операций....................................................392 19.3.2. Команды арифметических операций и команды сдвига.............393 19.3.3. Команды операций с битами........................................................393 19.3.4. Команды пересылки данных........................................................394 19.3.5. Команды передачи управления....................................................394 19.3.6. Команды управления системой....................................................397 19.4. Сводные таблицы команд ....................................................................397 Глава 20. Описание команд ................................................................................403 Часть 4. Программирование микроконтроллеров семейств Tiny и Mega Глава 21. Введение в программирование микроконтроллеров AVR 21.1. Общие сведения ...................................................................................472 21.2. Защита кода и данных..........................................................................473 21.3. Конфигурационные ячейки.................................................................475 21.4. Идентификатор ....................................................................................479 21.5. Калибровочная ячейка.........................................................................480 21.6. Организация памяти программ и данных микроконтроллеров семейства Mega.....................................................................................480 Глава 22. Последовательное программирование при высоком напряжении 22.1. Общие сведения ...................................................................................482 22.2. Управление процессом программирования........................................483 Глава 23. Программирование по последовательному каналу 23.1. Общие сведения ...................................................................................489 23.2. Переключение в режим программирования .......................................492 23.3. Управлением процессом программирования FLASHпамяти...........496 23.4. Управление процессом программирования EEPROMпамяти..........497
Оглавление — 8 — Глава 24. Параллельное программирование 24.1. Общие сведения................................................................................... 498 24.2. Переключение в режим параллельного программирования.............. 504 24.3. Стирание кристалла............................................................................. 505 24.4. Программирование FLASHпамяти ................................................... 505 24.5. Программирование EEPROMпамяти ............................................... 508 24.6. Конфигурирование микроконтроллеров............................................ 510 24.6.1. Программирование конфигурационных ячеек........................... 510 24.6.2. Программирование ячеек защиты............................................... 511 24.6.3. Чтение конфигурационных ячеек и ячеек защиты..................... 511 24.6.4. Чтение ячеек идентификатора и калибровочной константы..... 512 Глава 25. Программирование по интерфейсу JTAG 25.1. Общие сведения................................................................................... 514 25.2. Использование интерфейса JTAG для программирования кристалла. Команды JTAG..................................................................................... 517 25.2.1. AVR_RESET (код команды $0C) ................................................. 518 25.2.2. PROG_ENABLE (код команды $04)............................................ 518 25.2.3. PROG_COMMANDS (код команды $05).................................... 518 25.2.4. PROG_PAGELOAD (код команды $06)....................................... 519 25.2.5. PROG_PAGEREAD (код команды $07) ...................................... 519 25.2.6. Алгоритм программирования ...................................................... 519 Глава 26. Самопрограммирование микроконтроллеров семейства Mega 26.1. Общие сведения................................................................................... 528 26.2. Области RWW и NRWW ...................................................................... 530 26.3. Функционирование загрузчика........................................................... 531 26.3.1. Управление процессом самопрограммирования ........................ 531 26.3.2. Изменение памяти программ ...................................................... 535 26.3.3. Изменение ячеек защиты загрузчика .......................................... 536 26.3.4. Чтение конфигурационных ячеек и ячеек защиты..................... 536 26.3.5. Пример реализации программызагрузчика............................... 537 Приложения Приложение 1. Сводная таблица микроконтроллеров AVR семейства Tiny ....... 542 Приложение 2. Сводная таблица микроконтроллеров AVR семейства Mega ..... 544 Приложение 3. Чертежи корпусов микроконтроллеров AVR семейств Tiny и Mega ............................................................... 549 Приложение 4. Электрические параметры микроконтроллеров AVR семейств Tiny и Mega ............................................................... 552 Предметный указатель............................................................................... 554
— 9 — Предисловие Книга, которую вы держите в руках, — это вторая книга, посвященная микроконтроллерам AVR фирмы «Atmel». Эти 8разрядные RISCмикроконтроллеры для встраиваемых приложений являются, пожалуй, наиболее интересным и прогрессивным направлением, развиваемым фирмой. Микроконтроллеры этой серии представляют собой мощный инструмент, прекрасную основу для создания современных высокопроизводительных и экономичных встраиваемых контроллеров многоцелевого назначения. Популярность микроконтроллеров AVR постоянно увеличивается. Не последнюю роль в этом играет соотношение показателей «цена/быстродействие/энергопотребление», являющееся одним из лучших на рынке 8разрядных микроконтроллеров. Кроме того, постоянно растет число выпускаемых сторонними производителями разнообразных программных и аппаратных средств поддержки разработок устройств на их основе. Все это позволяет говорить о микроконтроллерах AVR как о новом индустриальном стандарте среди 8разрядных микроконтроллеров общего применения. В рамках единой базовой архитектуры микроконтроллеры AVR подразделяются на три семейства: • Classic AVR; • Mega AVR; • Tiny AVR. Микроконтроллеры семейства Classic были описаны в первой книге серии, а данная книга посвящена двум последним семействам — Tiny и Mega. Микроконтроллеры семейства Tiny имеют небольшие объемы памяти программ (1…2 Кбайта) и весьма ограниченную периферию. Практически все они выпускаются в 8выводных корпусах и предна
Предисловие — 10 — значены для т. н. «бюджетных» решений, принимаемых в условиях жестких финансовых ограничений. Область применения этих микроконтроллеров — интеллектуальные датчики различного назначения (контрольные, пожарные, охранные), игрушки, зарядные устройства, различная бытовая техника и другие подобные устройства. Микроконтроллеры семейства Mega, напротив, имеют наиболее развитую периферию, наибольшие среди всех микроконтроллеров AVR объемы памяти программ и данных. Они предназначены для использования в мобильных телефонах, контроллерах различного периферийного оборудования (принтеры, сканеры, современные дисковые накопители, приводы CDROM/DVDROM и т. п.), сложной офисной технике и т. д. Микроконтроллеры обоих семейств поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний, сторожевой таймер и допускают программирование непосредственно в готовом устройстве. В предлагаемой вашему вниманию книге представлена вся информация, необходимая для изучения микроконтроллеров AVR семейств Tiny и Mega. Однако следует заметить, что всеобъемлющим справочником данная книга не является, хотя и написана на основе документации, предоставляемой фирмой «Atmel». Поэтому, прежде чем приступить к практическому использованию рассматриваемых микроконтроллеров, настоятельно рекомендуется обратиться к официальной информации, размещенной на Webсайтах фирмы (www.atmel.com, www.atmel.ru).
— 11 — Часть 1 Микроконтроллеры семейства Tiny Глава 1 Знакомство с семейством Tiny Глава 2 Архитектура микроконтроллеров семейства Tiny Глава 3 Устройство управления микроконтроллеров семейства Tiny Глава 4 Порты ввода/вывода Глава 5 Таймеры в микроконтроллерах семейства Tiny Глава 6 Аналоговый компаратор Глава 7 Аналогоцифровой преобразователь
Часть 1. Микроконтроллеры семейства Tiny — 12 — 1.1. Общие сведения Как и все микроконтроллеры AVR фирмы «Atmel», микроконтроллеры семейства Tiny являются 8разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавливаются по малопотребляющей КМОПтехнологии, которая в сочетании с усовершенствованной RISCархитектурой позволяет достичь наилучшего соотношения быстродействие/энергопотребление. Удельное быстродействие этих микроконтроллеров может достигать значения 1 MIPS/МГц (1 миллион операций в секунду на 1 МГц тактовой частоты). Модели микроконтроллеров семейства Tiny и их основные параметры приведены в приложениях 1 и 4. Микроконтроллеры описываемого семейства предназначены в первую очередь для низкостоимостных («бюджетных») приложений и соответственно являются самыми дешевыми из всех микроконтроллеров AVR. Важной особенностью этих микроконтроллеров является эффективное использование выводов кристалла, например, в 8выводном корпусе все выводы (кроме, разумеется, выводов питания) могут использоваться в качестве линий ввода/вывода. 1.2. Отличительные особенности Перечислим вкратце основные особенности микроконтроллеров семейства Tiny: • возможность вычислений со скоростью до 1 MIPS/МГц; • FLASHпамять программ объемом 1…2 Кбайт (число циклов стирания/записи не менее 1000); • оперативная память (статическое ОЗУ) объемом 1…2 Кбайт; Глава 1. Знакомство с семейством Tiny
Глава 1. Знакомство с семейством Tiny — 13 — • память данных на основе ЭСППЗУ (EEPROM) объемом до 64 байт (число циклов стирания/записи не менее 100000); • возможность защиты от внешнего чтения и модификации памяти программ и данных (в EEPROM); • возможность программирования непосредственно в системе через последовательный интерфейс*; • различные способы синхронизации: встроенный генератор с внутренней или внешней времязадающей RCцепочкой; встроенный генератор с внешним резонатором (пьезокерамическим или кварцевым); внешний сигнал синхронизации; • наличие двух или трех режимов пониженного энергопотребления; • некоторые модели микроконтроллеров могут работать при пониженном до 1.8 В напряжении питания. 1.3. Характеристики процессора Основными характеристиками центрального процессора микроконтроллеров рассматриваемого семейства являются: • полностью статическая архитектура; минимальная тактовая частота равна нулю; • АЛУ подключено непосредственно к регистрам общего назначения; • большинство команд выполняются за один машинный цикл; • многоуровневая система прерываний; поддержка очереди прерываний; • 5…8 источников прерываний (из них до 2х внешних)**; • трехуровневый аппаратный стек. 1.4. Характеристики подсистемы ввода/вывода Основными характеристиками подсистемы ввода/вывода являются: • программное конфигурирование и выбор портов ввода/вывода; • выводы могут быть запрограммированы как входные или как выходные независимо друг от друга; • входные буферы с триггером Шмитта на всех выводах; • возможность подключения к входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35…120 кОм). * Не во всех моделях. ** Зависит от конкретной модели микроконтроллера.
Часть 1. Микроконтроллеры семейства Tiny — 14 — 1.5. Периферийные устройства Набор периферийных устройств, имеющихся в составе того или иного микроконтроллера, зависит от конкретной модели и может быть определен по сводной таблице, приведенной в Приложении 1. Вообще же в составе микроконтроллеров семейства встречаются следующие периферийные устройства: • 8разрядный таймер/счетчик с предделителем (таймер T0)*; • второй 8разрядный таймер/счетчик с предделителем (таймер T1)**; • сторожевой таймер WDT*; • одноканальный генератор сигнала с ШИМ разрядностью 8 бит (один из режимов работы таймера T1); • аналоговый компаратор*; • 10разрядный АЦП (4 канала); • аппаратный модулятор. 1.6. Архитектура ядра Ядро микроконтроллеров AVR семейства Tiny выполнено по усовершенствованной RISC (enhanced RISC) архитектуре (Рис. 1.1), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров. $<IL001>$ Рис. 1.1. Архитектура ядра микроконтроллеров AVR семейства Tiny * Присутствует во всех моделях. ** Присутствует только в модели ATtiny 15L. ПЗУ (EEPROM) 32 регистра общего назначения ПЗУ (FLASH) Дешифратор команд Регистр команд Регистры управления Таймеры АЦП Аналоговый компаратор Сторожевой таймер (WDT) Порты ввода/вывода Модуль прерываний Счетчик команд Последовательный синхронный интерфейс SPI ATM2IL001 АЛУ
Глава 1. Знакомство с семейством Tiny — 15 — Арифметикологическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32м рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Кроме того, в микроконтроллерах семейства Tiny каждая из команд занимает только одну ячейку памяти программ. В микроконтроллерах AVR реализована Гарвардская архитектура, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа позволяет использовать для каждого типа памяти шины различной разрядности, а также реализовать конвейеризацию. Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. В отличие от RISCмикроконтроллеров других фирм, в микроконтроллерах AVR используется 2уровневый конвейер, а длительность машинного цикла составляет всего один период кварцевого резонатора. В результате, при более низкой тактовой частоте они могут обеспечивать ту же производительность, что и RISCмикроконтроллеры других фирм. 1.7. Цоколевка и описание выводов В семейство Tiny входит в общей сложности 8 моделей микроконтроллеров, которые составляют 4 группы: • ATtiny11, ATtiny11L (Рис. 1.2) имеют FLASHпамять программ объемом 1 Кбайт. Максимальное количество контактов ввода/вывода равно 6 (вывод 1 может использоваться только как входной); • ATtiny12, ATtiny12L, ATtiny12V (Рис. 1.3) имеют FLASHпамять программ объемом 1 Кбайт и EEPROMпамять данных объемом 64 байт. Максимальное количество контактов ввода/вывода равно 6; • ATtiny15L (Рис. 1.4) имеет FLASHпамять программ объемом 1 Кбайт и EEPROMпамять данных объемом 64 байт. Максимальное количество контактов ввода/вывода равно 6; • ATtiny28L, ATtiny28V (Рис. 1.5) имеют FLASHпамять программ 2 Кбайт. Количество контактов ввода/вывода равно 19 (из них 11 — контакты ввода/вывода общего назначения, а 8 — входные контакты). Пока книга готовилась к печати, фирма «Atmel» выпустила еще две модели микроконтроллеров семейства — ATtiny26/ATtiny26L. Эти микроконтроллеры имеют FLASHпамять программ объемом 2 Кбайт, ОЗУ
Часть 1. Микроконтроллеры семейства Tiny — 16 — объемом 128 байт и EEPROMпамять данных объемом 128 байт. Количество контактов ввода/вывода в этих моделях равно 16. В данной книге эти модели по понятным причинам не описываются, однако основные их параметры приведены в Приложении 1. Для сравнения в Табл. 1.1 приводятся основные параметры микроконтроллеров, такие, как объем памяти (программ и данных), количество контактов ввода/вывода, тип корпуса, диапазон рабочих частот и напряжение питания. Полная информация по каждой модели приведена в Приложении 1. Дополнительно следует отметить, что все микроконтроллеры семейства Tiny выпускаются как в коммерческом (диапазон рабочих температур 0...+70°C), так и в промышленном (диапазон рабочих температур –40...+85°C) исполнениях. Таблица 1.1. Основные параметры микроконтроллеров AVR семейства Tiny В Табл. 1.2…1.5 для каждой группы микроконтроллеров приведены названия выводов и указаны их функции (как основные, так и дополнительные). Кроме того, для каждого вывода в таблицах указан его тип (вход, выход, вход/выход, вывод питания). Обозначение Память программ (FLASH) [Кбайт] Память данных (EEPROM) [байт] Количество линий ввода/вывода Напряжение питания [В] Тактовая частота [МГц] Тип корпуса ATtiny11 1 — 6 4.0…5.5 0…6 DIP8 SOIC8 ATtiny11L 1 — 6 2.7… 5.5 0…2 DIP8 SOIC8 ATtiny12 1 64 6 4.0…5.5 0…8 DIP8 SOIC8 ATtiny12L 1 64 6 2.7… 5.5 0…4 DIP8 SOIC8 ATtiny12V 1 64 6 1.8…5.5 0…1.2 DIP8 SOIC8 ATtiny15L 1 64 6 2.7…5.5 0…1.2 DIP8 SOIC8 ATtiny28L 2 — 19 2.7…5.5 0…4 DIP28 TQFP32 MLF32 ATtiny28V 2 — 19 1.8…5.5 0…1.2 DIP28 TQFP32 MLF32
Доступ онлайн
В корзину